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

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

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

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

	Методология RAD

	Методология создания информационных систем, основанная на использовании средств быстрой разработки приложений, получила в последнее время широкое распространение и приобрела название методологии быстрой разработки приложений (Rapid Application Development, RAD). Данная методология охватывает все этапы жизненного цикла современных информационных систем.

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

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

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

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

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

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

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

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

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

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

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

	Объектно-ориентированный подход

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

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

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

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

	Фазы жизненного цикла в рамках методологии RAD

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

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

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

		построения;

		внедрения.

	Рассмотрим каждую из них более подробно.

	Фаза анализа и планирования тре읣ሩꋔ靛쩵滷͑ے妥⯕氎쿒厚ȵ绉䈊戻몭뫨Ỏиза и планирования требований определяются:

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

		наиболее приоритетные функции, требующие разработки в первую очередь;

		информационные потребности;

		масштаб проекта;

		временные рамки для каждой из последующих фаз;

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

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

	Фаза проектирования

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

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

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

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

		общая информационная модель системы;

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

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

		построенные прототипы экранов, диалоговых окон и отчетов.

	Фаза построения

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

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

	Завершается физическое проектирование системы, а именно:

		определяется необходимость распределения данных;

		производится анализ использования данных;

		производится физическое проектирование базы данных;

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

		определяются способы повышения производительности;

		завершается разработка документации проекта.

	Результатом реализации данной фазы является готовая информационная система, удовлетворяющая всем требованиям пользователей.

	Фаза внедрения

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

	Ограничения методологии RAD

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

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

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

	

	Профили открытых информационных систем

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

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

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

	Обычно рассматривают две группы профилей, регламентирующих:

		архитектуру и структуру информационной системы;

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

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

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

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

	Профили информационной системы с иерархической структурой могут включать в себя:

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

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

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

		профили отдельных функциональных компонентов, входящих в систему. 

	Структура профилей информационных систем

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

	Стандарты, важные с точки зрения заказчика, должны задаваться в техническом задании на проектирование системы и составлять ее первичный профиль. То, что не задано в техническом задании, первоначально остается на усмотрение разработчика системы. Профиль конкретной системы не является статичным.

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

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

		прикладного программного обеспечения;

		среды информационной системы;

		защиты информации в информационной системе;

		инструментальных средств, встроенных в информационную систему.