Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процессы жизненного цикла




Указанные действия можно сгруппировать, условно выделив следую­щие Основные этапы разработки программного обеспечения [10] (в скобках указаны соответствующие стадии разработки по ГОСТ 19.102-77 «Стадии разработки»):

• постановка задачи (стадия «Техническое задание»);

• анализ требований и разработка спецификаций (стадия «Эскизный
проект»);

• проектирование (стадия «Технический проект»);

• реализация (стадия «Рабочий проект»).

Традиционно разработка также включала этап сопровождения (началу этого этапа соответствует стадия «Внедрение» по ГОСТ). Однако по между­народному стандарту в соответствии с изменениями, произошедшими в ин­дустрии разработки программного обеспечения, этот процесс теперь рассма­тривается отдельно.

Условность выделения этапов связана с тем, что на любом этапе возмож­но принятие решений, которые потребуют пересмотра решений, принятых ранее (см. § 1.5).

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

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

Анализ требований и определение спецификаций. Спецификациями называют точное формализованное описание функций и ограничений разра­батываемого программного обеспечения. Соответственно различают функ­циональные и эксплуатационные спецификации. Совокупность специфика­ций представляет собой общую логическую модель проектируемого про­граммного обеспечения.

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

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

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

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

• проектирование общей структуры - определение основных компонен­тов и их взаимосвязей;

• декомпозицию; компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;

• проектирование компонентов.

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

Принято различать также два аспекта проектирования:

• логическое проектирование, которое включает те проектные операции,
которые непосредственно не зависят от имеющихся технических и программных средств, составляющих среду функционирования будущего про­граммного продукта;

• физическое проектирование - привязка к конкретным техническим и
программным средствам среды функционирования, т. е. учет ограничений,
определенных в спецификациях.

Реализация. Реализация представляет собой процесс поэтапного напи­сания кодов программы на выбранном языке программирования (кодирова­ние), их тестирование и отладку.

Сопровождение. Сопровождение - это процесс создания и внедрения новых версий программного продукта. Причинами выпуска новых версий могут служить:

• необходимость исправления ошибок, выявленных в процессе эксплуатации предыдущих версий;

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

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

На этом этапе в программный продукт вносят необходимые изменения, которые так же, как в остальных случаях, могут потребовать пересмотра про­ектных решений, принятых на любом предыдущем этапе. С изменением мо­дели жизненного цикла программного обеспечения (см. далее) роль этого этапа существенно возросла, так как продукты теперь создаются итерацион­но: сначала выпускается сравнительно простая версия, затем следующая с большими возможностями, затем следующая и т. д. Именно это и послужило причиной выделения этапа сопровождения в отдельный процесс жизненного цикла в соответствии с стандартом ISO/IEC 12207.

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




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.