Лекции по курсу «Метрология и качество программного обеспечения» Лекция 2. Основные принципы разработки программных средств. Критерии качества. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Специфика разработки программных средств Разработка ПС – специфические особенности предметной области 1. Неформальный характер требований к ПС и ошибки в нём; 2. Разработка ПС носит творческий характер; 3. Рабочий продукт представляет собой набор текстов (статический объект), его семантика (смысл) – динамический; 4. Программное средство при использовании не расходуется и не расходует ресурсов. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Понятие о жизненном цикле ПС Жизненный цикл ПС – весь период его разработки и эксплуатации, начиная от возникновения замысла ПС и кончая прекращением его использования. В настоящее время имеется 5 основных подходов к организации процесса создания и использования ПС: • Конвейерный (водопадный); • Исследовательское программирование; • Прототипирование; • Формальные преобразования; • Сборочное программирование. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Конвейерный (водопадный) подход При конвейерном (водопадном) подходе разработка ПС состоит из цепочки этапов. Каждый из которых имеет критерии конца и начала. На каждом этапе создаются рабочие продукты, используемые на последующем этапе. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Исследовательское программирование Этот подход предполагает возможно более быструю реализацию рабочих версий ПС, выполняющих требуемые функции лишь в первом приближении. После экспериментального применения производится модификация программ, с целью их полезности пользователям. Данный подход применяется при программировании систем, где пользователи не могут чётко сформулировать требования. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Прототипирование Этот подход моделирует начальную фазу исследовательского программирования вплоть до создания рабочих версий программ, предназначенных для проведения экспериментов с целью установить требования к ПС. В дальнейшем следует разработка согласно сформулированных требований в рамках другого подхода. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Формальные преобразования Данный подход включает разработку формальных спецификаций ПС и превращение их в программы путём корректных преобразований. На этом подходе базируется компьютерная технология (CASE - технология) разработки ПС. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Сборочное программирование Этот подход предполагает, что ПС конструируется из компонент, которые уже существуют. Имеется некоторое хранилище (библиотека) компонент, каждая из которых может многократно использоваться в разных ПС. Такие компоненты называются повторно используемыми (reusable). © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Стадии конвейерного (водопадного) подхода В рамках конвейерного (водопадного) подхода создаётся большинство больших программных систем. В конвейерном (водопадном подходе) выделяют следующие стадии: • Разработка программных средств; • Производство программных изделий; • Эксплуатация программных средств. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Стадии конвейерного (водопадного) подхода (продолжение) Стадия производства программных изделий Стадия разработки ПС Стадия эксплуатации ПС Фаза применения ПС Этап внешнего описания ПС Этап конструирования ПС © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Фаза сопровождения ПС Этап аттестации ПС Этап кодирования ПС Жизненный цикл ПС Стадии конвейерного (водопадного) подхода (продолжение) Стадия разработки включает в себя: - этап внешнего описания (requirements); - этап конструирования (design); - этап кодирования (coding); - этап аттестации (testing); © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Жизненный цикл ПС Стадии конвейерного (водопадного) подхода (продолжение) Стадия эксплуатации включает в себя: - этап применения ПС (operation); - этап сопровождения ПС (maintenance); © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества ПС Понятие качества ПС Качество (quality) ПС – совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей. Качество ПС является удовлетворительным, когда оно обладает набором свойств, гарантирующим его успешное применение © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества ПС Перечень современных критериев качества ПС 1. Функциональность; 2. Надёжность; 3. Лёгкость применения; 4. Эффективность; 5. Сопровождаемость; 6. Мобильность. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества ПС Перечень современных критериев качества ПС (продолжение) Функциональность – способность ПС выполнять набор функций, удовлетворяющих заданным потребностям пользователей. Набор указанных функций определяется во внешнем описании ПС. Надёжность – способность безотказно выполнять определённые функции. Лёгкость применения – характеристики ПС, позволяющие минимизировать усилия пользователей по подготовке исходных данных, применению ПС и оценке полученных результатов, а также вызывать положительные эмоции пользователя. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества ПС Перечень современных критериев качества ПС (продолжение) Эффективность – отношение уровня услуг, предоставляемых пользователю, к объёму используемых ресурсов. Сопровождаемость – характеристики ПС, которые позволяют минимизировать усилия по внесению изменений для устранения ошибок и по модификации. Мобильность – способность ПС быть перенесённым с одного компьютера на другой. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Общие принципы обеспечения надёжности ПС Четыре подхода к обеспечению надёжности 1. Предупреждение ошибок; 2. Самообнаружение ошибок; 3. Самоисправление ошибок; 4. Обеспечение устойчивости к ошибкам; © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Общие принципы обеспечения надёжности ПС Четыре подхода к обеспечению надёжности (продолжение) Цель подхода предупреждения ошибок – не допустить ошибок в готовых продуктах. Для достижения этой цели решают следующие вопросы: - борьба со сложностью; - обеспечение точности перевода; - преодоление барьера между пользователем и разработчиком; - обеспечение контроля принимаемых решений. Данный подход связан с организацией процесса разработки ПС, т.е. с технологией программирования. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Общие принципы обеспечения надёжности ПС Четыре подхода к обеспечению надёжности (продолжение) Самообнаружение ошибки в программе означает, что программа содержит средства обнаружения отказа в процессе её выполнения. Самоисправление ошибки в программе означает не только обнаружение отказа, но и исправление последствий этого отказа, для чего в программе должны иметься соответствующие средства. Обеспечение устойчивости к ошибкам - программа содержит средства, локализующие область влияния ошибок в программе и минимизирующие их последствия. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС