ИСПОЛЬЗОВАТЬ случай к диаграмме классов - Как мне?

Я бы хотел, чтобы ваше руководство о том, как правильно создавать классы и их отношения (обобщение, ассоциация, агрегация и состав), из диаграммы, приведенной в приложении USE (см. ниже).

Я пытаюсь создать эту диаграмму классов, чтобы я мог использовать ее для создания простого онлайн-приложения PHP, которое позволяет пользователю регистрировать учетную запись, логин и выход из системы, а также хранить, искать и извлекать данные из базы данных MySQL.

Правильно ли мои классы? Или мне нужно создать больше классов? И если да, то какие классы отсутствуют? Какие отношения следует использовать при подключении пользователей к регистрам, входам, выходам, search_database и add_to_database?

Я новичок в разработке шаблонов и диаграмм классов UML, но из моего понимания отношение ассоциации связывает один объект с другим объектом; отношение агрегации - это особый вид ассоциации, который позволяет "части" принадлежать более чем одному "целому" (например, кредитная карта и ее ПИН-код - класс ПИН-кода также может использоваться в классе дебетовой карты); а составная связь представляет собой особую форму агрегации, которая позволяет каждой части принадлежать только одному целому за раз.

Мне кажется, что я упустил некоторые классы или что-то еще, потому что просто не могу найти отношения из моего понимания отношений.

Любая помощь будет действительно оценена. Спасибо заранее.

ИСПОЛЬЗУЙТЕ СЛУЧАЯ СЛУЧАЙ

alt text

ИСПОЛЬЗОВАНИЕ case:

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

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

База данных поиска Любые пользователи смогут вводить строку поиска типа datatype, и система откроет базу данных, выполнит поиск ключа поиска и вернет true или false в зависимости от того, был ли найден ключ поиска и закрыта база данных.

Добавить данные в базу данных Все пользователи смогут вводить некоторые данные, система откроет базу данных, сохранит данные, вернет true или false в зависимости от того, были ли сохранены данные или закрыта база данных.

Выход Пользователь нажмет кнопку выхода из системы, и система выйдет из системы пользователя

Удалить из базы данных Только администратор может удалить данные из базы данных.

Удалить обычных пользователей Только администратор может удалить обычного пользователя

СХЕМА КЛАССА

alt text

Ответ 1

Во-первых, если вы решите пойти по пути моделирования, тогда я бы порекомендовал книгу Розенберга и Стивенса, Использовать моделирование управляемого объекта с помощью UML. Это происходит через процесс, который вы описываете: как писать хорошие примеры использования, строить диаграммы классов из них, строить диаграммы последовательности из этого и (ta-da!) Кодировать его в рабочем программном обеспечении. Возможно, вы сможете использовать Google для процесса ICONIX и найти информацию в Интернете.

Некоторые случайные комментарии:

  • "Диаграмма" любой диаграммы примеров использования - наименее полезный аспект использования. Каждый овал на диаграмме представляет собой абзац или два текста, рассказывающих историю происходящего. Это тот текст, который действительно полезен.
  • Обычно у вас есть классы для существительных в ваших случаях использования и методы для глаголов. Некоторые из ваших глаголов (Add_data_to_database, Logout,...) являются классами вместо методов.
    • Иногда вы получаете такие вещи, если используете фреймворк, который поощряет шаблон команды. Даже тогда объекты команды могут/должны просто запускать методы на ваших реальных классах.
    • Я бы сказал, что вам не хватает некоторых существительных (какой тип данных хранится в базе данных?). Если бы у вас было это, вы могли бы найти отношения между User и этими классами данных.

Ответ 2

Кажется, что нет проблемы с диаграммой UC.

Я согласен с комментарием от Дейва. Кроме того, я также хочу показать вам мою идею составить соответствующую диаграмму классов для такой диаграммы UC. (Показан только основной пункт.)

class diagram

Ответ 3

Почему бы не скачать EssWork. Esswork является открытым исходным кодом, и это гибкая практика, основанная Ивар Якобсон Инт, парнем, который создал примеры использования... их практика там называется практикой использования Essential Use, она описывает, как вы принимаете требование до классов...

Ответ 4

enter image description here

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