Программные инструменты

Средства визуального моделирования

Визуальное моделирование

Лекция 2. Визуальное моделирование. Язык UML.

При разработке ПО применяется визуальное моделирование (visual modeling). Визуальное моделирование - это метод, который:

● использует графовые модели для визуализации ПО;

● предлагает моделировать ПО с разных точек зрения;

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

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

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

Визуальное моделирование применяется на практике с помощью методов, языков и соответствующих программных инструментов (рис. 2.1).

Языки визуального моделирования (или визуальные языки) - это формализованные наборы графических символов и правила построения из них визуальных моделей. Сейчас известны и активно используются на практике такие языки визуального моделирования, как UML (Universal Modeling Language) и BPMN(Business Process Model and Notation). Однако существуют и более старые языки: SDL(Specification and Description Language) и MSC(Message Sequence Charts) для моделирования телекоммуникационных систем, SADT/IDEF0 для моделирования бизнес-процессов, IDEF1x для моделирования баз данных и некоторые другие. Кроме того, в исследовательской среде создано множество других визуальных языков, например, язык WebML (Web Modeling Language) для моделирования web-приложений.

Средства, реализующие языки и методы визуального моделирования, бывают двух видов:

● универсальные;

● предметно-ориентированные.

Универсальные инструменты являются многофункциональными пакетами, предназначенными для анализа и проектирования общего ПО то есть ПО без какой-либо специализированной ориентации. Как правило, сегодня такие пакеты строятся на базе языка UML и называются CASE-пакетами. Самыми известными CASE-пакетами являются IBM Rational Rose, Borland Together, Telelogic Tau, Microsoft Visio/UML Add-on. Эти средства поддерживают различные виды диаграмм, удобную среду их разработки, различные способы редактирования графических символов, средства просмотра и поиска в визуальной модели, различные режимы отображения диаграмм и многое другое. Они также обеспечивают генерацию программного кода в разные платформы программирования, версионный контроль визуальных моделей, часто являются кросс-платформенными (например, работают под управлением операционных систем Windows и Linux), обеспечивают интеграционные "мосты" с другими средствами разработки ПО, например, со средствами управления требованиями. Как правило, все современные CASE-пакеты имеют открытые программные интерфейсы и позволяют расширять свою базовую функциональность.

Термин CASE (Computer Aided Software Engineering) появился в индустрии разработки ПО в начале 1980-х годов. Довольно быстро он стал обозначать графические средства анализа и проектирования ПО, отражая попытки создать на основе визуального моделирования универсальный процесс разработки ПО. Пик развития этих средств приходится на начало 1990-х годов, когда они стали использоваться на базе платформы IBM Mainframe для автоматизации бизнеса крупных компаний. CASE-системы предоставляли мощные средства генерации кода, являясь не только инструментами анализа и проектирования, но и средами разработки ПО. CASE-средства интегрировали многообразные и разрозненные средства разработки под Mainframe-платформой - инструменты разработки пользовательского интерфейса и баз данных, средства взаимодействия основного приложения с операционной системой и пр. Типичное крупное Mainframe-приложение состояло из текстов примерно на 3-5 разных языках программирования, для которых существовало (и активно использовалось в других приложениях) множество альтернативных вариаций. Одна из самых известных систем такого рода - ADW (Application Developing Workbench). В итоге было разработано много промышленных информационных систем с использованием этих CASE-средств, успешно работающих и по сей день. В результате данные CASE-системы, многие из которых сменили не по одной компании-хозяину, до сих пор поддерживаются и развиваются, чтобы созданные на их основе информационные системы могли успешно функционировать и модернизироваться под современные бизнес-потребности. Почти все подобные CASE-системы и, в частности, ADW, в настоящее время куплены компанией Computer Associates International.

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

Предметно-ориентированные (domain-specific) программные инструменты поддержки визуального моделирования предназначены для определенных областей разработки ПО и тоже могут быть коробочными, как, например, пакет WebRatio для моделирования web-приложений. Однако предметно-ориентированные инструменты могут создаваться и отдельными компаниями для своих собственных проектов, особенно в рамках линеек программных продуктов (product lines). Это особенно удобно, поскольку во-первых, такие средства могут хорошо решать задачи именно того процесса, той компании, для которых они создаются. А во-вторых, сейчас на рынке имеются развитые среды для разработки средств визуального моделирования, самые известные из которых - Microsoft Visio, Microsoft DSL Tools и Eclipse/GMF.

При визуальном моделировании программного обеспечения используются следующие уровни абстракции:

● предметная область ;

● модель;

● метамодель;

● метаметамодель.

Рисунок 2.1. Средства визуального моделирования