1. Infos globales
1.1. UML est une représentation graphique qui propose un point de vue
1.2. L'ensemble des diagrammes offrent une vision globale sur le projet
1.3. UML est un langage qui permet de représenter des modèles, mais il ne définit pas l'élaboration des modèles
2. Notions abordées
2.1. *Méthode
2.1.1. DEFINITION -> Un guide qui organise les différentes étapes du développement.
2.1.2. OBJECTIF -> Production d'un système de qualité en maîtrisant les étapes, les coûts et les délais
2.1.3. Phase Initiale
2.1.3.1. Expression des besoins : - -*Ce que le système apporte à l'utilisateur *Comment le système se comporte
2.1.3.2. Les spécifications du système
2.1.3.3. Acteurs
2.1.3.3.1. DEFINITION -> Elément externe qui interagit directement avec le système par l'échange de messages.
2.1.3.3.2. Pas de messages entrent acteurs !
2.1.3.3.3. = Rôle | != Personne
2.1.3.3.4. Ils peuvent être principaux / secondaires
2.1.3.4. Use Case / Cas d'utilisation
2.1.3.4.1. Ils permettent de structurer les besoins des utilisateurs et les objets attendus du système
2.1.3.4.2. NE DOIVENT PAS décrire les solutions d'implémentation .
2.1.3.4.3. = Fonction métier
2.1.3.4.4. Décrit les objectifs du système, ce que le système devra faire MAIS PAS COMMENT
2.1.3.5. Scénarios
2.1.3.5.1. Variante d'un cas d'utilisation
2.2. *Formalisme
2.2.1. DEFINITION -> Base de communication entre tous les intervenants du projet.
2.3. *Message
2.3.1. Communication entre objets avant de déclencher une activité chez le récepteur
2.3.2. Réception message = évènement
2.3.3. 5 types de messages
2.3.3.1. Messages asynchrones (flèche vide) l'émetteur n'attend pas la prise en compte du message.
2.3.3.2. Messages synchrones : (flèche pleine) l'appel est bloquant jusqu'au retour , le flux d'activité est transféré à l'objet récepteur. C'est le comportement par défaut dans les diagrammes.
2.3.3.3. Messages simple : aucunes spécificités d'envoi ou de réception. Comportement par défaut synchrone.
2.3.3.4. Message dérobant : n'interrompt pas l'exécution de l'expéditeur et déclanche une opération chez le récepteur s'il s'est préalablement mit en attente d'un message.
2.3.3.5. Message minuté (timeout) : bloque l'expéditeur pendant un certain tps en attendant la prise en compte du message du récepteur. Expéditeur libéré si la prise en compte n'a pas eu lieu pendant le délai spécifié.
2.4. *Interraction
2.4.1. Séquence d'échange de messages entre objets
2.4.2. Décrite par un diagramme d'interraction (diagramme de séquence/communication)
2.5. *Collaboration
2.5.1. Définition de structure qui permet de réaliser une/plusieurs interactions pour atteindre un objectif
2.5.2. Décrite par un diagramme de collaboration
3. Cycle incrémental Itératif
3.1. DEFINITION -> Forme de cycle qui consiste à répéter plusieurs fois un cycle de développement. On développe une première version puis on la fait évoluer dans le tps. INCREMENT (Rajouter) | ITERATIF (en boucle)
4. Infos diverses
4.1. Les objets interagissent pour réaliser un comportement
5. C'est quoi ? But ?
5.1. Pouvoir définir une norme unique de modélisation des systèmes objets.
5.2. != Méthode
5.3. Né d'une fusion de 3 méthodes
5.4. != Méthode objet
6. Sa puissance
6.1. Normalise la signification des concepts qu'il véhicule
7. Liste des diagrammes
7.1. Use Case/Cas d'utilisation
7.1.1. GRAPHIQUE
7.1.1.1. Sens de l'association : soit bidirectionnelle soit orientée pour afficher le sens des messages si besoin
7.1.1.2. Relation d'association
7.1.1.2.1. <<Include>> : signifie qu'il y a forcément une utlisation
7.1.1.2.2. <<extend>> : signifie des cas possibles en plus
7.2. De séquence
7.2.1. Ils permettent de représenter des interractions entre les objets selon un point de vue temporel. Il y a CHRONOLOGIE de l'envoie des messages
7.2.2. != Diagramme de communication
7.2.3. Expression des échanges
7.2.4. Permet d'illustrer un cas d'utilisation, un scénario
7.2.5. On connaît la chronologie, pas la durée
7.2.6. Messages Synchrones et Asynchrones
7.2.7. Retours représentés par des flèches pointillées avec indication de valeur retournée (facultatif)
7.2.8. Possibilité de représenter un cadre pour représenter une communication externe des messages.
7.3. De communication
7.3.1. Ils montrent les interactions entre les objets
7.3.2. Moins d'insistance sur l'aspect temporel, plus sur les relations structurelles
7.3.3. Représente le contexte d'une interaction ; on peut préciser les états des objets qui interagissent
7.3.4. Point de départ pour créer un diagramme de classe
7.3.5. Sa constitution
7.3.5.1. Les objets (rôles joués)
7.3.5.2. Connecteurs relient les objets qui interagissent
7.3.5.3. Les messages représentés par des flèches avec numérotation pour avoir une chronologie
7.3.6. = Diagramme de collaboration en UML 1.3
7.3.7. Représente seulement la structure SANS les échanges d'un diagramme de communication en UML 2.0
7.4. De collaboration
7.5. Classe/Objets
7.5.1. Niveaux d'abstraction
8. Les fragments combinés
8.1. Ils permettent de représenter des séquences particulières -> Boucles, Option, Alternative
8.2. Diminutifs représentés
8.2.1. REF : référence à une autre séquence (autre diagramme de séquence)
8.2.2. LOOP : boucle réalisée tant qu'une condition est vraie
8.2.3. OPT : optionnel, en fonction d'une condition de "garde"
8.2.4. ALT : alternative IF ELSE ; contient 2 sous fragments. Les conditions excluent mutuellement les 2 fragments.
8.2.4.1. 2 conditions
8.2.4.1.1. Si aucune condition valide, aucun fragment exécuté
8.2.4.1.2. Si les conditions valident plusieurs sous-fragments, 1 seul est exécuté de façon aléatoire