Post on 16-Jul-2015
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 : Remy.Courdier@univ-reunion.fr 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