Vous êtes sur la page 1sur 10

Examen final 30/05/2007 (1/10)

T2 / IF-215 : Modélisations UML


Questions théoriques (1 heure – 8-10 points)

Généralités (3 points)

1. Cycle en « V »
a. Donnez une représentation schématique de ce cycle.

b. Quel est l’intérêt de dénommer / représenter ce processus de développement logiciel de


cette façon ?
« V » car chaque phase descendante possède son parallèle montant

2. Qualité
a. Donnez une définition de la qualité d’un produit.
« La qualité est l’aptitude d’un produit ou d’un service à satisfaire les
besoins des utilisateurs »
b. Citez et détaillez rapidement les 3 catégories de facteurs qualité.
•Exploitation, •Évolution, •Adaptation

3. Langages
a. Citez et détaillez rapidement les différents types de langages apparus au cours de
l’évolution de la programmation logicielle.
•Procéduraux, Modulaires, T.A.D., Objets

4. Modélisation objet
a. Citez et détaillez rapidement les 5 principes fondateurs de la modélisation objet.
AbstractionEncapsulationModularitéHiérarchieConnexion
b. Comment se déclinent ces 5 principes en 5 concepts ? Détaillez brièvement.
ObjetClasseGénéralisationPolymorphismeMessage
c. Quelle est la différence entre généralisation et spécialisation ? Sous quel mécanisme
courant les utilise t’on ?
Sens vers le haut : généralisation = factorisation.
Sens Vers le bas : spécialisation = enrichissement.
Héritage

5. Classe
a. Qu’est-ce qu’une classe ? moule de fabrication de ses objets
b. Quelle est la différence entre une classe et un objet ? Objet = Instance d’une
classe (moule)
c. Que permet l’imbrication ? utilisation de classe comme type pour attributs d’autre
classe
d. Qu’est-ce que le polymorphisme ? fonctionnement différent d’un même méthode
selon (sous-)classe l’implémentant. Généricité, extensibilité
e. Comment se traduit, dans une classe, le concept « message » ? méthode (publique,
private ÍÎ self-message)

Partie théorique – SANS Document – Durée : 1 heure


Examen final 30/05/2007 (2/10)
T2 / IF-215 : Modélisations UML

6. UML
a. Que signifie cet acronyme ? Unified Modeling Language
b. Dans quel(s) but(s) a t’on « créé » UML ? Comment s’appelle cette activité ?
Modélisation
c. Est-ce une méthode ? Pourquoi ? Non, pas de démarche
d. Qui s’occupe d’UML ? OMG
e. Combien de diagrammes UML sont disponibles actuellement ? 13

Modélisation fonctionnelle (2.5 points)

7. Diagrammes fonctionnels
a. Quels sont les 3 diagrammes fonctionnels principaux ?
Use case / Séquence / Activité
b. Donnez, en les détaillant brièvement, un exemple simple pour chacun.

8. Cas d’utilisation
a. Quelle est la différence entre une relation « include » et « extend » ?
Include = Implique (nécessite) / extend = spécialise
b. Donnez le plan généralement utilisé pour leur description (spécification) textuelle.
…cf. cours
c. Comment peut-on organiser ces diagrammes ?
Packages
d. Facultatif : Quelle est la différence entre une relation « extend » et de généralisation ?
extend peut être conditionnelle (point), pas de filiation obligatoire

9. Diagrammes d’activités
a. Quelle est la différence entre une « relation » « fork » et « join » ?
fork = dispatch
join = synchronisation
b. Comment peut-on regrouper les activités par acteurs ?
Swin-lanes / lignes verticales

10. Diagrammes de séquences


a. Quels sont les différents types de message utilisables ?
…cf. cours (synchrone, asynchrone, etc…)

Partie théorique – SANS Document – Durée : 1 heure


Examen final 30/05/2007 (3/10)
T2 / IF-215 : Modélisations UML

Modélisation statique (2.5 points)

11. Diagrammes statiques


a. Quels sont les diagrammes utilisables pour une modélisation statique ?
…classes / objets / packages / composants / déploiement

12. Diagrammes de classes


a. Donnez un exemple de diagramme de classe utilisant au moins 3 associations parmi les
suivantes :
i. Association simple (avec cardinalités)
ii. Classe d’association
iii. Agrégation
iv. Composition
v. Généralisation (héritage)
b. Quelle est la différence entre une relation d’agrégation et de composition ?
Composition = forme forte d’agrégation : cardinalité 1,1 + durée de vie
c. Comment peut-on regrouper les classes ? Quels sont les 2 « pièges » à éviter lors de ce(s)
regroupement(s) ?
Packages : dépendance mutuelle, circulaire…

Modélisation dynamique (2 points)

13. Diagrammes dynamiques


a. Quels sont les diagrammes dynamiques principaux ?
b. Donnez, en les détaillant brièvement, un exemple simple pour chacun.
Etats / communication (collaboration) / séquence / timing

Partie théorique – SANS Document – Durée : 1 heure


Examen final 30/05/2007 (4/10)
T2 / IF-215 : Modélisations UML
Exercices pratiques (1 heure – 10-12 points)

Etude de cas : « TVServices »

TVServices est une société qui met à disposition de ses clients un ensemble de services
relatifs à la télévision (accès à des chaînes thématiques, contrôle des utilisations et des utilisateurs,
programme électronique détaillé des chaînes accessibles, etc.). Ces services sont commercialisés sous le
nom d' « IntelliTélé ». Chaque client dispose d'un boîtier électronique situé entre l'antenne satellite et
l'installation de télévisualisation (écrans, magnétoscopes...). C'est cet équipement intermédiaire, appelé
ci-après "boîtier TVS", constamment en veille et relié au réseau téléphonique, qui permet
au client :
- le paiement des services par carte bancaire, et
- le décodage des images reçues.
à TVServices :
- la diffusion automatique des programmes et magazines électroniques (et des publicités…) :
en chargeant les mémoires des boîtiers avec les programmes et magazines, et
- l'autorisation d'accès aux services : TVS mémorise les informations relatives aux
autorisations d'accès aux services (fonction des paiements reçus) dans les boîtiers.

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (5/10)
T2 / IF-215 : Modélisations UML

I. Partie 1: Diagramme de cas d'utilisation - vue de l'administrateur (2 points)

Voici un extrait de la brochure commerciale proposant les contrats « IntelliTélé »

« Une fois le contrat signé et l'abonnement aux services de votre choix payé vous
recevrez par l'intermédiaire d'un installateur agréé, un "boîtier TVS" préprogrammé avec les
autorisations d'accès correspondant à votre contrat. Lors de l'installation, un compte "administrateur"
(typiquement, pour une installation familiale, un des parents) est créé. Il aura pour tâche de déclarer les
futurs utilisateurs du système (identificateur et mot de passe) ainsi que d'administrer leurs droits (types
d'émissions autorisées, plages horaires autorisées, durée maximale hebdomadaire de visualisation
autorisée appelée "crédit hebdomadaire"). »

a. Expliquez le diagramme suivant par un texte décrivant les informations qu'il contient
(en les replaçant dans le contexte de TVServices).

Administrer

Administrateur <<include>>

ControlerAccesUtilisateur

<<include>>

Identifier

Voici une description possible du diagramme proposé :


L'accès aux fonctions d'administration est protégé, le contrôle s'effectuant sur
l'identificateur et le mot de passe de l'administrateur. Ce qui explique que l'exécution du cas
d'utilisation 'Administrer' nécessite celle du cas d'utilisation ContrôleAccèsUtilisateur, dont
l'exécution nécessite celle du cas d'utilisation 'Identifier'.
Le découpage fonctionnel de l'administration en création des utilisateurs, contrôle d'accès
des utilisateurs... ne me semble pas pertinent à ce niveau de description avec l'approche 'cas
d'utilisation'.
b. Quel peut-être l'intérêt de séparer les cas d'utilisation "ControlerAccesUtilisateur" et
"Identifier" du cas d'utilisation "Administrer" ?
Il peut y avoir intérêt à séparer les cas d'utilisation "ContrôleAccèsUtilisateur" et "Identifier" du
cas d'utilisation "Administrer" si les deux premiers sont utilisés par ('inclus dans') d'autres cas
d'utilisation; on les a en quelque sorte factorisés.

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (6/10)
T2 / IF-215 : Modélisations UML

c. Représentez par un fragment de diagramme de cas d'utilisation le fait que parmi les
acteurs sollicitant le système, "Client" et "Administrateur" sont tous deux
"Utilisateur".

II. Partie 2: Diagramme de cas d'utilisation - vue de l'utilisateur (4 points)

Voici un extrait de la description faite par un des premiers clients de ce système, Mr Smith :
« Une "IntelliTélé" est un téléviseur-enregistreur qui permet de regarder des émissions
télédiffusées, et aussi de les enregistrer. C'est un système qui, via un réseau, connaît les possibilités pour
lesquelles on a payé. Par exemple, on peut acheter des droits de réception de certaines chaînes payantes
ou s'abonner à un service qui envoie régulièrement une analyse détaillée des programmes des
principales chaînes. Pour utiliser une "IntelliTélé", on dispose d'un terminal, comme une télécommande,
avec un petit écran tactile, qu'on manipule avec un stylet. Dans ce terminal, on peut glisser si nécessaire
une carte à puce, par exemple pour payer un service. Pour pouvoir utiliser "l'IntelliTélé", il faut
s'identifier. Un utilisateur autorisé dispose de droits; c'est moi qui ai défini les droits d'accès des enfants.
Je leur ai interdit des plages horaires et certaines chaînes. Il me reste à interdire certains types de
programme (je sais que c'est possible car ils disent que le boîtier connaît la catégorie de chaque
émission). Mais c'est vrai, je ne vous ai pas encore parlé du boîtier ! Tenez, voici la présentation de
TVServices, la société qui commercialise "L'IntelliTélé",... » (Voir la Partie I).

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (7/10)
T2 / IF-215 : Modélisations UML

a. En imaginant utiliser une « IntelliTélé » comme vous le faites (peut-être) de votre


récepteur TV/magnétoscope, et en tenant compte de la description ci-dessus, produire
un diagramme de cas d'utilisation(s) de l'« IntelliTélé » vue(s) de l'utilisateur Smith,
utilisateur générique comme défini en I.c. ci-avant.

b. Documentez 3 scénarios possibles d’utilisation de ce système.



Scénario du cas d'utilisation: Utiliser la TV; Enregistrement direct.
Acteur déclencheur: Mr Martin
Ce scénario commence par:
1. Mr Martin s'identifie
/* Le système lui donne l'autorisation d'accès */
2. Mr Martin décide d'enregistrer une émission sur M6 en direct
Ce scénario se termine par
3. Mr Martin éteint la TV
Scénario du cas d'utilisation: Utiliser la TV; Accès à une chaîne refusée.
Acteur déclencheur: Mr Martin
Ce scénario commence par:
1. Mr Martin s'identifie
2. Mr Martin décide de regarder une émission d'informations sur France3
3. Le système lui indique qu'il n'a pas les droits d'accès sur cette chaîne.
Ce scénario se termine par
4. Mr Martin éteint la TV
Scénario du cas d'utilisation: Utiliser la TV; Crédit de temps restant de 5 minutes.
Acteur déclencheur: La fille de Mr Martin
Ce scénario commence par:
1. La fille de Mr Martin s'identifie
2. Le système la reconnaît et lui affiche qui ne lui reste que 5 minutes de crédit
3. Elle choisit de regarder un dessin animé
4. au bout de 5 minutes, la TV s'éteint toute seule.

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (8/10)
T2 / IF-215 : Modélisations UML
III. Partie 3: Diagramme de classe métier pour le cas d'utilisation « Regarder » (3 points)

Définitions et contraintes complétant la description du système donnée en Parties I et II :

- Les chaînes proposent des émissions.


- Une émission peut être l'objet de plusieurs diffusions. Une émission a une certaine durée.
- Une diffusion a une certaine date/heure de début.
- Une plage horaire est relative à un certain jour de la semaine, elle commence et se termine à des heures
rondes.
- Une session est l'utilisation du système par un utilisateur, d'une certaine date/heure de début à une
certaine date/heure de fin, au cours de laquelle il peut zapper d'une chaîne à une autre.
- Une session n'est autorisée que si les conditions suivantes sont réunies :
- l'utilisateur qui la déclenche est un utilisateur autorisé pour le type d'émission, correspondant à
la diffusion regardée.
- l'heure de début de session appartient à une plage horaire autorisée pour cet utilisateur.
- le crédit hebdomadaire de cet utilisateur n'est pas atteint.

a. Proposer un diagramme de classe faisant apparaître les classes entités et les attributs
nécessaires à la vision statique de ce diagramme de classe.

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (9/10)
T2 / IF-215 : Modélisations UML

IV. Partie 4: Diagramme d’états (3 points)

Soit le diagramme d'états suivant, décrivant le comportement dynamique d'un certain composant du
terminal "IntelliTélé".

Notations utilisées (rappels) :


- Ev_xxx désigne un évènement.
- Action_xxx désigne une action accompagnant une transition.
- [bla bla bla] désigne une condition de garde.

Ev_3 / Action_3 : [ toto est true ]

SuperEtat A
entry/Action_A_En1
exit/Action_A_So1

Ev_1 / Action_1

Ev_4 / Action_A_In1

Ev_5

Etat B Etat C

entry/Action_B_En1 entry/Action_C_En1
Ev_2 / Action_2 exit/Action_B_So1 exit/Action_C_So1

Ev_6

a. Complétez le tableau ci-après pour expliquer le comportement de l'objet en réaction à


la suite d'événements Ev_1, Ev_5, Ev_4, ..., Ev_2.
- On suppose que l'on part de l'état initial à gauche du diagramme.
- A partir de la ligne 2 (incluse), l'état de départ d'une ligne est l'état d'arrivée de la ligne précédente.
- Si plusieurs actions sont effectuées, listez-les dans leur ordre chronologique, séparées par une
virgule. Si rien ne se passe, mettez une croix (« x »).

Cf page suivante

Partie pratique – AVEC Documents – Durée : 1 heure


Examen final 30/05/2007 (10/10)
T2 / IF-215 : Modélisations UML

Etat
Etat de d'arrivée
départ Evènement Action(s) effectuée(s) (dans A)
Action_1,
Action_A_En1,
1 Initial Ev_1 Action_B_En1 B
Action_B_So1,
2 B Ev_5 Action_C_En1 C
Action_A_In1
3 C Ev_4 (on reste dans C) C
Action_C_So1,
4 C Ev_6 Action_B_En1 B
Ev_3 (avec, à cet instant-là, X car toto est faux.
5 B toto qui vaut ‘faux’) On reste donc dans B B
Action_B_So1,
Action_C_En1

6 B Ev_5 (idem ligne 2) C


Action_3 déclenchée car
Ev_3 (avec, à cet instant-là, toto vaut « vrai »
7 C toto qui vaut ‘vrai’) (on reste dans C) C
8 C Ev_2 Action_2 Final.

Partie pratique – AVEC Documents – Durée : 1 heure

Vous aimerez peut-être aussi