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

  • 1.5.5. Изображение атрибутов и операций на диаграммах Классов

  • Упражнение 5. Определение атрибутов классов

  • Добавление атрибутов и операций

  • Последовательность выполнения упражнения Настройка

  • Добавление нового класса

  • Добавление операций к классу OrderItem

  • Подробное описание операций с помощью диаграммы Классов

  • Подробное описание операций с помощью браузера

  • Подробное описание операций

  • Упражнение 6. Создание связей

  • Этапы выполнения упражнения Настройка

  • Упражнение 7. Создание диаграммы состояний для класса

  • Создание диаграммы Состояний Постройте диаграмму Состояний для класса Order, подобную приве- денной на рис. 34. 77 Последовательность выполнения упражнения

  • Добавление начального и конечного состояний

  • Добавление суперсостояния

  • Проектный практикум. Учебное пособие для студентов, обучающихся по направлению 230700. 62 При кладная информатика


    Скачать 1.9 Mb.
    НазваниеУчебное пособие для студентов, обучающихся по направлению 230700. 62 При кладная информатика
    АнкорПроектный практикум.pdf
    Дата26.04.2017
    Размер1.9 Mb.
    Формат файлаpdf
    Имя файлаПроектный практикум.pdf
    ТипУчебное пособие
    #5930
    страница5 из 8
    1   2   3   4   5   6   7   8
    Связывание файлов и ссылок с операцией
    Некоторая информация, касающаяся данной операции, может содер- жаться во внешнем файле или на Web-странице. Rose позволяет связать файл или ссылку с операцией. Прикрепленный таким образом файл или ссылку можно открыть непосредственно в браузере.
    Прикрепить к операции файл можно следующим образом:
    1.
    Откройте окно спецификации операции (или стандартное окно спецификации в Rose).
    2.
    Щелкните правой кнопкой мыши где-нибудь внутри белого поля вкладки Files (Файлы).
    3.
    В открывшемся меню выберите пункт Insert File (Вставить файл).
    4.
    В диалоговом окне открытия файла укажите нужный вам файл.
    5.
    Для завершения процедуры нажмите на кнопку' Open (Открыть).
    ИЛИ
    1.
    Щелкните правой кнопкой мыши на операции в браузере.
    2.
    В открывшемся меню выберите пункт New > File (Создать >
    Файл).
    3.
    В диалоговом окне открытия файла укажите нужный вам файл.
    4.
    Для завершения процедуры нажмите на кнопку Open (Открыть).
    Для прикрепления к операции ссылки Интернета:
    1.
    Откройте окно спецификации операции (или стандартное окно спецификации в Rose).
    2.
    Щелкните правой кнопкой мыши где-нибудь внутри белого поля вкладки Files (Файлы).
    3.
    В открывшемся меню выберите пункт Insert URL (Вставить ссылку).
    4.
    Введите адрес вашей ссылки.
    ИЛИ

    64 1.
    Щелкните правой кнопкой мыши на операции в браузере.
    2.
    В открывшемся меню выберите пункт New URL (Создать >
    Ссылка).
    3.
    Введите адрес ссылки.
    Если нужно открыть прикрепленный файл:
    1. Откройте окно спецификации операции (или стандартное окно спе- цификации в Rose).
    2. Дважды щелкните мышью на имени файла во вкладке Files (Файлы).
    ИЛИ
    1.
    Найдите в браузере файл (он находится под именем соответст- вующей операции).
    2.
    Дважды щелкните мышью на имени файла. ИЛИ
    1.
    Откройте окно спецификации операции (или стандартное окно спецификации в Rose).
    2.
    Щелкните правой кнопкой мыши на файле во вкладке Files (Фай- лы).
    3.
    В открывшемся меню выберите пункт Open File/URL (Открыть файл/ссылку).
    ИЛИ
    1.
    Найдите в браузере файл (он находится под именем соответст- вующей операции).
    2.
    Щелкните правой кнопкой мыши на имени файла.
    3.
    В открывшемся меню выберите пункт Open (Открыть).
    Открыть прикрепленную ссылку на Web-страницу можно следующим образом:
    1.
    Откройте окно спецификации операции (или стандартное окно спецификации в Rose).
    2.
    Дважды щелкните мышью на ссылке во вкладке Files (Файлы).
    ИЛИ

    65 1.
    Найдите ссылку в браузере. Она располагается под именем соот- ветствующей операции.
    2.
    Дважды щелкните мышью на имени ссылки.
    ИЛИ
    1.
    Откройте окно спецификации операции (или стандартное окно спецификации в Rose).
    2.
    Щелкните правой кнопкой мыши на ссылке во вкладке Files
    (Файлы).
    3.
    В открывшемся меню выберите пункт Open File/URL (Открыть файл/ссылку).
    ИЛИ
    1.
    Найдите ссылку в браузере. Она располагается под именем соот- ветствующей операции.
    2.
    Щелкните правой кнопкой мыши на ссылке.
    3.
    В открывшемся меню выберите пункт Open (Открыть).
    1.5.5.
    Изображение атрибутов и операций на диаграммах Классов
    Язык UML позволяет изображать на диаграммах Классов как все дета- ли, так и только те, которые нужны. В Rose можно настроить диаграммы
    Классов так, чтобы:
    Показать все атрибуты и операции;
    Скрыть операции;
    Скрыть атрибуты;
    Показать некоторые атрибуты или операции;
    Показать операции вместе с их полными сигнатурами или только их имена;
    Показать или скрыть видимость атрибутов и операций;
    Показать или скрыть стереотипы атрибутов и операций.

    66
    В типичном проекте создается большое количество диаграмм Классов.
    На одних основное внимание уделяется связям, а детали атрибутов и опера- ций практически не отображаются. Другие показывают сами классы, но ни- чего не сообщают об операциях и атрибутах. На третьих могут быть пред- ставлены все атрибуты и операции с наиболее подробной информацией о них. В среде Rose один и тот же класс можно располагать на любом необхо- димом вам количестве диаграмм Классов. А с помощью параметров можно задать отображение деталей описания атрибутов и операций.
    Значения параметров по умолчанию задаются в окне, открываемом при выборе пункта меню Tools > Options (Инструменты > Параметры).
    Изображение атрибутов
    Для класса на диаграмме можно:
    Показать все атрибуты;
    Скрыть все атрибуты;
    Показать только выбранные вами атрибуты;
    Подавить вывод атрибутов;
    Подавление вывода атрибутов приведет не только к исчезновению ат- рибутов с диаграммы, но и к удалению линии, показывающей место распо- ложения атрибутов в классе. Проиллюстрируем различия между подавлени- ем и сокрытием атрибутов. На рис. 29 показан класс OrderItem, все атрибуты которого были скрыты:
    атрибуты скрыты
    атрибуты подавлены
    Рис. 29. Скрытие и подавление атрибутов класса

    67
    Существует два способа изменения параметров представления атрибу- тов на диаграмме. Можно установить нужные вам значения для каждого класса индивидуально либо изменить значения требуемых параметров по умолчанию до начала создания диаграммы Классов. Внесенные таким обра- зом изменения влияют только на вновь создаваемые диаграммы.
    Для вывода всех атрибутов класса:
    1.
    Выделите класс на диаграмме.
    2.
    Щелкните правой кнопкой мыши. Откроется контекстнозависи- мое меню.
    3.
    Выберите пункт Options >- Show All Attributes (Параметры > По- казать все атрибуты).
    ИЛИ
    1.
    Выделите класс на диаграмме.
    2.
    В меню модели выберите пункт Edit > Diagram Object Properties >
    Show All Attributes (Правка > Свойства объектов диаграммы > Показать все атрибуты).
    Если нужно показать только избранные атрибуты класса:
    1. Выделите класс на диаграмме.
    2.
    Щелкните правой кнопкой мыши на классе. Откроется контекст- нозависимое меню.
    3.
    Выберите пункт Options Select Compartment Item.
    4.
    В окне Edit Compartment укажите нужные вам атрибуты.
    ИЛИ
    1.
    Выделите класс на диаграмме.
    2.
    R меню модели выберите пункт Edit Compartment.
    3.
    В окне Edit Compartment укажите нужные вам атрибуты.
    Для подавления вывода всех атрибутов класса диаграммы:
    1.
    Выделите класс на диаграмме.
    2.
    Щелкните правой кнопкой мыши на классе.

    68 3.
    В контекстно-зависимом меню выберите пункт Options > Suppress
    Attributes (Параметры > Подавить атрибуты).
    ИЛИ
    1.
    Выделите класс на диаграмме.
    2.
    В меню модели выберите пункт Edit > Diagram Object Properties >
    Suppress Attributes (Правка > Свойства объектов диаграммы > Подавить ат- рибуты).
    Для изменения принятого по умолчанию вида атрибута:
    1.
    В меню модели выберите пункт Tools >> Options (Инструменты >
    Параметры).
    2.
    Перейдите на вкладку Diagram (Диаграмма).
    3.
    Для установки значений параметров отображения атрибутов по умолчанию воспользуйтесь флажками Suppress attributes (Подавить атрибу- ты) и Show all attributes (Показать все атрибуты).
    Упражнение 5. Определение атрибутов классов
    В предыдущих упражнениях мы создали несколько операций для клас- сов и нанесли классы на диаграмму. В этом упражнении к описаниям опера- ций будут добавлены детали, включая параметры и типы возвращаемых зна- чений, и определены атрибуты классов.
    Постановка задачи
    Заполнить созданную ранее Диаграмму Классов для варианта исполь- зования "Ввести новый заказ‖. В качестве языка программирования необхо- димо выбрать C++, что позволит добавить к классам параметры операций, типы данных и типы возвращаемых значений.
    Для определения атрибутов следует обратиться к потоку событий. К классу Order диаграммы Классов нужно добавить атрибуты Order Number
    (Номер заказа) и Customer Name (Имя клиента). Так как в одном заказе мож- но указать большое количество товаров и у каждого из них имеются свои

    69 собственные данные и поведение, целесообразно моделировать товары как самостоятельные классы, а не как атрибуты класса Order.
    Добавление атрибутов и операций
    Добавим атрибуты и операции к классам диаграммы Классов "Ввод но- вого заказа". При этом используем специфические для языка особенности.
    Установим параметры так, чтобы показывать все атрибуты, все операции и их сигнатуры. Применим нотацию UML.
    Последовательность выполнения упражнения
    Настройка
    1.
    В меню модели выберите пункт Tools > Options (Инструменты >
    Параметры).
    2.
    Перейдите на вкладку Diagram.
    3.
    Убедитесь, что флажок Show visibility (Показать видимость) ус- тановлен.
    4.
    Убедитесь, что флажок Show stereotypes (Показать стереотипы) установлен.
    5.
    Убедитесь, что флажок Show operation signatures (Показать сигна- туры операций) установлен.
    6.
    Убедитесь, что флажки Show all attributes (Показать все атрибу- ты) и Show all operations (Показать все операции) установлены.
    7.
    Убедитесь, что флажки Suppress attributes (Подавить атрибуты) и
    Suppress operations (Подавить операции) сброшены.
    8.
    Перейдите на вкладку Notation (Нотация).
    9.
    Убедитесь, что флажок Visibility as icons (Отображать пикто- граммы) сброшен.
    Добавление нового класса
    1.
    Найдите в браузере диаграмму Классов варианта использования "Ввести новый заказ" (Add New Order).

    70 2.
    Дважды щелкнув мышью на диаграмме, откройте ее.
    3.
    Нажмите кнопку Class панели инструментов.
    4.
    Щелкните мышью внутри диаграммы, чтобы поместить туда но- вый класс.
    5.
    Назовите его OrderItem.
    6.
    Назначьте этому классу стереотип Entity.
    7.
    В браузере перетащите класс в пакет Entities.
    Добавление атрибутов
    1.
    Щелкните правой кнопкой мыши на классе Order.
    2.
    В открывшемся меню выберите пункт New Attribute (Создать ат- рибут).
    3.
    Введите новый атрибут: OrderNumber : Integer
    4.
    Нажмите клавишу Enter.
    5.
    Введите следующий атрибут: CustomerName : String.
    6.
    Повторив шаги 4 и 5, добавьте атрибуты:
    OrderDate : Date
    OrderFillDate : Date
    7.
    Щелкните правой кнопкой мыши на классе OrderItem.
    8.
    В открывшемся меню выберите пункт New Attribute (Создать ат- рибут).
    9.
    Введите новый атрибут: ItemID : Integer.
    10.
    Нажмите клавишу Enter.
    11.
    Введите следующий атрибут: ItemDescription : String.
    Добавление операций к классу OrderItem
    1.
    Щелкните правой кнопкой мыши на классе OrderItem.
    2.
    В открывшемся меню выберите пункт New Operation (Создать операцию).
    3.
    Введите новую операцию: Create.
    4.
    Нажмите клавишу Enter.

    71 5.
    Введите следующую операцию: SetInfo
    6.
    Нажмите клавишу Enter.
    7.
    Введите операцию: GetInfo
    Подробное описание операций с помощью диаграммы Классов
    1.
    Щелкнув мышью на классе Order, выделите его.
    2.
    Щелкните на этом классе еще раз, чтобы переместить курсор внутрь.
    3.
    Отредактируйте операцию Create() чтобы она выглядела сле- дующим образом: Create() : Boolean
    4.
    Отредактируйте операцию SetInfo():
    Setlnfo(OrderNum) : Integer, Customer : String, OrderDate : Date, FillDate :
    (Date) : Boolean
    5.
    Отредактируйте операцию GetInfo() - GetInfo() : String
    Подробное описание операций с помощью браузера
    1.
    Найдите в браузере класс OrderItem.
    2.
    Раскройте этот класс, щелкнув на значке "+" рядом с ним. В брау- зере появятся атрибуты и операции класса.
    3.
    Дважды щелкнув мышью на операции GetInfo() откройте окно ее спецификации (рис. 30).
    4.
    В раскрывающемся списке Return class (Возвращаемый класс) укажите String.
    5.
    Щелкнув мышью на кнопке ОК, закройте окно спецификации операции.
    6.
    Дважды щелкните в браузере на операции SetInfo() класса OrderI- tem, чтобы открыть окно ее спецификации.
    7.
    В раскрывающемся списке Return class укажите Boolean.
    8.
    Перейдите на вкладку Detail (Подробно).
    9.
    Щелкните правой кнопкой мыши в области аргументов, чтобы добавить туда новый параметр.

    72
    Рис. 30. Окно спецификации операции
    10.
    В открывшемся меню выберите пункт Insert (Вставить). Rose до- бавит аргумент под названием argname.
    11.
    Щелкнув один раз на этом слове, выделите его и измените имя аргумента на ID (рис. 31).
    12.
    Щелкните на колонке Туре (Тип). В раскрывающемся списке ти- пов выберите Integer.
    13.
    Щелкните на колонке Default (По умолчанию), чтобы добавить значение аргумента по умолчанию. Введите число 0.
    14.
    Нажав на кнопку ОК, закройте окно спецификации операции.
    15.
    Дважды щелкните на операции Create() класса Orderltem, чтобы открыть окно ее спецификации.
    16.
    В раскрывающемся списке Return class укажите Boolean.
    17.
    Нажав на кнопку ОК, закройте окно спецификации операции.

    73
    Рис. 31. Окно спецификации аргумента
    Подробное описание операций
    1.
    Используя браузер или диаграмму Классов, введите следующие сигнатуры операций класса OrderDetail:
    Open() : Boolean
    Submitlnfo(): Boolean
    Save() : Boolean
    2.
    Используя браузер или диаграмму Классов, введите сигнатуру операций класса OrderOptions:
    Create() : Boolean
    3.
    Используя браузер или диаграмму Классов, введите сигнатуру операций класса OrderMgr:
    SaveOrder(OrderID : Integer) : Boolean
    4.
    Используя браузер или диаграмму Классов, введите сигнатуры операций класса TransactionMgr:
    SaveOrder(OrderlD : Integer) : Boolean

    74
    Commit() : Integer
    Упражнение 6. Создание связей
    Продолжим выполнение нашего учебного проекта. Создадим связи ме- жду классами. Добавим связи к классам, принимающим участие в варианте использования "Ввести новый заказ".
    Этапы выполнения упражнения
    Настройка
    1.
    Найдите в браузере диаграмму Классов "Ввод нового заказа".
    2.
    Дважды щелкнув на диаграмме, откройте ее.
    3.
    Проверьте, имеется ли в панели инструментов диаграммы кнопка
    Unidirectional Association (Однонаправленная ассоциация). Если ее нет, про- должите настройку, выполнив шаги 4 и 5. Если есть, приступайте к выполне- нию самого упражнения.
    4.
    Щелкните правой кнопкой мыши на панели инструментов диа- граммы и в открывшемся меню выберите пункт Customize (Настроить).
    5.
    Добавьте на панель кнопку Creates A Unidirectional Association
    (Создать однонаправленную ассоциацию).
    Добавление ассоциаций
    1.
    Нажмите кнопку Unidirectional Association панели инструментов.
    2.
    Проведите ассоциацию от класса OrderOptions к классу OrderDe- tail.
    3.
    Повторите шаги 1 и 2, создав ассоциации:
    От класса OrderDetail к классу OrderMrg
    От класса OrderMrg к классу Order
    От класса OrderMrg к классу TransactionMrg
    От класса TransactionMrg к классу Order
    От класса TransactionMgr к классу OrderItem
    От класса Order к классу OrderItem

    75 4.
    Щелкните правой кнопкой мыши на однонаправленной ассоциа- ции между классами OrderOptions и OrderDetail со стороны класса OrderOp- tions.
    5.
    В открывшемся меню выберите пункт Multiplicity > Zero or One
    (Множественность Нуль или один) (рис.131).
    6.
    Щелкните правой кнопкой мыши на другом конце однонаправ- ленной ассоциации.
    7.
    В открывшемся меню выберите пункт Multiplicity > Zero or One
    (Множественность Нуль или один).
    8.
    Повторите шаги 4 — 7, добавив на диаграмму значения множест- венности для остальных ассоциаций, как показано на рис. 33.
    Рис. 32. Установка множественности

    76
    Рис. 33. Ассоциации сценария «Ввести новый заказ»
    Упражнение 7. Создание диаграммы состояний для класса
    В этом упражнении создается диаграмма Состояний для класса Order создаваемого проекта.
    Постановка задачи
    Многие требования к классу значительно изменяются при изменении состояния его экземпляра. Например, заказы, выполнение которых приоста- новлено, ведут себя не так, как выполненные заказы, а те в свою очередь не так, как отмененные заказы.
    Для того чтобы понять, как писать код для класса Order необходимо создать диаграмму Состояний для этого класса.
    Создание диаграммы Состояний
    Постройте диаграмму Состояний для класса Order, подобную приве- денной на рис. 34.

    77
    Последовательность выполнения упражнения
    Создание диаграммы
    1.
    Найдите в браузере класс Order.
    2.
    Щелкните на классе правой кнопкой мыши и в открывшемся ме- ню укажите пункт Open State Diagram (Открыть диаграмму состояний).
    3. Присвойте созданной диаграмме имя State DiagramOrder
    Добавление начального и конечного состояний
    1.
    Нажмите кнопку Start State (Начальное состояние) панели инст- рументов.
    2.
    Поместите это состояние на диаграмму.
    Рис. 34. Диаграмма состояний класса Order
    3.
    Нажмите кнопку End State (Конечное состояние) панели инстру- ментов.
    4. Поместите это состояние на диаграмму.

    78
    Добавление суперсостояния
    1.
    Нажмите кнопку State (Состояние) панели инструментов.
    2.
    Поместите это состояние на диаграмму.
    Добавление оставшихся состояний
    1.
    На панели инструментов нажмите кнопку State (Состояние).
    2.
    Поместите состояние на диаграмму.
    3.
    Назовите состояние Cancelled (Отменен).
    4.
    На панели инструментов нажмите кнопку State (Состояние).
    5.
    Поместите состояние на диаграмму.
    6.
    Назовите состояние Filled (Выполнен).
    7.
    На панели инструментов нажмите кнопку State (Состояние).
    8.
    Поместите состояние на диаграмму внутрь суперсостояния.
    9.
    Назовите состояние Initialization (Инициализация).
    10.
    На панели инструментов нажмите кнопку State (Состояние).
    11.
    Поместите состояние на диаграмму внутрь суперсостояния.
    12.
    Назовите состояние Pending (Выполнение заказа приостановле- но).
    1   2   3   4   5   6   7   8


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