Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы и средства проектирования информационных систем и технологий. Учебное пособие.pdf
X
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •ВОЗМОЖНОСТЕЙ И НАСТРОЙКА РЕЖИМОВ
- •РАБОТЫ
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •3. ОСНОВЫ РАБОТЫ В РЕДАКТОРЕ ДЕЛОВОЙ
- •ГРАФИКИ MICROSOFT VISIO. ИЗУЧЕНИЕ
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •4. РАЗРАБОТКА ДИАГРАММ
- •Теоретическая часть
- •1. Метод структурного анализа базируется на ряде общих принципов, перечисленных ниже.
- •Пример. Рассмотрим диаграмму переходов состояний для программы построения графиков функций одной переменной.
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •1. Для чего строятся диаграммы потоков данных модели TO-BE?
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета и его форма
- •Контрольные вопросы
- •1. Каково назначение диаграмм кооперации? Почему они так называются?
- •Методика выполнения работы
- •Содержание отчета и его форма
- •Контрольные вопросы
- •1. Каково назначение диаграмм последовательности? Почему они так называются?
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета и его форма
- •Контрольные вопросы
- •10. Что такое рефлексивный переход? Когда он используется?
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Задания к работе
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы

«Entity»
CardReader:
«Boundary»
ATM Screen:
«Entity»
CardReader:
Клиент:
«Boundary»
Cash Dispenser:
Задания к работе
1. Изучите возможности описания реализации вариантов ис-
пользования информационной системы с помощью диаграмм последовательности.
2. Познакомитесь с элементами диаграмм последовательности
и способами их размещения на диаграмме.
3. Изучите возможности совместного использования различ-
ных диаграмм UML между собой.
Методика выполнения работы
1. Откройте файл UML, созданный в работе 14.
2. В проводнике по модели UML щелкнув правой кнопкой
мыши по папке «Основной пакет», выберите команду меню «Создать» и далее «Схема последовательностей».
3. У рабочего листа MS Visio появится название «Последова-
тельность-1». Переименуйте созданный лист, дав ему имя ДП (сокращенно от «Диаграмма последовательности»).
4. Разместите в правом верхнем углу рабочего листа элемент
«Линия жизни». Далее щелкните по нему дважды, вызвав окно
свойств и в поле «Классификатор», выберите соответствующего
актера, инициирующего рассматриваемый ВИ.
5. Разместите в верхней части рабочего листа в необходимом
количестве остальные классы, участвующие в реализации данного
ВИ и соотнести их с соответствующими классами. Если на диаграмме размещено много объектов и они не умещаются по ширине
можно использовать многоуровневое расположение объектов как
показано на рис. 15.2.
Рис. 15.2. Многоуровневое расположение объектов
на диаграмме последовательности
131

6. Растяните вниз пунктир линии жизни. Соедините классы
между собой с помощью элемента «Сообщение». При этом линия
не всегда будет параллельна горизонтальной оси, так как соединяются фигуры через точки соединения, а они не всегда расположены симметрично по отношению друг к другу. В этом нет ничего
страшного, главное чтобы окончание линии находилось по уровню
не выше ее начала.
7. Сопоставьте сообщение, которое получает объект для исполнения с одной из его операций, заданной в предыдущей лабораторной работе.
8. Для этого нужно вызвать окно свойств для ассоциации
(дважды щелкнув по нему). В появившемся окне в поле «Операция» выбрать из списка соответствующую операцию. Для того
чтобы операция присутствовала в списке, она должна была быть
задана для данного класса. Можно добавить для класса необходимую операцию прямо из этого окна, если нажать на кнопку «Создать».
Содержание отчета и его форма
В отчете по лабораторной работе 15 должен быть приведен
процесс поэтапного построения диаграммы последовательностей.
Контрольные вопросы
1. Каково назначение диаграмм последовательности? Почему они так называются?
2. В чем сходство и в чем отличия диаграмм кооперации и последовательности?
3. Какие элементы располагаются на диаграмме последовательности?
4. С какими другими диаграммами в UML-модели связана
диаграмма последовательности? Какие элементы из этих диаграмм
также представлены на диаграмме кооперации?
5. Каким образом связываются между собой элементы на диаграмме последовательности?
6. Какую роль играют на диаграммах последовательности играют отношения между объектами?
132

Литература
Основная:1–4.
Дополнительная: 1–4.
16. ДИАГРАММА СОСТОЯНИЙ
Цель – изучение основных возможностей создания и редакти-
рования диаграмм состояний в MS Visio.
Формируемые компетенции или их части: ПК-1; ПК-2; ПК-3;
ПК-4; ПК-30.
Теоретическая часть
Диаграммы состояний определяют все возможные состояния,
в которых может находиться конкретный объект, а также процесс
смены состояний объекта в результате наступления некоторых событий. Существует множество форм диаграмм состояний, незначительно отличающихся друг от друга семантикой.
На рис. 16.1 приводится пример диаграммы состояний для
банковского счета (account). Можно также наблюдать процесс перехода счета из одного состояния в другое. Например, если клиент
требует закрыть счет, он переходит в состояние «закрыт». Требование клиента называется событием (event), именно такие события
и вызывают переход из одного состояния в другое.
Если клиент снимает деньги со счета, он может перейти в состояние «Превышение кредита». Это происходит только в том случае, если баланс по счету меньше нуля, что отражено условием
[отрицательный баланс] на нашей диаграмме. Заключенное в квадратных скобках условие (guard condition) определяет, когда может
произойти переход из одного состояния в другое.
На диаграмме имеются два специальных состояния – начальное (start) и конечное (stop). Начальное состояние выделено черной
точкой, оно соответствует состоянию объекта, когда он только что
был создан. Конечное состояние обозначается черной точкой в белом кружке, оно соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний может быть
одно и только одно начальное состояние. В то же время может
быть столько конечных состояний, сколько вам нужно, или их мо-
133

жет не быть вообще. Когда объект находится в каком-то конкрет-
ном состоянии, могут выполняться различные процессы. В нашем
примере при превышении кредита клиенту посылается соответствующее сообщение. Процессы, происходящие в этот момент, когда объект находится в определенном состоянии, называются дей-
ствиями (actions).
Рис. 16.1. Диаграмма состояний для класса Account
С состоянием можно связывать следующие данные: деятельность, входное действие, выходное действие и событие. Рассмотрим каждый из них в контексте диаграммы состояний для класса
Account банковской системы.
Деятельность (activity) – это поведение, реализуемое объек-
том, пока он находится в данном состоянии. Например, когда счет
находится в состоянии «Закрыт», происходит возврат кредитной
карточки пользователю. Деятельность – это прерываемое поведение. Оно может выполняться до своего завершения, пока объект
находится в данном состоянии, или может быть прервано переходом объекта в другое состояние. Деятельность изображают внутри
самого состояния; ее обозначению должно предшествовать слово
do (делать) и двоеточие.
134

Входное действие (entry action) – это поведение, которое выполняется, когда объект переходит в данное состояние. Как только
счет в банке переходит в состояние «Превышен счет» (см. рис.
16.1), выполняется действие «Временно заморозить счет» независимо от того, откуда объект перешел в это состояние. Таким образом, данное действие осуществляется не после того, как объект перешел в это состояние, а скорее как часть этого перехода. В отличие от деятельности входное действие рассматривается как непрерываемое.
Входное действие также показывают внутри состояния, его
обозначению предшествуют слово entry (вход) и двоеточие.
Выходное действие (exit action) подобно входному действию.
Однако оно осуществляется как составная часть процесса выхода
из данного состояния. В нашем примере при выходе объекта account из состояния «Превышен счет» выполняется действие «Разморозить счет». Оно является частью процесса такого перехода.
Как и входное, выходное действие является непрерываемым.
Выходное действие изображают внутри состояния, его описанию предшествуют слово exit (выход) и двоеточие.
Поведение объекта во время деятельности, при входных и выходных действиях, может включать отправку события другому объекту. Например, объект account (счет) может посылать событие объекту card reader (устройство чтения карты). В этом случае описанию
деятельности, входного или выходного действия предшествует знак
«^». Соответствующая строка на диаграмме выглядит как
Do: ^Цель. Событие (Аргументы).
Здесь Цель – это объект, получающий событие, Событие – это
посылаемое сообщение, а Аргументы являются параметрами посылаемого сообщения.
Деятельность может также выполняться в результате получения объектом некоторого события. Например, объект Account может быть в состоянии «Открыто». При получении некоторого события выполняется определенная деятельность.
Переходом (transition) называется перемещение объекта из од-
ного состояния в другое. На диаграмме все переходы изображают в
виде стрелки, начинающейся на первоначальном состоянии и заканчивающейся последующим.
135

Переходы могут быть рефлексивными. Объект может перейти
в то же состояние, в котором он в настоящий момент находится.
Рефлексивные переходы изображают в виде стрелки, начинающейся и завершающейся на одном и том же состоянии.
У перехода существует несколько спецификаций. Они включают события, аргументы, ограждающие условия, действия и посылаемые события. Рассмотрим каждое из них в контексте примера банковской системы.
Событие (event) – это то, что вызывает переход из одного со-
стояния в другое. В нашем примере событие «Клиент требует закрыть» вызывает переход счета из открытого в закрытое состояние. Событие размещают на диаграмме вдоль линии перехода.
На диаграмме для отображения события можно использовать
как имя операции, так и обычную фразу. В нашем примере события описаны обычными фразами. Если нужно использовать операции, то событие «Клиент требует закрыть» можно было бы назвать
RequestClosure ( ).
У событий могут быть аргументы. Так, событие «Сделать
вклад», вызывающее переход счета из состояния «Превышен счет»
в состояние «Открыто», может иметь аргумент Amount (Количество), описывающий сумму депозита.
Большинство переходов должны иметь события, так как именно они, прежде всего, заставляют переход осуществиться. Тем не
менее, бывают и автоматические переходы, не имеющие событий.
При этом объект сам перемещается из одного состояния в другое
со скоростью, позволяющей осуществиться входным действиям,
деятельности и выходным действиям.
Ограждающие условия (guard conditions) определяют, когда
переход может или не может осуществиться. В нашем примере событие «Сделать вклад» переведет счет из состояния «Превышение
счета» в состояние «Открыто», но только при условии, если баланс
будет больше нуля. В противном случае переход не осуществится.
Ограждающие условия изображают на диаграмме вдоль линии
перехода после имени события, заключая их в квадратные скобки.
Ограждающие условия задавать необязательно. Однако если
существуют несколько автоматических переходов из состояния,
необходимо определить для них взаимно исключающие огражда-
136

ющие условия. Это поможет читателю диаграммы понять, какой
путь перехода будет автоматически выбран.
Действие (action), как уже говорилось, является непрерываемым поведением, осуществляющимся как часть перехода. Входные
и выходные действия показывают внутри состояний, поскольку
они определяют, что происходит, когда объект входит или выходит
из состояния. Большую часть действий, однако, изображают вдоль
линии перехода, так как они не должны осуществляться при входе
или выходе из состояния.
Например, при переходе счета из открытого в закрытое состояние выполняется действие «Сохранить дату закрытия счета». Это
непрерываемое поведение осуществляется только во время перехода из состояния «Открыто» в состояние «Закрыто».
Действие рисуют вдоль линии перехода после имени события,
его изображению предшествует косая черта.
Событие или действие может быть поведением внутри объекта, а может представлять собой сообщение, посылаемое другому
объекту. Если событие или действие посылается другому объекту,
перед ним на диаграмме помещают знак «^».
Диаграммы состояний не надо создавать для каждого класса,
они применяются только в сложных случаях. Если объект класса
может существовать в нескольких состояниях и в каждом из них
ведет себя по-разному, для него может потребоваться диаграмма
состояний.
Задания к работе
1. Изучите возможности описания состояний классов с помо-
щью диаграмм состояний.
2. Познакомитесь с элементами диаграмм состояний и спосо-
бами их размещения на диаграмме.
Методика выполнения работы
1. Откройте файл UML, созданный в работе 12.
2. В Microsoft Visio 2010 диаграмма состояний единственная,
которая создается иначе, чем все остальные диаграммы. Для этого
в проводнике по модели UML нужно выберите созданную ранее
диаграмму классов и на ней класс, для которого необходимо создать Диаграмму состояний. Щелкнув правой кнопкой мыши по
137

значку данного класса, активизируйте команду меню «Создать» и
далее «Схема состояний».
3. У рабочего листа MS Visio появится название «Схема со-
стояний-1». Переименуйте созданный лист, дав ему имя ДС (сокращенно от «Диаграмма состояний»).
3. Разместите на схеме элементы «Начальное состояние» и
«Конечное состояние», а также элементы «Состояние» в необходимом количестве. Если для некоторых состояний необходимо показать внутренние подсостояния, то в этом случае нужно размещать элемент «Составное состояние». При этом каждый раз при
добавлении на схему данного элемента будет добавляться новый
лист с именем «Схема состояний-N» (номер может отличаться).
Эти листы также желательно переименовать, дав им названия ДС1,
ДС2 и т. д. Дать всем состояниям (за исключением начального и
конечного) соответствующие имена.
4. Соедините между собой состояния с помощью элементов
переход (прямой и рефлексивный) там, где это необходимо.
5. Задайте для состояний внутренние действия – дважды
щелкнуть правой кнопкой мыши по состоянию и в окне свойств в
разделе «Категории» установить действия в соответствующем разделе: для входных действий – раздел «Вход»; для выходных действий – раздел «Выход»; для DO-действий – раздел «Внутренние
переходы».
6. В случае необходимости постройте диаграмму состояний
для подсостояний.
Содержание отчета и его форма
В отчете по лабораторной работе 16 должен быть приведен
процесс поэтапного построения диаграммы состояний.
Контрольные вопросы
1. Какова роль диаграмм состояния в проектировании информационных систем?
2. Для каких элементов системы создаются диаграммы состояний в UML?
3. Что описывает состояние класса на диаграмме состояний?
4. Может ли объект одновременно находиться в двух или более состояний или не находиться ни в одном состоянии?
5. Что такое псевдосостояния на диаграмме состояний?
138

6. Как описывается поведение класса, находящегося в определенном состоянии?
7. Что такое переход на диаграмме состояний? Какие виды переходов на диаграмме используются? В чем их отличие?
8. Каковы правила перехода класса из одного состояния в другое?
9. Каким образом задается условие перехода класса из одного
состояния в другое?
10. Что такое рефлексивный переход? Когда он используется?
Литература
Основная:1–4.
Дополнительная: 1–4.
17. ДИАГРАММА ДЕЯТЕЛЬНОСТИ
Цель – изучение основных возможностей создания и редакти-
рования диаграмм деятельности в MS Visio.
Формируемые компетенции или их части: ПК-1; ПК-2; ПК-3;
ПК-4; ПК-30.
Теоретическая часть
Диаграммы деятельностей особенно полезны в описании по-
ведения, включающего большое количество параллельных процессов. Самым большим достоинством диаграмм деятельностей является поддержка параллелизма. Благодаря этому они являются
мощным средством моделирования потоков работ и, по существу,
параллельного программирования. Самый большой их недостаток
заключается в том, что связи между действиями и объектами просматриваются не слишком четко.
Эти связи можно попытаться определить, используя для деятельностей метки с именами объектов, но этот способ не обладает такой
же простотой, как у диаграмм взаимодействия. Диаграммы деятельностей предпочтительнее использовать в следующих ситуациях:
а) анализ варианта использования. На этой стадии нас не интересует связь между действиями и объектами, а нужно только понять, какие действия должны иметь место и каковы зависимости в
поведении системы. Связывание методов и объектов выполняется
позднее с помощью диаграмм взаимодействия;
139

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