Реальное применение любой технологии проектирования, разработки и сопровождения информационной системы в конкретной организации и конкретном проекте невозможно без выработки ряда стандартов (правил, соглашений), которые должны соблюдаться всеми участниками проекта.
Основными нормативными документами, регламентирующими жизненный цикл информационной системы, являются:
- международный стандарт ISO/IEC 12207:1995-08-01 на организацию жизненного цикла продуктов программного обеспечения (International Organization of Standardization – Международная организация по стандартизации, International Electrotechnical Commission – Международная комиссия по электротехнике);
- комплекс стандартов ГОСТ 34.601-90 распространяется на автоматизированные системы и устанавливает стадии и этапы их создания. В стандарте содержится описание содержания работ на каждом этапе. Стадии и этапы работы, закрепленные в стандарте, в большей степени соответствуют каскадной модели жизненного цикла.
Указанные стандарты представляют собой весьма объемные документы, которые формируют в числе других следующие группы стандартов:
· стандарт проектирования;
· стандарт оформления проектной документации;
· стандарт пользовательского интерфейса.
Стандарт проектирования должен устанавливать:
- набор необходимых диаграмм на каждой стадии проектирования и степень их детализации;
- правила фиксации проектных решений на диаграммах, в том числе: правила именования объектов, набор атрибутов для всех объектов и правила их заполнения на каждой стадии, правила оформления диаграмм, включая требования к форме и размерам объектов;
- требования к конфигурации рабочих мест разработчиков, включая настройки операционной системы, настройки CASE-средств, общие настройки проекта;
- механизм обеспечения совместной работы над проектом, в том числе: правила интеграции подсистем проекта, правила поддержания проекта в одинаковом для всех разработчиков состоянии, правила проверки проектных решений на непротиворечивость.
Стандарт оформления проектной документации должен устанавливать:
- комплектность, состав и структуру документации на каждой стадии проектирования;
- требования к ее оформлению, включая требования к содержанию разделов, подразделов, пунктов, таблиц;
- правила подготовки, рассмотрения, согласования и утверждения документации с указанием предельных сроков для каждой стадии;
- требования к настройке издательской системы, используемой в качестве встроенного средства подготовки документации;
- требования к настройке CASE-средств для обеспечения подготовки документации в соответствии с установленными требованиями.
Стандарт интерфейса пользователя должен устанавливать:
- правила оформления экранов (шрифты и цветовая палитра), состав и расположение окон и элементов управления;
- правила использования клавиатуры и мыши;
- правила оформления текстов помощи;
- перечень стандартных сообщений;
- правила обработки реакции пользователя.
Методология быстрой разработки приложений RAD
Одним из возможных подходов к разработке информационных систем в рамках спиральной модели жизненного цикла является получившая в последнее время широкое распространение методология RAD (Rapid Application Development – методология быстрой разработки приложений).
Методология быстрой разработки приложений RAD – это процесс разработки информационной системы, основанный на трех основных элементах:
- небольшая команда программистов (от 2 до 10 человек);
- тщательно проработанный производственный график, рассчитанный на сравнительно короткий срок разработки (от 2 до 6 месяцев);
- итерационная модель разработки, основанная на тесном взаимодействии с заказчиком – по мере выполнения проекта разработчики уточняют и реализуют в продукте требования, выдвигаемые заказчиком.
При использовании методологии RAD большое значение имеют опыт и профессионализм разработчиков. Команда разработчиков должна состоять из профессионалов, имеющих опыт в анализе, проектировании, программировании и тестировании информационных систем.
Жизненный цикл информационной системы по методологии RAD состоит из четырех фаз:
· фаза анализа и планирования требований;
· фаза проектирования;
· фаза построения;
· фаза внедрения.
Фаза анализа и планирования требований
Выполняютсяследующие работы:
- определяются функции, которые должна выполнять система;
- выделяются наиболее приоритетные из функций, требующие проработки в первую очередь;
- описываются информационные потребности;
- ограничивается масштаб проекта;
- определяются временные рамки для каждой из последующих фаз;
- определяется возможность реализации данного проекта в установленных рамках финансирования, на данных аппаратных средствах.
Результатом данной фазы должны быть:
- список и приоритетность функций будущей информационной системы;
- предварительные функциональные и информационные модели системы.
Фаза проектирования
Часть пользователей принимает участие в техническом проектировании системы под руководством специалистов разработчиков. Для быстрого получения работающих прототипов приложений используются CASE-средства. При этом:
- пользователи уточняют и дополняют требования к системе, которые не были выявлены на предыдущей фазе;
- более подробно рассматриваются процессы системы;
- анализируется и корректируется функциональная модель;
- каждый процесс рассматривается детально;
- для каждого элементарного процесса создается частичный прототип, устраняющий неясности или неоднозначности;
- определяются требования разграничения доступа к данным;
- происходит определение необходимой документации.
После детального определения состава процессов оценивается количество функциональных элементов разрабатываемой системы и принимается решение о разделении информационной системы на подсистемы, поддающиеся реализации одной командой разработчиков за приемлемое для RAD-проектов время – порядка 60–90 дней. С использованием CASE-средств проект распределяется между различными командами (делится функциональная модель).
Результатом фазы проектирования должны быть:
- общая информационная модель системы;
- функциональная модель системы в целом и подсистемы, реализуемые отдельными командами разработчиков;
- определенные с помощью CASE-средств интерфейсы между автономно разрабатываемыми подсистемами;
- построенные прототипы экранов, отчетов, диалогов.
Все модели и прототипы должны быть получены с применением тех CASE-средств, которые будут использоваться в дальнейшем при построении системы. Данное требование вызвано тем, что в традиционном подходе при передаче информации о проекте с этапа на этап может произойти фактически неконтролируемое искажение данных. Применение единой среды хранения информации о проекте позволяет избежать этой опасности.
В отличие от традиционного подхода, при котором использовались специфические средства построения прототипов, не предназначенные для построения реальных приложений, а прототипы выбрасывались после того, как выполняли задачу устранения неясностей в проекте, в подходе RAD каждый прототип развивается в часть будущей системы. Таким образом, на следующую фазу передается более полная и полезная информация.
Фаза построения
На фазе построения выполняется сама быстрая разработка приложения:
- разработчики производят итеративное построение реальной системы на основе полученных в предыдущей фазе моделей, а также требований нефункционального характера;
- программный код частично формируется при помощи автоматических генераторов, получающих информацию из репозитория CASE-средств;
- конечные пользователи оценивают получаемые результаты и вносят коррективы, если в процессе разработки система перестает удовлетворять определенным ранее требованиям;
- тестирование системы осуществляется непосредственно в процессе разработки.
После окончания работ отдельной командой разработчиков производится постепенная интеграция данной части системы с остальными, формируется полный программный код, выполняется тестирование совместной работы данной части приложения с остальными, а затем тестирование системы в целом.
Во время завершения физического проектирования системы:
- определяется необходимость распределения данных;
- производится анализ использования данных;
- производится физическое проектирование базы данных;
- определяются требования к аппаратным ресурсам;
- определяются способы увеличения производительности;
- завершается разработка документации проекта.
Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.
Фаза внедрения
На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы.