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

Методология и технология разработки информационных систем Методология создания информационных систем заключается в организации про­цесса построения информационной системы и в управлении этим процессом для того, чтобы гарантировать выполнение требований как к самой системе, так и к ха­рактеристикам процесса разработки. Методологии, технологии и инструментальные средства проектирования (CASE-средства) составляют основу проекта любой информационной системы. Методология RAD Методология создания информационных систем, основанная на использовании средств быстрой разработки приложений, получила в последнее время широкое распространение и приобрела название методологии быстрой разработки прило­жений (Rapid Application Development, RAD). Данная методология охватывает все этапы жизненного цикла современных информационных систем. Методология RAD — это комплекс специальных инструментальных средств, по­зволяющих оперировать с определенным набором графических объектов, функционально отображающих отдельные информационные компоненты приложе­ний. Основные принципы методологии RAD можно свести к следующим: используется итерационная (спиральная) модель разработки; полное завершение работ на каждом из этапов жизненного цикла не обязательно; в процессе разработки информационной системы обеспечивается тесное взаимодействие с заказчиком и будущими пользователями; применяются CASE-средства и средства быстрой разработки приложений; применяются средства управления конфигурацией, облегчающие внесение из­менений в проект и сопровождение готовой системы; используются прототипы, позволяющие полнее выяснить и реализовать потребности конечного пользователя; тестирование и развитие проекта осуществляются одновременно с разработ­кой; разработка ведется немногочисленной и хорошо управляемой командой профессионалов; обеспечиваются грамотное руководство разработкой системы, четкое планиро­вание и контроль выполнения работ. Объектно-ориентированный подход Средства RAD позволили реализовать совершенно иную по сравнению с традици­онной технологию создания приложений: информационные объекты формируют­ся как некие действующие модели (прототипы), чье функционирование согласу­ется с пользователем, а затем разработчик может переходить непосредственно к формированию законченных приложений, не теряя из виду общей картины проектируемой системы. Использование объектно-ориентированных принципов позволяет создать описа­ние (модель) предметной области в виде совокупности объектов — сущностей, объе­диняющих данные и методы обработки этих данных (процедуры). Каждый объект обладает собственным поведением и моделирует некоторый объект реального мира. С этой точки зрения объект является вполне осязаемым и демонстрирует опреде­ленное поведение. Применение принципов объектно-ориентированного программирования позволи­ло создать средства проектирования приложений, называе­мые средствами визуального программирования. Визуальные инструменты RAD позволяют создавать сложные графические интерфейсы пользователя вообще без написания кода программы. При этом разработчик может на любом этапе наблю­дать то, что закладывается в основу принимаемых решений. Визуальные средства разработки оперируют в первую очередь со стандартными интерфейсными объектами — окнами, списками, текстами, которые легко можно связать с данными из базы данных и отобразить на экране монитора. Другая груп­па объектов представляет собой стандартные элементы управления — кнопки, пе­реключатели, флажки, меню и т. п., с помощью которых осуществляется управле­ние отображаемыми данными. Логика приложения, построенного средствами RAD, является событийно-ориен­тированной. Это означает, что каждый объект, входящий в состав приложения, может генерировать события и реагировать на события, генерируемые другими объектами. Примерами событий могут быть открытие и закрытие окон, щелчок на кнопке, нажатие клавиши клавиатуры, движение мыши, изменение данных в базе данных и т. п. Фазы жизненного цикла в рамках методологии RAD При использовании методологии быстрой разработки приложений жизненный цикл информационной системы состоит из четырех фаз: анализа и планирования требований; проектирования; построения; внедрения. Рассмотрим каждую из них более подробно. Фаза анализа и планирования тре읣ሩꋔ靛쩵滷͑ے妥⯕氎쿒厚ȵ绉䈊戻몭뫨Ỏиза и планирования требований определяются: функции, которые должна выполнять разрабатываемая информационная си­стема; наиболее приоритетные функции, требующие разработки в первую очередь; информационные потребности; масштаб проекта; временные рамки для каждой из последующих фаз; сама возможность реализации данного проекта в установленных рамках фи­нансирования на имеющихся аппаратных и программных средствах. Если реализация проекта принципиально возможна, то результатом фазы анализа и планирования требований будет список функций разрабатываемой информаци­онной системы с указанием их приоритетов, а также предварительные функцио­нальные и информационные модели системы. Фаза проектирования На фазе проектирования необходимым инструментом являются CASE-средства, используемые для быстрого получения работающих прототипов приложений. Прототипы, созданные с помощью CASE-средств, анализируются пользователя­ми, которые уточняют и дополняют те требования к системе, которые не были вы­явлены на предыдущей фазе. Таким образом, на данной фазе также необходимо участие будущих пользователей в техническом проектировании системы. Далее на этой фазе проводится анализ и, если требуется, корректировка функцио­нальной модели системы. Детально рассматривается каждый процесс системы. При необходимости для каждого элементарного процесса создается частичный прото­тип: экран, диалоговое окно или отчет (это позволяет устранить неясности или неоднозначности). Затем определяются требования разграничения доступа к дан­ным. После детального рассмотрения процессов определяется количество функциональ­ных элементов разрабатываемой системы. Это позволяет разделить информаци­онную систему на ряд подсистем, каждая из которых реализуется одной командой разработчиков за приемлемое для RAD-проектов время (порядка полутора меся­цев). С использованием CASE-средств проект распределяется между различными командами — делится функциональная модель. На этой же фазе происходит определение набора необходимой документации. Результатами данной фазы являются: общая информационная модель системы; функциональные модели системы в целом и подсистем, реализуемых отдель­ными командами разработчиков; точно определенные с помощью CASE-средства интерфейсы между автономно разрабатываемыми подсистемами; построенные прототипы экранов, диалоговых окон и отчетов. Фаза построения На фазе построения выполняется собственно быстрая разработка приложения. На данной фазе разработчики производят итеративное построение реальной системы на основе полученных ранее моделей, а также требований нефункционального ха­рактера. Разработка приложения ведется средствами визуального программиро­вания. Формирование программного кода частично выполняется с помощью авто­матических генераторов кода, входящих в состав CASE-средств. Код генерируется на основе разработанных моделей. После окончания работ каждой отдельной команды разработчиков производится постепенная интеграция данной части системы с остальными, формируется пол­ный программный код, выполняется тестирование совместной работы данной ча­сти приложения с остальными, а затем тестирование системы в целом. Завершается физическое проектирование системы, а именно: определяется необходимость распределения данных; производится анализ использования данных; производится физическое проектирование базы данных; определяются требования к аппаратным ресурсам; определяются способы повышения производительности; завершается разработка документации проекта. Результатом реализации данной фазы является готовая информационная систе­ма, удовлетворяющая всем требованиям пользователей. Фаза внедрения Фаза внедрения в основном сводится к обучению пользователей разработанной информационной системы. Ограничения методологии RAD Ее применение наи­более эффективно при создании сравнительно небольших систем, разрабатывае­мых для конкретного заказчика. При разработке же типовых систем, не являющихся законченным продуктом, а представляющих собой совокупность типовых элементов информационной си­стемы, большое значение имеют такие показатели проекта, как управляемость и качество, которые могут войти в противоречие с простотой и скоростью разработ­ки. Это связано с тем, что типовые системы обычно централизованно сопровожда­ются и могут адаптироваться к различным программно-аппаратным платформам, системам управления базами данных, коммуникационным средствам, а также ин­тегрироваться с существующими разработками. Поэтому для такого рода проек­тов необходимы высокий уровень планирования и жесткая дисциплина проекти­рования, строгое следование заранее разработанным протоколам и интерфейсам, что снижает скорость разработки. Методология RAD не подходит для создания сложных расчетных программ, операционных систем и программ управления сложными инженерно-техническими объектами; для разработки приложений, в ко­торых интерфейс пользователя является вторичным, то есть отсутствует нагляд­ное определение логики работы системы (приложения реального времени, драйверы или службы); для разработки систем, от которых за­висит безопасность людей, например систем управления транспортом или атомными электростанциями. Профили открытых информационных систем Открытые информационные системы создаются в процессе информатизации всех основных сфер современного общества: органов государственного управления, финансово-кредитной сферы, информационного обслуживания предпринима­тельской деятельности, производственной сферы, науки, образования. Развитие и использование открытых информационных систем неразрывно связаны с при­менением стандартов на основе методологии функциональной стандартизации ин­формационных технологий. Профиль — это совокупность нескольких (или подмножество одного) базовых стан­дартов с четко определенными и гармонизированными подмножествами обязатель­ных и факультативных возможностей, предназначенная для реализации заданной функции или группы функций. Базовые стандарты и профили в зависимости от проблемно-ориентированной об­ласти применения информационных систем могут использоваться как непосред­ственные директивные, руководящие или рекомендательные документы, а также как нормативная база, необходимая при выборе или разработке средств автомати­зации технологических этапов или процессов создания, сопровождения и разви­тия информационных систем. Обычно рассматривают две группы профилей, регламентирующих: архитектуру и структуру информационной системы; процессы проектирования, разработки, применения, сопровождения и разви­тия системы. В международной функциональной стандартизации информационных тех­нологий принято довольно жесткое понятие профиля. Считается, что его основой могут быть только утвержденные международные и национальные стандарты. Использование стандартов де-факто и нормативных фирменных документов не допускается. Другой подход к разработке и применению профилей информационных систем со­стоит в использовании совокупности адаптированных и параметризованных базо­вых международных и национальных стандартов и открытых спецификаций, отве­чающих стандартам де-факто и рекомендациям международных консорциумов. Эталонная модель среды открытых систем определяет разделение любой инфор­мационной системы на две составляющие: приложения (прикладные программы и программные комплексы) и среду, в которой эти приложения функционируют. Профили информационной системы с иерархической структурой могут включать в себя: стандартизованные описания функций, выполняемых данной системой; функции взаимодействия системы с внешней для нее средой; стандартизованные интерфейсы между приложениями и средой информаци­онной системы; профили отдельных функциональных компонентов, входящих в систему. Структура профилей информационных систем Профи­ли характеризуют каждую конкретную информационную систему на всех стадиях ее жизненного цикла, задавая согласованный набор базовых стандартов, которым должны соответствовать система и ее компоненты. Стандарты, важные с точки зрения заказчика, должны задаваться в техниче­ском задании на проектирование системы и составлять ее первичный профиль. То, что не задано в техническом задании, первоначально остается на усмотре­ние разработчика системы. Профиль конкретной системы не является статичным. В профиль конкретной системы включаются спецификации компонентов, разра­ботанных в составе данного проекта, и спецификации использованных готовых программных и аппаратных средств, если эти средства не специфицированы со­ответствующими стандартами. После завершения проектирования и испытаний системы, в ходе которых проверяется ее соответствие профилю, профиль применяется как основной инструмент сопровождения системы при эксплуатации, модер­низации и развитии. На стадиях жизненного цикла информационной системы выбираются и затем при­меняются следующие основные функциональные профили: прикладного программного обеспечения; среды информационной системы; защиты информации в информационной системе; инструментальных средств, встроенных в информационную систему.