Жизненный цикл программного средства.

 

Под жизненным циклом ПС понимают весь период его разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования [1 - 4]. Жизненный цикл включает все процессы создания и использования ПС (software process). Различают следующие стадии жизненного цикла ПС (см. рис. 1): разработку ПС, производство программных изделий (ПИ) и эксплуатацию ПС.

 

.

Разработка начинается с выработки требований к ПИ. На эту фазу приходится, как правило, 50% стоимости и 32% трудозатрат.

Фаза использования начинается с того момента, как изделие передается пользователю.

На этой фазе обычно выполняется обучение персонала, внедрение и настройка.

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

Процесс сопровождения продолжается параллельно эксплуатации ПИ. На расширение функциональных возможностей ПИ – 78% времени, на выявление ошибок – 17%. Обучение расширенным возможностям – 5%.

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

Особенности эти проявляются на этапах создания и эксплуатации.

Приведем это в форме таблицы.

 

Наименование этапов Содержание работы
Производственно-техническое назначение ПИ
1. Разработка Определение требований пользователя. Определение конструктивных элементов. Проектирование элементов. Изготовление опытного образца и его испытания. Создание технологии массового производства. -----//-----   -----//-----   -----//----- реализация и тестирование __________
2. Ввод в эксплуатацию Массовое производство копирование
3. Эксплуатация и обслуживание Постановка пользователю.
Техническое обслуживание (ремонт). Возвращение изделия на доработку. Расширение функциональных возможностей. ___________ сопровождение сопровождение
4. Снятие с эксплуатации Физический износ Моральный износ __________ -----//-----

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

Начальный этап проектирования ПИ состоит из следующих процессов:

1. Анализ и разработка требований к ПИ.

2. Определение целей создания ПИ.

3. Разработка внешних спецификаций проекта.

I процесс.

В процессе разработки требований необходимо решить следующие задачи:

а) выявить наличие информации, необходимой для выполнения планируемых функций;

б) определить трудоемкость и стоимость предстоящей работы;

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

г) выявить пространственно-временные ограничения, налагаемые на систему, а также средства системы, которые в будущем могут претерпеть изменения.

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

Можно установить две фазы в выработке требований.

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

2-ая фаза выработки требований пользователя. На этой фазе вырабатываются требования к входным данным, информационным потокам, выходным данным, документации, среде, вычислительным ресурсам.

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

Требования являются определенными в том объеме, в котором они фиксируются в документации.

За полноту и точность сформулированных требований к ПИ отвечает пользователь. Проектировщик отвечает за качество описания требований и их реализуемость.

II процесс. Разработка и описание целей (т.е. процесс разработки в проектировании).

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

При описании целей возможно возникновение следующих ошибок:

1. Противоречивость в описании сформулированных целей;

2. Наличие поверхностно выявленных целей, не отражающих специфических особенностей разрабатываемого ПИ (например, зарплата);

3. Цели создания ПИ с точки зрения пользователя (цели продукта) и цели проекта (с точки зрения проектировщика) противоречивы (т.е. несогласованность разработки и пользователя).

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

1. Краткое описание. В нем кратко определяется общее назначение разрабатываемого ПИ и его функций.

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

3. Подробное описание функциональных задач. Оно характеризует однозначное восприятие требований пользователей – разработчиков.

4. Документация – определяются состав документов, выдаваемый каждому пользователю.

5. Эффективность. Описываются все цели, касающиеся производительности: временные характеристики, пропускная способность, использование ресурсов и т.д.

6. Совместимость. Указываются стандарты, которым необходимо следовать в процессе разработки, а также другие программные продукты, с которыми разрабатываемое ПИ должно быть совместимо.

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

8. Безопасность. Формируются цели в отношении обеспечения безопасности ПИ (сохранение информации, пароль, гриф секретно).

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

10. Установка. Описываются методы и средства настройки ПИ на конкретные условия эксплуатации (требования на ограничения по настройке, разделение на 5 человек).

11. Надежность. Цели по достижению надежности в значительной мере зависят от конкретного типа разрабатываемого ПИ. Но можно определить некоторые общие вопросы, которые должны быть рассмотрены:

а) среднее время наработки на сбой для каждого вида сбоя (ПИ, пользователь, отдельная функция) и степень важности сбоя (для ПО для систем реального времени);

б) среднее время восстановления ПИ после сбоя;

в) цели по числу ошибок ПИ по категориям сложности и время обнаружения;

г) последствия сбоев системы и наиболее важных функций;

д) допустимый объем данных, утрачиваемых во время сбоя и уровень обеспечения безопасности;

е) функции, необходимые для обнаружения и исправления ошибок, а также обеспечение устойчивости к ним;

ж) возможности обнаружения ошибок пользователя и аппаратуры, а также восстановления работоспособности.

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

Цели проекта должны быть ясными, обоснованными и измеримыми, а также известными как пользователям, так и разработчикам.

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

III процесс.Разработка внешних спецификаций проекта. Упрощенно – это разработка инструкций пользователю.

При их написании разработчик должен решить три проблемы:

1. Доведение до минимума ошибок пользователя;

2. Обнаружение ошибок пользователя в случае их возникновения;

3. Доведение до минимума сложности разрабатываемого программного изделия.

Разработка внешних спецификаций разбивается на 2 части:

1. Предварительный внешний проект.

2. Детальный внешний проект.

Предварительный внешний проект содержит описание функций по составляющим компонентам ПИ (Решить какие функции необходимо описать в инструкции).

Детальный внешний проект каждой функции пользователя должен содержать следующую информацию:

1. Описание входных данных;

2. Описание выходных данных;

3. Преобразование системы (например, обновление массива начисления и удержания по заработной плате после расчета за месяц, при перерасчете. Оно должно быть написано с точки зрения пользователя);

4. Характеристика надежности. Описывается влияние всех возможных отказов функции на систему.

5. Эффективность. Описываются все ограничения (память, время и т.д.).

 

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

 

 

Процессы ЖЦ ПО: (по стандарту 12207)