1 Coursomt Uml

download 1 Coursomt Uml

of 22

Transcript of 1 Coursomt Uml

Analyse et Conception objet du logiciel

Analyse et conception objet du logiciel : Mthode de conception objet et notation UML

.L. G

Rmy CourdierUniversit de la Runion

15, Avenue Ren Cassin - BP 7151 97715 Saint Denis La Runion Tl. : 02 62 93 82 83 - Fax : 02 93 82 60 Email : [email protected] Rmy Courdier - V1.7 1

Analyse et Conception objet du logiciel

Plan du cours

.L. G

G Introduction au Gnie LogicielLapproche Oriente Objet et Notation UML Les diagrammes de modlisation Relations entre les diffrents diagrammes De lanalyse la conception Relation entre les notations OMT et UML Les design patterns

Rmy Courdier - V1.7

2

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel

Chapitre 1 : Introduction au Gnie LogicielLe Gnie Logiciel : Gense et Objectifs

.L. G

Les Cycles de vie de dveloppement industriel de logiciels Les bases de la qualit du logiciel Des mthodes fonctionnelles aux mthodes Objet

Rmy Courdier - V1.7

3

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (2)

1.1 Le Gnie logiciel : Gense et Objectifs

.L. G

Difficult de matrise des cots Difficult de ralisation de plannings Difficult de matrise des dlais de ralisation Difficult damlioration de la productivit et de la qualit des logiciels Difficult de gestion de projets logiciels de grande ampleur (Programming in the Large) Nombreux checs : rsultats fournis par les logiciels insatisfaisants pour les clients finaux. Tout ceci dans un contexte de comptition internationale svre Rmy Courdier - V1.7 4

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (2)

Quelques ides sur les cots...Rpartition : (Ref. Boehm)Analyse/Conception

.L. G

33-34 % : Systme dexploitation, Arospatiale 44-46 % : Contrle et Rgul. indus., Calcul scientifique, Gestion

Codage17-20 % : Systme dexpl., Contrle et Rgul. indus., Arospatiale 26-28 % : Calcul scientifique, Gestion

Test/Intgration28-34 % : Contrle et Rgul. indus., Calcul scientifique, Gestion 46-50 % : Systme dexploitation, Arospatiale

Maintenancecots trs importants...

Peu de capitaux dinvestissement ncessaires Frais de personnel levs Rmy Courdier - V1.7 5

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (3)

Quelques thmes tirs par le Gnie LogicielIl ny a pas de remde miracle, mais quelques voies creuser...

.L. G

Qualification du personnel par la formation Procdures de gestion de la qualit logiciel Outils ddis au GL (CASE, Logiscopes) Langages et environnements de programmation Prototypage Mthodes formelles et semi-formelles Rutilisabilit

Lapproche objet Rmy Courdier - V1.7 6

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel

1.2. Les Cycles de vie de dveloppement industriel de logicielsquest-ce quun cycle de vie logiciel?Enchanement des activits de dveloppement logiciel Dfinition des Pr et Post conditions pour chaque phase Procdures de gestion et dencadrement Procdures de mesures Cycle de vie logiciel : synonyme de mthodologie logiciel

.L. G

Etapes dun cycle de vieAnalyse : opportunit fonctionnelle et faisabilit technique Conception : choix tactiques de ralisation et darchitecture Codage : ralisation informatique du dtail des oprations Test : tests unitaires et dintgration

Les deux grandes catgorie de cycles de vie :Les cycles linaires : succession dtapes ordonnes Les cycles de vie itratifs : ralisation incrmentale par volutions Rmy Courdier - V1.7 7

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(2)

Les cycles de vie linaires

.L. G

Cycle en cascade : ouvre des points de visibilitsAnalyse Concep. CodageAnticipation Investigation

Test

Lancement ou Livraison

Cycle en V : variante courante du cycle en cascadeAnalyse Concep. Codage Test Test Test

Problme de leffet tunnel o lon ne voit tourner quelque chose qu la fin. => Dtection derreurs tardive Rmy Courdier - V1.7 8

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(3)

limites du modle linaire Les projets prsentent bien souvent une part dinconnu et donc de risques.

.L. G

Mconnaissance des besoins par le client Incomprhension des besoins par le fournisseur Instabilit des besoins Choix technologiques Mouvements de personnels ...

Le processus de dveloppement dun logiciel nest pas naturellement linaire... Rmy Courdier - V1.7 9

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(4)

Les cycles de vie itratifsEvaluation dlments concrets au cours du dveloppement : limination de leffet tunnel

.L. G

bas sur lvolution de prototypes excutables, mesurables diminution de limportance des documents de spc. dtaille livraisons intermdiaires => rsultats concrets rguliers de lquipe de dveloppement meilleurs anticipation et prise en compte des problmes meilleurs gestion de la prise en compte de modifications de spcification qui peuvent tre intgres dans une itration future intgration progressive de composants ...

En gnral, dans les cycles de dveloppement itratifs, chaque itration reproduit le cycle en cascade une plus petite chelle. Rmy Courdier - V1.7 10

Analyse et Conception objet du logiciel

Le cycle en spirale (Boehm)A chaque spire, il y a itration complte sur les phases :Analyse Conception Codage Test

.L. G

A chaque itration, le logiciel doit tre dans un tat quasi commercialisable Grand intrt en prototypage incrmental Trs utilis sur les projets reposant sur lobjet.

Design a little, code a Rmy Courdier - V1.7 little

La premire spire doit comprendre les lments les plus abstraits et Le cur fonctionnel minimum du systme11

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

1.3. Bases pour la Qualit logicielCMM (Capability Maturity Model)

.L. G

qualit soci d Outil de mesure de qualit des socits de dveloppement informatique. groupes Le Niveau 2 est de plus en plus souvent requise par les grands groupes industriel Origine : 1987 - SEI Software Ingineering Institute de la Carnegie Mellon University L' L'tat du CMM est maintenue par Software Engineering Measurement and Analysis (SEMA) l'adresse http://www.sei.cmu.edu/activities/sema/profile.html

Rmy Courdier - V1.7

12

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

1.3. Bases pour la Qualit logicielMellon) CMM (Capability Maturity Model) du SEI (Carnegie Mellon)Niveau 1 : Initial

.L. G

Peu de formalisation, Abandon de toute mthode en cas de crise Le processus de dveloppement est ad hoc , et parfois mme chaotique. Peu de procdures sont dfinies et le succs repose sur des efforts individuels.

Niveau 2 : Rptable - Mthodes lmentaires de gestionProcessus stabiliss, rsultats statistiquement rptables Une procdure de gestion minimale est dfinie pour suivre les cots, les dlais et les fonctions. Les procdures ncessaires sont en places pour rpter les succs antrieurs des projets similaires.

Niveau 3 : Dfini - Dfinition du processus de dveloppementLes processus de gestion et technique sont documents, standardiss un processus standard de lorganisation. Tous les projets utilisent une version approuve et adapte des processus standards pour dvelopper et maintenir le logiciel. Gestion de configuration rigoureuse, respects des normes et standards, inspections et tests formels, existence dun service de GL ou Qualit logiciel.

Niveau 4 : Matris : Gestion du processus de dveloppementDes mesures dtailles du dveloppement et de qualit sont collectes. Les processus et le produit sont quantitativement compris et contrls.

Niveau 5 : Optimis : Contrle et optimisationLes processus sont continment amliors par les analyses des mesures.

Rmy Courdier - V1.7

13

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

Modle dvolution des capacits logiciel de CMM

.L. G

L' L'tat du CMM est maintenue par : Software Engineering Measurement and Analysis (SEMA) l'adresse http://www.sei.cmu.edu www.sei.cmu.edu/ http://www.sei.cmu.edu/a ctivities/sema/ /sema/profile.ht ctivities/sema/profile.ht ml

Zoom sur CMM ppt pdf - format IE

Rmy Courdier - V1.7

14

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel(2)

Facteurs de qualit logicielFacteurs externes (visibles par le client)Exactitude : le logiciel fournit les bons rsultats) Robustesse : le logiciel ragit correctement des donnes fausses Stabilit : possibilit dintgrer des modif. de spcification lgres Fiabilit : exactitude + robustesse Efficacit : performances dexcution, encombrement mmoire,...

.L. G

Facteurs internesMaintenabilit (support du temps..., testabilit, traabilit) Portabilit Cohsion : forte cohsion dans les modules Faible couplage entre les modules Rmy Courdier - V1.7 15

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel(3)

La modularit o les boites noires rutilisables...

.L. G

Dcoupage du logiciel en modules indpendants prsentant des caractristiques dabstraction, dencapsulation, et de faible couplageabstraction : chaque module doit correspondre une abstractionpr-existante et doit pouvoir tre dfini de faon abstraite, indpendamment de tout traitement susceptible dutiliser le module.

encapsulation : masquage de la mise en uvre effective du module,du comment cest fait . Seules les lments accessibles de lextrieurs sont visibles et spcifis prcisment.

faible couplage : limitation des connexions entre modules(dpendances de gnration,...). Il est indispensable que les liens entres modules soient bien dfinis (couches logicielles) et le moins nombreux possible pour quil y ait effectivement modularit. Rmy Courdier - V1.7 16

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets

1.4. Des mthodes fonctionnelles aux mth. objet Lapproche fonctionnelle

.L. G

Raisonnement en terme de fonctions du systmelaccent est mis sur les fonctions et non sur les donnes

Sparation des donnes et du code de traitementtransposition dans les mthodes des contraintes du matriel

Diffusion des responsabilitsintgrit des donnes non garanties ajout possible de nouvelles oprations tout moment

Dcomposition fonctionnelle descendante HrosMarcher Courir Sauter Tomberstruct Heros {nom char*; int taille; ... int rapidite };

CoucherCoucher(heros,...);

Application MonJeu Rmy Courdier - V1.7 17

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(2)

Lapproche Objet

.L. G

Regroupement donnes-traitements Diminution de lcart entre le monde rel et sa reprsentation informatique (approche naturelle)Les informaticiens sont pervertis : le monde est avant tout objet

Localisation des responsabilits : encapsulation Dcomposition par identification des relations entre objets :association, composition , gnralisation/spcialisation

Hros Application MonJeuheros.coucher(...)

Marcher Courir Sauternom, taille rapidite, ...

Tomber Coucher

Rmy Courdier - V1.7

18

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(3)

Evolution des mthodes

.L. GConception

Analys e Lvolution des mthodes sest faite de la programmation vers lanalysePF & PS : Prog. fonctionnelle et structure SD : Conception structure SA : Analyse structure POO : Programmation oriente objet OOD : conception objet OOA : Analyse objet

Programmation

PF & PS POO

SD SD POO

SA SA OOD SA OOA19

Les mthodes objet couvrent lensemble du cycle logiciel Rmy Courdier - V1.7

POO

OOD

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(4)

Panorama des mthodesMthodes structuresprogrammation structure (Dijkstra) Dcomposition fonctionnelle descendante (SA/SD) SADT/SART

.L. G

Modlisation de Systmes dInformationDiagrammes entits-relations Merise

Mthodes ObjetOOD : Booch (91,93) OOA : Coad-Yourdon (90) HOOD : pour Ada (88) OOM : Bouzeghoub (93) merise OOSE : Jacobson ...Shlafer-Mellor, Meyer, Embley OMT : Rumbaugh (91,93) Rmy Courdier - V1.7

UML20

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(4)

La spcification UML

.L. GUML V0.8 diffuse en 10/95

Grady Booch Jim Rumbauch Ivar Jacobson (trois amigos) Groupe de travail dirig par Mary Loomis et Jim Odell

UMLUnified Modeling Langage Objectfor Object-Oriented Development UML V1.0 remise lOMG le 17/01/97

Jim Rumbauch, UML 2.0 Guide de rfrence UML Ouvrage de rfrence pour les notations UML

UML V2.0 remise lOMG en 2004 www.omg.org & www.uml.org

Rmy Courdier - V1.7

21

Analyse et Conception objet du logiciel

.L. G

Fin du Chapitre 1

Introduction au gnie logiciel

Rmy Courdier - V1.7

22