Здавалка
Главная | Обратная связь

Спецификация программного обеспечения

Каскадная модель

 

Эту модель также иногда называют моделью жиз­ненного цикла программного обеспечения. Основные принципиальные этапы (стадии) этой модели отражают все базовые виды деятельности, необходимые для создания ПО.

1. Анализ и формирование требований. Путем консультаций с заказчиком ПО определя­ются функциональные возможности, ограничения и цели создаваемой программ­ной системы.

2. Проектирование системы и программного обеспечения. Процесс проектирования систе­мы разбивает системные требования на требования, предъявляемые к аппаратным средствам, и требования к программному обеспечению системы. Разрабатывается общая архитектура системы. Проектирование ПО предполагает определение и описание основных программных компонентов и их взаимосвязей.

3. Кодирование и тестирование программных модулей. На этой стадии архитектура ПО реализуется в виде множества программ или программных модулей. Тестирование каж­дого модуля включает проверку его соответствия требованиям к данному модулю.

4. Сборка и тестирование системы. Отдельные программы и программные модули ин­тегрируются и тестируются в виде целостной системы. Проверяется, соответствует ли система своей спецификации.

5. Эксплуатация и сопровождение системы. Обычно (хотя и не всегда) это самая длитель­ная фаза жизненного цикла ПО. Система инсталлируется, и начинается период ее эксплуатации. Сопровождение системы включает исправление ошибок, которые не были обнаружены на более ранних этапах жизненного цикла, совершенствование системных компонентов и "подгонку" функциональных возможностей системы к новым требованиям.

 

Рис. Жизненный цикл программного обеспечения

 

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

 

Поскольку на каждом этапе проводятся определенные работы и оформляется сопутст­вующая документация, повторение этапов приводит к повторным работам и значительным расходам. Поэтому после небольшого числа повторений обычно "замораживается" часть этапов создания ПО, но продолжается выполнение последующих этапов. Возникающие проблемы, решение которых требует возврата к "замороженным" этапам, игнорируются либо делаются попытки решить их программно. "Замораживание" этапа определения требований может привести к тому, что разработанная система не будет удовлетворять всем требованиям заказчика. Это также может привести к появлению плохо структурированной системы, если упущения этапа проектирования ис­правляются только с помощью программистских хитростей.

 

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

 

Спецификация программного обеспечения

 

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

В спецификации тре­бования обычно представлены на двух уровнях детализации. На самом верхнем уров­не представлены требования, определяемые конечными пользователями или заказчи­ками ПО. Для разработчиков необходима более детализированная системная спецификация.

Рис.Процесс разработки требований

 

Процесс разработки требований включает четыре основных этапа.

1. Предварительные исследования. Оценивается степень удовлетворенности пользователей существующими программными продуктами и аппаратными средствами. Этот этап должен быть по
возможности коротким.

2. Формирование и анализ требований. Формируются системные требования путем изучения существующих аналогичных систем, обсуждения будущей системы с по­тенциальными пользователями и заказчиками, анализа задач, которые должна решать система, и т.п. Этот этап может включать разработку нескольких моделей
системы и ее прототипов, что помогает сформировать функциональные требо­вания к системе.

3. Специфицирование требований. Осуществляется перевод всей совокупности информации, собранной на предыдущем этапе, в документ, определяющий множество требований.

4. Утверждение требований. Проверяется выполнимость, согласованность и полнота множества требований. В процессе формирования ограничений неизбежно воз­никновение каких-либо ошибок. На этом этапе они должны быть по возможности
выявлены и устранены.

 

Проектирование ПО

 

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

Процесс проектирования может включать разработку нескольких моделей системы различных уровней обобщения.

 

Рис. Обобщенная схема процесса проектирования

 

Результатом каждого этапа проектирования является спецификация, необходимая для выполнения следующего этапа. Так как процесс проектирования непрерывен, специ­фикации постепенно становятся все более детализированными. Конечными результатами процесса проектирования являются точные спецификации на алгоритмы и структуры дан­ных, которые будут реализованы на следующем этапе создания ПО.

Этапы процесса проектирования:

1. Архитектурное проектирование. Определяются и документируются подсистемы и взаимосвязи между ними.

2. Обобщенная спецификация. Для каждой подсистемы разрабатывается обобщенная спецификация на ее сервисы и ограничения.

3. Проектирование интерфейсов. Для каждой подсистемы определяется и доку­ментируется ее интерфейс. Спецификации на эти интерфейсы должны быть точно выраженными и однозначными, чтобы использование подсистем не требовало знаний о том, как они реализуют свои функции.

4. Компонентное (модульное) проектирование. Проводится распределение системных функций (сер­висов) по различным компонентам (модулям) и их интерфейсам.

5. Проектирование структур данных. Детально разрабатываются структуры данных, не­обходимые для реализации программной системы.

6. Проектирование алгоритмов. Детально разрабатываются алгоритмы, предназна­ченные для реализации системных сервисов.

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.