Недостатки стандартизации
Формальные методы
1. Использование новых языковых и проектных подходов
2. Использование метрик и измерений - в данном подходе предполагается, что хорошее ПО может быть разработано на основе цифровых оценок, относящихся непосредственно к коду и к процессу его разработки.
3. Использование стандартов, как на сами программы, так и на процесс разработки.
1. Запаздывание появления стандартов.
2. Стандарты не содержат методик количественной оценки выгоды от их применения.
3. Отсутствие взаимосвязи стандартов с лучшими образцами практики и другими стандартами.
4. Эффективное тестирование.
5. Использование CASE-средств. Предполагается, что человек делает меньше ошибок, проектируя визуально.
6. Тотальное управление качеством.
Типовая модель процессов жизненного цикла сложной системы начинается с концепции идеи системы или потребностей в ней. Охватывает проектирование, разработку, применение и сопровождение системы и заканчивается снятием системы с эксплуатации.
Модель жизненного цикла системы обычно разделяют на последовательные периоды реализации, на стадии или этапы.
Реализация жизненного цикла зависит от персонала, технических, организационных и договорных требований и сложности проекта.
В международных стандартах обычно классифицируются как фундаментальные каскадные, инкрементные и эволюционные модели жизненного цикла. Каждая из них может быть использована самостоятельно либо скомбинирована с другими. Модели разделяются в соответствии со стратегией конструирования ПО. Выделяют 3 стратегии:
1) Однократный подход (водопадная стратегия) – линейная последовательность этапов конструирования. Ей соответствует классическая модель жизненного цикла или каскадная модель.
2) Инкрементная стратегия – в начале процесса определяются все пользовательские и системные требования, оставшиеся часть конструирования выполняется в виде последовательных версий программного продукта (инкрементов). Первая версия реализует часть запланированных возможностей, следующая – дополнительные возможности и т.д., пока не будет получена полная система. Этой стратегии соответствует инкрементная модель и модель быстрой разработки.
3) Эволюционная стратегия – система так же строится в виде последовательности версий, но в начале процесса определены не все требования. Требования уточняются в результате разработки версий. Данной стратегии соответствует спиральная модель жизненного цикла.
Классический жизненный цикл – данный подход был разработан в 1970 г.
Системный анализ |
Анализ |
Проектирование |
Кодирование |
Тестирование |
Сопровождение |
Системный анализ – задает роль каждого элемента в компьютерной системе и взаимодействии элементов друг с другом. На этом этапе начинается решения задач планирования ПО. В ходе планирования проекта определяется объем проектных работ, риски, необходимые трудозатраты, формируются рабочие задачи и план, график работ. Уточняются и детализируются его функции, характеристики и интерфейс. Все определения документируются в спецификациях анализа. На этом же этапе завершается решение задачи планирования задачи. Проектирование состоит в создании представления:
1) Архитектуры ПО.
2) Модульной структуры ПО.
3) Алгоритмической структуры ПО.
4) Структур данных.
5) Входного и выходного интерфейса.
Исходными данными для проектирования являются спецификации анализа и в ходе проектирования выполняется трансляция требований ПО во множество проектных представлений. Уже на этапе проектирования большое внимание уделяется к качеству.
Сопровождение – это внесение изменения в эксплуатируемое ПО, причем цели этих изменений могут быть различными. Цели изменения:
1) Исправления ошибок.
2) Адаптация ПО к изменениям внешней среды.
3) Усовершенствование ПО по требованию заказчика.
Сопровождение состоит в повторном применении каждого из предшествующих шагов жизненного цикла в существующей программе, но не в разработке новой программы.