моделирование
корпоративных
информационных
систем
зачем этот сайт »»
 

Унифицированный язык моделирования UML


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

Унифицированный язык моделирования UML (Unified Modeling Language) — это преемник того поколения методов ООАП, которые появились в конце 80-х и начале 90-х гг. Создание UML фактически началось в конце 1994 г., когда Гради Буч и Джеймс Рамбо начали работу по объединению методов Booch и ОМТ (Object Modeling Technique) под эгидой компании Rational Software. К концу 1995 г. они создали первую спецификацию объединенного метода, назван­ного ими Unified Method, версия 0.8. Тогда же, в 1995 г., к ним при­соединился создатель метода OOSE (Object-Oriented Software Engineering) Ивар Якобсон. Таким образом, UML является прямым объединением и унификацией методов Буча, Рамбо и Якобсона, однако дополняет их новыми возможностями.

Главными в разработ­ке UML были следующие цели:

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

 

Язык UML находится в процессе стандартизации, проводимом OMG (Object Management Group) — организацией по стандартиза­ции в области объектно-ориентированных методов и технологий, в настоящее время принят в качестве стандартного языка моделиро­вания и получил широкую поддержку в индустрии ПО. Язык UML принят на вооружение практически всеми крупнейшими компани­ями - производителями ПО (Microsoft, IBM, Hewlett-Packard, Oracle, Sybase и др.). Кроме того, практически все мировые произ­водители CASE-средств, помимо Rational Software (Rational Rose), поддерживают UML в своих продуктах (Paradigm Plus 3.6, System Architec, Microsoft Visual Modeler for Visual Basic, Delphi, PowerBuilder и др.). Полное описание UML можно найти на сайтах http:// www.omg.org, http://www.rational.com и http://uml.shl.com. Описание UML на русском языке содержится в книге М. Фаулера и К. Скот­та* , в дальнейшем изложении терминология языка соответствует данному переводу.

Создатели UML представляют его как язык для определения, представления, проектирования и документирования программных систем, организационно-экономических, технических и др. UML содержит стандартный набор диаграмм и нотаций самых разнооб­разных видов.

Стандарт UML версии 1.1, принятый 0MG в 1997 г., предлагает следующий набор диаграмм для моделирования:

•    диаграммы вариантов использования (use case diagrams) — для моде¬лирования бизнес-процессов организации (требований к системе);
•    диаграммы классов (class diagrams) — для моделирования стати¬ческой структуры классов системы и связей между ними;
•    диаграммы поведения системы (behavior diagrams);
•    диаграммы взаимодействия (interaction diagrams) — для моделиро¬вания процесса обмена сообщениями между объектами. Суще¬ствуют два вида диаграмм взаимодействия:
o    диаграммы последовательности (sequence diagrams);
o    кооперативные диаграммы (collaboration diagrams);
•    диаграммы состояний (statechart diagrams) — для моделирования пове¬дения объектов системы при переходе из одного состояния в другое;
•    диаграммы деятельностей (activity diagrams) - для моделирования поведения системы в рамках различных вариантов использова¬ния или моделирования деятельностей;
•    диаграммы реализации (implementation diagrams):
o    диаграммы компонентов (component diagrams) — для моделирова¬ния иерархии компонентов (подсистем) системы;
o    диаграммы размещения (deployment diagrams) — для моделирования физической архитектуры системы.