Analyse et Conception Orienté Objet (UML)

Page 1

Analyse

et Conception OrientĂŠ Objet HASSANE BAKHOUS Epita - 2011 hbakhous@gmail.com


Diagrammes UML • diagramme de classes • diagramme de cas d’utilisation •diagramme d ’objets • diagramme de composants • diagramme de déploiement •diagramme de séquence • diagramme de collaboration •diagramme d ’états-transitions • diagramme d ’activités


Diagrammes UML


La dĂŠmarche UML


Diagramme de cas d’utilisation • Les diagrammes de cas d'utilisation représentent un ensemble de cas d'utilisation et d'acteurs (sorte de classe particulière) et leurs relations. Ils permettent de délimiter les frontières du système.


Diagramme de cas d’utilisation Représente les fonctions du système de point de vue de l ’utilisateur. relation Acteur

Cas d ’utilisation Cas d ’utilisation

Eléments du diagramme : • acteur : un rôle joué par une personne, un service, etc. qui interagit avec le système étudié • cas d’utilisation : manière spécifique d ’utiliser un système. Image d’une fonctionnalité attendue, déclenchée en réponse à la stimulation d’un acteur • relations entre cas d’utilisations et acteurs


Diagramme de cas d’utilisation Relations entre cas d ’utilisations Trois types de relations : • relation de communication : entre un acteur et un cas d’utilisation. Exprime l’échange d’informations entre l’acteur et le système. déclenche client

virement

• relation d’utilisation : entre deux cas d ’utilisation. Exprime que le cas d’utilisation source comprend également le comportement décrit par le cas d’utilisation destinataire (utile pour la factorisation de cas). « use » virement

identification

• relation d’extension : entre deux cas d’utilisation. Exprime que le cas d’utilisation source étend le comportement du cas d’utilisation cible (utile pour la spécialisation de cas). « extend » Virement par Internet

virement


Exercices 1°) Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la salle ou du matériel). Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et étudiants). Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne peut être consulté que par les enseignants. Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif horaire pour l’ensemble de la formation. Modéliser cette situation par un diagramme de cas d’utilisation



Exercices Dans un magasin, le processus de vente est le suivant : le client entre, passe dans les rayons, demande éventuellement des renseignements ou procède à des essais, prend des articles (si le stock est suffisant), passe à la caisse où il règle ses achats (avec tout moyen de paiement accepté). Il peut éventuellement bénéficier d’une réduction. Modéliser cette situation par un diagramme de cas d’utilisation



Exercices 4°) On considère le système suivant de gestion d’un DAB (Distributeur automatique de billets) : - le distributeur délivre de l’argent à tout porteur de carte (carte Visa ou carte de la banque) - pour les clients de la banque, il permet : o la consultation du solde du compte o le dépôt d’argent (chèque ou numéraire)

- toute transaction est sécurisée et nécessite par conséquent une authentification - dans le cas où une carte est avalée par le distributeur, un opérateur de maintenance se charge de la récupérer. C’est la même personne qui collecte également les dépôts d’argent et qui recharge le distributeur. -Modéliser cette situation par un diagramme de cas d’utilisation



exercice • • •

• •

Dans un magasin, un commerçant dispose d’un système de gestion de son stock d’articles, dont les fonctionnalités sont les suivantes : - Edition de la fiche d’un fournisseur - Possibilité d’ajouter un nouvel article (dans ce cas, la fiche fournisseur est automatiquement éditée. Si le fournisseur n’existe pas, on peut alors le créer) - Edition de l’inventaire. Depuis cet écran, on a le choix d’imprimer l’inventaire, d’effacer un article ou d’éditer la fiche d’un article). Modéliser cette situation par un diagramme de cas d’utilisation



Use case « retrait » 1. 2. 3. 4. 5. 6. 7. 8. 9.

Le guichetier saisit le numéro de compte du client L’application valide le compte auprès du système central L’application demande le type d’opération au guichetier Le guichetier sélectionne un retrait en dihram ou devise ou faire un emprunt Le système « guichet » interroge le système central pour s’assurer que le compte est suffisamment approvisionné Le système central effectue le débit du compte Le système notifie au guichetier qu’il peut délivrer le montant demandé. (Chaque jour) le responsable des devises saisie les nouveaux cours Chaque jour le directeur d’agence édite le bilan des opérations.


(Solution)Retrait bancaire


Diagramme de Collaboration Objectifs du diagramme de collaboration

Le diagramme de collaboration permet de mettre en évidence les interactions entre les différents objets du système. Dans le cadre de l’analyse, il sera utilisé: - pour préciser le contexte dans lequel chaque objet évolue - pour mettre en évidence les dépendances entre les différents objets impliqués dans l’exécution d’un processus ou d’un cas d’utilisation. Un diagramme de collaboration fait apparaître les interactions entre des objets et les messages qu’ils échangent.


Diagramme de Collaboration Les interactions

Une interaction définit la communication entre les objets sous la forme d’un ensemble partiellement ordonné de messages. L’objet émetteur envoie un message à l’objet récepteur. Les objets représentés dans les diagrammes de collaboration ne sont pas nécessairement des instances d’entités. Certains messages peuvent avoir pour origine des acteurs que l’on pourra représenter. Formalisme : l’interaction se représente par une flèche avec un texte décrivant le message.


Diagramme de Collaboration Formalisme : l’interaction se représente par une flèche avec un texte décrivant le message.

Stock épuisé


Diagramme de Collaboration Les messages

Les messages sont le seul moyen de communication entre les objets. Ils sont décrits essentiellement par l’objet émetteur et l’objet récepteur. Leur description peut être complétée par un nom, une séquence, des arguments, un résultat attendu, une synchronisation, une condition d’émission. La séquence permet de préciser l’ordre d’émission des messages.


Diagramme de Collaboration

Le message 1 peut avoir comme arguments l’intitulé du produit souhaité, la quantité et la catégorie du client. Certains messages peuvent solliciter un résultat. Ce cas peut être modéliser de 2 façons : - un message de demande et un message de réponse - indiquer sur le premier message le résultat attendu (lorsque le message en retour est attendu immédiatement).


Diagramme de Collaboration


Diagramme de Collaboration Exemple : la demande de réapprovisionnement n’est envoyée au magasinier que lorsque la quantité en stock est inférieure au seuil de réapprovisionnement.


Diagramme de Collaboration les diagrammes de collaboration : interactions entre objets du système avec un accent particulier sur la structure spatiale statique des objets (contexte des objets). Les messages sont numérotés pour indiquer l ’ordre des envois. Message: Simple, Asynchrone, Synchrone,, Minuté

: ascenseur Objet 1 1 : message 1 : monter

2 : message

: cabine 4 : message

Objet 2

3 : fermer

5 : message

: porte

3 : message

Objet 3

2 : allumer

: lumière


Diagramme de collaboration: Exercice EX1) Le déroulement normal d’utilisation d’une caisse de supermarché est le suivant : un client arrive à la caisse avec ses articles à payer le caissier enregistre le numéro d’identification de chaque article, ainsi que la quantité si elle est supérieure à 1 la caisse affiche le prix de chaque article et son libellé lorsque tous les achats sont enregistrés, le caissier signale la fin de la vente la caisse affiche le total des achats le caissier annonce au client le montant total à payer le client choisit son mode de paiement o liquide : le caissier encaisse l’argent, la caisse indique le montant à rendre au client o chèque : le caissier note le numéro de pièce d’identité du client o carte de crédit : la demande d’autorisation est envoyée avant la saisie la caisse enregistre la vente et l’imprime le caissier donne le ticket de caisse au client


Diagramme de Collaboration: Exercice EX2) Le déroulement normal d’utilisation d’un distributeur automatique de billets est le

suivant : · le client introduit sa carte bancaire · la machine vérifie alors la validité de la carte et demande le code au client · si le code est correct, elle envoie une demande d’autorisation de prélèvement au groupement de banques. Ce dernier renvoie le solde autorisé à prélever. · le distributeur propose alors plusieurs montants à prélever · le client saisit le montant à retirer · après contrôle du montant par rapport au solde autorisé, le distributeur demande au client s’il désire un ticket · Après la réponse du client, la carte est éjectée et récupérée par le client · les billets sont alors délivrés (ainsi que le ticket) · le client récupère enfin les billets et son ticket



Diagramme de Séquences Le diagramme de séquence est une variante du diagramme de collaboration. Par opposition aux diagrammes de collaboration, les diagrammes de séquence possèdent intrinsèquement une dimension temporelle mais ne représente pas explicitement les liens entre les objets. Ils privilégient ainsi la représentation temporelle à la représentation spatiale et sont plus aptes à modéliser les aspects dynamiques du système. En revanche, ils ne rendent pas compte du contexte des objets de manière explicite, comme les diagrammes de collaboration. Le diagramme de séquence permet de visualiser les messages par une lecture de haut en bas. L’axe vertical représente le temps, l’axe horizontal les objets qui collaborent. Une ligne verticale en pointillé est attachée à chaque objet et représente sa durée de vie. Les messages sont représentés comme dans le diagramme de collaboration. (NB : un message de retour sera représenté avec des traits en pointillés)


Diagramme de Séquences UML & MERISE : Le diagramme de séquences apporte par contre une dimension supplémentaire par apport au MOT en faisant apparaître les objets entités.


Diagramme de Séquences Un cas d’utilisation apparaît comme un scénario, décrit par un diagramme de séquences. Diagramme de séquence : exprime la séquence des interactions entre objets du système selon un point de vue temporel, pour réaliser le cas d’utilisation. Objet 1

Objet 2

1 : [condition A] message 2 : message synchrone 3 : message de création Evénement / Communication entre objets

5 : message

4 : message

6 : [condition B] message Période d’activité de l’objet

7 : message réflexif 9 : message asynchrone

8 : message de destruction

Objet 3


Diagramme de Séquences Cas particuliers • message synchrone: l’émetteur est bloqué et attend que l’appelé ait fini de traiter le message (message 1) message asynchrone: l’émetteur n’est pas bloqué et peut continuer son exécution (message 6) • Un message réflexif indique souvent un point d ’entrée dans une activité de plus bas niveau qui s ’exerce entre objets contenus par l ’objet composite (message 7) • Un message dont les délais de transmission sont non négligeables est matérialisé par une flèche oblique (message 4) • Messages conditionnés : flèches prenant leur origine au même instant avec des conditions mutuellement exclusives (messages 1 et 6) • Possibilité de compléments d ’informations sous forme de texte libre ou de pseudo-code à côté du diagramme • Période d ’activité : temps pendant lequel un objet effectue une action, directement ou par l ’intermédiaire d ’un autre objet sous-traitant • Des contraintes temporelles peuvent être exprimées en graduant la ligne de vie (pour dire par exemple: « 10 secondes plus tard »)


Diagramme de SĂŠquences


Diagramme de Séquences : Exercice EX1) Le déroulement normal d’utilisation d’une caisse de supermarché est le suivant : un client arrive à la caisse avec ses articles à payer le caissier enregistre le numéro d’identification de chaque article, ainsi que la quantité si elle est supérieure à 1 la caisse affiche le prix de chaque article et son libellé lorsque tous les achats sont enregistrés, le caissier signale la fin de la vente la caisse affiche le total des achats le caissier annonce au client le montant total à payer le client choisit son mode de paiement o liquide : le caissier encaisse l’argent, la caisse indique le montant à rendre au client o chèque : le caissier note le numéro de pièce d’identité du client o carte de crédit : la demande d’autorisation est envoyée avant la saisie la caisse enregistre la vente et l’imprime le caissier donne le ticket de caisse au client


Diagramme de Séquences : Exercice Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que le cas du paiement en liquide.


Diagramme de Séquences : Exercice EX2) Le déroulement normal d’utilisation d’un distributeur automatique de billets est le

suivant : · le client introduit sa carte bancaire · la machine vérifie alors la validité de la carte et demande le code au client · si le code est correct, elle envoie une demande d’autorisation de prélèvement au groupement de banques. Ce dernier renvoie le solde autorisé à prélever. · le distributeur propose alors plusieurs montants à prélever · le client saisit le montant à retirer · après contrôle du montant par rapport au solde autorisé, le distributeur demande au client s’il désire un ticket · Après la réponse du client, la carte est éjectée et récupérée par le client · les billets sont alors délivrés (ainsi que le ticket) · le client récupère enfin les billets et son ticket


Diagramme de Séquences : Exercice Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que le cas où tout se passe bien. NB : on identifiera les scénarios qui peuvent poser problème en incluant des commentaires dans le diagramme .


Diagramme de Séquences : Exercice EX3) On souhaite gérer les différents objets qui concourent à l’activité d’un magasin de

vente de fleurs. · Le client demande au vendeur des renseignements des renseignements sur les compositions florales · Le vendeur lui fournit toutes les informations nécessaires · Le client commande alors la composition de son choix et le vendeur émet le bon de fabrication qu’il transmet à son ouvrier fleuriste. · Le vendeur édite ensuite la facture correspondante. · L’ouvrier fleuriste crée la composition puis archive le bon de fabrication · Il remet alors la composition au vendeur · La facture est remise au client pour règlement une fois le bouquet réalisé · Une fois la facture réglée, le client récupère sa composition et quitte le magasin.


Diagramme de Séquences : Exercice Modéliser cette situation à l’aide d’un diagramme de séquence et d’un diagramme de Collaboration.



Diagramme de Séquences Exemple

Ligne téléphonique

Appelant

Appelé

décroche tonalité numérotation indication de sonnerie

sonnerie décroche

allô


Exercice ascenseur •

Un produit va être installé pour contrôler N ascenseurs dans un gratte-ciel de M étages. Notre problème concerne la logique nécessaire au déplacement des ascenseurs entre les étages en accord avec les contraintes suivantes: – chaque ascenseur possède un ensemble de M boutons, un pour chaque étage. Un bouton s’allume lorsqu’il est appuyé et provoque le déplacement de l’ascenseur vers l’étage correspondant. – chaque étage, à l’exception du premier et du dernier, possède deux boutons, un pour demander la montée et un pour demander la descente. Ces boutons s’allument lorsqu’ils sont appuyés. Ils s’éteignent quand l’ascenseur arrive à l’étage, et celui ci se déplace ensuite dans la direction demandée. – quand un ascenseur n’est pas requis, il reste à l’étage où il se trouve et ferme ses portes. Décrire à l’aide d’un diagramme de séquence chacun des scénarios suivants: – requête d’ascenseur depuis l’étage – requête d’étage depuis l’ascenseur


Exercice 1 : exercice ascenseur passager

bouton étage

controleur ascenseur

ascenseur

appuyé mettre à jour allumer déplacer étage atteint immobiliser éteindre ouvrir fermer

porte


Gestion d’une bibliothèque • Lors d’un emprunt d’un livre dans une bibliothèque municipale, un adhérent emprunte un livre dont il connaît le titre. Traduire le texte simplifié suivant en un diagramme d’envois de messages entre des objets de votre choix. En déduire les classes nécessaires en donnant leurs spécifications. • L’adhérent présente sa carte d’abonné. Le bibliothécaire enregistre le passage de l’adhérent. L’adhérent indique le titre du livre souhaité. Le bibliothécaire effectue une recherche automatique dans sa base pour vérifier l’existence et la disponibilité du livre. La réponse étant positive, il demande confirmation à l’adhérent. Celui-ci confirme. Le bibliothécaire va alors chercher le livre grâce à la localisation retournée lors de sa demande de recherche. Il remet le livre à l’adhérent. Le bibliothécaire enregistre l’emprunt et valide la carte magnétique de l’emprunteur. Celui-ci récupère le livre et sa carte et sort de la bibliothèque après avoir présenté l’ouvrage et la carte à un lecteur magnétique qui après vérification ouvre le portillon et retourne la carte et le livre.






Diagramme d ’états-Transition Description des séquences possibles d’états et d ’actions par lesquelles un objet peut passer tout au long de sa vie. Ces séquences résultent de sa réaction à des événements discrets.

Eléments du diagramme : • état : situation d’un objet à un moment donné • transition : connexion entre deux états, permettant le passage d’un état à l’autre • événement : occurrence d ’une situation donné dans le domaine du système qui déclenche la transition • garde : condition booléenne qui valide ou non le déclenchement d’une transition lors de l’occurrence d’un événement (cas de plusieurs transitions exclusives déclenchées par le même événement) • action : opération exécutée pendant que l’objet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de l’objet destinataire). Une action d’un état est dite activité quand l’opération associée a un temps d’exécution non négligeable (do : nom_opération) Etat A …. état initial

action do:opération

Evénement [garde] / Action

Etat B

…. état final


Diagramme d ’états-Transition Ils ont pour rôle de représenter les traitements (opérations) qui vont gérer le domaine étudié. Ils définissent l'enchaînement des états de classe et font donc apparaître l'ordonnancement des travaux. Le diagramme d'états-transition est associé à une classe pour laquelle on gère différents états : il permet de représenter tous les états possibles ainsi que les événements qui provoquent les changements d'état. Caractéristiques et règles de construction

Etat

Evénements et transitions


Diagramme d ’états-Transition

Etat Un état correspond à une situation durable dans laquelle se trouvent les objets d'une classe. On lui associe les règles de gestion et les activités particulières. Etat : objets d'une classe + règles de gestion + changements d'états La représentation symbolique des états d'une classe d'objets est la suivante (rectangle aux bords arrondis) :


Diagramme d ’états-Transition Exemple pour une commande : Etat "en préparation" Etat "en cours"

Evénements et transitions Un objet passe d'un état à un autre suite à un événement, certains événements pouvant ne pas provoquer de changement d'état. Une transition est une relation entre 2 états. Elle est orientée ce qui signifie que l'état 2 est possible si certains événements sont vérifiés. Sa représentation symbolique est une flèche sur laquelle est annoté l'événement qui concourt au changement d'état.


Diagramme d ’états-Transition Exemple En activité do: travailler Perte d ’emploi

Personne age

Plus de 60 ans

1..*

0..1

Société

A la retraite Embauche

Au chômage Diagramme de classes

Plus de 60 ans

Diagramme d ’états-transitions

Les personnes ne possèdent pas toutes un emploi et se trouvent, à un moment donné, dans un des états suivants : en activité, au chômage, à la retraite L’état d ’une personne donnée est déterminé selon son âge et la présence ou non d ’un lien vers une société.


Résumé: Les six étapes du développement d’un SI ? Les fonctions de systèmes d’information? Définition d’Objet? Définition de classe? Qu’est ce qu’en veux dire par l’analyse et conception? Donnez trois types des relations entre classe? Quelles sont les différents multiplicités? C’est quoi la différence entre relation association et classe association? Donnez une représentation graphique d’une classe? Décrire les neuf diagrammes de classes? Donnez les trois niveaux de visibilité pour les attributs les opérations? Quels sont les éléments du diagramme d’état de transition? Quels sont les éléments du diagramme de cas d’utilisation? C’est quoi les objectifs du diagramme de collaboration? C’est quoi la différence entre le diagramme de séquence et le diagramme de collaboration?


Résumé: Déterminez les exigences fonctionnelles d’un SI? Donnez un bref définition de « Diagramme »? Définition du cas d'utilisation (use case) C’est quoi un acteur? Un acteur est un type stéréotypé représentant une abstraction qui réside juste en dehors du système à modéliser.


Résumé: Les six étapes du développement d’un SI :

1. Étude préliminaire 2. Diagnostic de l’existant 3. Conception du nouveau processus d’affaires 4. (a) Conception du nouveau SI ou (b) Acquisition du progiciel 5. (a) Réalisation technique ou (b) Paramétrage du progiciel 6. Mise en place, exploitation et évolution

Étude préliminaire

Diagnostic de l’existant Conception du nouveau processus d’affaires Conception du nouveau SI ou Acquisition du progiciel Réalisation technique ou Paramétrage du progiciel Mise en place, exploitation et évolution


Résumé: Les fonctions de systèmes d’information? Le Système d’Information réalise les 4 fonctions suivantes : Collecte : polymorphisme données, moments, lieux Conservation : réutilisation, supports Transformation : synthèse, interprétation Diffusion des informations : lecture ou recherche


Résumé: Définition d’Objet? Objet est un instance de classe = la valeur d’un attribut d’une classe Le diagramme d’objets permet de mettre en évidence des liens entre les objets. Les objets, instances de classes, sont reliés par des liens, instances d’associations. A l’exception de la multiplicité, qui est explicitement indiquée, le diagramme d’objets utilise les mêmes concepts que le diagramme de classes. Ils sont essentiellement utilisés pour comprendre ou illustrer des parties complexes d’un diagramme de classes.


Résumé: Définition de classe? Définition : une classe est une description abstraite (condensée) d’un ensemble d’objets du domaine de l’application : elle définit leur structure, leur comportement et leurs relations. Représentation : les classes sont représentées par des rectangles compartimentés : - le 1er compartiment représente le nom de la classe - le 2ème compartiment représente les attributs de la classe - le 3ème compartiment représente les opérations de la classe Formalisme :


Résumé: Qu’est ce qu’en veux dire par l’analyse et conception?

L’analyse = 1. Étude préliminaire 2. Diagnostic de l’existant

Conception= 1. Conception du nouveau processus d’affaires 2. (a) Conception du nouveau SI ou (b) Acquisition du progiciel


Résumé: Donnez trois types des relations entre classe?

Association Relations quelconques entre deux classes. Les objets d'une classe se servant des objets d'une autre classe.

Agrégation Décrit une association du type « fait partie de » (is part of ). Restreint une dépendance de création et de destruction.

Généralisation Décrit une association du type « appartient » (is belong to ). Restreint une dépendance de spécialisation et généralisation.


Résumé: Quelles sont les différents multiplicités?


Résumé: C’est quoi la différence entre relation association et classe association?

• Une classe-association est une relation association qui est aussi une classe. • Les classes-associations sont utilisées lorsque les associations doivent porter des informations • Il est toujours possible de se passer des classesassociations. Company

Employee *

1..*

Job salary : undefined


Résumé: Donnez une représentation graphique d’une classe?

Motocyclette Couleur

Nom de classe Attributs Opérations ()

exemple :

Cylindrée Vitesse max Démarrer () Accélérer () Freiner ()


Résumé: Décrire les neuf diagrammes d’ACOO?

• diagramme de classes Exprime la structure du SI en termes de classes et de relations entre ces classes. L’intérêt du diagramme de classe est de modéliser les entités du SI. • diagramme de cas d’utilisation Représente les fonctions du système de point de vue de l ’utilisateur •diagramme d ’objets Le diagramme d’objets permet de mettre en évidence des liens entre les objets. • diagramme de composants représente l’architecture logicielle •diagramme de séquence Le diagramme de séquence est une variante du diagramme de collaboration.


Résumé: •diagramme de déploiement Les diagrammes de déploiement montrent la disposition physique des différents matériels • diagramme de collaboration les diagrammes de collaboration : interactions entre objets du système avec un accent particulier sur la structure spatiale statique des objets (contexte des objets). Les messages sont numérotés pour indiquer l ’ordre des envois. •diagramme d ’états-transitions Description des séquences possibles d’états et d ’actions par lesquelles un objet peut passer tout au long de sa vie. Ces séquences résultent de sa réaction à des événements discrets. • diagramme d ’activités Le diagramme d'activité est attaché à une catégorie de classe et décrit le déroulement des activités de cette catégorie.


Résumé: Donnez les trois niveaux de visibilité pour les attributs les opérations?

Nom_de_la_classe


Résumé: Quels sont les éléments du diagramme d’état de transition?

Eléments du diagramme : • état : situation d’un objet à un moment donné • transition : connexion entre deux états, permettant le passage d’un état à l’autre • événement : occurrence d ’une situation donné dans le domaine du système qui déclenche la transition • garde : condition booléenne qui valide ou non le déclenchement d’une transition lors de l’occurrence d’un événement (cas de plusieurs transitions exclusives déclenchées par le même événement) • action : opération exécutée pendant que l’objet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de l’objet destinataire). Une action d’un état est dite activité quand l’opération associée a un temps d’exécution non négligeable (do : nom_opération)


Résumé: Quels sont les éléments du diagramme de cas d’utilisation?

Eléments du diagramme : • acteur : un rôle joué par une personne, un service, etc. qui interagit avec le système étudié • cas d’utilisation : manière spécifique d ’utiliser un système. Image d’une fonctionnalité attendue, déclenchée en réponse à la stimulation d’un acteur • relations entre cas d’utilisations et acteurs Trois types de relations : • relation de communication : entre un acteur et un cas d’utilisation. Exprime l’échange d’informations entre l’acteur et le système. • relation d’utilisation : entre deux cas d ’utilisation. Exprime que le cas d’utilisation source comprend également le comportement décrit par le cas d’utilisation destinataire (utile pour la factorisation de cas). • relation d’extension : entre deux cas d’utilisation. Exprime que le cas d’utilisation source étend le comportement du cas d’utilisation cible (utile pour la spécialisation de cas).


Résumé: C’est quoi les objectifs du diagramme de collaboration?

Il sera utilisé - pour préciser le contexte dans lequel chaque objet évolue - pour mettre en évidence les dépendances entre les différents objets impliqués dans l’exécution d’un processus ou d’un cas d’utilisation.


Résumé: C’est quoi la différence entre le diagramme de séquence et le diagramme de collaboration?

Le diagramme de séquence est une variante du diagramme de collaboration. Par opposition aux diagrammes de collaboration, les diagrammes de séquence possèdent intrinsèquement une dimension temporelle mais ne représente pas explicitement les liens entre les objets.


Résumé: Donnez l’équivalent de chaque digramme UML dans les modèles de Merise (voir cours 2)?


Diagramme d ’Activités Le diagramme d'activité est attaché à une catégorie de classe et décrit le déroulement des activités de cette catégorie. Le déroulement s'appelle "flot de contrôle". Il indique la part prise par chaque objet dans l'exécution d'un travail. Il sera enrichi par les conditions de séquencement. Il pourra comporter des synchronisations pour représenter les déroulements parallèles. La notion de couloir d'activité va décrire les responsabilités en répartissant les activités entre les différents acteurs opérationnels.


Diagramme d ’Activités Les couloirs d'activités Le diagramme d'activités fait intervenir les acteurs de chaque activité. Chaque activité sera placée dans une colonne (couloir) qui correspond à l'acteur.


Diagramme d ’Activités

Dans UML, les aspects dynamiques de l’organisation sont étudiés par les diagrammes de séquence et les diagrammes d’activités. Le diagramme d’activités permet de visualiser le séquencement des tâches en les attribuant aux travailleurs d’interface et de contrôle. Les échanges et les contrôles apparaissent de façon claire. Ainsi, l’enchaînement des tâches dans le MOT trouve son équivalent dans le diagramme d’activités. Le diagramme d’activités présente des similitudes avec le diagramme des flux et se rapproche du MCT et MOT (MCTA et MOTA dans MERISE 2) pour fournir une vue globale de l’organisation.


Diagramme d ’Activités Variante des diagrammes d’états-transition, organisé par rapport aux actions et destiné à représenter le comportement interne d’une opération ou d’un cas d ’utilisation.

Mesurer température

[trop froid]

[trop chaud]

Chauffer

Refroidir « synchronisation »

Arrêter chauffage

Aérer


Mécanismes UML : Paquetage • Regroupement d’éléments de modélisation. Une façon d’organiser les modèles de la même manière que les répertoires organisent les fichiers. Un paquetage contient divers diagrammes. • Un paquetage peut contenir d’autres paquetages, sans limite d ’emboîtement. • Un élément contenu par un paquetage peut apparaître dans un autre paquetage sous forme d ’élément importé. • Un seul type de relations entre paquetages : les dépendances (au moins un élément du paquetage client utilise les services offerts par les éléments du paquetage fournisseur. F ournis s eur

dépendanc e C lient


Mécanismes UML : Stéréotype

• Un mécanismes d’extensibilité d ’UML. • Il spécialise les éléments de modélisation d’UML, pour un métier donné : cas d’utilisation, lien, classe, …. • Il permet la classification des éléments de modélisation (méta-modélisation). • Chaque élément de modélisation d’UML a au plus un stéréotype, lorsque la sémantique de base est insuffisante.


Tests du SI • Test = technique de contrôle consistant à s'assurer, grâce à l'exécution d'un programme, que son comportement est conforme à un comportement de référence préalablement formalisé dans un document • Le test sert à prouver l'existence d'erreurs plutôt que leur absence!


Tests dans le cycle de vie • Les tests sont écrits lors de la rédaction des spécifications! – Spécification fonctionnelle -> tests de validation – Conception préliminaire -> tests d'intégration – Conception détaillée -> tests unitaires (par module)


Spécifier une fonction • Ne pas regarder comment elle fait • Mais préciser : – QUOI elle doit faire (description) – Dans quel contexte (pré-conditions) – Avec quel résultat (post-conditions) • On peut donc, avant de réfléchir au comment faire – Donner l’ensemble des cas d’utilisation – En déduire la liste des tests à faire et les coder • « les tests me donnent une occasion de réfléchir à ce que je veux obtenir sans considération de la façon dont je vais implémenter »


Types de tests • Unitaires : ceux du programmeur – Tests fonction par fonction – doivent être positifs à 100% sur le code passé et courant • Tests d’intégration : ceux du concepteur – groupent plusieurs fonctions • Tests fonctionnels : ceux du l’entreprise – Tests scénario par scénario – Tant que produit non fini, pas forcément positif à 100%


Types de tests • Autres – Tests parallèles : valider que la nouvelle version fait exactement comme la précédente – Tests en charge : pour les applications critiques – Tests du signe : consiste à essayer de provoquer des opérations inattendues en réalisant des actions illogiques. (taper n’import quoi)

• Boîte noire ou boîte blanche? – Test boîte noire : test fonctionnement : sans aller voir à l'intérieur, répond-il au besoin? – Test boîte blanche : test structurel : en allant voir sa composition, répond-il Bien au besoin?


Classes de tests • Test des cas normaux – utilisation normale du logiciel

• Test des cas anormaux – exemples : • vérification des données en entrée • validation des procédures de reprise

• Cas limites et valeurs spéciales – exemples : • table pleine , table vide • fichier inexistant


S’organiser pour tester • Certains langages fournissent des bibliothèques de fonctions pour automatiser le lancement des tests et la gestion des résultats – Java Junit par exemple • Faire des tests indépendants les uns des autres – Pas de tests imbriqués – Un test qui échoue ne fait pas échouer les tests suivants • Faire des tests automatisés – Non équivoques – Pas de saisie de l’utilisateur, tout en dur • Faire un makefile /ant pour compiler et lancer automatiquement tous les tests


Conclusion tests • Prévoir les tests et les rédiger avant de coder chaque fonction • Faire des tests unitaires, puis des tests d’intégration, puis des tests fonctionnels • Utiliser un environnement de tests pour aller plus vite • Réutiliser les tests et leurs résultats comme documentation


Exercice n°2 : Diagramme d'états de Ligne Téléphonique raccrocher

raccrocher

Inactif décrocher time-out

tonalité

time-out

composer chiffre(n) composer chiffre(n)

composition Numéro

numéro valide sonnerie occupée

occupé

time-out

numéro non valide

message enregistré

connection numéro trouvé sonnerie l'appelé décroche connecté l'appelé raccroche déconnecté

message envoyé


Exercice n° 2 : Enoncé • Compléter le diagramme d'états de la Ligne Téléphonique en ajoutant actions et activités


Solution de l'exercice UML n° 2 raccrocher

raccrocher

Inactif décrocher time-out

tonalité do/ envoyer tonalité

time-out do/ envoyer beep

composer chiffre(n) composer chiffre(n)

composition Numéro

numéro valide sonnerie occupée do/ envoyer sonnerie occupée

occupé

time-out message enregistré do/ envoyer message

numéro non valide

connection do/ router numéro trouvé

sonnerie do/ envoyer sonnerie

message envoyé

l'appelé décroche / connecter connecté l'appelé raccroche / déconnecter déconnecté


Exercice n°3 • Une montre digitale simple possède un cadran et deux boutons, que l ’on nommera A et B, pour la mettre à l ’heure. La montre a deux modes d ’opérations, affichage de l ’heure et mise à l ’heure. En mode d ’affichage, les heures et les minutes sont affichées, séparées par un signe « deux points » intermittent. • Le mode de mise à l ’heure à deux sous-modes, heures et minutes. Le bouton A s ’utilise pour les modes. A chaque fois que l ’on appuie dessus, le mode change suivant la séquence: affichage, configurer heures, configurer minutes, affichage, etc. Dans une sous-mode, le bouton B s ’emploie pour avancer les heures ou les minutes à chaque fois que l ’on appuie dessus. Les boutons doivent être relâchés avant de pouvoir produire un autre événement. • Préparez un diagramme d ’états de la montre.


Solution de l'exercice UML n° : 3 A [B relaché]

Régler heures

Afficher heure A

do/ afficher heures et minutes

[B relaché]

do/ afficher heures

A [B relaché]

Régler minutes do/ afficher minutes

B [A relaché] / avancer minutes B [A relaché] / avancer heures

L ’événement A correspond à l ’appui sur le bouton A. Dans ce diagramme, le relâchement du bouton n ’est pas important et n ’est pas indiqué (bien qu ’il soit évidemment nécessaire de relâcher le bouton avant de pouvoir appuyer à nouveau). La contrainte selon laquelle un nouvel événement « bouton » ne peut se produire pendant qu ’un des boutons est enfoncé, serait mieux exprimée en tant que contrainte sur les événements d ’entrée euxmêmes. Il n ’est pas nécessaire (bien que ce ne soit pas incorrect) de la faire figurer dans le diagramme d ’états.


Exercice UML n°4 (suite d’ex 3) • Révisez le modèle dynamique de l ’exercice précédent pour offrir un moyen plus rapide de mise à l ’heure en pressant et en maintenant le bouton B. Si celui-ci est poussé et maintenu pendant plus de cinq secondes dans le mode de mise à l ’heure, les heures ou les minutes (selon le sous-mode) s ’incrémentent toutes les demisecondes.


Solution UML n° 4 A

Régler heures

Afficher heure A

do/ afficher heures et minutes

B signifie appuyer sur le bouton, tandis que signifie le relâcher.

A

Régler minutes

do/ afficher heures

do/ afficher minutes

Attente

Attente B

B

B appuyé

B appuyé

5 sec /avancer heures

Rapide 1/2 sec/avancer heures

5 sec /avancer minutes

Rapide 1/2 sec/avancer minutes


Mini projet ACOO-SI Présentation du cas étudié

Dépôt 1

Dépôt 2

Lyon

Dépôt 3

Sièg e

Schéma de l’implantation géographique


Mini projet ACOO-SI Direction

Département commercial

Département achats

Dépôt 1

Département livraisons

Département facturation comptabilité

Garage

Dépôt 2 Dépôt 3

Organigramme de la structure de distribution


Mini projet ACOO-SI Chef de dépôt

Service préparation

Magasin

Service réception

Organigramme de la structure des dépôts


Mini projet ACOO-SI Phase 1 : Repérage du domaine Nécessité d’un nouveau SI -améliorer l’efficacité opérationnelle (meilleur fonctionnement) -apporter plus de souplesse et d’évolutivité, pour faire face aux fluctuations de l’environnement concurrentiel -traiter les 20 à 30 % de clients supplémentaires que permettent les capacités logistiques -fidéliser la clientèle (meilleur taux de satisfaction, grâce notamment à un système plus réactif et plus personnalisé)


Mini projet ACOO-SI Phase 2 : découverte des informations Principales règles de gestions : -une commande est composée de lignes de commandes (produits) livrables à des dates différentes ; -une livraison rassemble différentes lignes de commande et ne concerne qu’un seul client ; -chaque commande est affectée à 1 seul dépôt ; -le client est facturé lors de la livraison des dernières lignes d’une commande ; -une tournée est assurée par 1 chauffeur, doté d’1 véhicule. Phase 3 : Modélisation du workflow

Phase 4 : Diagnostic Diagnostic général du système Distribution


Mini projet ACOO-SI Phase 5 : Reconfiguration du SI Améliorer les informations L'entité Commande est modifiée : une commande ne portera qu'une seule date de livraison demandée. L'entité Livraison est remplacée par un état particulier de la commande. Les ruptures de stock sont pratiquement inexistantes. On ne fait donc pas de livraison partielle. Les clients sont répartis entre les trois dépôts de façon permanente. Une commande est passée en facturation dès que la livraison est effectuée. Toute commande passée la veille du jour de livraison portera le statut de commande urgente, et donnera lieu à une surfacturation. Régénérer les processus Ouvrir le système Renforcer le pilotage


Mini projet ACOO-SI Phase 6 : Modélisation du futur SI Phase 7 : Rédaction du cahier des charges Cf. document « Principes » Introduction : présentation rapide du CRD, de son domaine « Distribution » et de la nécessité de changer son SI (5 lignes) Rappel des points saillants du diagnostic (5 lignes) Les principes de reconfiguration du SI (5 lignes) Les caractéristiques principales du futur SI (10-15 lignes) Conclusion : conséquences de la mise en place du nouveau SI : investissements informatiques, formation, plan social, … (10 lignes)


Exercices ACOO-SI 1°) Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la salle ou du matériel). Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et étudiants). Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne peut être consulté que par les enseignants. Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif horaire pour l’ensemble de la formation. Modéliser cette situation par un diagramme de cas d’utilisation


Exercices ACOO-SI 3°) Dans un magasin, le processus de vente est le suivant : le client entre, passe dans les rayons, demande éventuellement des renseignements ou procède à des essais, prend des articles (si le stock est suffisant), passe à la caisse où il règle ses achats (avec tout moyen de paiement accepté). Il peut éventuellement bénéficier d’une réduction. Modéliser cette situation par un diagramme de cas d’utilisation


Exercices ACOO-SI 4°) On considère le système suivant de gestion d’un DAB (Distributeur automatique de billets) : - le distributeur délivre de l’argent à tout porteur de carte (carte Visa ou carte de la banque) - pour les clients de la banque, il permet : o la consultation du solde du compte o le dépôt d’argent (chèque ou numéraire)

- toute transaction est sécurisée et nécessite par conséquent une authentification - dans le cas où une carte est avalée par le distributeur, un opérateur de maintenance se charge de la récupérer. C’est la même personne qui collecte également les dépôts d’argent et qui recharge le distributeur. -Modéliser cette situation par un diagramme de cas d’utilisation


Pour chaque alinéa, dessiner le diagramme de classe correspondant • • • •

• •

• •

Un appartement possède plusieurs pièces. Il a une surface et un prix. Une pièce est soit une salle de bain, soit une salle de séjour. Certaines salles de séjour sont des chambres. Un appartement possède au moins une porte, une fenêtre, une salle de bain et une salle de séjour. Un immeuble contient plusieurs appartements et une cage d’escalier. Celle-ci contient un escalier et une porte d’entrée qui donne sur la rue et plusieurs portes donnant chacune sur un appartement. L’immeuble est voisin d’une ou plusieurs rues et éventuellement d’une cour intérieure. Une pièce possède au moins une porte et éventuellement des fenêtres. Elle a une surface et des pièces voisines. Une fenêtre donne soit sur une rue, soit sur une cour intérieure. Une porte relie deux pièces voisines ou bien une pièce à une cage d’escalier ou bien la cage d’escalier à une rue. 2-Faire un diagramme de généralisation B’ en reprenant l’alinéa B ci-dessus et en ajoutant les informations de l’alinéa B’ ci-dessous : B’. Une entrée est une sorte de pièce, qui est une sorte d’espace intérieur, tout comme la cage d’escalier. Une rue et une cour intérieure sont des sortes d’espaces extérieurs. Finalement un espace est soit un espace intérieur soit un espace extérieur.


Diagramme de classes

• Les diagrammes de classes représentent un ensemble de classes, d'interfaces et de collaborations, ainsi que leurs relations. Ce sont les diagrammes les plus fréquents dans la modélisation des systèmes à objets. Ils présentent la vue de conception statique d'un système. Les diagrammes de classes, (qui comprennent aussi les classes actives), présentent la vue de processus statique d'un système.


Diagramme de classes • La classe est une description • Caractéristiques des abstraite d’un ensemble d’objets classes • La classe peut être vue comme la – Attributs factorisation des éléments – Opérations communs à un ensemble d’objets – Réceptions • La classe décrit le domaine de définition d’un ensemble – Relations d’objets – Multiplicité • Description conceptuellement – Persistance séparée en deux parties – Composant – La spécification d’une classe qui décrit le domaine de définition et les propriétés des instances de cette classe (type de donnée) – La réalisation qui décrit comment la spécification est réalisée


Diagramme de classes

parametre

classe parametrable

nom de l’association une classe

une autre classe

nom de la classe association attributs operations

/ association dérivée rôle 1 une classe

nom de l’association

rôle 2 une autre classe


Diagramme de classes Structure statique d’un système, en termes de classes et de relations entre ces classes. Motocyclette Couleur

Nom de classe Attributs

exemple :

Opérations ()

Cylindrée Vitesse max Démarrer () Accélérer ()

Syntaxe:

Freiner ()

• nom_attribut : type_attribut = valeur initiale • nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné Visibilité : trois niveaux de visibilité pour les attributs les opérations: • public (+) : élément visible à tous les clients de la classe • protégé ( #) : élément visible aux sous-classes de la classe • privé (-) : élément visible à la classe seule


Diagramme de classes Relations entre classes Agrégation : quand une classe fait partie d’une autre classe (agrégat - composant) Généralisation : factorisation des éléments communs d’un ensemble de classes dits sousclasses dans une classe plus générale dite super-classe. Elle signifie que la sous-classe est un ou est une sorte de la super-classe. Le lien inverse est appelé spécialisation

classe 2

généralisation

Association : toute relation structurelle entre classes, autre que l ’agrégation et la généralisation

constructeur

1

1..*

véhicule

1

1..*

spécialisation

classe 1 classe 3 agrégation

classe 4

voiture

camion

avion

moteur


Diagramme de classes Agrégation:

Relations

• Relation transitive : si voiture est composée de moteur et si moteur est composé de courroie alors voiture est composée de courroie • Relation non systémique: si voiture est composée de moteur, moteur ne peut pas être composé de voiture • Relation réflexive : une fonction peut être composée d ’autres fonctions

Généralisation : • Relation non réflexive: une classe ne peut dériver d ’elle-même • Relation non symétrique : si une une voiture est une sorte de véhicule, alors le véhicule ne peut pas être une sorte de voiture • Relation transitive : si voiture est une sorte de véhicule terrestre qui elle même est une sorte de véhicule alors voiture est une sorte de véhicule

Association : • Une classe a un rôle dans une association.

constructeur

1 construire

1..*

véhicule

construit par

• Les rôles portent une information de multiplicité précisant le nombre d ’instances qui participent dans la relation. Les multiplicités les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..*


Les relations entre classes • • • • •

L’association L’agrégation La composition La généralisation La dépendance

• L’association exprime une connexion sémantique bidirectionnelle entre classes • Une association est une abstraction des liens qui existent entre les objets instances des classes associées


Réflexivité


Nommage des associations • Indication du sens de lecture


Nommage des rôles • Le rôle décrit une extrémité d’une association


Multiplicit茅 des r么les


Exemple


Hiérarchies de classes • Gérer la complexité – Arborescences de classes d’abstraction croissante


Notes importantes DC = Classe, Opération, Attribut, Relation. DC : est un graphe des classes connectés par des relations Une classe représente la structure commune d’un ensemble d’objets. Une classe= rectangle + chaîne de caractères (nom de la classe ) Ce rectangle peut être séparé en trois parties (nom, attributs, opérations). Le nom de la classe doit commencer par un caractère alphabétique et ne pas contenir le caractère

La syntaxe d’un attribut est : visibilité nom : type ====

Integer, real, string

La visibilité est: ‘+’ pour public ‘#’ pour protected ‘-’ pour private

Une opération (méthode) est un service exécuter par l’instance de la classe La syntaxe d’une opération est: visibility name(paramètre):return


Notes importantes Relation : Association Relations quelconques entre deux classes. Les objets d'une classe se servant des objets d'une autre classe.

Agrégation Décrit une association du type « fait partie de » (is part of ). Restreint une dépendance de création et de destruction.

Généralisation


Associations Étudiant S tudent

students *

Un cours est suivi par plusieurs étudiants (0 ou plusieurs).

attendedCourses attends

Suivi

Cours Course

*

Un étudiant suit des cours (0 ou plusieurs). A partir d’un étudiants, il est possible d’identifier les cours suivis (navigable).


Classes-Associations • Une classe-association est une association qui est aussi une classe. • Les classes-associations sont utilisées lorsque les associations doivent porter des informations • Il est toujours possible de se passer des classesCompany Employee associations. *

1..*

Job salary : undefined


FIAT-UNO-17 : Voiture


Nom_de_la_classe


Voiture

FIAT-UNO-17

Renault-Clio-17

Peugeot-206-75


Nom_de_la_classe




Navigable






A

AgrĂŠgat

B




Client 1..1 Paquet 1..*

0..* Livraison

Lettre

Colis national

Colis

1..1

Colis international 0..* Peut contenir 0..* Marchandise


public class Personne { public String nom; public String prenom; }

public class Etudiant extends Personne { public int noEtudiant; }


public class Personne { public String Nom; public String prenom; public java.util.Collection voiture = new java.util.TreeSet(); }

public class Voiture { public String immatriculation; public Personne PropriĂŠtaire; public void demarer() { } }

public class ServiceContraventions { public java.util.Collection Voiture = new java.util.TreeSet(); }


public class Enseignant extends Personne { public String telephone; public java.util.Collection equipeRecherche = new java.util.TreeSet(); public Departement departement; } public class DĂŠpartement { private int nomDĂŠpartement; private int codetheme; public java.util.Collection enseignant = new java.util.TreeSet(); }


public public public public public }

class EquipeRecherche { String[] nomEquipe; String thĂŠmatique; java.util.Collection enseignant = new java.util.TreeSet(); Laboratoire laboratoire;

public class Laboratoire { public java.util.Collection equipeRecherche = new java.util.TreeSet(); }


Types de relations Généralisation / Spécialisation Association particulière entre classes, notée avec une flèche vide du côté de la superclasse. Le fait qu’une sous-classe soit une spécialisation d’une superclasse signifie qu’elle hérite des opérations et des attributs de cette dernière, et les enrichit. Remarque : l’héritage dans les langage objet est une version forte de la spécialisation, puisqu’il permet d’hériter a partir de la classe mère


• •

Cas LOCAUTO

Une société de locations de véhicules a une implantation nationale et possède plusieurs agences dans différentes villes. Elle souhaite informatiser la gestion des réservations. Elle met en location des véhicules de type utilitaire ou voiture. Ils sont caractérisés par un numéro d’immatriculation, une marque et une catégorie. Les clients peuvent réserver un véhicule d’une certaine catégorie, pour une certaine date et pour une durée. La société de location garde une trace de ses clients : nom, adresse, téléphone. Il existe 2 sortes de clients : les particulier et les entreprises. Dans le cas des entreprises, la société de location demande un nom qui servira de contact. Un taux de remise est attribué suite à une négociation commerciale. Le jour où le client se présente pour prendre le véhicule réservé, l’agence établit un contrat sur lequel figure les données du véhicule (y compris le kilométrage), les données du client et le nom du conducteur. Au retour du véhicule, l’agence récupère le nouveau kilométrage.


Représenter le diagramme de classes : 1. 2. 3. 4. 5. 6. 7. 8.

souligner toutes les entités dans le texte dessiner les classes à partir des entités repérées attribuer les propriétés naturelles dans les classes rechercher les associations qui pourraient relier les classes entre elles affecter y des cardinalités détecter les agrégations éventuelles détecter les généralisation éventuelles valider en relisant le texte


• •

Cas LOCAUTO

Une société de locations de véhicules a une implantation nationale et possède plusieurs agences dans différentes villes. Elle souhaite informatiser la gestion des réservations. Elle met en location des véhicules de type utilitaire ou voiture. Ils sont caractérisés par un numéro d’immatriculation, une marque et une catégorie. Les clients peuvent réserver un véhicule d’une certaine catégorie, pour une certaine date et pour une durée. La société de location garde une trace de ses clients : nom, adresse, téléphone. Il existe 2 sortes de clients : les particulier et les entreprises. Dans le cas des entreprises, la société de location demande un nom qui servira de contact. Un taux de remise est attribué suite à une négociation commerciale. Le jour où le client se présente pour prendre le véhicule réservé, l’agence établit un contrat sur lequel figure les données du véhicule (y compris le kilométrage), les données du client et le nom du conducteur. Au retour du véhicule, l’agence récupère le nouveau kilométrage.


Diagramme d’Objets

• Le diagramme d’objets permet de mettre en évidence des liens entre les objets. Les objets, instances de classes, sont reliés par des liens, instances d’associations. • A l’exception de la multiplicité, qui est explicitement indiquée, le diagramme d’objets utilise les mêmes concepts que le diagramme de classes. Ils sont essentiellement utilisés pour comprendre ou illustrer des parties complexes d’un diagramme de classes.


Diagramme d’Objets Structure statique d’un système, en termes d’objets et de liens entre ces objets. Un objet est une instance de classe et un lien est une instance de relation.

Nom de l ’objet : Classe

Attributs = valeurs

Etienne : personne âge = 35 Personne âge : entier

collaborateur

patron

*

patron 1

Jan-Luc : personne âge = 25

Diagramme de classes

Diagramme d ’objets


Diagramme d’Objets

• Le diagramme de classes et le diagramme d’objets sont proches des MCD et MOD. Les différences fondamentales résident dans l’intégration des méthodes dans les classes et les objets.


Diagramme d’Objets Objet 3

Objet 2

Objet 1 Objet 1


Diagramme d’Objets


Diagramme d’Objets


Diagramme d’Objets

• Le diagramme d’objets sert à illustrer des structures de classes compliquées. Ce diagramme est utilisé en analyse pour vérifier l’adéquation d’un diagramme de classes à différents cas possibles.


Diagramme d’Objets Le diagramme d’objets suivant montre une partie de la structure générale des voitures. Chaque voiture possède un moteur et quatre roues.

Le diagramme d’objets précédent est instance du diagramme de classe suivant.


Diagrammes de déploiement

• représente l’architecture matérielle • décrit la disposition physique des différents nœuds (processeurs) dans la composition d’un système et la répartition des programmes principales du diagramme des composants, sur ces processeurs.


Diagrammes de déploiement Les diagrammes de déploiement montrent la disposition physique des différents matériels (les noeuds) qui entrent dans la composition d’un système et la répartition des instances de composants, processus et objets qui « vivent » sur ces matériels. Les diagrammes de déploiement sont donc très utiles pour modéliser l’architecture physique d’un système.


Diagrammes de dĂŠploiement


Diagrammes de dĂŠploiement e

petit

Exemples


Diagrammes de dĂŠploiement


Diagrammes de composants Diagramme de composants : • représente l’architecture logicielle • décrit les spécifications des modules qui vont contenir le code des classes ainsi que le programme principal. L’identification des modules est réalisée pour chaque sous-système du système global. • Les diagrammes de composants décrivent les composants et leurs dépendances dans l’environnement de réalisation. En général, ils ne sont utilisés que pour des systèmes complexes. Un composant est une vue logique qui représente une partie implémentable d’un système. • Un composant peut être du code, un script, un fichier de commandes, un fichier de données, une table … Il peut réaliser un ensemble d’interfaces qui définissent alors le comportement offert à d’autres composants. Ils décrivent les éléments logiques du système et leurs relations dans l’environnement de réalisation.


Diagrammes de composants


Diagrammes de composants


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.