Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
90
Добавлен:
10.02.2015
Размер:
2.04 Mб
Скачать

6. Проектирование информационных систем и баз данных

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

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

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

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

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

Спиральная модель ЖЦ.

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

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

Фаза определения и анализа требований (Analysis/Software Requirements). Определение требований выполняется при совместном участии пользователей и специалистов-разработчиков. Результаты этой фазы - список и приоритетность функций будущей ИС, предварительные функциональная и информационная модели ИС (модели процессов и данных предметной области).

Фаза проектирования (Design). Результаты этой фазы:

  • общая информационная модель системы (даталогическая модель, модель данных предметной области);

  • функциональные модели системы в целом и подсистем (модели процессов предметной области);

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

  • построенные прототипы экранов, отчетов, диалогов (представленные в виде форм документов, слайдов и программ-прототипов).

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

  • Концептуальное проектирование (Conceptual Design) — это сбор, документирование и анализ информации о бизнес-проблеме (о комплексе задач предметной области), выработка способа ее решения и его описание с точки зрения пользователя и с точки зрения бизнеса. Цель этого этапа — учет требований пользователей и реальных условий, в которых будет функционировать программный продукт. Результатом этого этапа является совокупность концептуальных (внешних) моделей, типичных схем и сценариев использования программной системы.

  • Логическое проектирование (Logical Design) — описание структуры решения и взаимодействия составляющих его компонентов с точки зрения группы разработчиков проекта. Цель логического проектирования — учет требований проектной группы. Результат этого этапа — набор бизнес-объектов (объекты предметной области) с соответствующими сервисами (функции объектов), атрибутами (свойства объектов) и взаимосвязями; детальный проект пользовательского интерфейса и логическая модель базы данных (без привязки к конкретной СУБД, платформе...).

  • Физическое проектирование (Physical Design) — описание компонентов, сервисов и технологий, выбранных для получения решения. Цель этого этапа — анализ логического проекта с учетом ограничений, накладываемых существующими технологиями, включая соображения сложности реализации и производительности продукта. Результат физического проектирования — спецификации компонентов программной системы и взаимосвязей между ними, проект пользовательского интерфейса для выбранной платформы и физическая модель базы данных (с привязкой к конкретной СУБД).

  • Фаза реализации (Development), по другой терминологии фаза конструирования, программирования или собственно разработки. Результатом этой фазы является законченная версия программного продукта, готовая к внешнему тестированию. Иногда в эту фазу включают этап внешнего тестирования и внедрения программного продукта, иногда эти работы выделяют в отдельную фазу ЖЦ ПО.

Одним из возможных подходов к разработке ПО в рамках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:

  • небольшую команду программистов (от 2 до 10 человек);

  • короткий, но тщательно проработанный производственный график разработки версии программного продукта (от 2 до 6 мес.);

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

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

В таком процессе разработки особую роль играют CASE-средства проектирования и реализации программных систем (Computer Aided Software Engineering). Эти средства не просто облегчают разработку моделей, документирование процесса в целом и подготовку документации по программному обеспечению. CASE-средства используются для быстрого получения работающих прототипов приложений. Пользователи, непосредственно взаимодействуя с ними, уточняют и дополняют требования к системе, которые не были выявлены ранее. Каждый прототип развивается в часть будущей системы. Таким образом, на следующую фазу передается более полная и полезная информация. Применение единой среды хранения информации о проекте позволяет сохранять информацию о проекте при переходах с этапа на этап и от версии к версии.

Соседние файлы в папке Базы данных(1 курс, 2 семестр,2011-2012)