- •Качество программных средств
- •Свойства, определяющие качества программных средств
- •Стадии разработки программного средства
- •Содержание работ при разработке программных средств
- •Жизненный цикл
- •Каскадная модель жизненного цикла
- •Спиральная модель жизненного цикла
- •Модели качества при разработке программного средства
- •Стандарт iso
- •Уровни cmmi и iso/iec 15504: 2004
- •Методология Six Sigma
- •Последовательность содержания работ при документировании программного средства
- •Стандартизация программных средств
- •Виды стандартов программных документов
- •Аттестация программного средства
- •Испытание программного средства
Жизненный цикл
Одним из основополагающих понятий технологии разработки программного обеспечения является понятие жизненного цикла. Под жизненным циклом программного обеспечения понимается совокупность процессов, связанных с последовательным изменением состояния программного обеспечения от формирования исходных требований к нему до окончания его эксплуатации. Жизненный цикл состоит из стадий или этапов, т.е. логически завершённых частей. Этапы характеризуются определёнными состояниями программного обеспечения видам предусмотренных работ и их результатов. При создании программного обеспечения выделяют следующие основные этапы:
1. Анализ и формализация требований задач
2 Проектирование
3. Реализация
4. Тестирование
5. Внедрение и эксплуатация
Если все 5 этапов выполняются последовательно, то такая модель жизненного цикла называется линейной. На практике она не применяется, поскольку предполагает полное отсутствие ошибок. Поэтому на практике применяются каскадная и спиральная модель жизненного цикла.
Каскадная модель жизненного цикла
При классическом жизненном цикле программного обеспечения (каскадная или водопадная модель) разработка рассматривается как последовательность этапов, в которой переход на следующий иерархический нижний этап происходит только после полного завершения работ на текущем этапе
Системный анализ задаёт роль каждого элемента в системе и взаимодействие элементов друг с другом. На этапе системного анализа составляется предварительный план разработки проекта программного обеспечения.
Анализ требований уточняет и детализирует функции программного обеспечения, его характеристики и интерфейс. Кроме того, на данном этапе утверждается план проекта создания программного обеспечения.
Проектирование, создаются все возможные модели данных, такие как структура данных, входной/выходной интерфейс, а также архитектура программного обеспечения, структура модулей программного обеспечения, алгоритм выполнения программного обеспечения. С целью интеграции различных представлений данных о программном обеспечении выполняется построение общей системной модели, представляющей собой функциональную, процессную или объектно-ориентированную модель данных.
Кодирование состоит в переводе результатов проектирования в программный код на выбранном языке программирования.
Тестирование состоит в выполнении разработанного программного кода с заранее определёнными тестовыми наборами данных, для определения наличия или отсутствия ошибок в логике, синтаксисе и в форме реализации программного продукта.
Сопровождение – это внесение изменений в эксплуатируемое программное обеспечение.
Каскадная модель жизненного цикла работает следующим образом: после окончания каждого этапа осуществляется оценка и принимается решение либо о переходе к следующему этапу, либо об откате на один из предыдущих. Такой подход позволяет своевременно обнаруживать ошибки и устранять на самых ранних этапах.
Достоинства:
1. Позволяет планировать проект по разработке программного средства в соответствии с ГОСТ ЕСПД
2. Упорядочивает ход проектирования, позволяя нормировать разработку программного обеспечения по времени
Недостатки:
1. Большинство реальных проектов, выполняемых в интересах коммерческих организаций, требует отклонения от стандартной последовательности шагов, что не укладывается в каскадную модель
2. Циклы каскадной модели основаны на точной и конкретной формулировки исходных требований программного обеспечения. В реальности же в начале проекта заказчик либо вообще не представляет, что для него является главным, а что второстепенным в проекте, либо представляет требования к проекту лишь частично
3. Результаты проекта доступны заказчику лишь по окончанию всех этапов работы