ebook img

Язык UML PDF

32 Pages·0.675 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Язык UML

Министерство образования Республики Беларусь Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» Кафедра интеллектуальных информационных технологий Курс «Проектирование программ в интеллектуальных системах» КРАТКИЙ СПРАВОЧНИК ПО ЯЗЫКУ UML Минск 2010 Составители: Е.А. Лейченок (гр. 521701), С.Е. Кушмар (гр.721702), Т.В. Островская (гр.721702) 2 Содержание Введение...............................................................................................................4 Диаграмма классов...............................................................................................5 Диаграмма объектов.............................................................................................9 Диаграмма вариантов использования...............................................................10 Диаграмма последовательности........................................................................13 Диаграмма деятельности ...................................................................................17 Диаграмма состояний.........................................................................................21 Диаграмма компонентов....................................................................................23 Диаграмма развертывания.................................................................................26 Словарь терминов ..............................................................................................29 3 Введение UML (сокр. от англ. Unified Modeling Language – унифицированный язык моделирования) – язык для визуализации, специфицирования, конструирования и документирования систем в основном в области программного обеспечения. С помощью UML можно разработать детальный план создаваемой системы, отображающий не только ее концептуальные элементы, такие как системные функции и бизнес-процессы, но и конкретные особенности реализации, в том числе классы, написанные на специальных языках программирования, схемы баз данных и программные компоненты многократного использования. В начале 90-х годов существовало множество методов объектно- ориентированного моделирования, которые имели схожие идеи, но использовали различные системы обозначений. Это затрудняло взаимодействие между разработчиками. В 1994 году Джеймс Рабмо (Jum Rumbaugh) присоединился к компании Rational Software и вместе с Грейди Бучем (Grady Booch) начал работу над созданием нового языка объектно- ориентированного моделирования. За основу языка были взяты методы моделирования, разработанные Бучем, а также методология OMT (Object- Modeling Technique), разработанная Рамбо. В 1995 году к компании присоединился Айвар Джекобсон (Ivar Jacobson), который привнес концепцию OOSE (Object-Oriented Software Engineering). В 1996 году консорциум OMG (Object Management Group) объявил конкурс на лучший стандарт обозначений для объектно-ориентированного моделирования. Полученные от различных компаний предложения были объединены в единую систему. Результатом совместной работы стала спецификация UML 1.0, вышедшая в январе 1997 года. В ноябре того же года за ней последовала версия 1.1. В 2005 году была принята версия UML 2.0, в которой семантика языка была значительно уточнена и расширена для поддержки методологии MDD (Model Driven Development). На данный момент (начало 2010 года) текущая версия – UML 2.2. Наиболее актуальную информацию по UML можно найти по адресу http://www.uml.org/. 4 Диаграмма классов Элемент Изображение Описание Класс Класс изображается в виде прямоугольника, который может иметь несколько отделов. В первом отделе (см. ) указывается имя класса. Имя стереотипа указывается в кавычках над именем класса. Во втором отделе (см. ) указывается список атрибутов. Синтаксис атрибута: [видимость] имя [кратность] [: тип] [= начальное значение] [{свойста}] В третьем отделе (см. ) указывается список операций. Синтаксис операции: [видимость] имя [(список параметров)] [: тип, возвращаемого значения] [{свойста}] Синтаксис параметра: [направление] имя : тип [= значение по умолчанию] Видимость атрибута или операции обозначается при помощи префикса: символ '+' – public (открытая), '#' – protected (защищенная), '-' – private (закрытая), '~' – package (пакетная). Отсутствие префикса не позволяет делать никаких заключений о видимости. В четвертом отделе указываются обязанности – те требования, которым должен подчиняться класс. Интерфейс Интерфейс используется для описания услуг, «interface» предоставляемых классом. Интерфейс IURLStreamConnection графически изображается окружностью или в виде класса со стереотипом "interface". + openConnection() + parseURL() Интерфейс не может содержать атрибутов. + setURL() Принято к началу имени интерфейса добавлять букву "I". Если интерфейс изображен окружностью, то для обозначения отношения реализации используется сплошная линия, а если ISensor в виде класса, то используется стандартная форма отношения реализации. Шаблон Шаблон предназначен для обозначения такого класса, который имеет один или несколько нефиксированных формальных параметров. Шаблон изображается в виде класса, в верхнем правом углу которого находится дополнительная ячейка, нарисованная пунктиром (см. ). В этой ячейке указываются параметры шаблона. 5 Отношение Ассоциация представляет собой отношение ассоциации между экземплярами классов. Ассоциация Человек изображается линией, соединяющей два класса. Ассоциации может быть присвоено имя, +сотрудник * описывающее природу отношения. На каждом конце ассоциации может быть обозначена роль, которую играет класс в данном отношении. работает на Кратность показывает, сколько объектов может участвовать в данном отношении, и указывается +работодатель 0..1 на концах ассоциации. Кратность указывается в виде диапазона, например "1" (ровно один), "1..*" Компания (один и более), "3..5" (от трех до пяти включительно), "*" ("много" – ноль и более). Направление ассоциации (навигация) можно выразить явно, дополнив ее стрелкой, указывающей на допустимое направление движения. Отношение Агрегация является разновидностью ассоциации агрегации и обозначает отношение "часть-целое". Агрегация Газонокосилка изображается в виде простой ассоциации с незакрашенным ромбом со стороны целого. * * Колесо Отношение Композиция является частным случаем агрегации композиции Компания и подразумевает, что части принадлежат целому: объект-часть может принадлежать только 1 единственному целому, жизненный цикл частей совпадает с жизненным циклом целого. * Композиция изображается в виде простой ассоциации с закрашенным ромбом со стороны Отдел целого. Отношение Обобщение описывает отношение между общей обобщения сущностью, которую называют суперклассом или Замкнутая фигура родителем, и более специализированной ее разновидностью, называемой подклассом или потомком. Обобщение обозначается незакрашенной стрелкой, направленной к Эллипс суперклассу. 6 Отношение Зависимость описывает отношение зависимости использования, определяющее, что изменение в Весы спецификации одной сущности может повлиять на другую сущность, которая ее использует. Зависимость изображается в виде пунктирной «use» стрелки, направленной в сторону той сущности, от которой зависит другая сущность. Для обозначения специальных видов зависимости Продавец стрелка может помечаться ключевым словом в кавычках: bind (определяет, что источник инстанцирует целевой шаблон с заданными фактическими параметрами), use (показывает, что семантика исходного элемента зависит от семантики открытой части целевого) и др. Отношение Реализация описывает отношение между «interface» реализации классификаторами, при котором один из них Ввод данных описывает контракт, а другой гарантирует его выполнение. Реализация изображается в виде пунктирной незакрашенной стрелки, указывающей на классификатор, который Входной поток определяет контракт. данных Класс- Класс-ассоциация может иметь атрибуты и ассоциация операции и участвовать в ассоциациях. Файл * * Пользователь Экземпляры класса-ассоциации обладают индивидуальностью, связанную с теми Доступно объектами, между которыми они проводятся. - разрешение доступа Класс-ассоциация обозначается в виде класса, соединенного пунктирной линией с единственной ассоциацией. Квалифици- Квалифицированная ассоциация является рованная Банк ассоциацией, у которой имеется специальный ассоциация атрибут (квалификатор), используемый для того, номер счета чтобы отличать друг от друга объекты, 1 находящиеся на конце ассоциации с кратностью много. Квалификатор позволяет выбрать один 0..1 объект из множества целевых объектов, уменьшая таким образом эффективную кратность Счет до значения "один". Квалификатор обозначается прямоугольником, который пристыковывается к исходному классу и соединяется с ассоциацией. 7 Примеры диаграммы классов class Диаграмма классов Компания 1 1 1..* 1..* Отдел Офис Местонахождение - имя: Имя * * - адрес: Адрес 1 1 Штаб-квартира 1..* +сотрудник 1 +начальник Человек Запись кадрового учета - имя: Имя - табельный номер: int - оклад: Оклад - личное дело: Личное дело + получить фотографию() + получить контактную информацию() IЗащищенная информация class Курочка Ряба Человек +хозяин Животное + битьЯйцо() : void + плакать() : void +питомец Курица Дед Баба Мышь +муж +жена + Имя: = Ряба + битьЯйцо() : void + битьЯйцо() : void + бежать() : void 0..1 0..1 + плакать() : void + плакать() : void + снести() : Яйцо + хвостикомМахнуть() : void + утешать() : void +курица 1 использует использует несет +яйцо 0..* Инструмент Яйцо разбивает + битьЯйцо() : void + разбиться() : void + упасть() : void Хвост + битьЯйцо() : void «enumeration» Сорт «enum» Золотое Простое 8 class Пример Авиалиния + Название авиалинии: String номер рейса 1 1 Описание рейса цель прибытия Аэропорт + время в пути: int Описание самолета 1 * + конечная дата: String + код аэропорта: int + номер модели: int вылет + начальная дата: String * 1 + название: String + частота: int 1 * + время прибытия: int 1 дата вылета 1 0..1 * Вылет Самолет + Реальное время прибытия: int - номер регистрации: int * 1 + Реальное время вылета: int class Класс-ассоциация Бухгалтер Фирма +работник +работодатель 1..* * Контракт + условия оплаты: char + описание работы: char Диаграмма объектов Элемент Изображение Описание Объект Для обозначения объекта используется прямоугольник, в первом отделе которого (см. ) указывается составное имя: имя объекта, двоеточие и имя класса, к которому относится этот объект. Обе части составного имени не являются обязательными. И имя объекта, и имя класса подчеркиваются. Во втором отделе прямоугольника (см. ) могут быть указаны значения атрибутов. 9 Пример диаграммы объектов class Диаграмма объектов с : Компания d1 : Отдел d2 : Отдел - имя = "Sales" - имя = "R&D" d3 : Отдел - имя = "US Sales" : Контактная информация - e-mail = "[email protected]" +менеджер p : Человек - табельный номер = 4425 - имя = "Джо Смит" Диаграмма вариантов использования Элемент Изображение Описание Актер Актер представляет собой объект или множество объектов, непосредственно взаимодействующих с системой, но не являющихся ее частью. Актер определяется только по отношению к системе, а не как некоторая самостоятельная сущность. Актерами могут быть люди, устройства и другие системы. Актер изображается в виде человеческой фигурки. Имя актера Клиент должно выражать конкретную роль во взаимодействии с рассматриваемой системой. 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.