Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Техн. прогр. - Конспект лекций.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
860.16 Кб
Скачать

2.5. Оценка качества процессов создания программного обеспечения

  1. Стандарты ISO 9000-9004. Необходимые условия для достижения минимального уровня организации процесса ППО.

  2. CMM (Capability Maturity Model) – модель зрелости процессов создания ПО. Включает 5 уровней: начальный, повторяемый, определённый, управляемый, оптимизирующий.

  3. SPICE (Software Process Improvement and Capability dEtermination) (ISO/IES 15504) – определение возможностей и улучшение процесса создания программного обеспечения.

2.6. Проектирование надёжного программного средства

Одним из основных показателей программного продукта является его надёжность. Надёжность определяется количеством ошибок, содержащихся в программном продукте. При этом под ошибкой следует понимать не только отказы программы, приводящие к её аварийному завершению, но и неправильные с точки зрения пользователя результаты работы, даже если с точки зрения разработчика эти результаты верны.

Согласно Майерсу, «В программном обеспечении имеется ошибка, если оно не выполняет того, что пользователю разумно от него ожидать», т.е. ошибки в ПО не являются внутренним его свойством, наличие ошибок зависит как от самого программного обеспечения, так и от ожиданий пользователя.

Надёжность программного обеспечения есть вероятность его работы без отказов в течение определённого периода времени, рассчитанная с учётом стоимости для пользователя каждого отказа.

Почему техника надёжнее программ?

1. Большее разнообразие входных данных.

2. Отношение к возможным применениям.

3. Различная природа компонент.

Макромодель перевода. проектирование программного обеспечения состоит из ряда этапов.

Рис 2.1 - Макромодель перевода

На каждом из этапов возможны ошибки по взаимодействию исполнителей.

Микромодель перевода.

Чтение  Запоминание  анализ  распространение

Причины ошибок:

- чтение между строк  всё, что непонятно, требуется уточнять у автора документа;

- непонимание;

- нечёткое выражение мыслей.

Четыре подхода к надёжности.

1. Предупреждение ошибок.

2. Обнаружение ошибок.

3. Исправление ошибок.

4. Устойчивость к ошибкам.

- динамическая избыточность (неприменимо);

- отступление (обработка исключений try – throw – catch);

- изоляция ошибок (задача ОС).

Основным подходом повышения надёжности является предупреждение ошибок, т.е. их исключение на этапе разработки ПС. Это достигается следованием существующих технологий программирования.

Одной из главных причин ошибок перевода является сложность. Используют методы борьбы со сложностью:

- независимость компонент – компоненты должны быть максимально независимы;

- иерархическая структура компонент.

2.7. Процессы проектирования

Проектирование программного обеспечения состоит из ряда этапов. Точное выполнение этих этапов позволяет создавать достаточно надёжные программное продукты.

Для правильного выполнения этапов требуется уметь правильно ставить и решать задачи.

Рис. 2.2 - Этапы проектирования

2.8. Требования, цели

Проекты могут быть управляемые пользователем, контролируемые пользователем и независимые от пользователя.

Требуется понимание «культуры» пользователя, то есть особенностей предметной области. Также пользователь должен быть вовлечен в процесс принятия решений.

Требования могут быть сформулированы в форме hipo – диаграмм, которые состоят из оглавления функций программного продукта и описания каждой из них.

Оглавление – описание иерархии задач со ссылками на диаграммы. Диаграммы содержат вход (слева), обработку (по центру), выход (справа).

Цели – конкретные ориентиры программного продукта.

Типичные ошибки:

- неявное формулирование целей;

- составление наброска без учёта всех целей;

- есть конфликты при формулировании целей (должны быть компромиссы);

Цели ПО могут быть разбиты на 10 групп:

- общность – число, мощность, область действия пользовательских функций;

- психологические факторы – мера лёгкости понимания, удобства использования, защиты от неверных действий пользователя;

- адаптируемость – мера лёгкости расширения;

- удобство сопровождения – мера затрат времени и средств на исправление ошибок;

- безопасность – мера вероятности обращения одного пользователя к данным другого;

- документация;

- стоимость продукта;

- календарный план;

- эффективность (производительность);

- надёжность (средства повышения надёжности снижают эффективность).