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

  • 1. Создание диаграммы классов для сценария «Оформить заказ»

  • 2. Создание пакетов для группировки классов, созданных в пункте 1.

  • 3. Разработка главной диаграммы классов.

  • Построение диаграммы классов. 1. Создание диаграммы классов для сценария Оформить заказ


    Скачать 133.06 Kb.
    Название1. Создание диаграммы классов для сценария Оформить заказ
    АнкорПостроение диаграммы классов
    Дата31.03.2022
    Размер133.06 Kb.
    Формат файлаdocx
    Имя файлаlab3.docx
    ТипДокументы
    #430190

    Задание

    Цель лабораторной работы: Составление диаграммы классов для проектируемой информационной системы. Для достижения поставленной цели необходимо решить следующие задачи:

    1. создать диаграмму классов для одного из сценариев диаграммы вариантов использования, созданной в предыдущей лабораторной работе. Для каждого класса необходимо задать атрибуты и операции. Каждый класс должен быть подробно задокументирован - необходимо задать текстовое описание самого класса, описания его атрибутов и операций;

    2. создать пакеты для группировки классов, созданных в пункте 1;

    3. сгруппировать классы из пункта 1 в пакеты;

    4. разработать главную диаграмму классов.

    Выполнение работы

    Разрабатываемая ИС - веб-магазин по продаже часов.

    1. Создание диаграммы классов для сценария «Оформить заказ»

    Рассматриваемый сценарий состоит из:

    • самого заказа;

    • клиента, который делает заказ;

    • комплектующих изделий, которые входят в заказ.

    Создадим классы-сущности Order (Заказ), Client (Клиент) и ComponentPart (Комплектующее изделие). Поскольку в один заказ может входить много разных комплектующих изделий, и одно комплектующее изделие может входить во много заказов, то введем еще один класс-сущность OrderItem (Состав заказа). Опишем каждый класс.

    Класс Client: Класс, представляющий собой клиента фирмы

    Параметр

    Значение

    Атрибуты

    name : String - наименование клиента

    address : String - адрес клиента

    phone : String - телефон клиента

    Все атрибуты имеют модификатор доступа - private

    Операции

    AddClient() - добавление нового клиента

    RemoveClient() - удаление существующего клиента

    GetInfo() - получить информацию о клиенте

    Все операции имеют модификатор доступа - public

    Класс Order: Класс, представляющий собой заказ, который делает клиент

    Параметр

    Значение

    Атрибуты

    orderNumber : Integer - номер заказа

    orderDate : Date - дата оформления заказа

    orderComplete : Date - дата выполнения заказа

    Все атрибуты имеют модификатор доступа - private

    Операции

    Create() - создание нового заказа

    SetInfo() - занести информацию о заказе

    GetInfo() - получить информацию о заказе

    Все операции имеют модификатор доступа - public

    Класс OrderItem: Класс, представляющий собой пункт заказа, который делает клиент

    Параметр

    Значение

    Атрибуты

    itemNumber : Integer - номер пункта заказа

    quantity : Integer - количество изделий

    price : Double - цена за единицу

    Все атрибуты имеют модификатор доступа - private

    Операции

    Create() - создание новой строки заказа

    SetInfo() - занести информацию о строке заказа

    GetInfo() - получить информацию о строке заказа

    Все операции имеют модификатор доступа - public

    Класс ComponentPart: Класс, представляющий собой комплектующие изделия

    Параметр

    Значение

    Атрибуты

    name : String - наименование

    manufacturer : String - производитель

    price : Double - цена за единицу

    description - описание

    Все атрибуты имеют модификатор доступа - private

    Операции

    AddComponent() - добавление нового комплектующего изделия

    RemoveComponent() - удаление комплектующего изделия

    GetInfo() - получить информацию о комплектующем изделии

    Все операции имеют модификатор доступа - public

    Результат создания классов-сущностей показан на рисунке 1.



    Рисунок 1 - Классы-сущности и отношения между ними

    2. Создание пакетов для группировки классов, созданных в пункте 1.

    Добавим теперь на диаграмму граничные и управляющие классы. Рассматриваемый сценарий — это только одно из действий, которые обеспечивает прецедент «Оформить заказ». Прецедент также позволяет просмотреть, отредактировать или удалить заказ. Это означает, что необходимо предусмотреть механизм, который позволяет выбирать необходимое действие. Создадим для этого:

    • граничный класс OrderOptions (Параметры работы с заказом) - класс, обеспечивающий механизм работы с заказами

    • граничный класс AddNewOrder (Добавление нового заказа), который будет служить для добавления новых заказов

    • управляющий класс OrderManager (Менеджер по работе с заказами) - класс для обработки потока событий прецедента «Оформить заказ», который будет обеспечивать обработку потока событий для рассматриваемого прецедента.

    Пакеты предназначены для группировки элементов в группы по определенным критериям. Создадим три пакета: Entities (классы-сущности), Boundaries (граничные классы) и Control (управляющие классы).

    Группировать созданные классы будем следующим образом:

    • классы Client, Order, OrderItem и ComponentPart перенесем в пакет Entities;

    • классы OrderOptions и AddNewOrder перенесем в пакет Boundary;

    • класс OrderManager перенесем в пакет Control.

    3. Разработка главной диаграммы классов.

    Окончательный вариант диаграммы классов показан на рисунке 2.



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