- •Технология разработки программного обеспечения
- •Использование объектного подхода при проектировании программного продукта
- •Контрольные вопросы:
- •Контрольные вопросы
- •Индивидуальное задание:
- •Контрольные вопросы
- •Индивидуальное задание:
- •Примеры использования таких диаграмм
- •Для моделирования процессов
- •Для моделирования операций
- •Контрольные вопросы
- •Индивидуальное задание:
- •Индивидуальное задание:
- •Контрольные вопросы
- •Контрольные вопросы
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ КОЛЛЕДЖ»
Технология разработки программного обеспечения
методические рекомендации по выполнению
ЛАБОРАТОРНОЙ РАБОТЫ № 6
Использование объектного подхода при проектировании программного продукта
специальность 2-40 01 01
"Программное обеспечение информационных технологий"
Разработчик преподаватель
______________ Е.И. Гридина
Обсуждено и одобрено на заседании
цикловой комиссии “Программное
обеспечение информационных
технологий”
“ ____ ” ___________ 2012 №___
___________________ Е. И. Гридина
Гомель 2012
Тема работы: Построение моделей разрабатываемого ПП с использованием унифицированного языка моделирования (UML). Построение диаграммы вариантов использования. Построение диаграммы классов. Построение диаграммы состояний. Построение диаграммы деятельности. Построение диаграмм последовательности и кооперации. Построение диаграмм реализации. Анализ разрабатываемого ПП с использованием построенных диаграмм.
Цель работы: Научиться выполнять построение моделей и диаграмм с использованием унифицированного языка моделирования (UML).
Оборудование: IBM – совместимый компьютер, Visio 6.0.
Теоретические сведения
UML - унифицированный язык моделирования.
UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) и многих других.
Румбах присоединился к Бучу в Rational Inc. Они объединили свои нотации и создали первую версию UML. В 1995 году на конференции OOPSLA они представили его как Unified Method, который потом и получил название UML. Чуть позже к ним присоединился Якобсон, который добавил к результатам их труда элементы Objectory и начал работу над Rational Unified Process (RUP). В 1997 году UML был отправлен в Object Management Group (OMG) для стандартизации. Кроме трех нотаций "трех амиго" UML вобрал в себя элементы многих других методологий.
Начать хотелось бы с демонстрации известной картинки, которая уже более двух десятилетий "живет" в Интернете. Эта картинка прекрасно иллюстрирует типичный процесс создания продукта, или "решения" (поскольку продукт решает проблему заказчика), как любят говорить в Microsoft.
Занятие 1: Построение диаграммы вариантов использования
Представление использования описывает поведение подсистем, классов или всей системы с точки зрения пользователя. При этом вся деятельность в рамках системы делится на транзакции, которые называются вариантами использования (use cases). Вариант использования описывает взаимодействие системы с одним или несколькими действующими лицами (Актерами) в виде последовательности сообщений. В понятие действующее лицо или Актер (actor) входят люди, компьютерные системы и процессы. На рис. 1 приведена несколько упрощенная диаграмма использования для программы продаж по телефонному каталогу.
Актер
Актер (actor) — это идеализированная внешняя сущность (процесс или человек), вступающая во взаимодействие с системой, подсистемой или классом. С его помощью определяются те взаимодействия, которые могут осуществляться между системой и се пользователями. В реальном мире один физический пользователь может выполнять функции нескольких Актеров системы. И наоборот, несколько пользователей могут соответствовать одному Актеру, то есть быть его экземплярами.
Каждый Актер вступает во взаимодействие с одним или несколькими вариантами использования. Это взаимодействие производится путем обмена сообщениями с системой или классом, к которому относится вариант использования. При этом не важно, как Актер будет реализован в системе, достаточно описать атрибуты, которые определяют его состояние.
Актеры можно описывать иерархически, постепенно дополняя общее описание более конкретными чертами.
На диаграммах Актер изображается в виде схематического человечка, под которым указано его имя.
Вариант использования
Вариантом использования называется блок внешне наблюдаемой деятельности системы (то есть последовательность сообщений между системой и одним или несколькими Актерами). Вариант использования. описывает некоторую часть поведения системы, не вдаваясь при этом в особенности ее внутренней структуры. Вариант использования определяет все виды поведения системы: основные последовательности, различные варианты стандартного и нестандартного поведения, исключительные ситуации, включая ответные реакции на них. С точки зрения пользователя, некоторые из видов поведения системы выглядят как ошибочные. Однако для системы ошибочная ситуация является одним из вариантов поведения, который должен быть описан и обработан.
В процессе проектирования каждый вариант использования моделируется независимо от остальных. Однако для реализации ему могут понадобиться объекты, которые задействуются другими вариантами использования. Так между вариантами использования возникают неявные зависимости. В действительности, каждый из них представляет собой неотъемлемую часть деятельности системы, выполнение которой тесно связано с другими вариантами использования.
Описание варианта использования передастся в языке UML диаграммами состояний, диаграммами последовательности, диаграммами кооперации или в виде текста, а реализация — в виде коопераций между классами. Класс может присутствовать в нескольких кооперациях, то есть в нескольких вариантах использования.
На системном уровне варианты использования представляют собой некое поведение системы, заметное для пользователя. В этом смысле вариант использования подобен системной операции (которая вызывается пользователем системы). Однако в отличие от системной операции вариант использования имеет определенную временную протяженность и может получать в течение своего выполнения дополнительную входную информацию.
Моделирование вариантов использования можно осуществлять и на внутреннем уровне системы, например с подсистемами и единичными классами. Внутренний вариант использования представляет собой поведение какой-либо части системы. Например, вариант использования класса представляет собой некую деятельность, которую класс совершает по отношению к другим классам системы. Каждый класс может иметь несколько вариантов использования.
Вариант использования — это логическое описание определенной части деятельности системы. Он не представляет собой четкую конструкцию, которую можно напрямую реализовать в программном коде. Напротив, каждый вариант использования отображается на классы, служащие для реализации системы. Поведение, описанное в варианте использования, переносится при этом на переходы и операции классов. Каждый класс может играть несколько ролей в реализации системы и участвовать в реализации нескольких вариантов использования.
Одна из задач проектирования — найти для реализации вариантов использования те классы, которые играют нужные роли и не создают при этом излишних сложностей. Реализацию варианта использования можно смоделировать в виде одной или нескольких коопераций. Кооперация — это реализация варианта использования.
Помимо ассоциаций с Актерами, вариант использования может иметь еще несколько отношений (табл. 1).
На диаграммах вариант использования изображается в виде эллипса. Внутри эллипса или под ним указывается имя варианта использования. Сплошные линии соединяют варианты использования с Актерами.
Каждый экземпляр варианта использования является независимым, но может порождать другие, более примитивные варианты использования.
Вариант использования может фрагментарно включать в себя черты поведения других вариантов использования. Такое отношение носит название отношения включения (include). Полученный в этом случае вариант использования не является вариацией исходного и не может его заменять.
Один вариант использования может также рассматриваться как расширение и дополнение исходного варианта использования (extend). У исходного варианта использования может быть несколько расширяющих вариантов, которые вносят дополнения в его семантику. Все эти варианты могут применяться вместе.
Отношения включения и расширения изображаются на диаграммах в виде пунктирных стрелок. Над стрелками указывается ключевое для данного отношения слово («include» или «extend»). Стрелка «include» указывает на включаемый вариант использования, стрелка «extend» — на расширяемый вариант.
Вариант использования может иметь несколько вариантов-потомков, причем любой из них можно подставлять вместо варианта-родителя. Этот механизм называется обобщением вариантов использования.
Обобщение вариантов использования изображается так же, как и любое другое обобщение – стрелкой с наконечником в виде большого о полого треугольника, идущей от варианта-потомка к варианту-родителю. На рис. 2 показаны отношения вариантов использования для программы, которая обрабатывает продажи через телефонный каталог.
Рис. 2. Отношения вариантов использования
Диаграмма вариантов использования состоит из актеров, для которых система производит действие и собственно действия Use Case, которое описывает то, что актер хочет получить от системы. Актер обозначается значком человечка, а Use Case - овалом. Дополнительно в диаграммы могут быть добавлены комментарии.
Ответы на следующие вопросы позволят определить актеров, взаимодействующих с системой:
кто взаимодействует с системой или использует систему;
кто передает или принимает информацию в/из системы;
кто является внешним по отношению к системе.
Каждый вариант использования показывает, как конкретный актер использует систему и в дальнейшем расширяется диаграммами состояний и последовательности действий.
А вот еще один пример.