Раздел 5. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ ИС
Тема 17. Язык UML: назначение, история, основные изобразительные средства
План лекции
1. Назначение UML
2. История UML
3. Основные изобразительные средства
Назначение UML
UML (UnifiedModelingLanguage) – это унифицированный языкимоделирования. Авторами UML являются ГрадиБуч, Ивар Якобсони Джеймс Рамбо. Как и любой другой язык, UML – это знаковаясистема, используемая для представления, хранения и передачи информации. UML является формальным искусственным языком, поэтому его спецификация, хотя и несистематично (а иногда косвенно) содержит следующие обязательные разделы:
1) словарь;
2) синтаксис (syntax) – перечень правил составления конструкций языка;
3) семантика (semantics) – определение правил приписываниясмысла конструкциям языка;
4) прагматика (pragmatics) – определение правил использованияконструкций языка для достижения определенных целей.
Отличительной особенностью UML является то, что его словарьобразуют графические элементы, поэтому UML – это графическийне текстовый, язык. Каждому «слову» – графическому символу – соответствует конкретная семантика, поэтому модель, созданная однимразработчиком, может однозначно быть понята другим, а также программным средством, интерпретирующим UML. Следовательно, модель системы, представленная на UML, может автоматически быть переведена на язык программирования (Java, C++, VISUALBASIC и др.), т.е. при наличии хорошего инструментального средства визуального моделирования, поддерживающего UML, построив модель, можно получитьи заготовку программного кода, соответствующего этой модели.
Хотя с помощью моделей UML может быть получен программныйкод, UML не является языком программирования – это язык моделирования. Термин «моделирование» имеет множество смысловых оттенков и сложившихся способов употребления. В практике разработки программного обеспечения и информационных систем модельюназываются результаты фаз анализа и проектирования, оформленныесредствами определенного языка. Процесс составления моделей называется моделированием. Он предназначен для представления результатов анализа и проектирования систем, поэтому и называетсяязыком моделирования.
UML реализует парадигму объектно-ориентированного проектирования и представляет модели в графической форме, поэтомуUML – это объектно-ориентированный язык визуального моделирования. Его основное назначение – обеспечить наглядное, точноеоднозначное и полное представление требований к системе и принятых проектных решений, позволяющее организовать:
1) конструктивное сотрудничество заказчика с разработчиком ИС;
2) продуктивное взаимодействие различных групп разработчиковИС друг с другом.
История UML
Языки визуального моделирования появились в период1997 гг. К настоящему времени сформировалось уже три поколенияэтих языков. Первое поколение составляли примерно 10 языков. Численность языков второго поколения превышала 50. Самыми популярными языками второго поколения были языки следующих авторов: ГрадиБуч (G.Booch); Джеймс Рамбо (J.Rumbaugh); Ивар Якобсон(I.Jacobson); Коад и Йордон (CoadandYourdon); Шлеер и Меллор(ShlaerandMellor) [44, 52, 53].
Каждый язык имел собственные изобразительные средства, собственные синтаксис, семантику и прагматику, поэтому был оригинален и никак не согласовывался с другими языками. Как следствиевозникли проблемы сопоставления и, тем более, совместного использования моделей, составленных на разных языках. Назреваланеобходимость унификации (установления единообразия) языковвизуального моделирования.
В середине 1990-х гг. разработчики программно-информационныхсистем ограничивались использованием методологии ГрадиБучаязыкаOMT-2 (ObjectModelingTechnique) ДжеймсаРамбоиязыкаOOSE (ObjectOrientedSoftwareEngineering) ИвараЯкобсона. Приэтом каждое из указанных средств имело собственные достоинстваи недостатки. OOSE был предпочтительным на фазе анализа – примоделировании предметной области и формулировке требованийк системе. OMT-2 и Booch конкурировали в предпочтениях на фазепроектирования.
Результатом слияния идей трех указанных языков явился UML, работа над которым началась в октябре 1994 г., когда ГрадиБучи Джеймс Рамбо под эгидой компании RationalRose начали работупо объединению своих идей в новом языке. К их усилиям присоединился и Ивар Якобсон в 1995 г., когда его фирма Objectory присоединилась к RationalRose.
В настоящее время UML Partners– консорциум пользователейUML – включает в себя такие крупные фирмы, как IBM, DEC, Hewlett-Packard, IntelCorp., Unisys, Oracle, PlatinumTechnology, RationalSoftware. UML стандартизован консорциумом OMG (ObjectManagingGroup) осенью 1997 г. Он используется во многих современных объектно-ориентированных CASE-средствах.
UML – это язык третьего поколения – результат воплощенияидеи унификации средств визуального моделирования.
Как показывает опыт, трудно создать методологию единообразногопостроения моделей проектируемых ИС, отражающих все аспекты, создаваемой системы. До настоящего времени такой методологиине создано в связи с разнородностью и структурной сложностью каждого из аспектов ИС, таких как логическая структура программногообеспечения, структура хранимых данных, алгоритмы функционирования, состав дистрибутива, поставляемого заказчику, интерфейсыдля взаимодействия с окружающей средой.
По этой причине сложился подход, основная идея которого заключается в следующем: моделировать сложную систему следует с нескольких различных точек зрения, каждый раз принимая во вниманиеодин аспект моделируемой системы и абстрагируясь от остальных.
Именно этот подход является одним из основополагающих принципов UML, предопределившим практический успех UML.
Идея заключается в том, что абстрактный граф модели, состоящий из множества разнотипных сущностей и отношений, не подлежит конструированию или изучению в целом. Каждый раз длявизуализации, изменения или иных манипуляций из этого общегографа вычленяются только сущности и отношения, релевантныедля определенного аспекта моделируемой системы, а все остальныеигнорируются. Такой вид с определенной точки зрения – проекциямодели – называетсяпредставлением (view).