Приложение-пример
Приложение-пример, используемое в этом пособии, называется Sports2000 и предназначено для компаний, реализующих спортивные товары. С помощью этого приложения спортивные товары могут быть заказаны покупателями самостоятельно посредством процесса автоматического заказа или через представителей службы по работе с клиентами, а также через торговых представителей. Sports2000 имеет функции для учёта хранимых товаров, доставки товаров клиентам и обработки клиентских счетов. Приложение может взаимодействовать с поставщиками для пополнения запасов на складе. С его помощью можно управлять информацией о сотрудниках, включая контроль и учёт рабочего времени.
Это пособие сфокусировано на разработке приложений, а не на проектировании баз данных. Поэтому вы будет использовать существующую базу данных Sports2000, предназначенную для целей изучения и тестирования, которая поставляется вместе с Progress OpenEdge.
На практических занятиях вы будете практиковаться в написании и тестировании ABL-кода для компонент OERA, которые поддерживают следующие, реализуемые продавцами или представителями службы по работе с клиентами, варианты использования:
- Просмотр данных клиента и его заказов.
- Просмотр конкретного заказа и связанных с ним клиентских данных.
- Изменение клиентских данных или заказа.
- Добавление нового клиента.
Действующие лица
Для определения требований к приложению необходимо идентифицировать действующих лиц и то, как они будут использовать приложение. Это поможет нам определить какие части приложения должны быть клиентскими, а какие серверными. В первую очередь необходимо идентифицировать действующие лица, а затем определить варианты использования ими приложения. В нашем случае действующими лицами являются пользователи и системы, которые будут работать с приложением. Давайте разберёмся, «кто есть, кто»?
Пользователи
Для взаимодействия с приложением Sports2000 пользователям необходим интерфейс. Пользовательские интерфейсы могут быть представлены в виде Windows-форм, веб-браузера или мобильного приложения.
Пользователями приложения являются:
- Клиенты
- Представители службы по работе с клиентами
- Торговые представители
- Кладовщики
- Бухгалтеры
- Сотрудники отдела кадров
Сотрудники компании могут получать доступ к приложению, используя любой из пользовательских интерфейсов, в то время как клиенты будут взаимодействовать с приложением только через веб-браузер или мобильный интерфейс.
На практических занятиях вы создадите программный код серверной части приложения, который будет поддерживать работу представителей службы по работе с клиентами и торговых представителей используя интерфейс на основе форм Windows, и который должен реализовывать следующие варианты использования:
- Поиск клиента
- Поиск заказа
- Изменение клиента или заказа
- Добавление клиента
Поскольку создаваемый код будет проектироваться с использованием принципов OERA, то он обеспечит поддержку интерфейсов на основе веб-браузера и мобильного устройства.
Системы
Системы – это отдельные приложения, которые могут быть внутренними или внешними по отношению к компании. Системы требуют наличия согласованного интерфейса для участия в вариантах использования приложения.
Приложение Sports2000 взаимодействует со следующими системами:
- Система заказов.
- Финансовая система.
- Складская система.
- Система доставки и отслеживания.
- Система начисления заработной платы.
- Система снабжения.
Большинство систем, которые получают доступ к ABL-приложению, делают это при помощи стандартизированных интерфейсов, которые используют REST, SOAP, ESB или JMS.
Возможными вариантами взаимодействия систем с ABL-приложением могут быть:
- Приём оплаты за товар.
- Отправка счёта клиенту.
- Изменение счёта
В этом пособии вы не будете работать с системами, но серверная часть кода, которую вы создадите, может быть ими использована для участия в вариантах использования приложения Sports2000.
Идентификация бизнес-сущностей
После определения вариантов использования для приложения, необходимо определить бизнес-сущности (Business Entities), которые оно будет использовать.
Бизнес-сущность – это бизнес-логика приложения, которая исполняется на сервере приложений.
Бизнес-сущности представляют собой такие объекты как покупатель или счёт, к которым получают доступ Клиенты. Хорошей отправной точкой для идентификации бизнес-сущностей будет рассмотрение каждого действующего лица и объекта в ваших вариантах использования как бизнес-сущность. По мере разработки приложения вы вероятно обнаружите, что некоторые бизнес-сущности могут быть использованы в разных частях вашего приложения.
Бизнес-сущности могут содержать другие бизнес-сущности. Например, бизнес-сущность «торговые представители» может содержать бизнес-сущность «покупатель».
Действующее лицо:
- представляет человека или систему;
- взаимодействует с приложением (поведение);
- имеет уникальный идентификатор и свойства (данные);
- может представлять человека или систему как внутри, так и за пределами компании.
Объект:
- представляет что-то, чем манипулируют действующие лица;
- имеет уникальный идентификатор и свойства (данные);
- имеет определённое поведение, которое используется для моделирования вариантов использования.
Представим некоторые бизнес-сущности для приложения Sports2000. Существуют бизнес-сущности для действующих лиц (пользователи и системы) и бизнес-сущности для объектов. В приложении Sports2000 бизнес-сущности используются для отображения данных в пользовательском интерфейсе (клиентская часть) и для реализации бизнес-логики приложения (серверная часть).
Например, бизнес-сущность «customer» поддерживает доступ к данным одного клиента и связанных с ним заказов или доступ к данным некоторого набора клиентов и связанных с ними заказами. Бизнес-сущность «sales representative» поддерживает доступ к данным и задачам для торговых представителей. Кроме того, бизнес-сущность «sales representative» может содержать бизнес-сущность «customer», чтобы иметь доступ к данным клиентов и их заказам.
На следующих уроках вы научитесь создавать бизнес-сущности используя процедуры и классы на языке ABL.
Объекты:
Customer; Invoice; Warehouse; Employee.
|
Действующие лица:
Представители службы по работе с клиентами; Торговые представители; Система заказов; Финансовая система.
|