ИСПОЛЬЗУЙТЕ кейс для диаграммы классов - Как мне это сделать? - PullRequest
13 голосов
/ 12 марта 2010

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

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

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

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

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

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

ДИАГРАММА ИСПОЛЬЗОВАНИЯ СЛУЧАЯ

alt text

ИСПОЛЬЗОВАНИЕ объяснения случая:

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

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

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

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

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

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

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

ДИАГРАММА КЛАССА

alt text

Ответы [ 4 ]

11 голосов
/ 12 марта 2010

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

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

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

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

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

class diagram

1 голос
/ 12 марта 2010

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

0 голосов
/ 14 декабря 2015

enter image description here

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

...