web-dev-qa-db-fra.com

USE case to Class Diagram - Comment puis-je?

Je voudrais vos conseils sur la façon de créer des classes et leurs relations (généralisation, association, agrégation et composition) avec précision à partir de mon diagramme de cas USE (voir ci-dessous).

J'essaie de créer ce diagramme de classes afin de pouvoir l'utiliser pour créer une simple application en ligne PHP permettant à l'utilisateur d'enregistrer un compte, de se connecter et de se déconnecter, et de stocker, rechercher et récupérer des données à partir d'une base de données MySQL .

Mes cours sont-ils corrects? Ou devrais-je créer plus de classes? Et si oui, quelles classes manquent? Quelles relations dois-je utiliser lors de la connexion du registre, de la connexion, de la déconnexion, de search_database et de add_to_database aux utilisateurs?

Je suis novice en matière de modèles de conception et de diagrammes de classes UML mais, à ma connaissance, la relation d’association relie un objet à un autre. la relation d'agrégation est un type particulier d'association qui permet à "une partie" d'appartenir à plusieurs "entiers" (par exemple, une carte de crédit et son PIN - la classe PIN peut également être utilisé dans une classe de carte de débit); et une relation de composition est une forme particulière d'agrégation qui permet à chaque partie de n'appartenir qu'à un tout à la fois.

J'ai l'impression d'avoir laissé de côté certains cours ou quelque chose parce que je n'arrive pas à trouver les relations à partir de ma compréhension des relations.

Toute aide sera vraiment appréciée. Merci d'avance.

UTILISER LE DIAGRAMME DE CAS

 alt text

USE cas explication:

S'inscrire Tout utilisateur peut créer un compte en s’inscrivant. Le système validera le nom d'utilisateur et le mot de passe et les rejettera s'ils sont manquants ou si le nom d'utilisateur est déjà utilisé.

Login Tous les utilisateurs ne peuvent se connecter que s'ils sont déjà enregistrés. Leur nom d'utilisateur et leur mot de passe seront validés de la même manière que lors de l'enregistrement d'un compte.

Recherche dans la base de données Tous les utilisateurs pourront saisir une clé de recherche dans le type de données. Le système ouvrira la base de données, recherchera la clé de recherche et renverra true ou false selon que la clé de recherche aura été trouvée ou non, et fermera le base de données.

Ajouter des données à la base de données Tous les utilisateurs pourront saisir des données, le système ouvrira la base de données, les stockera, renverra true ou false selon que les données ont été stockées ou non, et fermera la base de données.

Déconnexion L'utilisateur appuiera sur le bouton de déconnexion et le système déconnectera l'utilisateur.

Supprimer de la base de données Seul l'administrateur peut supprimer des données de la base de données.

Supprimer les utilisateurs réguliers Seul l'administrateur peut supprimer un utilisateur régulier

DIAGRAMME DE CLASSE

 alt text

13
Anthony

Premièrement, si vous êtes déterminé à suivre un chemin de modélisation, je vous recommanderais un livre de Rosenberg et Stephens, Utiliser la modélisation d’objet piloté par les cas avec UML . Cela décrit exactement ce que vous décrivez: comment écrire de bons cas d’utilisation, construire des diagrammes de classes à partir de ceux-ci, construire des diagrammes de séquence à partir de cela, et (ta-da!) Le coder dans un logiciel opérationnel. Vous pourrez peut-être utiliser Google pour le processus ICONIX et trouver des détails en ligne.

Quelques commentaires occasionnels:

  • Le "diagramme" de tout diagramme de cas d'utilisation est l'aspect minime utile des cas d'utilisation. Chaque ovale sur le diagramme représente un paragraphe ou deux de texte racontant ce qui se passe. C'est ce texte qui est vraiment utile.
  • Habituellement, vous avez des classes pour les noms dans vos cas d'utilisation et des méthodes pour les verbes. Certains de vos verbes (Add_data_to_database, Logout, ...) sont des classes au lieu de méthodes.
    • Parfois, vous obtenez ce genre de chose si vous utilisez un framework qui encourage un modèle de commande. Même dans ce cas, les objets de commande peuvent/devraient simplement appeler des méthodes sur vos classes réelles. 
    • Je dirais qu'il vous manque des noms (quel type de données stockez-vous dans la base de données?). Si vous aviez cela, alors vous trouveriez des relations entre les User et ces classes de données.
11
leedm777

Il semble que le diagramme UC ne pose pas de problème.

Je suis d'accord avec le commentaire de Dave. A côté de cela, je veux aussi vous montrer mon idée de faire le diagramme de classes correspondant à un tel diagramme UC. (Juste le point principal montré.)

class diagram

2
Tin

Pourquoi ne pas télécharger EssWork. Esswork est opensource et basé sur une pratique agile, créé par Ivar Jacobson Int, le créateur des cas d'utilisation ... il s'agit d'une pratique appelée Essential use case practice, qui décrit comment vous prenez une exigence en cours ...

1
ZyberIT

enter image description here

Vous devez dessiner un modèle d'objet (diagramme de classes) du scénario ci-dessus en identifiant les classes, ses attributs et les fonctions connexes.
Vous devriez avoir à montrer la relation entre différentes classes Telles que Composition, Agrégation et Héritage.