Vous êtes sur la page 1sur 13

CONCEPTION des SYSTMES dINFORMATION

UML
1 : INTRODUCTION
Epitech 3 Automne 2007

Bertrand LIAUDET

SOMMAIRE

INTRODUCTION 2
1. Dveloppement dun logiciel : les quatre distinctions capitales 2
2. Le cycle en V 5
3. UML 9
4. Bibliographie 12

EPITECH - CSI - UML Introduction - 2007-2008 - page 1/13- Bertrand LIAUDET


INTRODUCTION

Il est facile de dcrire la mthode encore que son application exige coup sr savoir et
pratique.

Conception des Systmes dInformation


Langage UML
Trois notions dans le titre du cours :

Conception : cest une partie du dveloppement du logiciel.


Systme dinformation : cest un ou plusieurs logiciels manipulant un ensemble dinformations
structures et cohrentes. Par exemple : lintra de lEPITECH : des cours, des lves, des profs,
des horaires, des projets, des groupes, des notes, etc. On peut les consulter, les crer, les
modifier, les dtruire. Plus largement, aujourdhui, tout logiciel peut tre considr comme un
systme dinformation.

UML : cest un langage qui permet de reprsenter graphiquement les lments de la conception.
UML est connot programmation objet. Attention, ce nest pas une mthode.
Dans ce cours, on va drouler une mthode de conception pour le dveloppement dapplications
type systme dinformation avec un langage orient objet en utilisant le langage UML.

1. Dveloppement dun logiciel : les quatre distinctions capitales

Il y a quatre distinctions capitales dans le dveloppement dun logiciel.

Premire distinction : Dveloppement = Conception + Ralisation


Le dveloppement se compose de deux activits quon peut distinguer : la conception et la
ralisation.

La conception consiste comprendre et prvoir ce quil a faire.

La ralisation consiste faire concrtement ce quil y a faire.


La distinction entre la conception et la ralisation est une faon dorganiser la division du travail.
Le premier principe de la mthode consiste considrer ces deux activits comme deux tapes
successives :

Conception Ralisation

t=0 t=fin temps


Le projet se droule dans le temps : il commence avec la conception, il se termine avec la
ralisation.

EPITECH - CSI - UML Introduction - 2007-2008 - page 2/13- Bertrand LIAUDET


La division du travail consiste mettre en vidence les tapes de la ralisation dun logiciel.

Deuxime distinction : Conception = Analyse fonctionnelle + Analyse organique


La conception se divise en deux parties :

Lanalyse fonctionnelle dabord. Lanalyse fonctionnelle soccupe des fonctions (ou des
services) que le systme offre ses utilisateurs. Ce sont les cas dutilisation du logiciel.

Lanalyse organique (ou architectonique1) ensuite. Lanalyse organique soccupe de la faon


dont sera construit le systme pour rpondre aux attentes de lanalyse fonctionnelle.

Analyse fonctionnelle Analyse organique Ralisation

t=0 t=fin temps

Analyse fonctionnelle Analyse organique


Point de vue de lutilisateur Point de vue de linformaticien

Point de vue du matre douvrage Point de vue du matre duvre

Point de vue de celui qui commande Point de vue de celui qui ralise le
le logiciel logiciel

Le QUOI Le COMMENT

Externe Interne

Build the right system Build the system right

Construire le bon systme Construire bien le systme

Avec cette distinction, on fait apparatre :

le point de vue de lutilisateur : le matre douvrage (lutilisateur, le client)

le point de vue de linformaticien : le matre duvre.

Pour lutilisateur, ce qui compte, cest lusage du systme : les cas dutilisation (vocabulaire
UML). Lanalyse fonctionnelle permettra de modliser lensemble des cas dutilisation.

Pour linformaticien, ce qui compte cest larchitecture interne du systme.

1 Larchitectonique cest la technique de la construction, mais aussi la structure ou lorganisation de la


construction. Est architectonique ce qui est conforme la technique de larchitecture.

EPITECH - CSI - UML Introduction - 2007-2008 - page 3/13- Bertrand LIAUDET


Lanalyse fonctionnelle garantit quon va bien faire ce qui est demand : rpondre aux exigences
du client.
Lanalyse organique garantit que ce quon va faire, on va bien le faire.

Troisime distinction : Analyse organique = Architecture systme + Analyse dtaille


Lanalyse organique se divise en deux parties :

Larchitecture systme (ou analyse organique gnrale): elle soccupe de lorganisation des
sous-systmes logiciels et matriels du systme complet. Cest aussi ce niveau quon
situera larchitecture des donnes.

Lanalyse dtaille (ou analyse organique dtaille) : elle soccupe du dcoupage en


procdure et en fonctions informatiques de chacun des sous-systmes logiciels. A ce niveau
vont apparatre les en-ttes des fonctions, voir leurs pseudo-codes.

Quatrime distinction : les donnes et les traitements


Les trois distinctions prcdentes sont centres sur la questions des traitements.
La dernire distinction est celle qui est faites entre les donnes et les traitements.
Les donnes seront analyses pour elle-mme, indpendamment des traitements quon leur
appliquera.
Dans une approche base de donnes , la distinction entre donnes et traitement sera radicale.
Dans une approche oriente objet , aux donnes, analyses pour elles-mme, seront associs
les traitements de lapplication (les mthodes des objets).
Avec la mthode MERISE et la programmation objet, les donnes sont revenues au cur de la
conception des logiciels. Cest lapport de la mthode systmique (systme dinformation) par
rapport la mthode analytique (descendante) plus classique.
Le MCD de MERISE et le diagramme des classes dUML sont les deux outils de conception qui
permettent de faire une analyse systmatique des donnes.

EPITECH - CSI - UML Introduction - 2007-2008 - page 4/13- Bertrand LIAUDET


2. Le cycle en V

Prsentation
Le cycle en V cest une mthode de dveloppement du logiciel.
Dans cette mthode, la conception et la ralisation forment les deux branches du cycle en V :

Conception Ralisation

Ces deux tapes sont dtailles en reprenant les 3 distinctions abordes prcdemment et en
ajoutant des distinctions dans la ralisation :

Analyse fonctionnelle Recette

Architecture systme Tests dintgration

Analyse dtaille Tests unitaires

Codage

t=0 t=fin temps

Conception = Analyse fonctionnelle + Architecture systme + Analyse dtaille.

Ralisation = Codage + Tests unitaires + Tests dintgration + Recette.

Cest le lien entre les tapes de chaque branche qui justifie le cycle en V :

Quand on fait lanalyse fonctionnelle, on peut prparer la procdure de recette.

Quand on fait larchitecture systme, on peut prparer les tests dintgration des sous-
systmes.

Quand on fait lanalyse dtaille, on peut prparer les tests unitaires


Ainsi, cela permettra, en cas de problme de test (unitaire, dintgration ou de recette), de
revenir facilement la partie de la conception laquelle le problme correspond.

EPITECH - CSI - UML Introduction - 2007-2008 - page 5/13- Bertrand LIAUDET


Analyse fonctionnelle Recette

Architecture systme Tests dintgration

Analyse dtaille Tests unitaires

Codage

t=0 t=fin temps

La production des documents


Le cycle en V correspond aussi un cycle de consommation et de production des documents.
Les activits du cycle en V utilisent les documents des activits prcdentes et produisent des
documents.
Lanalyse fonctionnelle se base sur le cahier des charges. Elle aboutit un document danalyse
fonctionnelle. Ce document pourra tre valid par le client de faon vrifier la bonne
comprhension du cahier des charges par linformaticien. Ce document servira dentre pour
larchitecture et lanalyse dtaille.
Larchitecture se base sur le document danalyse fonctionnelle et sur le cahier des charges. Elle
aboutit une document darchitecture.
Lanalyse dtaille se base sur le document danalyse fonctionnelle et sur le document
darchitecture. A ce niveau, on nutilise plus le cahier des charges. Elle aboutit un document
danalyse dtaille.
Remarques :
Lanalyse fonctionnelle produit aussi un document de recettes qui sera utilis la fin par
lactivit de recette.
Larchitecture produit aussi un document dintgration qui sera utilis par lactivit
dintgration.
Lanalyse dtaille produit aussi un document de tests unitaires qui sera utilis par lactivit de
tests unitaires.

EPITECH - CSI - UML Introduction - 2007-2008 - page 6/13- Bertrand LIAUDET


Cahier des charges

Matre d'ouvrage - Client


Analyse Fonctionnelle

Document d'Analyse Fonctionnelle

Architecture

Document d'Architecture

Matre d'oeuvre - Informaticien

Analyse dtaille

Document d'Analyse dtaille

Codage

Cycle de la documentation

Ralisation et langage de programmation


Une fois la conception termine, on passe la ralisation.

EPITECH - CSI - UML Introduction - 2007-2008 - page 7/13- Bertrand LIAUDET


La ralisation peut se faire avec nimporte quel langage.
Toutefois, dans le cas dun SI centr sur une base de donnes, on utilisera probablement le SQL
pour la partie directement lie la base de donnes.
Pour linterface utilisateur, on utilisera indiffremment : C,C++, Java, php, mais aussi des
environnements de dveloppement rapide du type de 4D (quatrime dimension) ou de Oracle
Database XE (freeware depuis mars 2006).

Cycle en V et analyse des donnes


Le dfaut du cycle en V est quil ne prend pas en compte explicitement la question des donnes.
Lanalyse des donnes peut tre considre comme une partie de chaque tape de la conception.
On commence au niveau de lanalyse fonctionnelle (cest le MCD MERISE et la premire
bauche du diagramme des classes), on continue au niveau de larchitecture (cest le MOD
MERISE) et encore au niveau de lanalyse dtaille (avec les mthodes ajoutes aux classes et le
MPD et lajout dindex pour loptimisation).

EPITECH - CSI - UML Introduction - 2007-2008 - page 8/13- Bertrand LIAUDET


3. UML

Prsentation

UML est un langage graphique qui permet de raliser les tapes de la conception.
UML propose 9 diagrammes diffrents. Chaque diagramme est adapt une tape ou un point
de vue de la conception.
Ce nest quun langage, ce nest pas une mthode.
Cest un langage formalis : les symboles graphique ont une signification prcise.

Les 9 diagrammes dUML

Diagramme Cf. Fonctionnel Donnes Organique dtaille Architecture Objet

1 Cas dutilisation Oui

2 Squence Collab. Oui (scnarios) Oui (squence objet) Oui

3 Activits Etats-trans. Oui (flots) (peu)

4 Classes Objets Oui Oui Oui

5 Objets Classes Oui Oui

6 Collaboration Squence Oui Oui

7 Etats-transitions Activits (peu) Oui

8 Composants Oui

9 Dploiement Oui

1 : Diagramme de cas dutilisation


Il reprsente les fonctions du systme du point de vue de lutilisateur.

2 : Diagramme de squence (cf. collaboration)


Tout comme les diagrammes de collaboration, il montre les interaction entre les objets.
Il se concentre sur la squence temporelle de ces interactions.
Avec les objets acteur et systme , il permet de reprsenter le droulement des scnarios
(instances des cas dutilisation).

EPITECH - CSI - UML Introduction - 2007-2008 - page 9/13- Bertrand LIAUDET


3 : Diagramme dactivit (cf. tats-transition)
Le diagramme dactivits visualise un graphe dactivit (quivalent au MOT MERISE).
Le diagramme dactivits est une variante du diagramme dtats-transitions qui met en avant les
activits (fonctionnel) et les transitions plutt que les tats (architectonique) et les transitions.

4 : Diagramme de classes
Il reprsente la structure statique du systme en terme de classes et de relations.
Outre les classes, on y trouve les interfaces et les paquetages.

5 :Diagramme dobjets (cf. classes)


Il reprsente les objets et leurs liens. Il reprsente la structure statique du systme. Cest un
diagramme dinstances du diagramme de classes.

6 : Diagramme de collaboration ( cf. squence)


Tout comme les diagrammes de squence, il montre les interaction entre les objets.
Il montre les interactions entre objets travers la reprsentation denvois de messages.

7 : Diagramme dtats-transition (cf. activit)


Il reprsente des automates dtats finis du point de vue des tats et des transitions.

8 : Diagramme de composants
Il reprsente les composants physiques dune application (fichiers, bibliothques, etc.).

9 : Diagramme de dploiement
Il reprsente le dploiement des composants sur les dispositifs matriels.

EPITECH - CSI - UML Introduction - 2007-2008 - page 10/13- Bertrand LIAUDET


UML et la mthode

Les diffrents diagrammes selon ltape de la conception

Point de vue Diagramme UML

Statique non objet Cas dutilisation


ANALYSE
FONCTIONNELLE Dynamique non objet Squence

Activits

Statique - objet Classes

Objets

ANALYSE Dynamique - objet Squence

ORGANIQUE Collaboration

Dynamique Etats-transitions
Plutt non objet Activits

Prcisions

Etapes Point de vue Diagramme Paternit Nb de diag.

Analyse Tout Dynamique Flux (contexte) MERISE 1


fonctionnelle
Tout Statique Cas dutilisation UML 1

Parties Dynamique Squence UML * / UC


systme

Parties Dynamique Activit UML 1 / UC

Analyse des Tout Statique Classes UML - 1


donnes MERISE

EPITECH - CSI - UML Introduction - 2007-2008 - page 11/13- Bertrand LIAUDET


Qui fait quoi

QUI QUOI
Le matre douvrage (utilisateur) Exprime les besoins dans un cahier des charges

Lanalyste Comprend les besoins exprims et produit un diagramme


des cas dutilisation et de squence.

Larchitecte Conoit les besoins compris et produit diagrammes de


classes et autres diagrammes.

Le programmeur Ralise les besoins conus.

Le testeur Teste les besoins raliss


MO.UML p. 156
Pour tablir le diagramme des cas dutilisation, on part du cahier des charges. Cest--dire dun
document qui prcise ce que le matre douvrage attend du systme quil souhaite faire raliser
par le matre duvre.
Il faut tablir un dialogue constant avec le client et les utilisateurs.

4. Conclusion : plan du cours

Le plan de ce cours correspondra donc aux tapes analyss dans la mthode :

1. Analyse fonctionnelle : avec des diagramme des cas dutilisation (1), de squence (2) et
dactivits (3).

2. Analyse des donnes : avec un diagramme des classes (4).

3. Analyse organique dtaille : avec des diagramme de squence (3) et ventuellement des
diagrammes dobjets (5), de collaboration (6), dtats (7).

4. Architecture : avec des diagramme de composants (8) et de dploiement (9).

5. Bibliographie

Thorie UML

Modlisation objet avec UML, Pierre-Alain Muller et Nathalie Gaertner, Eyrolles, 2000, 2me
dition (MO.UML)
Cest la rfrence franaise sur UML. A noter particulirement lexcellent chapitre 2 sur
lapproche objet. Existe en format poche : collection Best of chez Eyrolles.

EPITECH - CSI - UML Introduction - 2007-2008 - page 12/13- Bertrand LIAUDET


Introduction UML, Tom Penders, OEM 2002.

Mmento UML, Pascal Roques, Eyrolles, 2005 (UML 2)


La synthse la plus concise !

Thorie RUP

Le processus unifi de dveloppement logiciel, Grady Booch, Ivan Jacobson et James


Rumbaugh, Eyrolles, 1999 (RUP)
La bible du RUP

Introduction au RUP, Philippe Kruchen, Eyrolles 2000.


Le RUP vu par Rational Rose

Ingnirie des systmes dinformation : Merise - Deuxime gnration, Dominique Nanci et


Bernard Espinasse, Vuibert, 2001, 4me dition (ISIM)
Ltat de lart sur MERISE

Pratique

UML 2 par la pratique, Pascal Roques, Eyrolles 2005.


Apprentissage dUML par la pratique en suivant la mthode RUP. Une formation 1500 euros
pour 29,90 euros : trs rentable !

UML2 en action, Pascal Roques et Franck Valle, Eyrolles 2004.


Le mme que le prcdent en plus dvelopp mais aussi plus abstrait (et plus cher !).

UML2 et les design pattern, Craig Larman, Pearson Education 2005.

Modlisation UML avec Rational Rose 2000, Terry Quatrani, Eyrolles 2000.
UML et Rose.

UML 2, Benot Charroux, Aomar Osmani, Yann Thierry-Mieg, Pearson Education, 2005 (UML
2)
Quelques exercices intressants.

EPITECH - CSI - UML Introduction - 2007-2008 - page 13/13- Bertrand LIAUDET

Vous aimerez peut-être aussi