OpenU.Ru
Стратегия №13. "Выбор актеров". |
Выбор обобщенных объектов модели. |
Определение актеров, которые действуют как обобщенные активные участники системы (актер: человек, организация и т. п.). |
Для нашей системы актеры: человек.
Стратегия №14. "Выбор участников". |
Определение объектов модели, связанных с ролями актеров. |
Выделите участников системы, т.е. те роли актеров, которые необходимо учесть в моделируемой системе (роли могут быть: человек - служащий, клиент, покупатель, агент, директор, кладовщик и т.д.; операция - поставщик, потребитель, посредник, банк, филиал и так далее). |
Для нашей системы участники: покупатель (активный участник), кассир (активный участник), главный кассир (активный участник).
Стратегия №68. "Частично применимые атрибуты". |
Определение обязанностей: "Что я знаю?". |
Класс: главный кассир не попадает под стратегию №68.
Стратегия №121. "Частично применимые службы". |
Определение обязанностей: "Что я делаю". |
Выделите определенный класс, если:
|
Главный кассир не подходит под стратегию №121, т.о. он не будет являться классом нашей системы.
Стратегия №47. "Идентификация". |
Определение обязанностей "Способ узнать". |
Поместите класс в пакет NT, если нет способа узнать данные конкретного экземпляра этого класса. |
Участник: покупатель подходит под эту стратегию, т.о. он не будет классом системы. Т.о. кассир - единственный остается победителем.
Получаем:
Стратегия №38. "Словарь области". |
Выбор названий. |
|
Стратегия №15. "Выбор мест". |
Выбор объектов. |
Найдите места расположения вещей и других объектов системы (места: населенный пункт, район, склад, полка, секция, этаж, железнодорожные станции и т.д.). |
Места для нашей системы: магазин; отдел; полка; склад; рабочее место.
Стратегия №42. "Обязанности системы". |
Выбор объектов. |
Задайте вопрос: обязана ли система что-то знать об этом объекте или что-то с ним делать; если нет, то поместите его в NT. |
Магазин - надо;
ОтделNT;
ПолкаNT;
СкладNT;
Рабочее местоNT.
Стратегия №22. "Выбор контейнера объектов". |
Выбор объектов. |
Используйте объект, который является контейнером для других объектов. |
! Магазин обязательно оставляем.
Стратегия №34. "Выбор видов объектов". |
Выбор объектов. |
Применяйте метод "обобщение специализации" (класс - подкласс, суперкласс - подкласс) для определения классов. Примеры: товар вообще - конкретные виды товаров; участник - виды участников. |
Магазин - не обобщение; магазин - не специализация. Магазин не подходит под стратегию №34.
Получаем:
Стратегия №16. "Выбор реальных вещей". |
Выбор объектов. |
|
Реальные вещи нашей системы: экземпляр товара; деньги и кредитные карточки; терминал; ящик для денег.
По стратегии №47 деньги отправляем в NT. Как класс кредитная карточка обладает соответствующими свойствами, но для предметной области у нее нет ни атрибутов, ни служб. Терминал оставляем, он будет классом, т.к. он будет регистрировать начало и конец сеанса работы с кассиром. Пока ящик оставляем, т.к. он содержит информацию о наличных, накопленных за сеанс работы. Попробуем применить стратегию №34 к товару. Можно выделить следующие виды товаров:
У этих видов товаров нет ни атрибутов, ни служб (в рамках нашей системы), не применимых к товару вообще (штрих-код, название, цена - присущи всем товарам).
Стратегия №17. "Выбор транзакций". |
Выбор объектов. |
Найдите транзакции - запомненные события (события, о которых система все должна помнить). Транзакция - момент времени или временной интервал, например, покупка, продажа, отгрузка, прием товара; интервал, например, прокат, аренда, выполнение плана. Замечание1. Почти все транзакции состоят из экземпляров строк транзакции (транзакция почти всегда составной объект; состоящий из нескольких маленьких объектов), например, продажа- строки в чеке или в счете по каждому товару. Замечание2. Возможные источники транзакции: самый типичный - окно (зарегистрированное событие основано на взаимодействии с человеком в некоторый момент времени); еще может быть: объект, отслеживающий события и регистрирующий их; другая система, с которой мы взаимодействуем. |
Транзакции для нашей системы: продажа (транзакция возврата), оплата, сеанс работы кассира.
Транзакции: продажа и возврат отличаются только знаком (значением атрибута); класс-продажа будет для них общим.
Образец №6. "Транзакция, Строка Транзакции". |
![]() |
В программировании это называется наследованием.
Образец №2. "Обобщение - специализация, актер - участник". |
![]() |
Образец №3. "Участник - транзакция". |
![]() |
Образец №4. "Место - транзакция". |
![]() |
Образец №7. "Транзакция - следующая транзакция". |
![]() |
Образец №14. "Контейнер - содержимое". |
![]() |