ЖИЗНЕННЫЙ ЦИКЛ СИСТЕМЫ

Модели ЖЦ и его основные этапы

При описании жизненного цикла системы используются следующие понятия:

* процесс - цепочка последовательно выполняемых работ;

* этапы - последовательные отрезки времени, в течение которого выполняются работы. В течение этапа могут выполняться работы, относящиеся к разным процессам.

В основе деятельности по созданию и использованию автоматизированной системы управления предприятием (АСУП) лежит понятие ее жизненного цикла (ЖЦ). ЖЦ является моделью создания и использования АСУП, отражающей ее различные состояния, начиная с момента возникновения необходимости в данном изделии и заканчивая моментом его полного выхода из употребления у всех без исключения пользователей.

Традиционно выделяются следующие основные этапы ЖЦ АСУП:

* анализ требований;

* проектирование;

* программирование/внедрение;

* тестирование и отладка;

* эксплуатация и сопровождение.

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

Существующие модели ЖЦ определяют порядок исполнения этапов в ходе разработки, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распространение получили три следующие модели ЖЦ:

1. Каскадная модель (в 70 - 80-е годы) - предполагает переход на следующий этап после полного окончания работ по предыдущему этапу и характеризуется четким разделением данных и процессов их разработки

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

3. Спиральная модель (в 86-90-е годы) - делает упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверке и обосновывается реализуемость технических решений путем создания прототипов. Каждый виток спирали соответствует поэтапном модели создания фрагмента или версии системы, на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы следующего витка спирали. Таким образом углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации.

Специалистами отмечаются следующие преимущества спиральной модели:

* накопление и повторное использование программных средств, моделей и прототипов;

* ориентация на развитие и модификацию системы в процессе ее проектирования;

* анализ риска и издержек в процессе проектирования.

Отметим, что главная особенность индустрии АСУП состоит в концентрации сложности на начальных этапах ЖЦ (анализ, проектирование) при относительно невысокой сложности и трудоемкости последующих этапов. Более того, нерешенные вопросы и ошибки, допущенные на этапах анализа и проектирования, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в конечном счете, могут лишить успеха.

Анализ требований

Анализ требований является первой фазой разработки АСУП, на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе дается ответ на вопрос «Что должна делать будущая система?». Именно здесь лежит ключ к успеху всего проекта. В практике создания больших систем известно немало примеров неудачной реализации проекта именно из-за неполноты и нечеткости определения системных требований.I

Список требований к АСУП должен включать:

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

* описание выполняемых системой функций;

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

Целью анализа является преобразование общих, неясных знаний о требованиях к будущей системе в точные (по возможности) определения. Результатом этапа должна являться модель требований к системе (по другому - системный проект), определяющая:

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

* интерфейсы и распределение функций между человеком и системой;

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

Модель требований должна включать:

* полную функциональную модель требований к будущей системе с глубиной проработки до уровня каждой операции каждого должностного лица;

* спецификации операций нижнего уровня;

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

* концептуальную информационную модель требований;

* пакет отчетов и документов по информационной модели;

* архитектуру системы с привязкой к концептуальной информационной модели;

* предложения по оргштатной структуре для поддержки системы.

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

1. Для традиционной разработки характерно осуществление начальных этапов кустарными неформализованными способами. В результате заказчики и пользователи впервые могут увидеть систему после того, как она уже в большей степени реализована. Естественно, эта система будет отличаться от того, что они ожидали увидеть. Поэтому далее последует еще несколько итераций ее разработки или модификации, что требует дополнительных (и значительных) затрат денег и времени. Ключ к решению этой проблемы и дает моде; требований, позволяющая:

* описать, «увидеть» и скорректировать будущую систему до того, как она будет реализована физически;

* уменьшить затраты на разработку и внедрение системы;