Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




Жизненный цикл (ЖЦ) ПО – это непрерывный процесс, начинающийся в момент принятия решения о создании ПО и заканчивающийся в момент полного изъятия всех версий ПО из эксплуатации.

Состав процессов ЖЦ регламентируется международным стандартом ISO/IEC 12207:1995 «Information Technology - Software Life Cycle Process». ISO - International Organization for Standartization - Международная организация по стандартизации. IEC - International Electrotechnical Comission - Международная комиссия по электротехнике.

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

1. основные процессы ЖЦ (приобретение, поставка, разработка, эксплуатация, сопровождение);

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

3. организационные процессы (управление, создание инфраструктуры, усовершенствование, обучение).

Рассмотрим подробнее один из основных процессов – процесс разработки. По стандарту ISO / IEC процесс разработки включает следующие действия:

· подготовительную работу – выбор модели ЖЦ, стандартов, методов и средств разработки, а также составление плана работ;

· анализ требований к системе – определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, требований к внешним интерфейсам и т.д.;

· проектирование архитектуры системы – определение состава необходимого оборудования, ПО и операций, выполняемых обслуживающим персоналом;

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

· проектирование архитектуры ПО – определение структуры ПО, документирование интерфейсов его компонентов, разработку предварительной версии пользовательской документации, а также требований к тестам и плана интеграции;

· детальное проектирование ПО – подробное описание компонентов ПО и интерфейсов между ними, обновление пользовательской документации, разработку и документирование требований к тестам и др.;

· кодирование и тестирование ПО – разработку и документирование каждого компонента, а также совокупности тестовых процедур и данных для их тестирования, тестирование компонентов и т.д.;

· интеграцию ПО – сборку программных компонентов в соответствии с планом интеграции, тестирование ПО на соответствие квалификационным требованиям;

· квалификационное тестирование ПО – тестирование ПО в присутствии ммированиязаказчика для демонстрации его соответствия требованиям и готовности к эксплуатации; проверка готовности и полноты всей документации;

· интеграцию системы – сборку всех компонентов системы, включая ПО и оборудование;

· установку ПО – установку ПО на оборудовании заказчика и проверку его работоспособности;

· приемку ПО – оценку результатов квалификационного тестирования ПО и системы в целом и документирование результатов оценки совместно с заказчиком, окончательную передачу ПО заказчику.

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

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

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

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

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

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

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

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

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

Анализ требований и определение спецификаций. Спецификация – это точное формализованное описание функций и ограничений разрабатываемого ПО. Различают функциональные и эксплуатационные спецификации. Совокупность спецификаций представляет собой общуюлогическую модель проектируемого ПО. (Модель – это описание системы, отображающее определенную группу ее свойств.)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С появлением спиральной мо­дели ЖЦ ПО роль этого этапа существенно возросла, так как программные продукты теперь создаются итерацион­но: сначала выпускается сравнительно простая версия, затем следующая с большими возможностями, затем следующая и т. д. Именно это и послужило причиной выделения этапа сопровождения в отдельный процесс жизненного цикла в соответствии со стандартом ISO / I ЕС 12207.

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

Примечание. Подробное рассмотрение вопросов, касающихся моделей ЖЦ ПО (каскадной и спиральной), а также технологии ускоренной разработки ПО (технологии RAD) будет осуществлено на третьем курсе в рамках дисциплины «Теория информационных процессов и систем».

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...