You are on page 1of 17

Table des mati` eres

I Concepts G en eraux
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
5 5 6 6 11 13 13 13 13 13 13 13 13 13 13 13 15 16 16 16 16 16 16 16 16 16 16 16

1 G enie logiciel 1.0.1 Introduction . . . . . . . . . . . . . . . . . . . 1.0.2 La crise de logiciel . . . . . . . . . . . . . . . 1.0.3 Cycles de vie de logiciel . . . . . . . . . . . . 1.0.4 Processus de d eveloppement : Processus uni e 2 diagrammes structurels 2.1 Diagramme de classe 2.1.1 D enition . . 2.1.2 Notation . . . 2.1.3 Exemple . . . 2.1.4 Exercices . . 2.2 Diagramme dobjet . 2.2.1 D enition . . 2.2.2 Notation . . . 2.2.3 Exemple . . . 2.2.4 Exercices . . et statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Diagrammes comportementaux 3.1 Diagramme des cas dutilisation 3.1.1 D enition . . . . . . . . 3.1.2 Notation . . . . . . . . . 3.1.3 Exemple . . . . . . . . . 3.1.4 Exercices . . . . . . . . 3.2 Diagramme etats et transitions 3.2.1 D enition . . . . . . . . 3.2.2 Notation . . . . . . . . . 3.2.3 Exemple . . . . . . . . . 3.2.4 Exercices . . . . . . . . 3.3 Diagramme dactivit e. . . . . . 1

2 3.3.1 3.3.2 3.3.3 3.3.4 D enition Notation . Exemple . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

` TABLE DES MATIERES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17

4 Diagrammes dinteraction 4.1 Diagramme de s equence . . . 4.1.1 D enition . . . . . . . 4.1.2 Notation . . . . . . . . 4.1.3 Exemple . . . . . . . . 4.1.4 Exercices . . . . . . . 4.2 Diagramme de communication 4.2.1 D enition . . . . . . . 4.2.2 Notation . . . . . . . . 4.2.3 Exemple . . . . . . . . 4.2.4 Exercices . . . . . . .

Premi` ere partie Concepts G en eraux

Chapitre 1 G enie logiciel


1.0.1 Introduction

Pour r ealiser des projets informatiques il est n ecessaire davoir une d emarche pour produire un logiciel de bonne qualit e, cette d emarche ` a suivre est un grand domaine en informatique qui sappelle G enie logiciel, cette introduction survole des concepts g en eraux qui permettent d eclaircir quelques notions. Logiciel Un logiciel tel quil est d eni dans le dictionnaire cest un ensemble dinformations relatives ` a des traitements eectu es automatiquement par un appareil informatique. Y sont incluses les instructions de traitement, regroup ees sous forme de programmes, des donn ees et de la documentation. Le tout est stock e sous forme dun ensemble de chiers dans une m emoire 1 . En g en eral, dans un syst` eme informatique on distingue deux composants essentiels le premiers est physique (mat eriel informatique : ordinateur et p eriph eriques) et un autre logique cest ` a dire le logiciel avec sa documentation. Bug informatique Cest une erreur qui peut causer un dysfonctionnement dans un logiciel, le r esultat de ces erreurs peut aller de simples erreurs dachage jusqu` a des ev enements catastrophiques (explosion dune fus ee) en passant par des pertes de donn ees plus ou moins grandes et rarement par des d et eriorations mat eriels.
1. Logiciel - Dictionnaire Larousse

6 G enie logiciel

CHAPITRE 1. GENIE LOGICIEL

(software engineering en anglais)est ling enierie de sp ecier, de concevoir, de r ealiser, et de faire evoluer, avec des moyens et dans des d elais raisonnables, des programmes, des documentations et des proc edures de qualit e en vu dutiliser un syst` eme informatique pour r esoudre certains probl` emes. En dautre terme le g enie logiciel d enit lensemble des m ethodes et des techniques qui permet davoir une bonne conception et de r ealiser un produit logiciel complexe de bonne qualit e.

1.0.2

La crise de logiciel

Une des conf erences marquantes en r eponse ` a la crise du logiciel celle du 06 au 11 octobre 1968 sous le parrainage de lOTAN ` a Garmisch 2 , dans cette conf erence les scientiques ont identi e les points suivants : Le cout de logiciel etait tr` es elev e avec des d elais longs et non respect es ; La mauvaise qualit e du produit logiciel et ne r epond pas aux besoins du clients avec des erreurs dans le produit nal ; la portabilit e des logiciels etait tr` es rare ; la t ache de maintenance du logiciel etait co uteuse, complexe et parfois impossibles ` a r ealiser ;

1.0.3

Cycles de vie de logiciel

Un cycle de vie est un ensemble d etapes successive que peut prendre un logiciel depuis sa demande ` a son retrait, Y compris son utilisation (il ne faut pas confondre entre le cycle de vie et le cycle de d eveloppement car ce dernier sins` ere dans le premier). Le d ecoupage du cycle de vie permet de maitriser les d elais de r ealisation, les co uts et minimiser les risques. En g en eral, il existe quatre cycles de vie : le mod` ele en cascade, le mod` ele en V, le mod` ele incr emental, le mod` ele en spirale. Tous ces mod` eles ne sont pas les m emes, mais lid ee est toujours la m eme : le logiciel est d evelopp e en phases. Mod` ele en cascade Cest le premier mod` ele de cycle de vie,il a et e mis au point d` es 1966, puis formalis e aux alentours de 1970. Il d enit des phases s equentielles a ` lissue de chacune desquelles des documents sont produits pour en v erier la conformit e avant de passer ` a la suivante.
2. Garmisch-Partenkirchen est une ville dAllemagne situ ee en Bavi` ere

Figure 1.1 Le mod` ele en cascade Ses avantages Simplicit e D ecoupage du projet simple ; Tr es bonne adaptation aux projets dont les besoins sont parfaitement connus ; Ce Cycle de vie sadapte tr` es bien aux tr` es cours projets ; Chaque phase est d enie clairement et le suivi davancement dans le calendrier est ais e; Chaque t ache est associ ee ` a un prol de personne Ses inconv enients Le passage dune phase ` a une autre se fait seulement si la phase en cours est termin e avec une validation ; Le retour vers les phases pr ec edentes se limite ` a une seul a ` la fois se qui rend la navigation dicile ; Les phases sont sanctionn ees par des documents de revue de n de t ache : mauvaise visibilit e; Le jeu de tests valide lapplication nale : co ut elev e en cas de probl` eme ;

CHAPITRE 1. GENIE LOGICIEL Lapplication est fond e sur des besoins qui sont d enis au d ebut.

Mod` ele en V Ce mod` ele est une am elioration du cycle pr ec edant au niveau du retour aux etapes pr ec edentes, il permet ainsi d eviter un retour aux etapes pr ec edentes. Les phases de la partie montante doivent renvoyer de linformation sur les phases en vis-` a-vis lorsque des d efauts sont d etect es an dam eliorer le logiciel. lune des points forts de ce mod` ele est de pr eparer et anticiper les futures etapes, ainsi les tests de validation sont d enis lors des sp ecications, les attendus des tests unitaires sont d enis lors de la conception et ainsi de suite.

Figure 1.2 Le mod` ele en V

Ses avantages La qualit e de la mise en uvre des tests Il d ecoupe le syst` eme en composants ce qui pousse a ` la r eexion dune architecture Mod` ele eprouv e dans lindustrie et normalis e 3 (ISO-12207, MILSTD498. . . ) Deux types de t aches sont r ealis ees en parall` ele : Verticalement on pr epare l etape suivante et Horizontalement : on pr epare la v erication de la t ache en cours
3. le processus permettant d elaborer une norme ` a partir des usages et des meilleures pratiques

9 Ses inconv enients La validation nale par le client tr` es tardive augmente les risques de d epassement de d elai (et de co ut) Rigide face ` a une evolution des besoins Mod` ele en spirale Ce mod` ele reprend les etapes du cycle en V par des versions impl ement ees successivement, ces versions sont ran ees jusqu` a obtenir une version ad equate et donc produit nal. La propri et es essentiel de ce mod` ele est la gestion des risques, puisque ` a chaque it eration on evalue ses risques si le risque de d eveloppement dune it eration est elev e alors on ne proc` ede pas a ` cette etapes.

Figure 1.3 Le mod` ele en spirale

Ses avantages Identication progressive et eciente des risques par prototypage Pas de sur-qualit e de d eveloppement et de tests en se pla cant a ` un niveau de d eveloppement donn e; Bas e sur lexp erimentation evitant une remise en cause globale par le client ; Est incr emental ;

10

CHAPITRE 1. GENIE LOGICIEL Encha ne les cycles en V de fa con r e echie ;

Ses inconv enients La place donn ee ` a lanalyse de risque a tendance de limiter son utilisation aux projets innovants ; Pas de documentation type ; Dicult e didentier le degr e de risque sur des probl` emes quon a pas d ej` a rencontr es ; Co ut de mise en uvre ; Mod` ele incr emental Le produit est d elivr e en plusieurs fois, de mani` ere incr ementale, cest a ` dire en le compl etant au fur et ` a mesure et en protant de lexp erimentation op erationnelle des incr ements pr ec edents. Chaque incr ement peut donner lieu a un cycle de vie classique plus ou moins complet. Les premiers incr ` ements peuvent etre des maquettes ou des prototypes (r eutilisables pour passer au prochain incr ement en les compl etant et/ou en optimisant leur implantation). Le risque majeur de cette approche est celui de la remise en cause du noyau ou des incr ements pr ec edents.

Figure 1.4 Le mod` ele incr emental Ses avantages La premi` ere version du syst` eme est fournit dans des courts d elais ; Les risques d echec sont r eduits( probl` emes d etectes assez t ot, les composants essentiels sont fournis en premiers donc test es plus longtemps, le client peut demander des changement ` a tout moment). Ses inconv enients Complexit e de d enir un incr ement ; Dicile de concevoir une architecture stable d` es le d ebut ; Gestion des remise en cause d noyau ou des incr ements ;

11

1.0.4

Processus de d eveloppement : Processus uni e

12

CHAPITRE 1. GENIE LOGICIEL

Chapitre 2 diagrammes structurels et statiques


2.1
2.1.1 2.1.2 2.1.3 2.1.4

Diagramme de classe
D enition Notation Exemple Exercices

2.2
2.2.1 2.2.2 2.2.3 2.2.4

Diagramme dobjet
D enition Notation Exemple Exercices

13

14

CHAPITRE 2. DIAGRAMMES STRUCTURELS ET STATIQUES

15

16

CHAPITRE 3. DIAGRAMMES COMPORTEMENTAUX

Chapitre 3 Diagrammes comportementaux


3.1
3.1.1 3.1.2 3.1.3 3.1.4

Diagramme des cas dutilisation


D enition Notation Exemple Exercices

3.2
3.2.1 3.2.2 3.2.3 3.2.4

Diagramme etats et transitions


D enition Notation Exemple Exercices

3.3
3.3.1 3.3.2 3.3.3 3.3.4

Diagramme dactivit e
D enition Notation Exemple Exercices

Chapitre 4 Diagrammes dinteraction


4.1
4.1.1 4.1.2 4.1.3 4.1.4

Diagramme de s equence
D enition Notation Exemple Exercices

4.2
4.2.1 4.2.2 4.2.3 4.2.4

Diagramme de communication
D enition Notation Exemple Exercices

17