Файл: Разработка регламента выполнения процесса «Транспортная доставка заказов» (Транспортная доставка заказов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 80

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Для нашей предметной области мы выделили следующих актеров:

Таблица 1 Актеры

Актер

Краткое описание

Оператор

Отвечает на звонок клиента и перенаправляет звонок соответствующему специалисту

Менеджер

Сотрудник, который занимается комплектацией заказов и проверкой выполнения доставки

Водитель

Сотрудник, который занимается доставкой заказов


Рассмотрим теперь, какие возможности должна предоставлять наша система[5]:

  • актер Оператор использует систему для приема и распределения звонков и управления информацией о клиентах предприятия;
  • актер Менеджер использует систему для определения просмотра перечня необходимых для клиента продуктов и ведения информации о снабжении;
  • актер Водитель использует систему для получения заданий на доставку заказов [1].

На основании вышеизложенного можно выделить следующие прецеденты:

Таблица 2 Прецеденты

Прецедент

Краткое описание

Прием звонка

Запускается оператором. Позволяет вносить, изменять, удалять или просматривать заявку.

Управление информацией о клиенте

Запускается оператором. Позволяет добавлять, изменять или удалять клиентов, а также просматривать информацию о клиентах.

Управление информацией о заказах

Запускается менеджером. Позволяет просматривать информацию о заказах, производить анализ их доставки, прогнозировать необходимое их количество.

Доставка

Запускается Водителем. Позволяет просматривать информацию о клиентах и времени доставки.

Оплата

Запускается Водителем. Позволяет просматривать информацию о клиентах и оплате доставки.

Рис.1 Диаграмма прецедентов

Поток событий для прецедентов главной диаграммы прецедентов
Потоки событий для прецедентов будем описывать по следующему шаблону:

  • Х.1 предусловия;
  • Х.2 главный поток;
  • Х.3 под-потоки;
  • Х.4 альтернативные потоки;
  • Х.5 постусловия.

где Х - число от единицы до количества прецедентов[6].

Поток событий для прецедента «Прием звонка».

    1. Предусловия.

Если поступает звонок от нового клиента, то под-поток добавить нового клиента (Add a New Client) прецедента Управление информацией о клиенте должен быть выполнен перед его началом.

    1. Главный поток.

Прецедент начинает выполняться, когда оператор подключается к системе и вводит свое имя и пароль. Система проверяет правильность пароля (Е-1) и выводит возможные варианты действий: выбрать специалиста, добавить (Add), изменить (Change), удалить (Delete), просмотреть (View) или выйти (Exit),.

    1. Под-потоки.

S-1: выбрать водителя

Система отображает диалоговое окно, содержащее поле, в котором оператор должен выбрать специалиста для решения проблемы клиента.

S-1: добавить новый заказ (Add a New Order)

Система отображает диалоговое окно, содержащее поля для заполнения Оператор заполняет поля (E-2). Система запоминает введенные данные и распечатывает счет для оплаты. Затем прецедент начинается сначала[6].

S-2: изменить заказ (Change Order)

Система отображает диалоговое окно, содержащее список заказов и поле для ввода номера заказа. Оператор выбирает необходимый заказ из списка или вводит номер заказа в поле (Е-3). Система отображает информацию о данном заказе. Оператор делает необходимые изменения (Е-2). Система запоминает введенные данные. Затем прецедент начинается сначала.

S-3: удалить заказ (Delete Order)

Система отображает диалоговое окно, содержащее список заказов и поле для ввода номера заказа. Оператор выбирает необходимый заказ из списка или вводит номер заказа в поле (Е-3). Система удаляет выбранный заказ (Е-4). Затем прецедент начинается сначала.

S-4: просмотреть заказ (View Order)

Система отображает диалоговое окно, содержащее список заказов и поле для ввода номера заказа. Оператор выбирает необходимый заказ из списка или вводит номер заказа в поле (Е-3). Система отображает информацию о выбранном заказе. Когда Оператор просмотрит информацию, прецедент начнется сначала.

Поток событий для прецедента «Управление информацией о клиенте».

2.1 Предусловия.

2.2 Главный поток.

Прецедент начинает выполняться, когда Оператор подключается к системе и вводит свое имя и пароль. Система проверяет правильность пароля (Е-1) и выводит возможные варианты действий: добавить (Add), изменить (Change), удалить (Delete), просмотреть (View) или выйти (Exit).

2.3 Под-потоки.

S-1: добавить нового клиента (Add a New Client)

Система отображает диалоговое окно, содержащее поля для ввода данных о новом клиенте. Пользователь заполняет поля (Е-2). Система запоминает введенные данные. Затем прецедент начинается сначала.


S-2: изменить данные о клиенте (Change Client Data)

Система отображает диалоговое окно, содержащее список клиентов и поле для ввода номера клиента. Оператор выбирает необходимого клиента из списка или вводит его номер в поле (Е-3). Система отображает информацию о данном клиенте. Оператор делает необходимые изменения (Е-2). Система запоминает введенные данные. Затем прецедент начинается сначала.

S-3: удалить клиента (Delete Client)

Система отображает диалоговое окно, содержащее список клиентов и поле для ввода номера клиента. Оператор выбирает необходимого клиента из списка или вводит его номер в поле (Е-2). Система удаляет выбранного клиента (Е-4). Затем прецедент начинается сначала.

S-4: просмотреть данные о клиенте (View Client Data)

Система отображает диалоговое окно, содержащее список клиентов и поле для ввода номера клиента. Оператор выбирает необходимого клиента из списка или вводит его номер в поле (Е-3). Система отображает информацию о выбранном клиенте. Когда Оператор просмотрит информацию, прецедент начнется сначала.

Поток событий для прецедента «Управление информацией о заказах.»

3.1 Предусловия.

3.2 Главный поток.

Прецедент начинает выполняться, когда менеджер подключается к системе и вводит свое имя и пароль. Система проверяет правильность пароля (Е-1) и выводит возможные варианты действий: добавить (Add), отметить (Mark) или выйти (Exit).

3.3 Под-потоки.

S-1: внести поступившие заказы (Add a New Components)

Система отображает диалоговое окно, содержащее поля для ввода наименования комплектующих, их количества, поставщика. Завскладом заполняет указанные поля (Е-2). Система запоминает введенные данные. Затем прецедент начинается сначала.

S-2: сделать отметку о комплектации заказа (Change Order)

Система отображает список блюд, приготовленных на кухне. Менеджер напротив нужных блюд вводит количество (Е-3). Система запоминает введенные данные. Затем прецедент начинается сначала[5].

Поток событий для прецедента «Доставка заказа».

4.1 Предусловия.

4.2 Главный поток.

Прецедент начинает выполняться, когда Водительподключается к системе и вводит свое имя и пароль. Система проверяет правильность пароля (Е-1) и выводит возможные варианты действий: просмотреть (View), отметить (Mark) или выйти (Exit).

4.3 Под-потоки.

S-1: Просмотреть наряд на доставку

Система отображает диалоговое окно, содержащее список нарядов и поле для ввода номера наряда. Водитель выбирает необходимый наряд из списка или вводит его номер в поле (Е-2). Система отображает информацию о выбранном наряде. Когда водительр просмотрит информацию, прецедент начнется сначала[6].


S-2: сделать отметку о доставке заказа

Система отображает диалоговое окно, содержащее список нарядов. Возле необходимого заказа водитель делает отметку о доставке по данному наряду. Затем сохраняет изменения. Затем прецедент начинается сначала.

Создание диаграммы классов

Создание диаграммы классов для сценария "Выполнить доставку заказа" прецедента "Доставка заказов"
Создадим классы-сущности Заказ, Клиент, Водитель. Поскольку в один заказ может входить много разных блюд, и одно блюдо может входить во много заказов, то введем еще один класс-сущность Строка заказа. Опишем каждый класс[7].

Таблица 3 Класс Клиент

Параметр

Значение

Комментарий

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

Атрибуты

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

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

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

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

Операции

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

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

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

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

Таблица 4 Класс Водитель

Параметр

Значение

Комментарий

Класс, представляющий собой водителя

Атрибуты

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

address : String - адрес водителя

phone : String - телефон водителя

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

Операции

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

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

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

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

Таблица 5. Класс Заказ:

Параметр

Значение

Комментарий

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

Атрибуты

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

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

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

idМaster водитель, выполняющий заказ

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

Операции

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

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

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

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

Таблица 6 Класс СтрокаЗаказа

Параметр

Значение

Комментарий

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

Атрибуты

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

quantity : Integer - количество блюд

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

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

Операции

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

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

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

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


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

Рисунок 3. Созданные классы-сущности

Добавим отношения между классами (рис. 4):

Рисунок 4. Итоговая диаграмма классов

Диаграммы состояний

Диаграммы состояний применяются, как правило, для моделирования поведения классов, прецедентов или системы в целом.

Составим диаграмму состояний для класса Заказ, поскольку в нашей модели он наиболее часто будет менять свое состояние. Заказ может находится в нескольких состояния:

  • присоздании заказа он переходит в состояние Инициализация, в котором выполняются некоторые предварительные действия;
  • после завершения инициализации заказ переходит в состояние Открыт, в котором к заказу добавляются новые пункты. Выход из этого состояния возможен или в случае отмены заказа, или в случае заполненния всех необходимых пунктов заказа;
  • если заполнены все необходимые пункты заказа, то он переходит в состояние Закрыт, в котором происходит выписка счета. Выход из этого состояния произойдет только после того, как счет будет выписан;
  • если заказ отменен, то из состояния Открыт он переходит в состояние Отменен. При выходе из этого состояния происходит удаление всех пунктов заказа.

Диаграмма состояний для класса Entry представлена на рис.5:

Рисунок 5. Диаграмма состояний для класса Заказ

Первым состоянием на диаграмме состояний является начальное состояние. При выполнении события "заказ создан" заказ переходит в состояние Инициализация. При входе в это состояние выполняется входное действие "Сохранить дату заказа". Основное действие, которое будет выполняться в течении всего времени, пока заказ будет находится в этом состоянии, это "Внести информацию о клиенте". Переход из этого состояния в состояние Открыт произойдет только при выполнении сторожевого условия "инициализация завершена".

В состоянии Открыт имеется выходное действие и переход в себя. Переход в себя означает, что событие инициирует переход, происходит выход из текущего состояния, выполняется некоторое действие, после чего происходит возврат в исходное состояние. Поскольку при переходе в себя происходит выход из состояния и повторный вход в него же, то выполняется действие, ассоциированное с переходом, и, кроме того, действие при входе в состояние. В состоянии Открыт к заказу добавляются новые пункты, причем их можно добавить только в том случае, если есть незаполненные пункты. В состоянии Закрыт присутствует только внутреннее действие - "Выписать счет". В это состояние заказ переходит из состояния Открыт только при выполнении сторожевого условия "заполнены все позиции заказа". Выход из этого состояния и переход в конечное произойдет при наступлении события "счет выписан".