Открытая коллекция знаний

OpenU.Ru

Объектно-ориентированное проектирование информационных систем




Глава 2. Выбор объектов предметной области.





    Виды объектов предметной области:
  1. актеры и участники;
  2. места;
  3. вещи.

2.1. Выбор актеров и участников.

   

Стратегия №13. "Выбор актеров".
Выбор обобщенных объектов модели.
Определение актеров, которые действуют как обобщенные активные участники системы (актер: человек, организация и т. п.).

Для нашей системы актеры: человек.

Стратегия №14. "Выбор участников".
Определение объектов модели, связанных с ролями актеров.
Выделите участников системы, т.е. те роли актеров, которые необходимо учесть в моделируемой системе (роли могут быть: человек - служащий, клиент, покупатель, агент, директор, кладовщик и т.д.; операция - поставщик, потребитель, посредник, банк, филиал и так далее).

Для нашей системы участники: покупатель (активный участник), кассир (активный участник), главный кассир (активный участник).

Стратегия №68. "Частично применимые атрибуты".
Определение обязанностей: "Что я знаю?".
    Выделите определенный класс, если:
  • имеется атрибут, который относится только к некоторым экземплярам класса;
  • имеется атрибут, который не применим к некоторым экземплярам класса.

Класс: главный кассир не попадает под стратегию №68.

Стратегия №121. "Частично применимые службы".
Определение обязанностей: "Что я делаю".

Выделите определенный класс, если:

  • имеется служба, применимая только к некоторым экземплярам класса;
  • имеется служба, которая действует в зависимости от типа данного объекта.

Главный кассир не подходит под стратегию №121, т.о. он не будет являться классом нашей системы.

Стратегия №47. "Идентификация".
Определение обязанностей "Способ узнать".
Поместите класс в пакет NT, если нет способа узнать данные конкретного экземпляра этого класса.

Участник: покупатель подходит под эту стратегию, т.о. он не будет классом системы. Т.о. кассир - единственный остается победителем.

Получаем:

Стратегия №38. "Словарь области".
Выбор названий.
  • используйте словарь области;
  • попросите экспертов предметной области назвать предметы профессиональными терминами;
  • используйте как можно более полные имена.

2.2. Выбор мест.

    
Стратегия №15. "Выбор мест".
Выбор объектов.
Найдите места расположения вещей и других объектов системы (места: населенный пункт, район, склад, полка, секция, этаж, железнодорожные станции и т.д.).

Места для нашей системы: магазин; отдел; полка; склад; рабочее место.

Стратегия №42. "Обязанности системы".
Выбор объектов.
Задайте вопрос: обязана ли система что-то знать об этом объекте или что-то с ним делать; если нет, то поместите его в NT.

Магазин - надо;

ОтделNT;

ПолкаNT;

СкладNT;

Рабочее местоNT.

Стратегия №22. "Выбор контейнера объектов".
Выбор объектов.
Используйте объект, который является контейнером для других объектов.

! Магазин обязательно оставляем.

Стратегия №34. "Выбор видов объектов".
Выбор объектов.
Применяйте метод "обобщение специализации" (класс - подкласс, суперкласс - подкласс) для определения классов. Примеры: товар вообще - конкретные виды товаров; участник - виды участников.

Магазин - не обобщение; магазин - не специализация. Магазин не подходит под стратегию №34.

Получаем:



2.3.Выбор вещей.

Стратегия №16. "Выбор реальных вещей".
Выбор объектов.
  • определите реальные вещи, используемые в данной предметной области;
  • определите реальные бизнес - процессы данной предметной области. Примеры: события; процедуры.

Реальные вещи нашей системы: экземпляр товара; деньги и кредитные карточки; терминал; ящик для денег.

По стратегии №47 деньги отправляем в NT. Как класс кредитная карточка обладает соответствующими свойствами, но для предметной области у нее нет ни атрибутов, ни служб. Терминал оставляем, он будет классом, т.к. он будет регистрировать начало и конец сеанса работы с кассиром. Пока ящик оставляем, т.к. он содержит информацию о наличных, накопленных за сеанс работы. Попробуем применить стратегию №34 к товару. Можно выделить следующие виды товаров:

  • по типу товара (сантехника, автомобиль);
  • продукт или промышленный товар;
  • по наименованию (хлеб бородинский; винт 10мм).

У этих видов товаров нет ни атрибутов, ни служб (в рамках нашей системы), не применимых к товару вообще (штрих-код, название, цена - присущи всем товарам).

2.4. Транзакции как вещи.

Стратегия №17. "Выбор транзакций".
Выбор объектов.

Найдите транзакции - запомненные события (события, о которых система все должна помнить).

Транзакция - момент времени или временной интервал, например, покупка, продажа, отгрузка, прием товара;

интервал, например, прокат, аренда, выполнение плана.

Замечание1.

Почти все транзакции состоят из экземпляров строк транзакции (транзакция почти всегда составной объект; состоящий из нескольких маленьких объектов), например, продажа- строки в чеке или в счете по каждому товару.

Замечание2.

Возможные источники транзакции: самый типичный - окно (зарегистрированное событие основано на взаимодействии с человеком в некоторый момент времени); еще может быть: объект, отслеживающий события и регистрирующий их;

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

Транзакции для нашей системы: продажа (транзакция возврата), оплата, сеанс работы кассира.

Транзакции: продажа и возврат отличаются только знаком (значением атрибута); класс-продажа будет для них общим.



Образец №6. "Транзакция, Строка Транзакции".

В программировании это называется наследованием.

Образец №2. "Обобщение - специализация, актер - участник".


Образец №3. "Участник - транзакция".

(Участник знает о транзакции).



Место - транзакция.

Образец №4. "Место - транзакция".


Транзакция - следующая транзакция.

Образец №7. "Транзакция - следующая транзакция".



Контейнер - содержимое.

Образец №14. "Контейнер - содержимое".









Содержание