Методология разработки информационных систем

Рано или поздно современные руководители организаций приходят к выводу о необходимости автоматизации различных функций управления своего бизнеса: как правило, это бывает вызвано желанием снизить издержки за счет оптимизации процесса производства и оптимизации управления различными бизнес-процессами. В подобном случае, организации либо приобретают готовые типовые ИС, представленные на рынке IT-услуг, либо привлекают специалистов и ведут разработку ИС непосредственно для данного предприятия с учетом его специфики и сферы деятельности. Первый вариант более экономичный, второй – более перспективный, поскольку специально разрабатываемые ИС учитывают структуру организации и должны лучше подходить для автоматизации функции конкретной организации.

Базовым понятием методологии разработки информационных систем является понятие жизненного цикла ИС. Под жизненным циклом системы обычно понимается непрерывный процесс, который начинается с момента принятия решения о необходимости создания системы и заканчивается в момент ее полного изъятия из эксплуатации. Иначе говоря, ЖЦ ИС – это период создания и использования ИС.

Жизненный цикл информационной системы охватывает все стадии и этапы ее создания, сопровождения и развития:

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

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

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

· интеграцию и сборку системы, проведение ее испытаний;

· эксплуатацию системы и ее сопровождение;

· развитие системы.

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

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

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

Проектирование ИС основано на ряде следующих принципов:

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

- Принципразвития экономических информационных систем (ЭИС) - предусматривает, при создании ИС должно быть заложена возможность быстрого и без больших затрат на перестройку изменения и наращивания ИТ при изменении и развитии объекта.

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

- Стандартизация и унификация - предполагает использование типовых, унифицированных и стандартных решений при создании и развитии ЭИС (типовых программных продуктов, унифицированной документации, техники).

- Принцип эффективности – рациональное соотношение между затратами на создание и эксплуатацию и эффектом от функционирования создаваемой системы.

- Интеграция – это объединение в единый технологических процесс процедур сбора передачи, накопления, хранения информации и процедур формирования управленческих решений.

 

Непосредственное создание системы происходит на стадии разработки.

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

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

Ход процесса создания ИС (порядок исполнения этапов, критерии пе­рехода от этапа к этапу) зависит от выбранной модели ЖЦ ИС. Модель ЖЦ - структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении ЖЦ.

К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ:

· каскадная модель (70-85 г.г.);

· спиральная модель (86-90 г.г.).

Каскадный способ - разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем (рис.1.2.1). Схему разработки ИС согласно каскадному подходу вы можете посмотреть в сопровождающим эту лекцию текстовом файле.

Положительные стороны применения каскадного подхода:

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

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

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

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

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


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

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

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

Возрастающая сложность современных автоматизированных систем управления и повышение требований к ним диктует необходимость применения эффективных технологий создания и сопровождения ИС в течение всего жизненного цикла. Такие технологии, ориентированные на поддержку полного жизненного цикла АС или его основных этапов, получили название CASE-технологий (Computer Aided System Engineering). CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. В последнее десятилетие появился класс программно-технологических средств (CASE-средств), реализующих CASE-технологию создания и сопровождения АИС. В настоящее время CASE-средства (>300) охватывают весь процесс разработки сложных АИС в целом. Теперь под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения АИС, включая анализ и формулировку требований, проектирование прикладного ПО и базданных, генерацию программного кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.

CASE-средства:

- улучшают качество создаваемых АИС (АИТ) за счет средств автоматического контроля;

- позволяют за короткое время создавать прототип будущей АИС (АИТ), что дает возможность на ранних этапах оценить ожи­даемый результат;

- ускоряют процесс проектирования и разработки системы;

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

- поддерживают развитие и сопровождение разработки АИС (АИТ);

- поддерживают технологии повторного использования компо­нентов разработки.

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

Обычно к CASE-средствам относят любое программное средство, автоматизирующее один или несколько процессов жизненного цикла ПО и обладающее следующими основными характерными особенностями:

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

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

· использование специальным образом организованного хранилища проектных метаданных (репозитория).

Выделяют следующие виды CASE – средств:

а) по категориям:

-локальные средства, решающие небольшие автономные задачи (tools),

-набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit)

-полностью интегрированные средства (комплексы CASE-средств), поддерживающие весь ЖЦ ИС и связанные общим репозиторием.

Интегрированное CASE-средство (или комплекс средств, поддерживающих полный ЖЦ ПО) содержит следующие компоненты;

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

· графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм (DFD, ERD и др.), образующих модели ИС;

· средства разработки приложений, включая языки 4GL и генераторы кодов;

· средства конфигурационного управления;

· средства документирования;

· средства тестирования;

· средства управления проектом;

· средства реинжиниринга.

б) по типам:

- средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области

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

- средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД.

- средства разработки приложений.

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

На сегодняшний день Российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами:

· ERwin+BPwin;

· S-Designor;

· CASE.Аналитик;

· Rational Rose.

Одной из важных характеристик разработки ИС является срок разработки. Зачастую срок создания полноценной системы занимает от нескольких месяцев до года. Вполне естественно, что большинство предприятий заинтересовано в сокращении этого срока. Одним из возможных решений этой задачи является разработка ИС по методологии RAD (Rapid Application Development). = Методология быстрой разработки приложений.

Основные принципы методологии RAD можно свести к следующим:

- использование итерационной (спиральной) модели разработки;

- полное завершение работ на каждом из этапов жизненного цикла не обязательно;

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

- применяются CASE-средства и средства быстрой разработки приложений;

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

- используются прототипы, позволяющие полнее выяснить и реализовать потребности конечного пользователя;

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

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

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

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

- анализа и планирования требований;

- проектирования;

- построения;

- внедрения.

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

Совершенно неприемлема методология RAD для разработки систем, от которых зависит безопасность людей, например систем управления транспортом или атомными электростанциями.

Существуют два основных способа проектирования структурное и объектное - ориентированное проектирование.

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

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

Итак, сегодня мы рассмотрели некоторые аспекты процесса разработки ИС. В частности, мы определили, что такое ЖЦ ИС и описали его основные этапы, охарактеризовали 2 основные модели ЖЦ ИС – каскадную и спиральную. Затем мы выделили важный инструмент при разработке и сопровождении ИС – CASE–средства, которые помогают анализировать, проектировать, разрабатывать и эффективно использовать ИС, т.е. поддерживают весь ЖЦ ИС.