Главная страница
Навигация по странице:

  • Рис. 4.1. Диаграмма классов для разрабатываемой модели банкомата 25 Контрольные вопросы

  • Лабораторная работа №5 РАЗРАБОТКА ДИАГРАММ ВЗАИМОДЕЙСТВИЯ ОБЪЕКТОВ НА ЯЗЫКЕ UML Цель работы

  • Назначение кнопок специальной панели инструментов диа- граммы кооперации Графическое изображение Всплывающая подсказка Назначение кнопки Selection Tool

  • Text Box Добавляет на диаграмму текстовую область Note Добавляет на диаграмму примечание Anchor Note to Item

  • Object Добавляет на диаграмму объект Class Instance Добавляет на диаграмму экземпляр класса Object Link

  • Reverse Link Message Добавляет на связь диаграммы обратное со- общение Data Token

  • Reverse Data Token

  • Рис. 5.1. Диаграмма кооперации, описывающая типичный ход событий варианта использования «Снятие наличных по кредитной карточке» Контрольные вопросы

  • Лабораторная работа №6 РАЗРАБОТКА ДИАГРАММ ПОВЕДЕНИЯ НА ЯЗЫКЕ UML Цель работы

  • Назначение кнопок специальной панели инструментов диаграммы состояний Графическое изображение Всплывающая подсказка Назначение кнопки Selection Tool

  • State Добавляет на диаграмму состояние Start State Добавляет на диаграмму начальное со- стояние End State

  • State Transition Добавляет на диаграмму переход Transition to Self Добавляет на диаграмму рефлексивный пе- реход Horizontal

  • Synchronization Добавляет на диаграмму вертикально рас- положенный символ синхронизации (по умолчанию отсутствует) Decision

  • Программная инженерия лабораторный практикум


    Скачать 1.48 Mb.
    НазваниеПрограммная инженерия лабораторный практикум
    Дата07.10.2019
    Размер1.48 Mb.
    Формат файлаpdf
    Имя файлаprogrammnaya-inzheneriya-lab-praktikum-(pie-2013g).pdf
    ТипПрактикум
    #88973
    страница3 из 5
    1   2   3   4   5
    23
    14. Для класса Клавиатура Банкомата добавить операцию: вве- сти тип транзакции() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип
    Boolean (логический), а в секцию документации данной операции следует ввести поясняющий текст: «Возвращает значение Истина, ес- ли клиент выбирает снятие наличных, и значение Ложь, если клиент выбирает получение справки о состоянии счета».
    15. Для класса Клавиатура Банкомата добавить операцию: вве- сти сумму снятия наличных() с квантором видимости public. В каче- стве типа возвращаемого результата для этой операции следует вы- брать тип Currency (Денежный), а в секцию документации данной операции следует ввести поясняющий текст: «Вызывается после того, как клиент ввел значение снимаемой суммы с клавиатуры».
    16. Добавить класс с именем Устройство выдачи наличных, для которого выбрать стереотип boundary. В секцию документации дан- ного класса следует ввести поясняющий текст: «Устанавливается на банкомате».
    17. Для класса Устройство выдачи наличных добавить опера- цию: выдать наличные() с квантором видимости public. В секцию до- кументации данной операции следует ввести поясняющий текст:
    «Вызывается после того, как выполнено снятие запрошенной клиен- том суммы со счета».
    18. Добавить класс с именем Принтер Банкомата, для которого выбрать стереотип boundary. В секцию документации данного класса следует ввести поясняющий текст: «Устанавливается на банкомате».
    19. Для класса Принтер Банкомата добавить операцию: распе- чатать чек() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: «Вызывается по дополнительному запросу клиента».
    20. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу Устройство чтения карточки. В качестве кратно-
    сти концов этой ассоциации установить значение 1.
    21. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу Принтер Банкомата. В качестве кратности кон- цов этой ассоциации установить значение 1.
    22. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу Клавиатура Банкомата. В качестве кратности концов этой ассоциации установить значение 1.

    24
    23. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу Устройство выдачи наличных. В качестве крат-
    ности концов этой ассоциации установить значение 1.
    24. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу Экран Банкомата. В качестве кратности концов этой ассоциации установить значение 1.
    25. Добавить направленную ассоциацию от класса Контроллер
    Банкомата к классу IКонтроллер Банка. В качестве кратности конца этой ассоциации для первого класса установить значение 0..n, а крат-
    ности конца ассоциации для второго класса установить значение 1. В качестве стереотипа данной ассоциации выбрать из вложенного спи- ска значение <>. Применение данного стереотипа оз- начает, что между этими классами должна существовать физическая взаимосвязь.
    Построенная в результате указанных действий диаграмма клас- сов будет иметь следующий вид (рис. 4.1).
    Рис. 4.1. Диаграмма классов для разрабатываемой модели банкомата

    25
    Контрольные вопросы
    1. Поясните назначение статических моделей объектно- ориентированных программных систем.
    2. Что является основным средством для представления стати- ческих моделей?
    3. Как используются статические модели?
    4. Какие секции входят в графическое обозначение класса?
    5. Какие секции класса можно не показывать?
    6. Поясните общий синтаксис представления свойства.
    7. Какие уровни видимости вы знаете? Их смысл?
    8. Какие характеристики свойств вам известны?
    9. Какой смысл имеет класс-ассоциация?
    10. Чем отличается агрегация от композиции? Разновидностями какого отношения (в UML) они являются?
    11. Что обозначает в UML простая зависимость?
    12. Какой смысл имеет отношение обобщения?
    13. Какие недостатки у множественного наследования?
    14. Что такое абстрактный класс (операция) и как он (она) ото- бражается?
    15. Как обозначить корневой класс?
    Лабораторная работа №5
    РАЗРАБОТКА ДИАГРАММ ВЗАИМОДЕЙСТВИЯ ОБЪЕКТОВ
    НА ЯЗЫКЕ UML
    Цель работы: построение диаграмм взаимодействия UML
    Программа выполнения работы
    1.Изучить методику представления взаимодействия программ- ных объектов с помощью диаграмм кооперации UML.
    2.Изучить технологию построения диаграмм UML в среде Ra- tional Rose.
    Методически указания
    Диаграмма кооперации является разновидностью диаграммы взаимодействия, и в контексте языка UML описывает динамический аспект взаимодействия объектов при реализации отдельных вариан-

    26
    тов использования. Активизировать рабочее окно диаграммы коопе- рации в программе IBM Rational Rose 2003 можно несколькими спо- собами:
    - Щелкнуть на кнопке с изображением диаграммы взаимодей- ствия на стандартной панели инструментов и выбрать для построения новую диаграмму кооперации.
    - Выполнить операцию главного меню: Browse Interaction
    Diagram (Браузер Диаграмма взаимодействия) и выбрать для по- строения новую диаграмму кооперации.
    - Выполнить операцию контекстного меню: New Collaboration
    Diagram (Новая Диаграмма кооперации) для логического представ- ления или представления вариантов использования в браузере проек- та.
    - При этом появляется новое окно с чистым рабочим листом диаграммы кооперации и специальная панель инструментов, содер- жащая кнопки с изображением графических примитивов, необходи- мых для разработки диаграммы кооперации (табл. 5.1). Назначение отдельных кнопок панели можно узнать из всплывающих подсказок.
    Таблица 5.1.
    Назначение кнопок специальной панели инструментов диа-
    граммы кооперации
    Графическое изображение
    Всплывающая подсказка
    Назначение кнопки
    Selection Tool
    Превращает изображение курсора в форму стрелки для последующего выделения эле- ментов на диаграмме
    Text Box
    Добавляет на диаграмму текстовую область
    Note
    Добавляет на диаграмму примечание
    Anchor Note to
    Item
    Добавляет на диаграмму связь примечания с соответствующим графическим элемен- том диаграммы
    Object
    Добавляет на диаграмму объект
    Class Instance
    Добавляет на диаграмму экземпляр класса
    Object Link
    Добавляет на диаграмму связь
    Link To Self
    Добавляет на диаграмму рефлексивную
    связь

    27
    Link Message
    Добавляет на связь диаграммы прямое со-
    общение
    Reverse Link
    Message
    Добавляет на связь диаграммы обратное со-
    общение
    Data Token
    Добавляет на связь диаграммы элемент прямого потока данных
    Reverse Data
    Token
    Добавляет на связь диаграммы элемент об- ратного потока данных
    На специальной панели инструментов по умолчанию присутст- вуют практически все кнопки с пиктограммами элементов, которые могут быть использованы для построения диаграммы. В данной лек- ции в качестве примера рассматривается процесс построения диа- граммы кооперации, которая представляет собой реализацию вариан- та использования Снятие наличных по кредитной карточке примени- тельно к разрабатываемому проекту системы управления банкома- том. В модели данная диаграмма кооперации соответствует этому ва- рианту использования и может быть размещена в представлении ва- риантов использования (Use Case View). После активизации новой диаграммы кооперации одним из описанных выше способов следует в качестве имени данной диаграммы задать: Снятие наличных по кредитной карточке.
    В общем случае работа с диаграммой кооперации состоит в до- бавлении объектов, связей и сообщений, а также редактировании их свойств. При этом изменения, вносимые в диаграмму кооперации, ав- томатически вносятся в диаграмму последовательности, что можно увидеть в любой момент, активизировав последнюю нажатием кла- виши .
    Для построения диаграммы кооперации рассматриваемого при- мера следует выполнить следующие действия:
    1. Добавить объекты классов с именами: Контроллер Банкома- та, Транзакция Банкомата, Клавиатура Банкомата, Экран Банкомата,
    Принтер Банкомата, Устройство выдачи наличных и IИнтерфейс Бан- ка.
    2. Добавить связи, соединяющие объекты классов с именами:
    Контроллер Банкомата с Устройством чтения карточки, Контроллер
    Банкомата с Транзакцией Банкомата, Контроллер Банкомата с Кла- виатурой Банкомата, Контроллер Банкомата с Экраном Банкомата,
    Контроллер Банкомата с Принтером Банкомата, Контроллер Банко-

    28
    мата с Устройством выдачи наличных и Контроллер Банкомата с
    IИнтерфейсом Банка.
    3. Добавить сообщение: проверить идентификатор карточки
    (Integer) , направленное от объекта класса Контроллер Банкомата к
    объекту класса IИнтерфейс Банка.
    4. Добавить сообщение: ввести ПИН-код(), направленное от
    объекта класса-актера Клиент Банкомата к объекту класса Клавиа- тура Банкомата.
    5. Добавить сообщение: прочитать ПИН-код(), направленное от
    объекта класса Контроллер Банкомата к объекту класса Устройство чтения карточки.
    6. Добавить сообщение: создать новую транзакцию(), направ- ленное от объекта класса Контроллер Банкомата к объекту класса
    Транзакция Банкомата.
    7. Добавить сообщение: проверить правильность ПИН-кода(), направленное от объекта класса Контроллер Банкомата к объекту класса Транзакция Банкомата.
    8. Добавить сообщение: показать меню опций(), направленное от объекта класса Контроллер Банкомата к объекту класса Экран
    Банкомата.
    9. Добавить сообщение: ввести тип транзакции(), направленное от объекта класса-актера Клиент Банкомата к объекту класса Кла- виатура Банкомата.
    10. Добавить сообщение: показать меню снятия суммы(), направ- ленное от объекта класса Контроллер Банкомата к объекту класса
    Экран Банкомата.
    11. Добавить сообщение: ввести сумму снятия наличных(), на- правленное от объекта класса-актера Клиент Банкомата к объекту класса Клавиатура Банкомата.
    12. Последовательно добавить 3 сообщения: открыть счет клиен- та (Integer) , проверить баланс клиента (Integer, Currency) и умень- шить счет клиента(Integer, Currency), направленные от объекта клас- са Контроллер Банкомата к объекту класса IИнтерфейс Банка.
    13. Добавить сообщение: распечатать чек(), направленное от
    объекта класса Контроллер Банкомата к объекту класса Принтер
    Банкомата.
    14. Добавить сообщение: вернуть кредитную карточку(), направ- ленное от объекта класса Контроллер Банкомата к объекту класса
    Устройство чтения карточки.

    29
    15. Добавить сообщение: выдать наличные(), направленное от
    объекта класса Контроллер Банкомата к объекту класса Устройство выдачи наличных.
    16. Добавить сообщение: завершить транзакцию(), направленное от объекта класса Контроллер Банкомата к объекту класса Транзак- ция Банкомата.
    Диаграмма кооперации, описывающая реализацию типичного хода событий варианта использования Снятие наличных по кредит- ной карточке для проекта системы управления банкоматом, показана на рис. 5.1.
    Рис. 5.1. Диаграмма кооперации, описывающая типичный ход событий
    варианта использования «Снятие наличных по кредитной карточке»
    Контрольные вопросы
    1. Как представляется имя объекта в диаграмме сотрудничест- ва?
    2. Поясните синтаксис представления свойства в диаграмме со- трудничества.

    30
    3. Какие стереотипы видимости используются в диаграмме со- трудничества? Поясните их смысл.
    4. В какой форме записываются сообщения в языке UML? По- ясните смысл сообщения.
    5. В каком отношении находятся сообщения и действия? Пере- числите разновидности действий.
    6. Чем отличается процедурный поток от асинхронного потока сообщений?
    7. Как указывается повторение сообщений?
    8. Как показать ветвление сообщений?
    9. Что общего в диаграмме последовательности и диаграмме сотрудничества? Чем они отличаются друг от друга?
    Лабораторная работа №6
    РАЗРАБОТКА ДИАГРАММ ПОВЕДЕНИЯ НА ЯЗЫКЕ UML
    Цель работы: построение диаграмм поведения UML
    Программа выполнения работы
    1.Изучить методику представления поведения программных объектов с помощью диаграмм активности и состояний UML.
    2.Изучить технологию построения диаграмм поведения UML в среде Rational Rose.
    Методически указания
    Начать построение диаграммы состояний для выбранного эле- мента модели или моделируемой системы в целом можно одним из следующих способов:
    - Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать пред- ставление и тип разрабатываемой диаграммы - новая диаграмма со-
    стояний.
    - Выделить логическое представление (Logical View) или пред- ставление вариантов использования (Use Case View) в браузере про- екта и выполнить операцию контекстного меню: New Statechart
    Diagram (Новая Диаграмма состояний).

    31
    - Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case
    View) и выбрать вариант использования, после чего выполнить опе- рацию контекстного меню: New Statechart Diagram (Новая Диа- грамма состояний).
    - Выполнить операцию главного меню: Browse State Machine
    Diagram (Обзор Диаграмма состояний), после чего следует выбрать представление и тип разрабатываемой диаграммы.
    В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы состояний и специальная панель инструментов, содержащая кнопки с изображением графических эле- ментов модели, необходимых для разработки диаграммы состояний
    (табл. 6.1). Назначение отдельных кнопок панели можно узнать из всплывающих подсказок.
    Таблица 6.1.
    Назначение кнопок специальной панели инструментов
    диаграммы состояний
    Графическое изображение
    Всплывающая подсказка
    Назначение кнопки
    Selection Tool
    Превращает изображение курсора в форму стрелки для последующего выделения эле- ментов на диаграмме
    Text Box
    Добавляет на диаграмму текстовую область
    Note
    Добавляет на диаграмму примечание
    Anchor Note to
    Item
    Добавляет на диаграмму связь примечания с соответствующим графическим элемен- том диаграммы
    State
    Добавляет на диаграмму состояние
    Start State
    Добавляет на диаграмму начальное со-
    стояние
    End State
    Добавляет на диаграмму конечное состоя-
    ние
    State Transition
    Добавляет на диаграмму переход
    Transition to Self
    Добавляет на диаграмму рефлексивный пе-
    реход
    Horizontal
    Synchronization
    Добавляет на диаграмму горизонтально расположенный символ синхронизации (по

    32
    умолчанию отсутствует)
    Vertical
    Synchronization
    Добавляет на диаграмму вертикально рас- положенный символ синхронизации (по умолчанию отсутствует)
    Decision
    Добавляет на диаграмму символ принятия решения для альтернативных переходов (по умолчанию отсутствует)
    Для построения диаграммы состояний следует выполнить сле- дующие действия:
    1. Добавить состояния с именами: Ожидание ввода ПИН-кода,
    Проверка ПИН-кода, Ожидание выбора клиента, Обработка запроса на снятие наличных, Обработка запроса на получение справки, Выда- ча наличных, Печать, Возврат карточки, Завершение транзакции и финальное состояние.
    2. Добавить переход: карточка вставлена, направленный от со-
    стояния Ожидание карточки к состоянию Ожидание ввода ПИН- кода.
    3. Добавить переход: ПИН-код введен, направленный от со-
    стояния Ожидание ввода ПИН-кода к состоянию Проверка ПИН- кода.
    4. Добавить переход: отмена транзакции, направленный от со-
    стояния Ожидание ввода ПИН-кода к состоянию Возврат карточки.
    5. Добавить переход со сторожевым условием: [ПИН-код вер- ный], направленный от состояния Проверка ПИН-кода к состоянию
    Ожидание выбора клиента.
    6. Добавить переход со сторожевым условием: [ПИН-код не- верный], направленный от состояния Проверка ПИН-кода к состоя-
    нию Ожидание ввода ПИН-кода.
    7. Добавить переход: три неудачи с действием на переходе конфискация карточки, направленный от состояния Проверка ПИН- кода к состоянию Завершение транзакции. Для задания действия на
    данном переходе следует ввести текст конфискация карточки в поле ввода Action (Действие) на вкладке Detail (Подробно) окна специфи- кации свойств данного перехода.

    33
    8. Добавить переход: выбор суммы со сторожевым условием:
    [сумма введена], направленный от состояния Ожидание выбора кли- ента к состоянию Обработка запроса на снятие наличных.
    9. Добавить переход: выбор справки, направленный от состоя-
    ния Ожидание выбора клиента к состоянию Обработка запроса на получение справки.
    10. Добавить переход: отмена транзакции, направленный от со-
    стояния Ожидание выбора клиента к состоянию Возврат карточки.
    11. Добавить переход со сторожевым условием: [кредит не пре- вышен], направленный от состояния Обработка запроса на снятие наличных к состоянию Выдача наличных.
    12. Добавить переход со сторожевым условием: [кредит превы- шен] с действием на переходе сообщение, направленный от состоя-
    ния Обработка запроса на снятие наличных к состоянию Возврат карточки.
    13. Добавить переход: наличные выданы со сторожевым услови-
    ем: [выбрана печать чека], направленный от состояния Выдача на- личных к состоянию Печать.
    14. Добавить переход: наличные выданы со сторожевым услови-
    ем: [печать чека не выбрана], направленный от состояния Выдача на- личных к состоянию Возврат карточки.
    15. Добавить переход: справка сформирована, направленный от
    состояния Обработка запроса на получение справки к состоянию
    Печать.
    16. Добавить переход: печать закончена, направленный от со-
    стояния Печать к состоянию Возврат карточки.
    17. Добавить переход: карточка возвращена, направленный от
    состояния Возврат карточки к состоянию Завершение транзакции.
    18. Добавить переход: транзакция завершена, направленный от
    состояния Завершение транзакции к состоянию Ожидание карточки.
    19. Добавить переход, направленный от состояния Ожидание карточки к финальному состоянию.
    Диаграмма состояний для рассматриваемой модели банкомата будет иметь следующий вид (рис. 6.1).

    1   2   3   4   5


    написать администратору сайта