# TD2
Diagrammes de classes

## Introduction

Bienvenue à ma deuxième séance de travaux dirigés en COO, le deuxième TD porte sur les diagrammes de classes. Il se divise en deux séances, chacune ayant pour objectif de présenter une notion supplémentaire à propos de ces diagrammes. Pendant ces deux séances, il s'agit de comprendre comment fonctionnent les diagrammes de classes. La première séance a pour but d'identifier les concepts, les relations entre concepts ainsi que de distinguer les attributs et opérations.

## cours

La semaine du 22 janvier, nous avons eu un cours magistral qui portait sur les diagrammes de classes. Vous pouvez retrouver le cours si besoin grâce au lien ci-dessous : Pour retrouver le cours c'est par ici !

## Points-clé

Avant de commencer le TD, nous allons rappeler les points importants pour cette première séance. Les diagrammes de classes permettent de déterminer les relations entre les concepts, ils décrivent les classes et les relations entre les classes. Pour mieux comprendre, nous allons définir les notions clés que nous allons utiliser.

- Dans un diagramme de classe, on retrouve comme son nom l'indique, des classes qui représentent des types objets. Se sont des structures composées d'attributs et de méthodes (opérations), représentées par des rectangles avec le nom de la classe encadré en haut.
- Ces objets sont définis grâce à des variables, les attributs ou bien concepts, représentés par des noms. Ce sont des variables associées aux objets de la classe. Un attribut est toujours de type primitif tel que string, boolean ... Nous développerons la notion de visibilité au prochain TD du passage de la modélisation au code.
- Ainsi, pour intéragir avec ses objets on utilise des méthodes qui sont des opérations, fonctions s'il y a des paramètres ou procédures sinon, associées aux objets de la classe. Ce sont des comportements représentés par des verbes. Nous parlerons aussi de visibilité pour une opération, plus tard dans le TD du passage de la modélisation au code.
- Les classes peuvent donc être reliées entre elles grâce à des associations, chemins permettant la communication entre objets. Elles peuvent avoir une étiquette, nom de l'association, un rôle qui précise la responsabilité ou le rôle de l'objet. Il en existe plusieurs types mais pour cette séance on se contentera de simples associations représentées par un trait reliant deux classes. On peut ajouter une multiplicité aux associations, sur le trait reliant les classes qui correspond au nombre d'instances d'une classe. Voici un schéma explicatif montrant toutes les possibilités :

## étude de cas

1. Les membres du bureau de gestion des crises sont tous identifiés par leur nom et un mot de passe. Une déclaration fait référence au témoin, un lieu, une date et une description. Un témoin est caractérisé par son nom et son numéro de téléphone. Le témoignage est saisi par un coordinateur. Cette information doit être mémorisée.
2. Une crise est identifiée par un numéro unique. Une crise correspond à un unique type de crise (accident, inondation, …). A une crise sont associées des missions. Une mission peut correspondre à plusieurs crises dans le cas où plusieurs crises doivent être simultanément gérées (par exemple, un accident et un incendie).
3. Á une mission sont dynamiquement allouées ou retirées des ressources. Une ressource n'est pas donc pas forcément affectée pour toute la durée d'une mission. On veut mémoriser la date de début et de fin d'affectation d'une ressource à une mission. Une ressource ne peut pas être affectée à plusieurs missions en même temps. A une mission de transport sont associés un véhicule et un chauffeur.
4. Le système doit permettre de mémoriser l’histoire des crises gérées par le système. Ainsi pour chaque mission le système mémorise les dates de début et de fin, ainsi que les ressources affectées à la mission. Ces données seront analysées ultérieurement par un logiciel d'analyse.

## consignes

Définir le diagramme de classe correspondant à cette définition. Montrer vos classes au fur et à mesure de votre avancement.

## Solution

### Glossaire :

Coordinateur : initie le processus de gestion de crise en enregistrant la déclaration du témoin et traite les missions en allouant des ressources (personnes, camions, etc.) appropriées à chaque tâche.
Travailleur : Personnel tenu de signaler auprès du système l’évolution de sa mission.
Gestion de crise : méthodologie d’action d’une entreprise permettant de résoudre dans les plus bref délais une situation problématique.
Super-observateur : expert dans le domaine (de crise dans notre cas).
Système externe de recommandations : système qui aide le super-observateur.
Système externe de téléphonie : système qui aide le coordinateur.
S’identifier : se connecter au système grâce aux identifiants donnés.
Tâche : travail donné au personnel (travailleur).

## Fiche de révisions

Pour pouvoir réviser toutes les connaissances acquises à chaque TD, vous retrouverez un lien vers une fiche de révisions qui vous permettra de bien vous préparer au contrôle final.
Comme promis voici le lien de la fiche de révision pour les diagrammes de classes :)

- © Untitled
- Design: HTML5 UP