Схема варианта использования бронирования отелей

Я разрабатываю диаграмму вариантов использования для HRMS (системы управления бронированием отелей). Я постарался правильно уловить все требования. Но я в замешательстве, так как я провел небольшое исследование и прочитал в этом вопросе, что если ваша диаграмма выглядит как паутина, вероятно, конструкция сломана.

Схема варианта использования бронирования отелей

Мой дизайн сломан или требования (см. ниже) достаточно отражены? В частности, нужно ли расширять Инвентарь или включать его в резервирование?

Вот требования, которые я перевел в варианты использования и актеров:

  • Модуль регистрации гостей для сбора информации о гостях.
  • Модуль заезда/выезда
  • Модуль управления помещениями
  • Интеграция с резервированием,
  • выставление счетов Модуль отчетов и инвентаризации
  • Управление пользователями

Управлять, управлять, управлять.... Может быть, у вас просто есть один UC «Управление HRMS»? Какова реальная добавленная стоимость??

qwerty_so 11.04.2024 09:34
В PHP
В PHP
В большой кодовой базе с множеством различных компонентов классы, функции и константы могут иметь одинаковые имена. Это может привести к путанице и...
Принцип подстановки Лискова
Принцип подстановки Лискова
Принцип подстановки Лискова (LSP) - это принцип объектно-ориентированного программирования, который гласит, что объекты суперкласса должны иметь...
3
1
198
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Поскольку у меня нет под рукой менеджера отеля, я не могу подтвердить, является ли эта информация полной и актуальной. Но в целом выглядит нормально. Некоторые подсказки:

  • избегайте стрелок в ассоциациях UC/актёр: это устаревшее обозначение.
  • если выезд происходит во время пребывания на родине, есть вероятность, что этот UC также включает платежи.
  • другой вопрос в актерах: действительно ли все ассоциации связаны с актерской ролью? Например, играет ли менеджер особую роль при управлении гостями? Или у менеджера помимо роли менеджера есть еще и роль агента на стойке регистрации? В этом случае вы могли бы упростить, используя обобщение между актерами и показывая только прямые ассоциации, а не косвенные, которые возникают через наследование.

Другие вопросы по теме

На диаграмме UML, на диаграмме классов, что означает стереотип <<составной>>?
Почему я получаю синтаксическую ошибку plantUML с диаграммой состояний в пакете?
Система или внешняя система как действующее лицо в варианте использования?
Можем ли мы заставить интерфейс создавать объекты другого интерфейса в диаграммах классов UML?
Как смоделировать отношения между двумя классами, связанными одним и тем же атрибутом в диаграммах классов UML?
Как я могу представить диаграмму последовательности, имеющую вложенную альтернативу в конечном автомате?
Я пытаюсь нарисовать диаграмму UML для своего кода, но не могу найти хороших примеров. Подходит ли эта диаграмма для моего кода?
Какая диаграмма классов UML более точна для атрибутов класса Kotlin?
Как представить массив в диаграмме классов UML для Kotlin: Int[] или Array<Int>?
Верна ли диаграмма последовательности UML с двумя активациями вместо одной?