Vous êtes sur la page 1sur 58

Gnie Logiciel

II2

me 2

partie

Chapitre 1 : Expression des besoins Chapitre 2 : Modlisation & Techniques de Spcification Chapitre 3 : Conception: principes & qualits Chapitre 4 : Conception : Architecture/Patron Chapitre 5 : Les tests
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

11

MODLISATION & TECHNIQUES DE SPCIFICATION

Introduction
Le processus danalyse des besoins A. Expression des besoins
Cahier des Charges

Dtermination des besoins

Validation & ngociation

Gestion des besoins

Modlisation Et spcification

Validation A//B ou A;B

Document danalyse & spcification

Gnie Logiciel

ENSI -2011/2012

Houda Benali

33

GL-II2ENSI -2011/2012

B. Spcification des besoins

Plan
1 2 3 La modlisation Styles de spcifications Approches (Fonctionnelle, Objet)
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

44

Plan
1 2 3 La modlisation Styles de spcifications Approches (Fonctionnelle, Objet)
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

55

Quest ce quun modle


Un modle est
une reprsentation thorique d'une ralit restreinte de la nature

Il a pour utilit de
dcrire, d'interprter et de prvoir des vnements dans le cadre de

cette ralit
Exemple : le modle atomique permet de dcrire des phnomnes
GL-II2ENSI -2011/2012

chimiques, mais pas la gravit Pourquoi modliser?


Les modles permettent de mieux comprendre le systme que lon

dveloppe
Gnie Logiciel ENSI -2011/2012 Houda Benali

66

Quest ce quun modle


Nous construisons des modles pour les systmes complexes parce que nous ne sommes pas en mesure dapprhender de tels systmes dans leur intgralit (Plan dun btiment).
Un modle a donc comme rle de dcrire une ralit complexe

de manire simple et comprhensible

Gnie Logiciel

ENSI -2011/2012

Houda Benali

77

GL-II2ENSI -2011/2012

Exemples de modles
Le modle mtorologique

partir de donnes dobservation (satellite, ), il permet de prvoir les conditions climatiques pour les jours venir.
Gnie Logiciel ENSI -2011/2012 Houda Benali

88

GL-II2ENSI -2011/2012

Exemples de modles
Le plan dun btiment Les plans sont des modles qui donnent une vue densemble du systme concern. Par exemple, dans le btiment, pour la construction dun immeuble, il faut pralablement laborer de nombreux plans : plans dimplantation du btiment dans son environnement ;
plans gnraux du btiment et de sa structure ; plans dtailles des diffrents locaux, bureaux, appartements, plans des cblages lectriques ; plans dcoulements des eaux, etc.
GL-II2ENSI -2011/2012

Ce modle, plus conceptuel, possde diffrents niveaux de vues comme la plupart des modles en gnie logiciel.
Gnie Logiciel ENSI -2011/2012 Houda Benali

99

En gnie logiciel
Dans le domaine de lingnierie du logiciel,
le modle permet de mieux rpartir les tches et dautomatiser

certaines dentre elles;


Cest galement un facteur de rduction des cots et des

dlais.
GL-II2ENSI -2011/2012

Le modle est enfin indispensable pour assurer un bon niveau

de qualit et une maintenance efficace

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 100

Quest ce quun modle


Concrtement, un modle permet de rduire la complexit dun phnomne en liminant les dtails qui ninfluencent pas son comportement de manire significative. Il reflte ce que le concepteur croit important pour la comprhension et la prdiction du phnomne modlis.
GL-II2ENSI -2011/2012

Les limites du phnomne modlis dpendant des objectifs du modle.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 111

Les quatre principes de modlisation


1.
Le choix des modles crer a une forte influence sur la manire daborder un problme et sur la nature de sa solution.

2. 3. 4.

Tous les modles peuvent avoir diffrents niveaux de prcision. Les meilleurs modles ne perdent pas le sens de la ralit. Parce quaucun modle nest suffisant lui seul, il est prfrable de dcomposer un systme important en un ensemble de petits modles presque indpendants.
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 122

Rappel

De quoi parle-t-on ?

Comment logique ?

Comment physique ?

Analyse

Conception

Code

Modle conceptuel

Modle logique

Modle physique

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 133

GL-II2ENSI -2011/2012

Usage des modles


Au niveau capture des besoins
le modle trace les frontires fonctionnelles du systme;

Au niveau de lanalyse
le modle est une abstraction des concepts manipuls par les

utilisateurs au point de vue statique et dynamique; Au niveau de la conception et les plates-formes ; Au niveau de dploiement
le modle reprsente les matriels et les logiciels interconnecter;
GL-II2ENSI -2011/2012

le modle reprsente les concepts utilis par les outils, les langages

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 144

Plan
1 2 3 La modlisation Styles de spcifications Approches (Fonctionnelle, Objet)
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 155

Les styles de spcification


Le degr de formalisation :
informel : base sur le langage naturel (libre, formate), croquis, semi-formel : base sur un langage structur (graphique et/ou
textuel) dont la smantique est faible
GL-II2ENSI -2011/2012

formel : base sur un langage formel dont le vocabulaire, la syntaxe et la smantique sont formels
Spcifications algbriques, axiomatique (logique Hoare),

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 166

Spcification informelle
Malheureusement, ces spcifications sont sujets des mcomprhensions:
Ambiguts : un mme mot ne fait pas toujours rfrence au mme concept chez deux locuteurs diffrents ou dans deux contextes diffrents. Flexibilit excessive : un mme concept peut tre expliqu de plusieurs faons diffrentes, ce qui complique la recherche dinformation. Modularisation difficile : le partage des mots entre diffrents modules rend difficile la tracabilit des concepts (quel module est en charge de quoi ?).
Gnie Logiciel ENSI -2011/2012 Houda Benali
GL-II2ENSI -2011/2012

1 177

Spcification informelle
Exemple :
La vrification de la validit de la carte consiste vrifier que la carte introduite par un utilisateur provient d'une banque reconnue, qu'elle est jour, et qu'elle contient des informations appropries ainsi que des dtails sur les dates et
GL-II2ENSI -2011/2012

les montants des prcdents retraits.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

1 188

Spcification semi-formelle
On fixe :
des patrons, des modles de fiches, et des formulations,

dont le sens est explicit de la faon la moins ambigu possible dans une partie liminaire de la spcification. La suite de la spcification doit sappuyer uniquement (ou le plus possible) sur ces constructions.
Gnie Logiciel ENSI -2011/2012 Houda Benali
GL-II2ENSI -2011/2012

1 199

Spcification semi-formelle
Notation graphique :
des diagrammes, annots gnralement par du texte en

langage structur, reprsentent le systme.

Ces notations sont particulirement pratiques pour fournir une vue densemble, statique ou dynamique, dun systme ou dun sous-systme. Cependant, leur smantique doit tre prcise.
Gnie Logiciel ENSI -2011/2012 Houda Benali
GL-II2ENSI -2011/2012

2 200

Spcification formelle
Une spcification dun logiciel est formelle si elle est exprime avec un langage qui possde:
un vocabulaire et une syntaxe formellement dfinis; une smantique base sur les mathmatiques.

Avantage :
GL-II2ENSI -2011/2012

automatisation

Inconvnients :
ncessite une certaine qualification du client, utilisateurs et

dveloppeurs
Gnie Logiciel ENSI -2011/2012 Houda Benali

2 211

Plan
1 2 3 La modlisation Styles de spcifications Approches (Fonctionnelle, Objet)
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

2 222

Les approches de spcification


Document danalyse & spcification

Modlisation Et spcification

Validation

La spcification aura pour but de dcrire avec rigueur :


GL-II2ENSI -2011/2012

Les donnes du systme (vue structurelle) Les fonctions du systmes (vue fonctionnelle) Les

changements dtats et le contrle du systme (vue

comportementale)
Gnie Logiciel ENSI -2011/2012 Houda Benali

2 233

Axes de modlisation dun systme


Structurel (ce que le systme EST)

Statique

Comportemental (comment le systme EVOLUE)

Fonctionnel (ce que le systme FAIT)

Gnie Logiciel

ENSI -2011/2012

Houda Benali

2 244

GL-II2ENSI -2011/2012

Le Jungle des Modles


Trois perspectives : Donnes, Traitements, Dynamique Donnes E/R CIAM REMORA ERAE UML Approches temporelles et dynamiques Approches orientes OOA objet O* OMT OOA&D IE SART Dynamique
Gnie Logiciel ENSI -2011/2012 Houda Benali 2 255

Approches par les donnes

NIAM

SHM MERISE

SADT Traitements

Approches structures

GL-II2ENSI -2011/2012

L'approche fonctionnelle: Vue fonctionnelle


Modlisation sous forme de diagramme de flux de donnes DFD (data flow diagramm) reprsentant ce que fait le systme sous forme d'un rseau de fonctions transformant des flux (matire, nergie, information).
GL-II2ENSI -2011/2012

Modles de flot de donnes : les composants logiciels

sont vus comme des fonctions qui transforment des donnes dentre en donnes de sortie.
Gnie Logiciel ENSI -2011/2012 Houda Benali

2 266

Modle Fonctionnel -DFD


Le systme est dcrit comme un ensemble de donnes manipules par des fonctions ou transformations (processus) Reprsentation graphique du cheminement des donnes travers un systme Donnes organises de diffrentes faons:
Stockes dans des dpts voluant dans des flots Transfres de/vers lextrieur
Gnie Logiciel ENSI -2011/2012 Houda Benali
GL-II2ENSI -2011/2012

2 277

Modle Fonctionnel -DFD


Transformation ou Processus (Fonction)

Flots de donnes

Dpt de donnes
GL-II2ENSI -2011/2012

Source ou destination

Gnie Logiciel

ENSI -2011/2012

Houda Benali

2 288

Modle Fonctionnel -DFD


DFD peut tre utilis pour reprsenter le systme diffrents niveaux dabstraction. Le niveau dabstraction le plus lev (niveau 0) est appel diagramme de contexte. Une transformation peut tre clate et donner naissance un nouveau DFD qui montre le traitement des donnes un niveau plus dtaill (niveau dabstraction plus bas) Cette dcomposition descendante (Top-Down) peut continuer jusqu obtenir un degr de dtails satisfaisant pour la comprhension du systme (ou problme) Les donnes sont aussi raffines travers les processus
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

2 299

Exemple - diagramme de contexte (DFD 0)


Un seul processus reprsente tout le systme sans aucun dtail Toutes les entits externes communiquant avec le systme (peuvent tre de niveau lev). tats patients Soins intensifs Patients Signes vitaux Diagramme de contexte Infirmires Identification patients Intrt: Dcrit le systme dans son environnement; Base de rfrence pour les tapes ultrieures et vrification-validation.
Gnie Logiciel ENSI -2011/2012 Houda Benali

Mdecins

crans

bornes

Signal dalarme

metteur de signal dalarme


GL-II2ENSI -2011/2012

Imprimante

3 300

Raffinement successif
SI. 0 (dcrire lintrieur du diagramme de contexte)
Bornes 0.1 Entre modifications bornes 0.3 Acquisition donnes patients 0.6 Saisie ID patients D1 Bornes 0.4 valuation Donnes patients 0.2 Affichage donnes patients 0.5 mission alarmes 0.7 Mise jour Dossier patient Rapports tat patient2

Signes vitaux

Signal dalarme

Identification patients Demande rapport

D2 dossier 0.8 Dcodage demande 0.9 Production rapport

Gnie Logiciel

ENSI -2011/2012

Houda Benali

3 311

GL-II2ENSI -2011/2012

Raffinement successif
0.3 Acquisition donnes patient
0.3.1 Signaux ECG Signaux pression Signaux Rythme respiratoire ECG chantillonnage lissage P Calcul constantes vitales Constantes vitales 0.3.2

RR
GL-II2ENSI -2011/2012

Gnie Logiciel

ENSI -2011/2012

Houda Benali

3 322

L'approche fonctionnelle: Vue Structurelle


Les systmes informatiques manipulent souvent des base de donnes. Les modles orients donns se lorganisation de ces dernires. Ils dfinissent les diffrentes catgories de donnes et les relations (statiques) qui contraignent leur agencement.
Exemple
GL-II2ENSI -2011/2012

concentre

sur

modles

relationnels

ou

entit-relation,

Dictionnaire des Donnes


Gnie Logiciel ENSI -2011/2012 Houda Benali

3 333

L'approche fonctionnelle: Vue comportemental


Un tat est un mode de comportement observable.
Ex (Voiture) : En arrt, En marche

Transition: changement dtats


Ex. Passage de ltat en arrt ltat en marche

vnement: stimulus qui cause la transition


Ex. dmarrer
GL-II2ENSI -2011/2012

Action: rsultat de la transition


Ex. appuyer sur lacclrateur
Gnie Logiciel ENSI -2011/2012 Houda Benali

3 344

Exemple
Systme de rservation de chambres dhtel
RESERVATION DEMANDE
Chambre disponible Dcrmenter chambres disponibles

Chambre non disponible Ajouter liste dattente

RESERVATION CONFIRME
Client arrive Enregistrer

Chambre disponible Dcrmenter chambres disponibles

RESERVATION SUR LISTE DATTENTE


GL-II2ENSI -2011/2012

Client annule Incrmenter chambres disponibles

Client annule Enlever rservation de liste

RESERVATION UTILISE RESERVATION ARCHIVE


ENSI -2011/2012

RESERVATION ANNULE

Client paie Incrmenter chambres


Gnie Logiciel

Houda Benali

35 35

Diagramme dtat-transition State Transition Diagram (STD)


Utilis pour
modliser le comportement des systmes temps rel Spcifier les interfaces utilisateur du systme

Primitives:
Cercles (ou rectangles) : pour reprsenter les tats
GL-II2ENSI -2011/2012

Arcs entre les cercles : transitions tiquettes des arcs:


Partie reprsentant les entres qui dclenchent la transition (stimulus, vnement) Partie reprsentant la rponse du systme (action)

Gnie Logiciel

ENSI -2011/2012

Houda Benali

36 36

Gnie Logiciel

ENSI -2011/2012

Houda Benali

3 377

GL-II2ENSI -2011/2012

Approche objet

Etude de cas Rcapitulatif UML


GL-II2ENSI -2011/2012

Jeu de ds

Gnie Logiciel

ENSI -2011/2012

Houda Benali

38 38

Problme
Sujet: Il s'agit d'un jeu de ds. Le joueur lance 10 fois 2 ds. Si le total des 2 ds fait 7, il marque 10 points son score. En fin de partie, son score est inscrit dans le tableau des 'high scores'.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

39 39

GL-II2ENSI -2011/2012

Expression des besoins cas d'utilisation

Un premier cas d'utilisation: Cas Jouer Description : le joueur lance 10 fois les ds ; chaque fois que le total fait 7, ajout de10pts. Cas Voir High Score Description : le joueur consulte en lecture seulement les high scores.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

40 40

GL-II2ENSI -2011/2012

Analyse des besoins Diagramme d'activits:

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 411

GL-II2ENSI -2011/2012

Spcification des besoins


Diagramme d'activits: On peut vrifier que tous les cas se retrouvent quelque part dans le diagramme d'activits.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 422

GL-II2ENSI -2011/2012

Analyse : Diagramme de communication


Il permet de visualiser des objets, leurs relations et l'ordonnancement des appels de messages.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 433

GL-II2ENSI -2011/2012

Analyse : Diagramme de classes


Diagramme de classes: On complte les classes et on reprsente leurs associations statiques et dynamiques. On dfinit les attributs des classes et les cardinalits des associations.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

44 44

GL-II2ENSI -2011/2012

Analyse
Diagramme de classes:

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 455

GL-II2ENSI -2011/2012

Analyse
Il faut vrifier la cohrence des diagrammes:

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 466

GL-II2ENSI -2011/2012

Analyse : Les diagramme de squence


Ils modlisent la dynamique (~ comme diagrammes de collaboration) en se focalisant sur l'enchanement des messages entre objets mtiers.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 477

GL-II2ENSI -2011/2012

Analyse
On peut aller plus loin en modlisant la cration des objets en dbut de partie. A noter que le joueur ( :Player) n'est cr qu'au dmarrage de la partie. C'est un choix qui dcoule du diagramme d'activit. On aurait tout aussi bien pu crer le joueur au moment ou l'on cre le jeu. Le petit avantage est que l'on peut changer de nom entre 2 parties ...
Gnie Logiciel ENSI -2011/2012 Houda Benali

48 48

GL-II2ENSI -2011/2012

Analyse
Exemple

Gnie Logiciel

ENSI -2011/2012

Houda Benali

4 499

GL-II2ENSI -2011/2012

Analyse : Un diagramme d'tat


Il a pour objet de dterminer les tats et transitions d'tat d'un objet. Ici le diagramme d'tats d'une partie (diceGame).

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 500

GL-II2ENSI -2011/2012

Analyse
Ces incohrences mises en vidence par le diagramme d'tats conduisent modifier les diagrammes prcdents ainsi que les maquettes d'crans envisages lors de l'analyse des besoins.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 511

GL-II2ENSI -2011/2012

Analyse

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 522

GL-II2ENSI -2011/2012

Analyse
Le problme de l'arrt de l'analyse: Il faut se demander si les cas d'utilisation sont couverts correctement par l'analyse. La rponse est plutt ngative.

Gnie Logiciel

ENSI -2011/2012

Houda Benali

53 53

GL-II2ENSI -2011/2012

Analyse

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 544

GL-II2ENSI -2011/2012

Analyse
Il faut donc reprendre les schmas pour grer le highscore (cration et mise jour):

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 555

GL-II2ENSI -2011/2012

Analyse
Il faut donc reprendre les schmas pour grer le highscore (cration et mise jour): suite ...

Gnie Logiciel

ENSI -2011/2012

Houda Benali

56 5 6

GL-II2ENSI -2011/2012

Analyse
Il faut donc reprendre les schmas pour grer le highscore (cration et mise jour): suite ...

Gnie Logiciel

ENSI -2011/2012

Houda Benali

5 577

GL-II2ENSI -2011/2012