Файл: Практическое задание № 2 Создание диаграммы классов и диаграмм взаимодействия.pdf

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 15.11.2018

Просмотров: 2575

Скачиваний: 32

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

 

Практическое задание №2 

Создание диаграммы классов и диаграмм взаимодействия

 

Целью  задания  является  изучение  объектно-ориентированного  анализа  и 

моделирования  бизнес-процессов  в  исследуемой  предметной  области  с 
помощью языка UML. 

В  ходе  выполнения  задания  для  выбранной  (или  заданной)  предметной 

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

Для  выполнения  данного  задания  используется  модель  и  диаграммы, 

построенные в ходе выполнения предыдущего практического задания №1.  

Общая 

последовательность 

выполнения 

задания 

№2 

включает 

определенные этапы (разделы). 

1.  Построение диаграммы классов (Class Diagram). 

2.  Диаграмма пакетов (Package Diagram). 

3.  Построение диаграмм взаимодействия (диаграмма последовательности 

действий 

Sequence 

Diagram 

и 

диаграмма 

кооперации 

Communication/Collaboration Diagram). 

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

сохранить  модель  в  отдельном  файле,  а  также  подготовить  и  оформить  отчет, 
содержащий  последовательность  разработки  моделей  и  их  элементов, 
необходимые комментарии, пояснения и краткий вывод в заключении. 

В  названии  файла  модели  и  отчета  по  заданию  необходимо  использовать 

фамилию студента и номер работы. 

Далее  приводится  демонстрационный  пример  построения  моделей 

основных 

бизнес-процессов, 

описывающих 

деятельность 

некоторого 

небольшого интернет-магазина. 

 

 

 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

 

1. 

Построение диаграммы классов (Class Diagram) 

Диаграмма  классов  является  частью  логической  модели  системы  и 

представляет статическую картину системы. 

Для  каждой  системы  строится  не  одна,  а  несколько  диаграмм  классов: 

возможно, что для каждого прецедента или сценария своя. На одних показывают 
подмножества  классов,  объединенные  в  пакеты,  и  отношения  между  ними,  на 
других  –  отображают  те  же  подмножества,  но  с  атрибутами  и  операциями 
классов. Для представления системы разрабатывается столько диаграмм классов, 
сколько потребуется. 

1.1. 

Основные элементы диаграмм классов 

Дадим  некоторые  определения  и  опишем  основные  элементы  нотации 

диаграмм классов. 

Объект  –  это  некоторая  сущность  реального  мира  или  концептуальная 

(абстрактная)  сущность.  Примерами  объектов  могут  служить  жилой  дом, 
сотрудник  фирмы,  компьютер.  Или  нечто  абстрактное:  химическая  формула, 
торговый заказ с номером, банковский счет клиента. 

Объект  имеет  четко  определенные  границы  и  значение  для  системы  и 

характеризуется состоянием, поведением и индивидуальностью. 

Состояние объекта – это одно из условий, в котором он может находиться. 

Состояние обычно изменяется со временем и характеризуется набором свойств, 
которые называются атрибутами.  

Пример. Покупатель определяется его именем, адресом, телефоном, датой 

рождения. 

Поведение определяет, как объект реагирует на запросы других объектов и 

что может делать сам объект. Поведение характеризуется операциями объекта. 

Пример.  Покупатель  может  добавить  товар  в  корзину,  просматривать 

каталог, удалять товар из корзины. 

Индивидуальность означает, что каждый объект уникален, даже если его 

состояние идентично состоянию другого объекта. 

Пример.  Два  клиента  уникальны,  хотя  каждый  из  них  является 

покупателем магазина и имеет одинаковые поведение и состояния. 

Как  правило,  в  системе  существует  множество  объектов,  имеющих 

одинаковое  поведение,  принимающих  одинаковые  состояния.  Например, 
сотрудники  фирмы,  которых  может  быть  несколько  десятков,  и  данные  о 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

 

которых  содержатся  в  базе  данных,  имеют  одинаковые  атрибуты  –  фамилию, 
имя,  отчество,  дату  рождения,  должность  и  др.  –  с  разными  значениями  этих 
атрибутов, а также могут иметь схожее поведение – подать заявление на отпуск 
или  перевод  в  другое  подразделение.  Для  группировки  объектов  используются 
классы. 

Класс – это описание группы объектов с общими свойствами (атрибутами), 

поведением  (операциями),  отношениями  с  другими  объектами  и  семантикой. 
Каждый класс является шаблоном для создания объекта.  

Каждый  объект  –  это  экземпляр  класса.  Важно  помнить,  что  каждый 

объект может быть экземпляром только одного класса. 

Пример.  Применительно  к  магазину  «Style»  мы  можем  сгруппировать 

сотрудников  магазина,  описав  общий  для  них  класс  Сотрудник.  Объект  этого 
класса,  например,  конкретный  сотрудник,  может  включать  в  себя  следующую 
информацию: имя, адрес, должность, размер заработной платы, кроме того этот 
объект может выйти в отпуск. 

В нотации UML классы и объекты изображаются в виде прямоугольников 

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

 

Рисунок 1.1 – Изображение классов

 

Имя  класса  может  быть  простым,  как  это  показано  на  рисунке  1.1,  или 

составным. Составное имя класса состоит из самого имени класса и из имени 
пакета,  которому  принадлежит  класс,  разделенных  двоеточием.  Имя  класса 
должно быть уникальным внутри пакета. 

 

 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

 

Составное  имя  объекта  состоит  из  имени  объекта  и  имени  класса, 

разделенных  двоеточием.  Объект  может  быть  безымянным  (анонимным),  если 
неизвестно его имя. Тогда на диаграмме объект изображается с именем, которое 
состоит  из  двоеточия  и  имени  класса,  которому  принадлежит  объект.  Если 
неизвестен  класс,  экземпляром  которого  является  объект,  то  изображается 
только имя объекта. Такой объект называется «сиротой» (рисунок 1.2). 

 

Рисунок 1.2 – Именование объектов (составное имя, безымянный объект и объект-сирота) 

Пример. Класс Покупатель и объект этого класса – некоторый покупатель 

– можно изобразить так, как показано на рисунке 1.3. В данном примере объекту 
класса Покупатель присвоено имя Покупатель1. 

 

Рисунок 1.3 – Класс и его объект 

1.2. 

Выявление классов 

Выявление  классов  можно  начать  с  изучения  потока  событий.  Имена 

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

Если  в  ходе  проектирования  системы  уже  построены  диаграммы 

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


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

 

Некоторые  возможные  классы  будут  выявлены  при  рассмотрении  трех 

стереотипов: сущность (entity), граница (boundary) и управление (control). Мы 
уже встречались со стереотипами отношений, когда говорили об отношениях на 
диаграммах прецедентов. Тот же принцип  создания нового типа на основе уже 
существующего применим и для классов. Стереотип используется для создания 
нового типа элемента, в данном случае нового типа класса. 

Например,  Вы хотите  выделить  все  экранные формы  в  модели. Для  этого 

нужно создать стереотип Form (Форма).  

Стереотипы  помогают  лучше  понять  ответственности  каждого  класса  в 

модели,  классифицировать  выполняемые  ими  функции.  В  UML  для  этого 
применяют три основных стандартных вида стереотипов классов: 

  классы-сущности;  
  граничные классы; 
  управляющие классы. 

Класс-сущность 

содержит 

информацию, 

хранимую 

постоянно. 

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

<<entity>> либо специальной пиктограммой (рисунок 1.4). 

 

Рисунок 1.4 – Обозначение классов-сущностей

 

Граничными  классами  называются  классы,  расположенные  на  границе 

системы  со  всем  остальным  миром,  и  таким  образом  они  обеспечивают 
взаимодействие  между  окружающей  средой  и  внутренними  элементами 
системы.