Notes pour chaque diagramme + mini tuto pour EA
Procédure réponse examen analyse
- Souligner les phrases et éléments importants (entités potentielles, fonctionalités, formulaires, informations, données, etc)
- Lister les questions auquel le diagramme pourra réponse (exemple Peut-on déterminer la section d'un·e étudiant·e afin de pouvoir lui afficher ses cours ?)
- Etablir la liste des éléments (entités, classes, dialog, controleurs, ou autres) et leur reponsabilités éventuelles (retenir XYZ)
- Etablir les relations entre les différents éléments (entités, classes)
- Etablir la liste des propriétés de chaque entité
- Tester le diagramme selon les questions, vérifier qu'il respecte les règles d'UML et les flèches/associations.
- Justifier toutes les décisions sur le diagramme ou sur le côté
MCD
- Attention associations
- Attention MCD != MLD (pas de tables d'association par exemple), pas de FK
- Pas oublier les clés primaires
Use Cases
- Utiliser de l'infinitif partout
- Pas de flèches entre les acteur·ice·s et les UC
- UC humains = stickman, UC non-humains = boites
- include = flèche vers un autre UC indispensable, vs extend = flèche vers un autre UC facultatif
- Description textuelle : Titre, résumé, acteurs, pré/post-conditions, déclencheur, scénario nominal, erreur et alternatif
- Scénario en tableau (colonne gauche = acteur, colonne droite = action du système)
Utilisation EA
- Model > Add a model using wizard > basic use case diagram
- Create element : Use Cases > Add element > toolset > usecase.
- Add arrows and lines : Select the element then drag the arrow button to the other element then release and select the type of relation.
- Switch between human actor and system actor : click on the element and click on the magnifying glass
Class
- Dépendence (A ..> B, A a besoin de B pour fonctionner)
- Association (Personne 1–utilise–0..* Voiture, Une personne a 0 ou plus de voiture, mais une voiture n'a qu'une personne), lien structurel durable entre des instances de classes. Flèche optionelle. Attention inversée par rapport au MCD.
- Aggrégation (Personne –<> Groupe, Personne fait partie de Groupe mais Personne et Groupe sont indépendant car si le groupe disparait, les personnes restent)
- Composition (User –<x> App, User fait partie intégrante de App et ne peut pas exister sans elle)
- Généralisation (Voiture –|> Véhicule, une voiture est une sorte de véhicule)
- Réalisation (Voiture ..|> Véhicule, une voiture a les opérations d'un véhicule)
- Penser aux patterns OOP (exemple, Repository, Strategy, etc)
Utilisation EA
- Model > Add a model using wizard > starter class diagram
- Configure > Settings > Code Engineering Datatypes… > Java > New > String > New > Close
- Add new class : Starter Class Diagram > Add element > toolset > class
- Add arrows and lines : select the element then drag the arrow button to the other element then release and select the type of relation
- Add attributes or methods : Right click on class > Features & Properties > Attributes/Operations
- Change multiplicity : for each side of the association, right click and click on multiplicity.
- Create generic interface : Create a new interface, right click on it, select properties, go the templates tab and add a new one named "T". Then on the realization line, double click on it and write something like "T = String"
Séquence
-
Boundary est la vue, control est le contrôleur et entity est une classe métier. Boundary et entity n'intéragissent jamais directement.
-
Les valeurs de retours sont des flèches avec lignes pointilliées
-
Les diagrammes de séquence systèmes représentes seulement les intéractions entre les acteurs et le système tandis que les diagrammes de séquence normaux (complets) représentent les intéraction entre toutes les classes métiers, les contrôleurs, les formulaires et les acteurs pour chaque fonctionalité.
Utilisation EA
- Model > Add a model usig wizard > starter sequence diagram
- Double click in void of the diagram > Features > Supress brackets for Operations without Parameters
- To add actor, boundary, control or entity : Right click on "starter sequence diagram" > Add Element… > Toolset > interaction, then drag it to the diagram as a link
- To add an interaction, select the origin, drag the arrow to the end point. Then double click on the arrow and complete message (add ~() ~ if you need to), parameters and return value. Eventually tick the "is Return" box to have dotted arrow.