Analyse et Conception Orientées Objets

Programming, Math, etc. · exam

Université de La Manouba

Ecole Nationale des Sciences Module : Analyse et Conception Orientées Objets

de l’Informatique Classes : II2

A.U. : 2014/2015

Signatures des

Surveillants

Nom : ……………………… Prénom :……………………..

N° CIN : …………………………………………………….

N° d’inscription : ……………………………………………

Signature de

l’étudiant

Date : 19 /12/ 2014 Salle n° :…………………. Place n° :…………………..

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

Examen - Session Principale

Analyse et Conception Orientées Objets

Note et Appréciations du

correcteur

Exercice 1 : Questions de réflexion (4pts)

1- L’encapsulation est l’un des principes importants de l’orienté objet, définissez ce principe et précisez

comment nous pouvons mettre en évidence ce principe dans le cas d’une classe. (1pt)

2- Quel est l’utilité des diagrammes d’objets ? (0.5 pt)

3- Donnez en langage naturel le scénario présenté par chacun des diagrammes suivants : (2.5pts)

a.

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

//sachant que dde identification correspond à une demande d’identification

b.

2

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

Exercice 2 : Diagramme de cas d’utilisation + diagramme d’activités (6pts)

Une entreprise, qui vend, entretient et répare des voitures, désire exploiter un logiciel de gestion

des réparations sur son Intranet.

Elle dispose déjà d'un logiciel comptable et d’un logiciel de « gestion des commandes ». Les

commandes des pièces de rechanges sont gérées par le logiciel de gestion des commandes. Les

factures de réparation sont imprimées et gérées par le logiciel comptable. Par contre, le logiciel de

gestion des réparations doit communiquer avec celui-ci pour transmettre les réparations à facturer.

Le logiciel de gestion des réparations est destiné en priorité au chef d'atelier. Il doit lui permettre de

créer les fiches de réparation et préciser le travail effectué par les divers employés de l'atelier. Pour

créer une fiche de réparation, le chef d’atelier saisit les critères de recherche de voitures dans le

système. Le logiciel de gestion des réparations lui donne la liste des voitures correspondant aux

critères entrés. Si la voiture existe, le chef d’atelier va sélectionner la voiture. Le logiciel va,

ensuite, fournir les informations sur le véhicule. Si la voiture est sous garantie, le chef devra saisir la

Advertisement

date de demande de réparation. Si la voiture n’existe pas, le chef va saisir les informations

concernant ce nouveau véhicule. Dans tous les cas, le chef d’atelier devra saisir la date de réception

3

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

(date à laquelle il a pris la voiture) et de restitution (date à laquelle il va rendre la voiture). Si le

dommage de la voiture est payé par l’assurance, le logiciel va fournir une liste d’assurances au chef

d’atelier. Ce dernier sélectionnera l’assurance appropriée. Enfin, le logiciel enregistre la fiche de

réparation.

Pour effectuer les réparations nécessaires pour chaque véhicule, les mécaniciens et autres employés

de l'atelier vont chercher des pièces de rechange au magasin. Lorsque le magasinier fournit les

pièces de rechange, il saisit les pièces fournies dans la fiche de réparation du véhicule. Les

magasiniers ne fourniront des pièces que pour les véhicules pour lesquels une fiche de réparation est

créée. Dans le cas où la pièce de rechange demandée n’existe pas au magasin, le magasinier saisit la

pièce de rechange avec la mention « commandée » et il précise la date de commande. Au même

temps, il lance une commande auprès du fournisseur utilisant le logiciel de gestion des commandes.

Une fois la commande est livrée, le magasinier fournit les pièces aux mécaniciens et aux autres

employés de l’atelier et change la mention de la pièce de « commandée » à « approvisionnée »

(avec la date d’approvisionnement et le prix pour des fins de comptabilité) dans la fiche de

réparation du véhicule.

Lorsqu'une réparation est terminée, le chef d'atelier va essayer la voiture. Si tout est en ordre, il met

la voiture sur le parc clientèle et ferme la fiche de réparation informatisée. Les fiches de réparation

fermées par le chef d'atelier doivent pouvoir être importées par le comptable dans le logiciel

comptable.

Travail à faire :

1. Considérons le chef d’atelier un acteur principal du logiciel de gestion des réparations et « créer

une fiche de réparation » un cas d’utilisation du logiciel en question. Complétez le diagramme

de cas d’utilisation ci-dessous tout en précisant :

-

-

les autres acteurs du logiciel en question et leurs types (principal ou secondaire). (0.75 pt)

les quatre autres cas d’utilisation du logiciel en question. (2 pts)

4

Université de La Manouba

Ecole Nationale des Sciences Module

de l’Informatique Classe

Analyse et Conception Orientées Objets

Module : Analyse et Conception Orientées Objets

Classes : II2

A.U. : 2014/2015

Signatures des

Surveillants

Nom : ……………………… Prénom

Advertisement

:……………………..

: ……………………… Prénom :……………………..

…………………………………………………….

N° CIN : …………………………………………………….

…………………………………………………….

: ……………………………………………

N° d’inscription : ……………………………………………

N° d’inscription

Signature de

l’étudiant

Salle n° :…………………. Place n° :…………………..

Date : 19 /12/ 2014 Salle n° :…………………. Place n° :…………………..

Salle n° :…………………. Place n° :…………………..

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - -

  • -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - -
  • - - - - - - - - - - - - - - -

-

les relations entre acteurs-cas d’utilisation, entre acteurs

cas d’utilisation, entre acteurs-acteurs (si besoin) e

acteurs (si besoin) et les dépendances

entre les cas d’utilisation (si besoin). (1.25 pts)

entre les cas d’utilisation (si besoin).

Logiciel de gestion des réparations

Créer une fiche

Créer une fiche

de réparation

de réparation

Chef

d’atelier

2. Proposez un diagramme d’activités qui illustre la dynamique du cas d’utilisation

Proposez un diagramme d’activités qui illustre la dynamique du cas d’utilisation « créer une

Proposez un diagramme d’activités qui illustre la dynamique du cas d’utilisation

fiche de réparation » (2 pts)

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

Exercice 3 : Diagramme de classes+ diagramme d’états-transitions+diagramme

de séquences (10 pts)

Nous nous intéressons dans cet exercice à la conception, en partie, d’un site web d’une agence de

location de véhicules automobiles. Les clients peuvent réserver une voiture en précisant leur nom,

leur adresse, la date de début, la durée de la location et le modèle désiré sur la page de réservation

du site web d’agence. Les coordonnées du client sont enregistrées s’il s’agit d‘un nouveau client

ainsi que la réservation de la voiture avec toutes ses caractéristiques.

Le client est informé lorsque la demande de location ne peut pas être satisfaite.

Advertisement

Si la demande de location peut être satisfaite (il y a une voiture du modèle demandé qui est

disponible durant la période de location), alors la sélection d’une voiture correspondant au modèle

désiré par le client se fait automatiquement et alors un projet de contrat de location est établi et

transmis au client (fichier au format pdf). Si le client accepte les conditions du contrat, il informe

l’agence de son acceptation du contrat. Le contrat prend la forme d’un préaccord. A ce stade il peut

toujours être l’objet de modification et revenir à l’état de projet. Avant de signé le contrat, celui-ci

peut être à tout moment annulé. Une fois le préaccord définitivement établi, le contrat est signé par

les parties (le client et l’agence) à l’agence.

Une fois signé le contrat peut devenir applicable le jour de la location, c-à-d, le jour de la location,

le client se présente à l’agence où il a réservé une voiture avec le contrat de location signé, pour

recevoir les clés de la voiture. La personne à l’accueil enregistre le kilométrage de la voiture au

compteur et la date réelle de début de location ; ces données sont aussi inscrites sur le document de

prise en charge donné au client. Le contrat prend fin au retour de la voiture. Au retour du véhicule,

le kilométrage de la voiture est enregistré par l'employé de l’agence. Une facture est établie. Le prix

de la location est calculé en fonction du nombre de kilomètres parcourus et de la durée de la

location par la formule suivante :

(prixKilomètre kilomètres-parcourus) + (prixJournalier durée-réelle-location).

Le prix au kilomètre et le prix journalier dépendent du modèle choisi.

6

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

Travail à faire :

1. Considérons le diagramme de classes suivant :

a. Afin de faciliter l’implémentation des associations, on se propose de limiter au maximum

possible la navigation. Précisez le sens de navigation des différentes associations directement

sur le diagramme de classes ci-dessus. (1 pt)

b. Pour comprendre les règles de gestion gouvernant l’évolution des liens entre les objets, on se

propose de décorer les associations par les contraintes {ordered},{addOnly},{frozen},

{notUnique}. Décorez, directement sur le diagramme de classes ci-dessus, chacune des

7

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

associations par la ou les contrainte(s) de gestion appropriée(s). Vous pouvez tout simplement

annoter le bout navigable de chaque association par les symboles O, A, F, N (respectivement

pour (O)rdered, (A)ddOnly, (F)rozen et (N)otUnique). (1.25 pts)

c. Discutez brièvement l’impact des contraintes de gestion des associations sur les méthodes des

classes. (1.25 pts)

d. L’implémentation des associations avec cardinalité multiple nécessite l’utilisation d’une

structure qui implémente une collection (non définie dans le diagramme de classes proposé).

Quelle structure vous comptez utiliser pour chacune des associations multiples ? Justifiez votre

choix. (1pt)

8

Université de La Manouba

Advertisement

Ecole Nationale des Sciences Module : Analyse et Conception Orientées Objets

de l’Informatique Classes : II2

A.U. : 2014/2015

Signatures des

Surveillants

Nom : ……………………… Prénom :……………………..

N° CIN : …………………………………………………….

N° d’inscription : ……………………………………………

Signature de

l’étudiant

Date : 19 /12/ 2014 Salle n° :…………………. Place n° :…………………..

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

e. Nous voulons ajouter dans la classe ‘Location_de_vehicule’, la méthode « louer_voiture ».

Précisez la signature de cette méthode (déclaration) et donner l’ordre de navigation (les objets à

visiter) afin de la réaliser. (1.5 pts)

2. On se propose de comprendre l’évolution de la classe ‘Contrat’. En se basant sur l’énoncé,

donnez le diagramme d’états-transitions de cette classe. (2 pts)

3. Considérons le scénario suivant de location de voiture utilisant le site web de l’agence :

« Un nouveau client utilise le site web de l’agence pour louer une voiture. La demande du client

peut être satisfaite. Une fois le contrat est créé, le client accepte les conditions du contrat sans

discussion (aucune modification n’est apportée au contrat initialement présenté par l’agence). Il

signe le contrat avec le directeur de l’agence et le jour même il passe récupérer la voiture qu’il a

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

réservée. Il utilise la voiture. Au retour de la voiture, le contrat prend fin. Un agent comptable

établie la facture et la donne au client pour règlement. »

a. En vous basant sur l’ébauche du diagramme de classes proposé, précisez les objets nécessaires

au déroulement du scénario précédent. (0.5 pts)

b. Donnez le digramme de séquence du scénario de location de voiture avec les différents objets

que vous avez identifiés dans (a). N’oubliez pas de préciser toutes les méthodes que vous devez

ajouter au diagramme de classes proposé (on suppose que tous les messages échangés sont

des messages synchrones). (1.5 pts)

10

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

11

NE RIEN ECRIRE ICI

(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -

12