Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы и средства проектирования информационных систем и технологий. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
операции. Если класс меняет свой интерфейс, то любое сообщение, которое он посылает, может утратить свою силу. Пакеты не дают ответа на вопрос, каким образом можно уменьшить количество за­висимостей в вашей системе, однако они помогают выделить эти зависимости, а после того поработать над снижением их количе­ства. Диаграммы пакетов можно считать основным средством управления общей структурой системы.
Пакеты являются жизненно необходимым средством для больших проектов. Их следует использовать в тех случаях, когда диаграмма классов, охватывающая всю систему в целом и разме­щенная на единственном листе бумаги формата А4, становится не­читаемой.
Атрибут – это элемент информации, связанный с классом. Например, у класса Company (Компания) могут быть атрибуты Name (Название), Address (Адрес) и NumberOfEmployees (Число служащих).
Атрибуты содержатся внутри класса, поэтому они скрыты от других классов. В связи с этим иногда требуется указать, какие классы имеют право читать и изменять атрибуты. Это свойство называется видимостью атрибута (attribute visibility).
У атрибута можно определить четыре возможных значения этого параметра. Рассмотрим каждый из них в контексте примера (рис. 13.3).
Рис. 13.3. Спецификаторы доступа
к атрибутам и операциям класса
121
Пусть у нас имеется класс Employee с атрибутом Address и класс Company. Возможны следующие спецификаторы доступа к атрибутам и операциям класса:
1) public (общий, открытый);
2) private (закрытый, секретный);
3) protected (защищенный);
4) package or Implementation (пакетный).
В общем случае атрибуты рекомендуется делать закрытыми или защищенными. Это позволяет лучше контролировать сам ат­рибут и код, а также избежать ситуации, когда значение атрибута изменяется всеми классами системы. Вместо этого логика измене­ния атрибута будет заключена в том же классе, что и сам этот ат­рибут. Задаваемые параметры видимости повлияют на генерируе­мый код.
Операции реализуют связанное с классом поведение. Опера­ция включает три части – имя, параметры и тип возвращаемого значения. Параметры – это аргументы, получаемые операцией «на входе». Тип возвращаемого значения относится к результату дей­ствия операции.
На диаграмме классов можно показывать, как имена операций, так и имена операций вместе с их параметрами и типом возвраща­емого значения. Для того чтобы уменьшить загруженность диа­граммы, полезно бывает на некоторых из них показывать только имена операций, а на других их полную сигнатуру.
В языке UML операции имеют следующую нотацию:
Имя Операции (аргумент! : тип данных аргумента!, аргу-
мент2: тип данных аргумента!,...) : тип возвращаемого значения

Задания к работе

1. Изучите возможности описания статической структуры ин-
формационной системы.
2. Выделите в системе основные классы, опишите их свойства
и поведение, задайте параметры отображения классов и их харак­теристик, соотносите классы с соответствующими стереотипами.
3. Настройте внешний вид элементов в соответствии со стан-
дартом UML и сохраните изменённые элементы в собственном шаблоне.
122
5. Откройте команду меню UML и нажмите на кнопку «Ст

Методика выполнения работы

1. Откройте файл UML, созданный в работе 12.
2. В проводнике по модели UML выполните щелчок правой
кнопкой мыши по папке «Основной пакет», выберите команду ме­ню «Создать» и далее «Структурная схема».
3. У рабочего листа MS Visio появится название «Структурная
схема-1». Вся модель UML с множеством схем будет сохранена в одном файле, поэтому необходимо давать соответствующим ли­стам более короткие названия. Для переименования созданного ли­ста щелкнув правой кнопкой мыши по его ярлычку, выберите ко­манду «Переименовать» и задайте имя, например, ДКл.
4. В результате создания новой диаграммы классов, автомати-
чески откроется соответствующий шаблон графических элементов для данной диаграммы.
е­реотипы». В появившемся окне создать три новых стереотипа «Сущность», «Граница» и «Управление». Для всех трех вновь со­зданных стереотипов задайте в качестве базового класса «Класс».
6. Разместите на рабочем листе в необходимом количестве элементы «Класс» и дайте им соответствующие названия. Для это­го нужно дважды щелкнуть по классу и в появившемся окне свойств в категории «Класс» в поле «Имя» ввести название класса.
7. Задайте для классов атрибуты и операции. Для этого также нужно вызвать окно свойств класса и выбрать в нем справа соот­ветствующие категории «Атрибуты» и «Операции». Для атрибутов желательно задать типы данных. Параметры «Видимость», «Крат­ность» и «Начальное значение» можно не задавать. Для операций также можно не задавать параметры. Для отключения отображения необязательных параметров класса, нужно щелкнуть по нему пра­вой кнопкой мыши и выбрать команду меню «Параметры отобра­жения фигуры …». В появившемся окне установить нужные пара­метры.
8. Разместите на рабочем листе необходимое количество эле­ментов «Сценарий выполнения», соответствующих различным ва­риантам использования информационной системы. Каждому сце­нарию дать соответствующее название. Для этого нужно щелкнуть дважды по элементу и ввести в поле «Имя» требуемое название. При этом размер эллипса, соответствующего сценарию выполне-
123
ния, будет увеличиваться в размерах пропорционально длине его названия.

Содержание отчета

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

Контрольные вопросы

1. Для чего используется диаграмма классов?
2. Какие элементы представляются на диаграмме классов?
3. Какова роль понятия «класс» в объектно-ориентированном проектировании?
4. Что такое стереотип класса?
5. Какие базовые стереотипы классов используются в UML? Каково их назначение?
6. Может ли проектировщик информационной системы созда­вать свои стереотипы?
7. Какие виды отношений используются на диаграмме клас­сов? Что они показывают?
8. Какими свойствами обладают отношения на диаграмме классов?
9. Для чего задаются атрибуты класса?
10. Что определяют операции класса?
Литература
Основная: 1–4. Дополнительная: 1–4.
14. ДИАГРАММА КООПЕРАЦИЙ
Цель – изучение основных возможностей создания и
редактирования диаграмм коопераций в MS Visio
Формируемые компетенции или их части: ПК-1; ПК-2; ПК-3;
ПК-4; ПК-30.
Теоретическая часть
Диаграммы взаимодействия (interaction diagrams) описывают
поведение взаимодействующих групп объектов.
124
Диаграмма взаимодействия чаще всего охватывает поведение объектов в рамках только одного варианта использования. На та­кой диаграмме отображаются ряд объектов и те сообщения, кото­рыми они обмениваются между собой.
Сообщение (message) – средство, с помощью которого объект- отправитель запрашивает у объекта-получателя выполнение одной из его операций.
Информационное (informative) сообщение – сообщение, снаб- жающее объект-получатель информацией для обновления его со­стояния.
Сообщение-запрос (interrogative) – сообщение, запрашиваю- щее выдачу информации об объекте-получателе.
Императивное (imperative) сообщение – сообщение, запраши- вающее у объекта-получателя выполнение действий.
Существуют два вида диаграмм взаимодействия: диаграммы
последовательности (sequence diagrams) и кооперативные диа­граммы (collaboration diagrams).
Кооперативные диаграммы отображают поток событий через конкретный сценарий варианта использования. Диаграммы после­довательности упорядочены по времени, а кооперативные диа­граммы заостряют внимание на связях между объектами. На рис.
14.1 приведена кооперативная диаграмма, описывающая процесс снятия клиентом средств со счета.
На кооперативной диаграмме, так же как и на диаграмме по­следовательности, стрелки обозначают сообщения, обмен которы­ми осуществляется в рамках данного варианта использования. Их временная последовательность, однако, указывается путем нуме­рации сообщений.

Задания к работе

1. Изучите возможности описания реализации вариантов ис-
пользования ИС с помощью диаграмм коопераций.
2. Познакомьтесь с элементами диаграмм коопераций и спосо-
бами их размещения на диаграмме.
3. Изучите возможности совместного использования различ-
ных диаграмм UML между собой.
125
Рис. 14.1. Кооперативная диаграмма

Методика выполнения работы

1. Открыть файл UML, созданный в лабораторной работе № 13.
2. В проводнике по модели UML щелкнуть правой кнопкой
мыши по папке «Основной пакет», выбрать команду меню «Со­здать» и далее «Схема взаимодействий».
3. У рабочего листа MS Visio появится название «Совместная
работа-1». Переименовать созданный лист, дав ему имя ДКп (со­кращенно от «Диаграмма кооперации» – классическое название данной диаграммы в UML).
4. Разместить на рабочем листа элемент «Роль классификато­ра». Далее щелкнуть по нему дважды, вызвав окно свойств и в по­ле «Классификатор» выбрать соответствующий класс из ранее со­зданных.
5. Поскольку диаграммы кооперации чаще всего создаются для описания реализации некоторого варианта использования, то в
126
качестве первого классификатора на диаграмме должен быть пред­ставлен Актер, который на диаграмме вариантов использования инициирует данный класс.
Если к одному варианту использования направлены отноше-
ния ассоциации от нескольких актеров, то можно выбрать любого. Это обусловлено тем, что если два актера связаны с одним вариан­том использования, то предполагается, что независимо от типа ак­тера возможности реализации ВИ у них абсолютно одинаковые. В противном случае, если предполагается, что разным актерам предоставляются разные возможности при вызове одного ВИ, зна­чит, на схеме необходимо представить два отдельных ВИ. При этом если эти ВИ имеет совпадающие функции, то их можно свя­зать отношением расширения или включения.
6. После выбора в качестве классификатора одного из актеров, внешний вид данного элемента изменится соответствующим образом.
7. Разместите в необходимом количестве остальные классы, участвующие в реализации данного ВИ и соотнести их с соответ­ствующими классами.
8. Соедините классы между собой с помощью элемента «Роль ассоциации». Направление стрелки указывать не обязательно.
9. Сопоставите сообщение, которое получает объект для испол­нения с одной из его операций, заданной в предыдущей лаборатор­ной работе. Для этого нужно вызвать окно свойств для ассоциации (дважды щелкнув по нему). В появившемся окне справа в разделе «Категории» выбрать «Сообщение». Далее нажать на кнопку «Свой­ства», и в появившемся окне в категории «Операция» выбрать из списка соответствующую операцию. Для того чтобы операция при­сутствовала в списке, она должна была быть задана для данного класса в предыдущей лабораторной работе. Можно добавить для класса необходимую операцию прямо из этого окна, если нажать на кнопку «Создать». Далее появится окно, уже описанное в пункте 7 методических указаний к лабораторной работе № 13.

Содержание отчета и его форма

В отчете по лабораторной работе 14 должен быть приведен
процесс поэтапного построения диаграммы кооперации.
127

Контрольные вопросы

1. Каково назначение диаграмм кооперации? Почему они так называются?

2. Какие элементы располагаются на диаграмме кооперации?
3. С какими другими диаграммами в UML-модели связана диаграмма кооперации? Какие элементы из этих диаграмм также представлены на диаграмме кооперации?
4. Каким образом связываются между собой элементы на диа­грамме кооперации?
5. Какую роль на диаграммах кооперации играют отношения между объектами?
Литература
Основная:1–4. Дополнительная: 1–4.
15. ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Цель – изучение основных возможностей создания и редакти-
рования диаграмм последовательности в MS Visio.
Формируемые компетенции или их части: ПК-1; ПК-2; ПК-3;
ПК-4; ПК-30.
Теоретическая часть
Диаграммы последовательности отражают поток событий, происходящих в рамках варианта использования. Например, вари­ант использования «Снять деньги со счета» предусматривает не­сколько возможных последовательностей, таких, как снятие денег, попытка снять деньги, не имея их достаточного количества на сче­те, попытка снять деньги по неправильному PIN-коду и некоторых других. Нормальный сценарий снятия некоторой суммы денег со счета показан на рис. 15.1. Под сценарием понимается конкретный экземпляр потока событий.
128
Рис. 15.1. Диаграмма последовательности
129
Эта диаграмма последовательности отображает поток событий в рамках варианта использования «Снять деньги со счета». Все действующие лица показаны в верхней части диаграммы; в приве­денном выше примере изображено действующее лицо Клиент (Customer). Объекты, необходимые системе для выполнения вари­анта использования «Снять деньги со счета», также представлены в верхней части диаграммы. Стрелки соответствуют сообщениям, передаваемым между действующим лицом и объектом или между объектами для выполнения требуемых функций.
На диаграмме последовательности объект изображается в виде прямоугольника на вершине пунктирной вертикальной линии. Эта вертикальная линия называется линией жизни (lifeline) объекта. Она представляет собой фрагмент жизненного цикла объекта в процессе взаимодействия.
Каждое сообщение изображается в виде стрелки между лини­ями жизни двух объектов. Сообщения появляются в том порядке, как они показаны на странице, сверху вниз. Каждое сообщение помечается как минимум именем сообщения; при желании можно добавить также аргументы и некоторую управляющую информа­цию и, кроме того, показать самоделегирование (self-delegation) – сообщение, которое объект посылает самому себе, при этом стрел­ка сообщения указывает на ту же самую линию жизни.
Хороший способ первоначального обнаружения некоторых объектов – это изучение имен существительных в потоке событий. Можно также прочитать документы, описывающие конкретный сценарий. Поток событий для варианта использования «Снять деньги со счета» говорит о человеке, снимающем некоторую сум­му денег со счета с помощью банкомата.
Не все объекты, показанные на диаграмме, явно присутствуют в потоке событий. Там, например, может не быть форм для запол­нения, но их необходимо показать на диаграмме, чтобы позволить действующему лицу ввести новую информацию в систему или просмотреть ее. В потоке событий, скорее всего, также не будет и управляющих объектов (control objects). Эти объекты управляют последовательностью событий в варианте использования.
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]