Конспект лекций, страница 7
Описание файла
PDF-файл из архива "Конспект лекций", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 7 страницы из PDF
Создание UMLначалось в конце 1994 г., с объединения методов Booch и OMT (Object ModelingTechnique) под эгидой компании Rational Software. К концу 1995 г. Гради Буч и ДжеймсРамбо создали первую спецификацию Unified Method, версия 0.8. Тогда же в 1995 г. к нимприсоединился создатель метода OOSE (Object-Oriented Software Engineering) ИварЯкобсон.
UML является унификацией методов Буча, Рамбо и Якобсона а также суммойпередового опыта по разработке ПО:БучРамбоОделл(классификация)ЯкобсонМейер(пре- и постусловия)UMLШлаер-Меллор(жизненный циклобъекта)Харел(диаграммысостояний)Фьюжн [HP](описание операций,нумерация сообщений)Гамма(паттерны)Разработка UML преследовала следующие цели:предоставить разработчикам единый язык визуального моделирования;предусмотреть механизмы расширения и специализации языка;обеспечить независимость языка от языков программирования и процессовразработки; интегрировать накопленный практический опыт.UML широко используется в индустрии ПО.
Практически все мировыепроизводители CASE-средств поддерживают UML в своих продуктах. В 1997 году ObjectManagement Group (OMG) приняла стандарт UML 1.1. В 2004 году был пройденследующий важный этап – принят стандарт UML версии 2.0. В настоящее время UMLпроходит процесс стандартизации ISO. Текущая версия UML – 2.1.2.1Основные «строительные блоки» UML: элементы модели (классы, интерфейсы, компоненты, варианты использования и др.); связи (ассоциации, обобщения, зависимости и др.); механизмы расширения (стереотипы, ограничения, примечания, именованныезначения); диаграммы.Состав диаграмм UML 1.х: структурные:o диаграммы классов, моделирующие статическую структуру классов системыи связи между классами;o диаграммы компонентов, моделирующие иерархии компонентов ПО;o диаграммы размещения, моделирующие физическую архитектуру системы; поведенческие:o диаграммы вариантов использования, моделирующие бизнес-процессыи требования к ПО;o диаграммывзаимодействия(диаграммыпоследовательностии коммуникационные диаграммы), моделирующие обмен сообщениями междуобъектами;o диаграммы состояний, моделирующие поведение объектов;o диаграммы деятельности, моделирующие поведение системы в целом и потокиуправления.В UML 2.0 введены новые типы диаграмм, которых ранее не было: диаграммыобзора взаимодействия, временные диаграммы и диаграммы составных структур.Вариант использования – это ответные действия ПО, являющиеся реакциейна событие, инициируемое извне.
Вариант использования описывает типичноевзаимодействие между пользователем и ПО. Он отражает представление о поведениисистемы с точки зрения пользователя. На диаграммах варианты использованияпредставляются в виде овалов.Действующее лицо – это роль, которую пользователь играет по отношениюк системе. На диаграммах вариантов использования они изображаются в виде2стилизованных человеческих фигурок. Действующим лицом может быть пользовательчеловек, внешняя программная система или время, если запуск каких-либо событийв системе зависит от времени.Диаграммы вариантов использования показывают, какие действующие лицаинициируют варианты использования (от них идет стрелка к варианту использования).Из диаграмм понятно, какие действующие лица получают данные в ходе выполненияварианта использования (к ним идет стрелка от варианта использования).Диаграмма вариантов использования является самым общим представлениемфункциональных требований к системе.
Детально функциональные требованияописываются в документе, называемом «сценарий варианта использования» или «потоксобытий». Он подробно документирует процесса взаимодействия действующего лицас системой, реализуемого в рамках варианта использования.В диаграммах вариантов использования может присутствовать несколько типовсвязей: связи коммуникации (линия со стрелкой, обозначающая связь между вариантомиспользования и действующим лицом); связи включения (пунктирная линия со стрелкой, обозначающая включениемногократно используемой функциональности, представленной в виде абстрактноговарианта использования); связи расширения (пунктирная линия со стрелкой, указывающая на особый случай,описанный в абстрактном варианте использования); связи обобщения (линия с треугольным концом, показывающая, что у несколькихдействующих лиц имеются общие черты и различия).Диаграммы взаимодействия описывают поведение взаимодействующих группобъектов в рамках потока событий.
На диаграмме отображается ряд объектови сообщения, которыми они обмениваются между собой. Сообщение – это средство,с помощью которого объект-отправитель запрашивает у объекта-получателя выполнениеодной из его операций. Существует два вида диаграмм взаимодействия: диаграммыпоследовательностиикоммуникационныедиаграммы(ранееназываемыекооперативными).объектлинияжизниobj1 : Classobj2:otheroperation(…)сообщениеnew (…): Classактивацияdeleteлиния жизниобъектавозвратсозданиеобъектаудалениеДиаграммы последовательности отражают временную последовательностьсобытий, происходящих в рамках варианта использования.
Экземпляры действующих лици объекты (экземпляры классов) системы изображаются в верхней части диаграммы.От каждого из них вниз проведена пунктирная вертикальная черта – «линия жизни».Стрелки, соответствующие сообщениям, которые передаются между экземпляромдействующего лица и объектом или между объектами, соединяют линии жизниотправителя и получателя сообщения. Порядок отправки сообщений соответствует ихразмещению на диаграмме сверху вниз.
Вдоль линии жизни прямоугольниками отмечены3активации – периоды, когда объекты активны, т. е. выполняются связанные с ними: Препод: Староста[началась пара] *[для каждого студента группы]1: isPresent := checkPresent(Student)процессы.Каждое сообщение может быть описано в таком формате:[сторожевое условие] *[повторение] номер : переменная := операция (аргументы)[сторожевое условие] – сообщение посылается только при выполненном условии, приневыполненном не посылается;*[повторение] – итерация, которая указывает, что сообщение посылается столько раз,сколько указано внутри [ ];номер : – порядковый номер сообщения;переменная := – указание, где будет сохранен результат;операция (аргументы) – какая операция с какими аргументами будет вызвана.Любая из частей описания может отсутствовать.В примере показано взаимодействие при проверке посещаемости.
В начале занятияпо каждому студенту из списка преподаватель ждет ответа от старосты, присутствует листудент.В UML 2.0 диаграммы последовательности могут содержать блоки разных типов: alt – несколько альтернатив (каждая альтернатива – часть блока помеченнаясторожевым условием); opt – необязательный блок (взаимодействие выполняемое при истинности сторожевогоусловия); par – параллельно выполняемые блоки; loop – цикл (пока истинно условие); region – критический участок; neg – неверное взаимодействие; ref – ссылка на субдиаграмму; sd – блок, включающий диаграмму целиком, используется для субдиаграмм.4Вторым видом диаграмм взаимодействия являются коммуникационные диаграммы(в UML 1 их называли кооперативными). Как и диаграммы последовательности, ониотображают поток событий варианта использования.
На коммуникационных диаграммамвнимание сконцентрировано на связях между объектами. Из них легче понять связимежду объектами, однако, труднее уяснить последовательность событий. Объекты и/илидействующие лица, обменивающиеся сообщениями, соединяются линиями, над которымв виде стрелок обозначаются сообщения. Нумерация сообщений указывает ихпоследовательность во времени.соединениесообщение1: Какие были вопросы на экзамене?объектПапа2: ПростыеСын : Студент3: Почему не весел?4: Вопросы не вызвали затруднений, а вот ответы...нумерация5Рефлексивные сообщения (который объект посылает сам себе) изображаются надпсевдосоединением – дугой над объектом.Если необходимо указать итерации во взаимодействии, на коммуникационныхдиаграммах используют примечания. Например:Примечание, заключенное в фигурные скобки, предписывает посылатьпоследовательности из четырех сообщений для каждого работника в организации.Диаграмма классов определяет классы системы и различного рода связи, которыесуществуют между ними (ассоциации, агрегации, композиции, зависимости, обобщения,реализации).
На диаграммах классов изображаются также атрибуты классов, операции6классов и ограничения, которые накладываются на связи между классами. Классыизображаются в виде прямоугольников, ассоциации – в виде линий со стрелками,агрегации и композиции – в виде линий с ромбом на конце, связь обобщения – в виделинии с треугольником на конце, зависимость – в виде пунктирной линии со стрелкой.Ответственность классов изображается на диаграммах с помощью стереотипов. Классможет быть помечен как граничный (boundary), если он отвечает за взаимодействие спользователем или внешней системой. Класс-контроллер реализует бизнес-логикуприложения. Класс-сущность отвечает за представление данных. Активные классы(процессы или потоки) на диаграмме выделяют с помощью более толстых, чем у обычныхклассов границ.Для группировки классов, обладающих некоторой общностью,применяются пакеты.