Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2015UML07

.pdf
Скачиваний:
4
Добавлен:
14.04.2015
Размер:
1.02 Mб
Скачать

POS-система

Словарь (концептуальные классы) предметной области— это набор основных понятий (сущностей) данной предметной области.

Транзакции. Эти классы особенно критичны, поскольку зачастую описывают финансовые операции, поэтому процесс выделения концептуальных классов следует начать именно с них.

Sale (Продажа), Payment (Платеж)

Элементы транзакций. Транзакции зачастую состоят из элементов.

SalesLineltem (Элемент продажи)

Товары или службы, связанные с транзакциями или их элементами. Транзакции выполняются над некоторыми элементами (товарами или службами)

Item (Элемент)

POS-система

Места записи транзакций.

Register (Реестр)

Каталоги

ProductCatalog (Каталог товаров)

Контейнеры других объектов (физических или информационных)

Store (Магазин)

Содержимое контейнеров

Item (Элемент)

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

CreditAuthorizationSystem (Система авторизации кредитных платежей)

Записи финансовой, трудовой, юридической и другой деятельности

Receipt (Чек), Ledger (Гроссбух), MaintenanceLog (Журнал обслуживания)

POS-система

Роли людей или организации, связанные с транзакциями. Исполнители прецедентов. Необходимо знать, кто участвует в транзакции

Cashier (Кассир), Customer (Покупатель), Store (Магазин)

Места транзакций

Store (Магазин)

Важные события, для которых необходимо хранить время и место

Sale (Продажа), Payment (Платеж),

Описания объектов

ProductDescription (Спецификация товара)

Руководства, документы, статьи, книги, на которые ссылаются в процессе работы.

DailyPriceChangeList (Бюллетень ежедневного изменения цен).

Идентификация классов

Один полезный (и очень простой) прием идентификации концептуальных классов на основе лингвистического анализа.

Он состоит в выделении существительных из текстовых описаний предметной области и их выборе в качестве кандидатов в концептуальные классы или атрибуты.

Рассмотрите внимательно текст технического задания (или иного документа, лежащего в основе проекта) и выделите в содержательной части имена существительные — все они являются кандидатами на то, чтобы быть названиями классов (или атрибутов классов) проектируемой системы. Разумеется, после этой простой операции к полученному списку нужно применить фильтр здравого смысла и опыта, отсекая ненужное.

POS-система

Основной успешный сценарий (или основной процесс)

1.Покупатель подходит к кассовому аппарату POS-системы с выбранными товарами.

2.Кассир открывает новую продажу.

3.Кассир вводит идентификатор товара.

4.Система записывает наименование товара и выдает его описание, цену и общую стоимость. Цена вычисляется на основе набора правил. Кассир повторяет действия, описанные в пп. 3-4 для каждого наименования товара.

5.Система вычисляет общую стоимость покупки с налогом.

6.Кассир сообщает покупателю общую стоимость и предлагает оплатить покупку.

7.Покупатель оплачивает покупку, система обрабатывает платеж.

8.Система регистрирует продажу и отправляет информацию о ней внешней бухгалтерской системе (для обновления бухгалтерских документов и начисления

комиссионных) и системе складского учета (для обновления данных).

9.Система выдает товарный чек.

10.Покупатель покидает магазин с чеком и товарами (если он что-то купил).

Идентификация классов

Рассмотрим пример. Типа ТЗ:

Информационная система «Отдел кадров» (сокращенно ОК) предназначена для ввода, хранения и обработки информации о сотрудниках и движении кадров. Система должна обеспечивать выполнение следующих основных функций:

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

Создание и ликвидация подразделений.

Создание вакансий и сокращение должностей.

Идентификация классов

Выпишем существительные в том порядке, как они встречаются, но без повторений: прием; перевод; увольнение; сотрудник; создание; ликвидация; подразделение; вакансия; сокращение; должность.

Заметим, что некоторые их этих слов по сути являются названиями действий (и по форме являются отглагольными существительными).

Отбросим замаскированные глаголы. Таким образом, остается список из четырех элементов: сотрудник; подразделение; вакансия; должность.

При этом вакансия — это должность в особом состоянии.

Таким образом, это слово в списке лишнее и у нас остались три кандидата, которые мы оставляем в словаре (и заодно присваиваем им английские идентификаторы).

Сотрудник (Person);

Подразделение (Department);

Должность (Position).

Идентификация классов

Образец проектирования — это стандартное решение типичной задачи в конкретном контексте.

Синтаксически образец в UML является кооперацией, роли объектов в которой рассматриваются как параметры, а аргументами являются конкретные классы модели.

Идентификация классов

Возможно, наиболее типичной ошибкой при создании модели предметной области является причисление некоторого объекта к атрибутам, в то время как он должен относиться к концептуальным классам.

Чтобы избежать этой ошибки, следует придерживаться простого правила: если некоторый объект X в реальном мире не является числом или текстом, значит, это скорее концептуальный класс, чем атрибут.

Например, является ли store (магазин) атрибутом объекта Sale (Продажа) или отдельным концептуальным классом Store?

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

Лабораторная работа 2

Часть 1

Идентификация классов.

Построить диаграмму классов (только имена). Типы связей – только ассоциация и обобщение.

Определить структуру хранимых данных.

Построить диаграмму классов (имена и атрибуты). Типы связей – только ассоциация (агрегация и композиция)и обобщение.

В отчет нужно включить диаграммы, по которым идентифицировались классы. А также 2 (две) диаграммы классов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]