Home
suivant
Contents
1. e de fl ches de liaison entre les diff rents modules __ qui correspondent la relation d appel entre modules e de petites fl ches avec un rond qui indiquent la direction des mouvements de donn es t de contr les et de co S e De plusieurs signes arc de cercle losange etc pour pr ciser l it ration la s lection etc e Le dictionnaire de donn es cr e lors de l analyse structur e et compl t avec des informations issues de la conception structur e 10 2 2 La description des modules MD Module Description crit en PDL Program Description language indispensable aux programmeurs pour impl menter les diff rents modules Appelant it ration bel it ratif par A Lcontr te S lection O P Q Q Eoy De er M TE Ne 10 3 La d marche m thodologique de la conception structur e e Le passage du probl me mod lis par un DFD la solution mod lis e par SC n est pas directe o Il n cessite un ensemble de r gles suivre et de strat gies essayer e Plusieurs m thodes permettent ce passage dont la conception ax e sur les transformations transform centered 10 3 1 La conception ax e sur les transformations e Le support de d part est un DFD r sultat de l analyse structur s e Le r sultat final est un SC r sultat de la conception structur e e La proc dure suivre s appuie sur trois op rations Localiser le centre de transformation de plus hau
2. S quence N d partement gt lt gt lt gt lt gt lt gt lt N t l phone Fes N dans le d partement R p tition Liste des Liste des tudiants Etudiants Ou Nom des Nom des i Etudiants Etudiants Liste des tudiants nom des tudiants S lection Transaction Client Ordre de Ordre de retrait D p t Transaction client ordre de d p t ordre de retrait Les diagrammes de N Schneiderman S quence ou traitement Traitement1 Traitement Traitement3 Alternatives compos es si Vrai Faux Traitement1 Traitement2 D cider entre Cas1 Cas2 Cas3 Cas4 Traitement1 Traitement2 Traitement3 Traitement4 R p titives sortie en t te sortie en queue Tq condition Vraie Traitement1 Traitement 1 Traitement2 Traitement2 Jusqu condition Vraie 2 3 Conclusion Les similitudes avec le sous ensemble IDEFO de la m thode SADT sont Flots de donn es dans SA fl ches de donn es entre les activit s dans SADT Les diagrammes sont ordonn s hi rarchiquement AO A1 DEFDO DEDI Le raffinage de chacun des process en SA des boites en IDEFO Le dictionnaire de donn es en SA Le glossaire en IDEFO Les diff rences sont les suivan
3. 5 Classification des tests C est une classification selon le cycle de vie Test unitaire test d un programme ou d un module dans le but de s assurer qu il ne comporte pas d erreurs d analyse ou de programmation Test d int gration Tous les modules assembl s sont test s incluant le code import Test syst me teste le syst me comme un seul bloc Le test syst me inspecte les fonctionnalit s du logiciel Test de r ception test g n ralement effectu par l acqu reur dans ses locaux apr s installation d un syst me ou une unit fonctionnelle avec la participation du fournisseur pour v rifier que les dispositions contractuelles sont respect es Test de non regression la suite de la modification d un logiciel ou un de ses constituants un test de non regression a pour but de montrer que les autres parties du logiciel n ont pas t affect es par cette modification Test de robustesse il consiste tester le syst me dans des conditions extr mes grandes quantit s de donn es ou grand nombre d usagers 6 Les techniques de tests on retrouve les tests statiques les tests dynamiques et les tests al atoires 6 1 Les tests statiques Les m thodes de tests statiques consistent en l analyse textuelle du code du logiciel afin de d tecter des erreurs sans ex cution du programme 6 1 1 Revue de code Revue ou inspection IEEE 729 Examen d taill d une sp cification ou d une conception ou d une i
4. La d composition algorithmique classique la fa on dont le probl me compte tre r solu La d composition en objets d composer le probl me en ses diff rents acteurs qui agissent selon des messages qu ils re oivent L approche orient e objet est souvent adopt e Toute m thode de design orient e objet repose sur une notation permettant de d crire les mod les un processus de construction des mod les des outils facilitant la construction et la description des mod les La modularit La modularit d composition du logiciel en composants plus discrets par exemple en modules L abstraction est un m canisme qui permet de pr senter un contexte en exprimant les l ments pertinents et omettant ceux qui ne le sont pas Principe d ouverture fermeture Un module est dit ouvert s il est encore disponible pour des extensions modifications ferm s il est pr t tre utilis par d autres modules ce qui suppose qu il est stable Crit res de modularit Une m thode de conception est dite modulaire si elle r pond aux cinq crit res suivants D composition modulaire d composer le probl me en sous probl mes plus simples reli s entre eux par une structure simple et ind pendante de fa on pouvoir travailler sur chacun s par ment SADT Composition modulaire possibilit de produire des l ments logiciels qui peuvent tre facilement combin s avec d autres de fa on pro
5. Un programme donn est caract ris par sa pr condition et sa post condition Une pr condition condition ventuellement respecter par les donn es d un programme Une post condition condition vraie la fin du programme qui d finit son objectif Pour r aliser la preuve d un programme la logique de Hoare d finit des assertions logiques interm diaires Preuve d un programme La preuve constitue un compl ment aux tests de modules Elle se pratique sur les modules dont la criticit est suffisamment importante pour que l on veille assurer la correction absolue La preuve d un programme repose sur la notion de syst me formel Un syst me formel est un triplet lt L Ax R gt o L est un langage d finissant un ensemble de formules Ax chaque formule de Ax est un axiome Ax est un sous ensemble de L R un ensemble de r gles de d duction de formules partir d autres formules Une r gle permettant de d duire la formule f partir de f1 f2 fn est not e ainsi f1 f2 f3 fn f 8 2 1 Correction partielle d un programme la logique de Hoare La logique de Hoare constitue un syst me formel C est un triplet lt L Ax R avec L est l ensemble des formules p q Ax est l ensemble des axiomes de la forme suivante p x e x e p R est l ensemble des r gles de d duction suivant p x e x e p AFF renforcement de la pr condition RPr
6. floor String To be or not to be concat size substring Types et op rateurs pr d finis dans les contraintes OCL El E2 P1 and P2 P1 or P2 P1 xor P2 P1 implies P2 vrai vrai vrai vrai faux vrai vrai faux faux vrai vrai faux faux vrai faux vrai vrai vrai faux faux faux faux faux vrai Interpr tation des quatre connecteurs El et E2 sont deux expressions logiques expression not expression vrai faux faux vrai Convention d interpr tation de la n gation Collections OCL d finit galement la notion d ensemble sous le terme g n rique de collection collection en anglais Il existe plusieurs sous types du type abstrait Collection Ensemble Set collection non ordonn e d l ments uniques i e pas d l ment en double Ensemble ordonn OrderedSef collection ordonn e d l ments uniques Sac Bag collection non ordonn e d l ments identifiables i e comme un ensemble mais pouvant comporter des doublons S quence Sequence collection ordonn e d l ments identifiables Jusqu UML 2 0 exclu les collections taient toujours plates une collection ne pouvait pas poss der des collections comme l ments Cette restriction n existe plus partir d UML 2 0 Acc s aux propri t s et aux objets dans les contraintes OCL Dans une contrainte OCL associ e un objet il est possible d acc der aux propri t s attributs op rations et terminaison d as
7. quelque soit l cole e L outil textuel le dictionnaire de donn es DD sert La d finition de chaque flot de donn es et de chaque stockage utilis e dans le DFD e Les deux outils textuels et ou graphiques le diagramme de structure de donn es DSD pour la repr sentation de structure de donn es complexes les sp cifications de process ou mini sp cification fonctionnelle Pour l analyse structur e les derniers niveaux de raffinage d crivent des traitements l mentaires appel s primitives fonctionnelles permettant de d finir la transformation de flots de donn es entrant en flots de donn es sortant En plus des outils de sp cification des process d crit dans la m thode SA on dispose Des quations process math matique Des fonctions propres la gestion de bases de donn es PROJECT JOIN SELECT Ainsi que d autres commentaires Exemple Acc l ration calcule la Vite distance ance parcourue parcourue Temps Distance parcourue acc l ration temps vitesse initiale temps 2 3 2 2 Les extensions graphiques et textuelles pour SA RT propos es Cette extension comprend e L outil graphique le diagramme de flots de contr le CFD Control Flow Diagrams Il est coupl au DFD de m me niveau et il repose sur 4 l ments Flots de contr le ou flots d v nements ordinaires appel s signaux Flots de contr le prompts Les process de contr le Les stocka
8. tf D tard Ti F tard Ti di Sinon F tard Ti min D tard successeur Ti D tard Ti F tard Ti di Marge elle s obtient en faisant la diff rence entre le temps au plus tard et le temps au plus t t D tard D t t F tard F t t Chemin critique C est le chemin du graphe ayant les plus petites marges ou nulle au minimum 3 3 Diagramme de Gantt A partir des r sultats obtenus du r seau de PERT et des r sultats des ressources disponibles on construit un planning calendrier sous forme de diagramme P riode 1 3 9 12 18 21 24 25 4 pilotage du projet Suivre un projet c est un ensemble d actions faire mesurer l tat d avancement mesurer ce qui est consomm comparer les carts entre les r alisations et les pr visionnels expliquer les carts proposer les actions correctives gt suivi individuel et un suivi du projet 4 1 Suivi individuel Il s agit de d tecter les difficult s ventuelles d un intervenant partir du rapport hebdomadaire qu il doit fournir Nom T che Temps estim Temps pass Reste faire PT Module 1 10 3 6 R union 1 AEE Programmation 8 4 5 Maladie 1 Cong 2 Li Module 2 6 4 2 Comme il est possible d tablir une r capitulation mensuelle de la mani re suivante Temps pass T Reste faire R Avancement calcul ainsi R n 1 R n Mois T che Semaine 1 Semaine 2 Total du mo
9. x 1 x x 1 x 2 TI x 1 x y y x 1 x y T2 gt Tl est valide T2 ne l est pas x 1 x x 1 x 2 prouver On applique AFF gt x 1 2 x x 1 x 2 Si x 1 alors x 1 2 On applique RPre x 1 x x 1 x 2 Exemple2 x x0 amp y y0 z x x y y z x y0 amp y x0 T3 13 Utilisation de la r gle SEQ x y0 amp z x0 y z x y0 amp y x0 152 x x0 amp y y0 z x x y x y0 amp z x0 T3 1 T3 2 est valide par construction T3 1 sera d compos en y y0 amp z x0 x y x y0 amp z x0 T3 11 x x0 amp y x0 z x y y0 amp z x0 T3 12 T3 11 est valide par construction T3 12 et par application de la r gle AFF qui donne y y0 amp x x0 z x y y0 amp z x0 T 3 11 et ensuite la r gle RPre la pr condition de T3 implique celle de T 3 11 x X0 amp y y0 gt y y0 amp x x0 Exemple3 true pr condition if x gt y then max x else max y max x or max y and max gt x and max gt y E post condition si x gt y on ex cute max Xx Pour que max x or max y and max gt x and max gt y soit vraie apr s max x Il faut que x x or x y and x gt x and x gt y soit vrai avant c a d x gt y ce qui est vrai d apr s la condition siX lt Y on ex cute max Y Pour que max x or max y and max gt x and max gt y soit vraie apr s max y Il faut que y x or y y and y gt x and y gt y soi
10. EID maintient z en dessous la pression bullition ten i dessous bullition tat sir la pression e L outil textuel le dictionnaire de donn es DD sert la d finition de chaque flot de contr le d finition de chaque stockage de flot de contr le ou d v nements selon Ward Mellor e Les deux outils graphiques et textuels 1 la sp cification de contr le CSPEC Control SPECification La description la plus compl te possible de la logique de fonctionnement du process En notation de Ward Mellor Un diagramme tat transition STD State Transition Diagram ou une table tat transition STT State Transition Table En notation de Pirbhai Hatley Un diagramme tat transition STD ou une table tat transition STT ou une matrice tat v nement SEM State Event Matrice Une table d activation de process PAT Process Activation Table Une table de d cision a La sp cification de contr le selon Ward Mellor al Diagramme tat transition STD State Transition Diagram met en vidence les diff rents fonctionnements du process de contr le Il se compose d tats repr sent s par O de transitions qui indiquent le changement du mode de fonctionnement de l objet analys et ils sont repr sent s par de l tat pr c dent l tat suivant Deux types de transitions sont distinguer transition d entr e qui indique le signal p
11. Vente utilisation Maintenance du syst me entretien Le d veloppement du logiciel s ins re dans le cadre du d veloppement du syst me Il est important de comprendre l articulation entre les deux cycles Un projet de d veloppement de syst me commence par une tude de la faisabilit qui est suivie par une phase de conception Lors de cette phase on d crit l architecture du syst me et on alloue les fonctions du syst me au mat riel au logiciel et aux hommes Cette d marche aboutit aux besoins en logiciel qui constitue l l ment technique essentiel pour d marrer le d veloppement en logiciel Syst me sous syst me sous syst me sous syst me mat riel logiciel Bases interfaces programmes de donn es homme machine 7 Conception d un syst me Elle concerne les deux tapes de conception conception pr liminaire et la conception d taill e du syst me Les m thodes de conception retenues sont celles impos es par les normes La conception pr sente deux aspects statique et dynamique Aspect statique base contractuelle entre le demandeur et le r alisateur Pr ciser ce que doit faire le syst me le quoi et non le comment STB SADT E A Aspect dynamique maquettes ou prototypes r seaux de Petri SY S P O SREM 8 La conception statique d un syst me 8 1 Sp cification technique des besoins STB Ils sont fournis par un document dont le plan type est inspir de la norme IEEE std830 A Introduction Le pl
12. g n ralisation Inconv nients de l approche orient e objet Tester un syst me orient objet est difficile Penser objet oblige changer de mentalit 33 Le g nie logiciel Le but de ce chapitre est de pr senter des d finitions de certaines notions de base en g nie logiciel Il est organis comme suit 1 Historique 5 La qualit du logiciel 2 D finition d un logiciel 6 Le cycle de vie d un logiciel 3 La crise du logiciel 7 Les ateliers de g nie logiciel 4 Le g nie logiciel 1 Historique e Au d but ann es 50 il y avait de la programmation petits programmes sur mesure de type batch avec un seul client le plus souvent le client est aussi le programmeur la naissance de la profession de programmeur e Ann es 60 et 70 les premiers gros logiciels apparaissent les produits logiciels sont vendus plusieurs clients milliers des logiciels multi utilisateurs temps r el apparition des bases de donn es crise du logiciel e Depuis les ann es 80 l industrie du logiciel se d veloppe en m me temps que les ordinateurs personnels les r seaux l Internet etc le co t des ordinateurs a baiss Beaucoup d ordinateurs sont vendus ainsi que des logiciels des r seaux et des syst mes r partis et la crise continue 2 D finition d un logiciel Qu est ce qu un logiciel Un logiciel est un ensemble de programmes proc d s r gles et ventuellement de la documentation
13. ge de Mohamed l adresse de Mohamed etc donc ge adresse sont des attributs LAN pour l entit personne L identifiant d une entit est un attribut particulier qui chaque valeur de l attribut correspond un et un seul exemplaire de l entit Exemples L entit personne a pour identifiant l attribut num ro de s curit sociale L entit voiture a pour identifiant l attribut num ro immatriculation 8 3 3 Contraintes d int grit Les concepts d entit d association d attributs sont insuffisants pour d crire ce qui caract rise les donn es d un sch ma E A nom mariage sexe etat civil Si une occurrence de Personne participe l association mariage gt la valeur de son attribut etat civil mari Un formalisme possible inspir de la logique du 1 ordre pour cette r gle est Vx y Personne lt x y gt mariage x etat civil mari et y etat civil mari Une telle r gle est appel e contrainte d int grit S1 les valeurs de la base de donn es ne satisfont pas ces contraintes alors 1l y a une erreur dans la base de donn es On dit que la base de donn es est incoh rente 8 3 3 1 Contraintes d int grit sur les attributs Elles permettent de limiter les valeurs possibles d un attribut certaines valeurs du domaine Exemple L attribut ge est compris entre 0 130 15 8 3
14. r aliser est suffisante pour commencer d crire un programme Faux une id e impr cise du logiciel r aliser est la cause principale d checs Une fois que le programme est crit et fonctionne le travail est termin Faux la maintenance du logiciel repr sente un travail important le co t de la maintenance repr sente d ailleurs plus de 50 du co t total du logiciel S1 les sp cifications du logiciel r aliser changent continuellement cela ne pose pas de probl mes puisque le logiciel est un produit souple Faux des changements de sp cifications peuvent se r v ler co teux et prolonger les d lais Pour respecter les d lais pr vus la r alisation d un logiciel il suffit d ajouter plus de programmeurs Faux si l on ajoute des gens un projet une p riode de familiarisation est n cessaire Le temps pass communiquer l int rieur du groupe augmente lorsque la taille du groupe augmente Cela r duit la productivit de chacun L introduction de nouvelles personnes dans le projet doivent tre tudi e et planifi e soigneusement Un quipement informatique la fine pointe de la technologie ne garantit en rien une production logicielle de qualit Vrai la qualit est assur e en respectant les tapes du cycle de vie 4 Le g nie logiciel Le g nie logiciel est la discipline n e en r ponse la crise du logiciel Il se caract rise par une approche rigoureuse et syst matique po
15. relatifs au fonctionnement d un ensemble de traitement de l information arr t du 22 d c 81 Autrement dit Un logiciel est un ensemble de programmes informatiques mais aussi un certain nombre de documents n cessaire leur installation utilisation d veloppement et maintenance sp cifications jeux d essai sch mas conceptuels mode d emploi 3 La crise du logiciel Elle est apparue la fin des ann es 60 Elle r sulte du d calage entre les progr s mat riels et logiciels D une part les ordinateurs de la troisi me g n ration apparaissaient et qui taient de plus en plus puissants et de moins en moins co teux et d autre part la construction des logiciels restait artisanale Les nouvelles machines rendaient toutes applications irr alisables possibles alors que les m thodes de d veloppement logiciel ne s appliquaient pas de grands syst mes Les sympt mes les plus caract ristiques de cette crise sont les suivantes Les logiciels r alis s ne correspondent souvent pas aux besoins des utilisateurs Les logiciels contiennent trop d erreurs qualit du logiciel insuffisante Les co ts de d veloppement sont rarement pr visibles La maintenance des logiciels est une t che complexe et co teuse Les d lais de r alisation sont g n ralement d pass s Les logiciels sont rarement portables Un certain nombre de mythes est rapprocher de ces sympt mes Une id e grossi re du logiciel
16. thodes de conception des logiciels notamment la conception structur e et la conception orient e objet Le chapitre est organis comme suit 1 Introduction 5 Strat gies d une conception 2 Types de conception 6 Concevoir pour changer 3 D finition d une architecture 7 Qualit s d un bon design 4 Caract ristiques d une bonne conception 8 Les diff rents types de module 9 Autres heuristiques de la composition et d composition modulaire 10 La conception structur e 11 La conception orient e objet 1 Introduction e C est un pont entre la d finition des besoins et l impl mentation c est une activit it rative incr mentale qui transforme progressivement les besoins vers un produit final e La conception s int resse au comment la solution et non au quoi le probl me e C est un processus cr atif qui demande du savoir faire Elle ne s apprend pas dans un livre mais par la pratique et l tude des syst mes existants ainsi que par l exp rience e Une bonne conception aide au d veloppement d un logiciel efficace fiable et de qualit e Les documents labor s en phase de conception pr liminaire sont dossier de conception pr liminaire et le plan d int gration 2 Types de conception e Conception architecturale Structure et organisation g n rale du logiciel concevoir La premi re tape qui consiste d finir la fonction de chaque composant du logiciel et leurs relations
17. 0 principalement les actigrammes o les boites repr sentent les actions et les fl ches les flots de donn es La partie datagramme ne fait pas partie de IDEF 0 8 2 2 Description de la m thode SADT Structured Analysis and Design Technique en am ricain il faut comprendre analyse structur e et mod lisation technique SADT est une m thode d analyse structur e C est une m thode qui cherche tablir la communication entre les demandeurs et les utilisateurs d une part et les concepteurs et les r alisateurs d autre part SADT est une m thode de sp cification fonctionnelle du syst me permettant de pr ciser les fonctions que le syst me doit assurer SADT conduit la repr sentation d un ou de plusieurs mod les Un mod le SADT est une description compl te concise et consistante d un syst me qui est d velopp e dans un objectif pr cis SADT un formalisme pour la d finition des fonctions d un syst me SA mod les une d marche un mode d emploi pour utiliser au mieux ce formalisme DT gt processus d laboration des mod les 8 2 3 Domaines d application Les principaux domaines actuels d application de la m thode SADT sont Syst mes d information Syst mes de production syst mes a ronautiques militaires etc 8 2 4 Objectifs de SADT analyser et comprendre les syst mes complexes peut aussi concerner les petits syst mes fournir les r sultats de l analyse et de la conception d
18. 1 TE version valuation Mise en uvre et Corrections et Poe utilisation am liorations nouvelle version Version finale 3 prototype exp rimentale G n ralement utilis au niveau de la conception pour valider certaines propri t s ou options de conception Cas d un analyseur syntaxique avec une grammaire r duite approfondissement Sp cification initiale S lection d une caract ristique Construction d un prototype valuation Confirmation des sp cifications Ce prototype est g n ralement jet apr s d veloppement 20 9 2 Les r seaux de P tri RDP 9 2 1 Introduction Th se de Carl Adam Petri en 1962 Le formalisme des r seaux de P tri est un outil permettant l tude des syst mes dynamiques et discrets Il s agit d une repr sentation math matique permettant la mod lisation d un syst me L analyse d un r seau de Petri peut r v ler des caract ristiques importantes du syst me concernant sa structure et son comportement Les r sultats de cette analyse servent valuer le syst me et en permettre la modification et ou l am lioration 9 2 2 Les concepts de base Un r seau de Petri est compos un ensemble fini de places un ensemble fini de transitions un ensemble fini de fl ches reliant soit une place une transition e soit une transition une place 9 2 3 D finition Un r seau de Petri est un quadruplet
19. 3 2 Contraintes d int grit sur les cardinalit s Elles permettent de limiter les cardinalit s des entit s des associations Exemple Enfant est parent de nbre enfants L attribut nbre enfants repr sente le nombre de participation de l entit parent l association est parent de 8 3 4 Conclusion Le formalisme E A peut tre utilis lors des phases de conception statique d un syst me pour identifier les objets du monde r el et tablir leur relation Le mod le conceptuel est plus stable Le fait de passer d un type de SGBD un autre ne remet pas en cause le sch ma E A 16 9 La conception dynamique d un syst me 9 1 Le prototypage d exigence 9 1 1 Introduction Afin de mieux cerner le probl me et sa solution et dans l optique de limiter le nombre d erreurs dans le logiciel final une technique utilis e est le prototypage permettant la construction d impl mentations partielles de syst mes S il s agit d une impl mentation compl te on parle de repr sentation du syst me tout entier et non de sa maquette Deux types de prototypes sont distinguer Les maquettes jetables la construction du prototype sert approfondir la compr hension du probl me et trouver sa solution puis on les jette apr s usage Les prototypes volutifs dans ce cas le prototype n est pas abandonn mais plut t adapter la nouvelle configuration des besoins 9 1 2 Qu est ce qu un prot
20. Ex cution de multiples actions n ayant pas de relation entre elles Exemple crire lire diter 7 4 5 La coh sion temporelle e Ex cution de multiples actions dont l unique relation est le temps Exemple se lever se laver faire la pri re d jeuner 7 4 6 La coh sion logique e Les actions peuvent tre consid rer comme faisant partie d un m me th me mais ind pendantes les unes des autres Exemple Voyager en voiture Voyager par train Voyager en avion 7 4 7 La coh sion de co ncidence e Regroupe des actions n ayant entre elles aucune relation fonctionnelle r unies par pure commodit Exemple Pr parer la voiture Faire des g teaux Etudier Remarque Une bonne conception est atteinte avec un haut degr de coh sion et un faible couplage L avantage des syst mes forte coh sion et faible couplage est qu il est possible de remplacer un composant quelconque par un composant quivalent avec peu ou pas de changements dans les autres parties du syst me 8 Les diff rents types de modules Cing types de modules diff rents sont d finir compte tenu des concepts de structuration et plus particuli rement des mesures de couplage et de coh sion 8 1 Les modules de donn es e G rent un ensemble de donn es reli s fonctionnellement ind pendamment de leur impl mentation ou de leur repr sentation Fonctionnellement deux types de donn es peuvent tre identifi s e Donn es statiqu
21. L Unified modeling Language Il est bas e essentiellement sur les m thodes OOD de Booch OMT de Rumbaugh et OOSE de jacobson UML F4 fin 2004 U M L 1 4 mai 01 U M L 1 3 jui99 U M L 1 2 jan 98 wa sep97 U M L 1 0 janvier97 UML 0 9 9 7 UML 0 8 95 7 O Autres m thodes OOD OMT OOSE partenaires industriels IBM Rational Rose etc U M L se propose de cr er un langage de mod lisation utilisable la fois par des humains forme graphique et des machines syntaxe pr cise U M L n est pas une m thodologie orient e objet mais un langage de description des objets U M L peut tre utilis toutes les tapes du cycle de vie La structuration des objets les composants logiciels Vue logique statique Vue impl mentation Diagrammes Diagrammes Classe objet composants Vue externe Diagramme Cas les fonctions d utilisation du syst me Vue logique dynamiqu Vue d ploiement Diagrammes Diagrammes Collaboration s quence d ploiement Etats transition activit La dynamique d s objets l architecture physique Toutes les vues propos es par U M L sont compl mentaires les unes des autres elles permettent de mettre en vidence les diff rents aspects du logiciel ou le syst me r aliser 11 3 Les cas d utilisation e Formalis s par Ivar Jacobson dans OOSE servent exprimer le comportement du syst me en termes d actions et de r actions selon le
22. P T F W o P est un ensemble fini de place Test un ensemble fini de transitions Fest la relation de flot ce sont les fl ches F P T T P W est la fonction de poids qui associe un entier naturel non nul chaque l ment de F W F gt N 0 Si une fl che f de F n est tiquet e d un poids par d faut W f 1 Dans le cas o le poids affect chaque fl che est 1 le r seau est dit l mentaire W F gt 1 9 2 4 Le marquage d un r seau de Petri on peut placer des jetons dans des places du r seau de Petri l emplacement et la quantit des jetons d finissent l tat du r seau de Petri un instant donn On appelle marquage la fonction qui d crit le nombre de jetons contenus dans chaque place M P gt N Exemple P1 P2 M pl 1 M p2 1 P3 M p3 2 T1 t2 M p4 0 M p5 0 M p6 0 P4 P5 M p7 0 T3 t4 P6 O 21 Un r seau marqu est un couple N lt R P gt o R est un r seau de Petri M est un marquage c a d une application M P N M p est le nombre de jetons dans la place p P Un r seau sans marquage aucun jeton dans chacune de ses places est un r seau mort sans activit Le marquage initial not Mo est le premier marquage attribu un r seau avant que toute ses transitions ne soient tir es 9 2 5 Transition franchissable Une transition est dite franchissable tirable ou d clenchable si chacune de ses places d e
23. Principe des syst mes 8 La conception statique d un syst me 5 Caract ristique d un syst me 9 La conception dynamique d un syst me 1 Les enjeux de l approche syst mique Difficult de la phase de conception pr liminaire et d taill e Double comp tence de l architecte c t mat riel et logiciel Choix du mat riel et du logiciel pour construire le nouveau syst me 2 D finition d un syst me a Un syst me est un ensemble composite de personnels mat riels et de logiciels organis s pour que leur interfonctionnement permette dans un environnement donn de remplir les misions pour lesquelles il a t con u Meinadier 98 b Un syst me est un ensemble d quipements de savoir faire de techniques capable de jouer un r le op rationnel ou d apporter un soutien logistique ou les deux la fois Jaulent 94 L accent sera mis sur les syst mes d information les syst mes d information font partie de syst mes plus tendus imbrication Exemple le syst me de paie fait partie du syst me de personnel Souvent un nouveau syst me doit remplacer un autre syst me existant et on doit conna tre son fonctionnement Tous les syst mes poss dent des similarit s ressemblances 3 Classification des syst mes Syst mes naturels inertes syst me solaire Syst mes naturels vivants organismes Syst mes artificiels con us par des humains d ordre social lois douane transports r sea
24. Z 0 2 While X gt Y do 3 Begin X X Y Z 2Z l X lt Y End 4 Print Y Fichier2 Close Fichierl Close Fichier2 On consid re tous les chemins du point d entr e au point de sortie et on cherche les anomalies Par exemple pr sence de code isol encha nement logique de certaines instructions crire sur un fichier ferm ne pas fermer un fichier b Flots de donn es Annoter le graphe par des informations pertinentes quant la manipulation des variables d finition d une variable utilisation d une variable def X def Y def Z utilX util Y X gt Y util X util Y def X util Z def Z util Y Les principales anomalies sont les suivantes Utiliser une variable sans la d finir au pr alable D finir une variable sans l utiliser ult rieurement Exemple Le long chemin est 1 2 3 la variable Z est d finie en 1 mais jamais utilis e M me chose pour le chemin 1 2 3 2 4 La difficult li e l usage de chemins extraits du graphe de contr le ou du flots de donn es est l existence de chemins infaisables Exemple Read X V 2 X If X gt 0 then Y X 1 Else Z 2 X If V lt 0 then T Y Else T 7 L anomalie d tect e le chemin passant par le 1 then Y X 1 et le 2 me else c a d T Z La variable Z est utilis e mais non d finie c est un chemin infaisable Pour les syst mes complexes il est extr mement difficile de savoir si un chemin est faisable ou non c
25. cessaire lorsqu il y a un grand nombre de combinaisons de conditions mais aussi pour une explication simple de certaines transformations Exemple classifie la d viation de temp rature variation de temp rature classe d erreur valeur de la variation de classe d erreur la temp rature normal warning urgence 2 La sp cification du temps La table des temps de r ponse repr sente un l ment indispensable pour l analyse d un logiciel d une application temps r el Elle permet de pr ciser les informations suivantes la fr quence de r p tition des signaux le temps de r ponse entre le signal d entr e et le signal de sortie correspondant Exemple Entr e v nement sortie v nement Temps de r ponse Demande de entr e Vitesse affich 0 5 sec max vitesse 3 3 Conclusion e La m thode SA RT sert la mod lisation d un logiciel fortes contraintes de temps e Elle pr sente un certain flou dans la syntaxe de la m thode concernant les r gles de circulation des donn es entre process qui ne sont pas clairement d finies e Le DFD le DD et la PSPEC r sultent d une interpr tation humaine e Elle est partiellement support e par les AGLS v rification des donn es e Certains contr les automatiques sont difficiles envisager probablement actuellement La conception d un logiciel Le but de ce chapitre est de fournir aux tudiants des m
26. chacun dans l quipe constituant la documentation contenant tous les r sultats d finitifs et interm diaires insistant sur le cycle auteur lecteur L quipe SADT comprend auteur ou analyste personnes tudiant les besoins et analysant les fonctions du syst me commentateurs ou lecteurs personnes critiquant le travail des autres auteurs experts ou sp cialistes personnes fournissant les informations sur le syst me comit technique quipe critiquant l analyse chaque tape de la d composition biblioth caire responsable de la tenue jour de l ensemble des documents du projet et de leur circulation chef de projet il a la responsabilit technique du projet 8 2 5 7 Consigner par crit SADT oblige consigner par crit tous les choix r alis s pendant l analyse Les documents ainsi cr es sont accessibles tous pour tre revus et ventuellement modifi s Cette approche se base sur le cycle auteur lecteur r daction d un document auteur lecture du document lecteur r daction des commentaires et critiques destin s l auteur lecteur volution et r daction d une nouvelle version auteur Toutes les versions interm diaires sont conserv es de mani re automatique ou manuelle 8 2 6 Syntaxe de SADT Un mod le SADT est compos de actigrammes ou diagrammes d activit s datagrammes ou diagrammes de donn es textes explicatifs sur les actigrammes diagra
27. de maintenance un cahier de charges doit pr voir certaines volutions du logiciel La structure d un cahier de charges Elle se pr sente comme suit Introduction pr sentation du logiciel en termes de besoins quoi va t 1l servir pr sentation des notations des interfaces Mat riel description du mat riel utilis les p riph riques ainsi que les interfaces Mod le conceptuel vue d ensemble du logiciel Besoins fonctionnels description des fonctions op rations transformations que le logiciel doit r aliser Chaque fonction sera d crite en d tail en sp cifiant ses entr es et ses sorties Les valeurs l gales pour les entr es ainsi que le comportement du programme pour ces entr es est aussi sp cifi e Besoins non fonctionnels ce sont les contraintes qui sont d crites Elles sont de deux types Les contraintes d interface o l on distingue 1 Les contraintes impos es par l environnement logiciel ex cution du programme sur tel syst me d exploitation 2 Les contraintes impos es par l environnement mat riel utilisation des caract ristiques de tel terminal 3 Les contraintes impos es par l environnement humain les commandes mises disposition doivent satisfaire telle ou telle contrainte Les contraintes de performance ce sont les contraintes de m moire principale ou disque de temps de r ponse etc f Sous ensemble et priorit s d impl mentation d finition
28. de test doit couvrir vrai et faux toutes les conditions l mentaires de toutes les conditionnelles Exemple If x gt 1 and b 0 then X x n If a 2 or x gt 1 then X x 1 Comme jeu de test on peut choisir a 1 b 0 x 3 a 2 b 1 x 1 Il couvre toutes les conditions mais pas toutes les instructions Remarque Il est n cessaire de m langer diff rents crit res des tests Ce type de test structurel ne peut pas tre r utilis tel quel en cas de modifications de code 6 2 2 Test fonctionnel ou boite noire s lection du jeu de test partir d une sp cification de ce que le logiciel doit faire et non pas partir des textes de programme Ce type de test est moins d velopp que pour le test structurel les sp cifications sont crites en langage naturel textes gt difficile de mettre en vidence des m thodes syst matiques de s lection de jeux de tests Au lieu de tester toutes les valeurs on partitionne les valeurs en classes d quivalence et on teste aux limites des classes Comment partitionner un domaine en classes d quivalence Exemplel Soit un programme P supposons que les donn es de P soient des nombres appartenant D 0 5000 Une classe d quivalence pour des valeurs appartenant l intervalle des valeurs valides DI 0 lt d lt 5000 Une classes d quivalence pour des valeurs invalides inf rieures D2 d lt 0 Une classe d quivalence pour de
29. des versions correspondantes aux sous ensembles de sp cification et d termination d un ordre de r alisation g Informations de maintenance d termination des parties susceptibles d voluer une fois le logiciel est op rationnel facilite l volution du logiciel h Glossaire d finition des termes techniques utilis s supposer aucune connaissance technique de la part du client 1 Index permettre une utilisation facile du cahier de charges 4 2 Sp cification de besoins Le but de la sp cification est de d crire avec rigueur Les donn es du syst me vue statique Les fonctions du syst me vue fonctionnelle Les changements d tat et le contr le du syst me vue comportementale Trois axes de classification sont distinguer 4 2 1 Degr de formalisme Sp cification informelle exemple en langage naturel Sp cification semi formelle notation graphique dont la s mantique n est pas d finie de mani re formelle exemple UML Sp cification formelle exemple les Rdp 4 2 2 Style des nonc s Sp cification fonctionnelle description du quoi gt Rdp dfd Sp cification descriptive description des propri t s d sir es Mod le E A 4 2 3 Nature des aspects d crits Sp cification statique on d crit ce qui ne change pas dans le syst me donn es mod le E A Sp cification dynamique on d crit ce qui change dans le syst me tats gt les Rpd 5 Conclusion D
30. fonctionnelles e Conception d taill e Etape qui consiste d tailler les r sultats de l analyse fonctionnelle jusqu un niveau suffisant pour en permettre le codage dans un langage de programmation choisi Concevoir pour chaque composant algorithmes structures de donn es interfaces 3 D finition d une architecture Une architecture est une structuration du logiciel d velopper en un ensemble de composants ou modules e ayant entre eux des relations bien d finies e poss dant certaines propri t s requises e et respectant certaines contraintes Qu est ce qu un module Une partie d un logiciel correspondant une unit fonctionnelle reli e aux donn es qu il manipule Une unit fonctionnelle une fonction l mentaire une fonction complexe ensemble de fonctions Exemples Pascal module proc dure C module fonction Fortran module sous programme Ada module package Pourquoi une structure modulaire Structure ma trisable diviser pour r gner Qualit s acquises d un logiciel facilit de modification facilit de v rification facilit de r utilisation Changement facile caract ristique principale des logiciels Relation inclure utilise call Propri t validit s curit Contraintes localisation mat riel taille des modules D autres d finitions au terme architecture logicielle ont t propos es dont e A Sof
31. franchissement partir du marquage initial Mo A lt R Mo gt M il existes M lt s gt M Graphe des marquages accessibles Si A lt R Mo gt est fini gt possibilit d une repr sentation sous forme d un graphe Le graphe des marquages GA R Mo est un graphe dont les sommets sont les marquages de A R Mo tel qu un arc relie deux sommets M et M s il existe une transition franchissable permettant de passer du marquage M Mj Exemple T1 P1 T2 Mo 1000 gt M 0100 T1 T4 T2 t P2 M 0001 p3 M3 0 0 10 T4 P4 Un algorithme assez simple est le suivant Tant qu il y a des transitions franchissables faire Choisir une transition franchissable Franchir cette transition Fin tant que Remarque Le graphe de marquage GA R Mo ne peut tre construit si l ensemble des marquages est infini Exemple Le cas d une s quence faisant cro tre le nombre de jetons dans une place construction d un graphe de couverture 26 9 2 8 Propri t s comportementales _ R versibilit Un RDP initialement marqu M est dit r versible ssi Quelque soit M A R Mo il existe s M lt s gt Mo gt retour au marquage initial _K born Le RDP initialement marqu Mo est k born ssi Quelque soit M A R Mo M p lt Kk gt mod lise les capacit s des ressources Vivacit Un RDP initialement marqu M est dit vivant ssi Quelque soit M A R Mo il existe s
32. intuitive mais elle n cessite de bien identifier les donn es et les contr les chang s entre les diverses fonctions de la hi rarchie Des inconv nients sont li s cette m thode savoir Certains syst mes ne poss dent pas de fonction globale Maintenance difficile un changement au niveau d une fonction donn e n cessite de revoir tout le syst me Faible r utilisabilit b approche syst mique tr s utilis e pour d velopper des bases de donn es relationnelles classiques Selon cette approche le concepteur des BD doit avoir une vue synth tique de toutes les donn es manipul es par le syst me Comme un syst me poss de trois vues structurale fonctionnelle et dynamique seule la vision de structure est bien fournie les deux autres visions ont une importance secondaire 9 3 2 N cessit d un d veloppement objet Les m thodologies classiques sont insuffisantes les applications modernes sont importantes et complexes temps r el BD Le probl me de la r utilisation les nouvelles applications ont besoin d un certain nombre de proc dures ou de fonctions d j existantes avec peu de modifications Application traversant les fronti res de l entreprise pour des applications d envergure 1l est n cessaire d avoir un mod le mettant en jeu plusieurs produits logiciels de plusieurs compagnies Logiciels composants d finir une fa on simple commode permettant aux usagers
33. l ex cution Co t de d veloppement et de maintenance les programmeurs disponibles ma trisent t ils le langage Sont ils productifs Le langage permet t il de r utiliser les librairies et programmes existants Exemple Pourquoi le choix d un langage orient objet C Java etc L orient objet favorise le d veloppement de logiciels qui peuvent tre combin s de logiciels r utilisables de logiciels extensibles Ce sont des qualit s souhait es pour un logiciel 6 R le de l ing nieur en logiciel e La programmation petite chelle in the small Structures de donn es algorithmes langages de programmation e La programmation grande chelle in the large traduction du cahier de charges vagues en sp cifications pr cises capable de parler l utilisateur en termes d application et non de probl me d ordinateur capacit de mod liser et d utiliser de mod le comme r f rence capacit d organisation du projet et de planification 7 Conclusion Ecrire des programmes clairs compr hensibles et bien document s Choisir des langages de programmation permettant d aboutir des logiciels de qualit extensibles r utilisables compatibles etc Utiliser plus qu un langage s il est n cessaire en choisissant le langage appropri pour chaque partie de l application Test et preuve d un programme Le but de ce chapitre est de fournir aux tudiants des diff rentes techniqu
34. les t ches d terminer les t ches critiques ordonnancer ces t ches dans le temps Deux principales techniques sont la disposition du chef de projet 3 2 R seau de PERT Profit Evaluation and Review Technique C est un graphe acyclique orient et sans cycle qui permet de repr senter l encha nement des t ches Chaque n ud du graphe est un couple Ti di Exemple 3 2 1 Les types de liens Il existe 4 types de liens pour l encha nement des t ches fin d but d s que la t che A est finie la t che B commence ENA d but fin la t che B ne peut se terminer que si la t che A commence ye d but d but La t che B doit commencer en m me temps que la t che A ana fin fin la t che B doit se finir en m me temps que la t che A Ae 3 2 2 Param tres cl s D finition Pour d terminer le temps de fin de projet on utilise des param tres cl s associ s chaque t che qui sont des dates au plus t t D t t F t t et les dates au plus tard D tard F tard ainsi que la marge qui d coule logiquement Calcul des param tres Ce calcul est valable pour les liens de types fin d but Dates au plus t t Si la t che Ti est au d but du projet t0 alors D t t Ti t0 F t t Ti D t t Ti di Sinon D t t Ti max F t t pr d cesseur Ti F t t Ti D t t Ti di Dates au plus tard Si la t che Ti est en fin de projet tf alors F tard Ti
35. les traitements et les donn es qu il utilise Dans ce cas l objet peut tre r utilis dans d autres applications sans probl mes d interf rence L encapsulation permet d une part l autonomie des objets et d autre part la construction de biblioth ques de classes r utilisables b masquage de l information On ne conna t pas la structure de l information c Interface Seuls les services publics offerts l ext rieur sont utilisables d Envoi de messages Les objets communiquent par messages envoi r ception de messages La structure d un message est la suivante 30 M S O P o S s lecteur nom de la m thode O objet receveur du message P param tres de la m thode La r ception d un message par l objet provoque l ex cution de la m thode invoqu e Cette ex cution peut changer l tat de l objet receveur ou bien donner naissance l envoi d autres messages Valeurs de message l objet attributs s mis re u Objet L envoi de messages e Dur e de vie Elle d pend du contexte f Polymorphisme La forme de l objet est diff rentes mais coh rente des instants diff rents 9 3 6 L h ritage permet la mod lisation de l embo tement de classes les unes dans les autres la relation entre classe et sous classe introduit des liens sp cifiques appel s liens d h ritage Ces liens mettent en vidence le transf
36. logiciel dans le but d en optimiser la production le support et la qualit Autrement dit Le g nie logiciel est l art de produire de bons logiciels avec un meilleur rapport qualit prix 5 Qualit du logiciel En g nie logiciel la d finition de la qualit du logiciel est exprim e en termes de facteurs Ces facteurs peuvent tre internes visibles observables par les d veloppeurs externes visibles par les utilisateurs Parmi ces derniers citons Validit aptitudes d un produit logiciel remplir exactement ses fonctions d finies par le cahier des charges et les sp cifications Extensibilit facilit avec laquelle un logiciel se pr te une modification ou une extension des fonctions qui lui sont demand es Compatibilit facilit avec laquelle un logiciel peut tre combin avec d autres logiciels Efficacit utilisation optimale des ressources mat rielles Portabilit facilit avec laquelle un logiciel peut tre transf r e sous diff rents environnements mat riels et logiciels Int grit aptitude d un logiciel prot ger son code et ses donn es contre des acc s non autoris s Facilit d emploi facilit d apprentissage d utilisation de pr paration des donn es d interpr tation des erreurs et de rattrapage en cas d erreur d utilisation e R utilisabilit aptitude d un logiciel tre r utilis en tout ou en partie dans de nouvelles application
37. objets qui doit tre respect e en permanence Syntaxe inv lt expression_logique gt lt expression_logique gt est une expression logique qui doit toujours tre vraie Exemple Le solde d un compte doit toujours tre positif context Compte inv solde gt 0 12 5 Types et op rations utilisables dans les expressions OCL Types et op rateurs pr d finis Le langage OCL poss de un certain nombre de types pr d finis et d op rations pr d finies sur ces types Ces types et ces op rations sont utilisables dans n importe quelle contrainte et sont ind pendants du mod le auquel sont rattach es ces contraintes Le tableau ci dessous donne un aper u des types et op rations pr d finis dans les contraintes OCL Les tableaux suivants rappellent les conventions d interpr tation des op rateurs logiques L op rateur logique if then else endif est un peu particulier Sa syntaxe est la suivante if lt expression_ logique 0 gt then lt expression_ logique _1 gt lse lt expression_logique 2 gt endif Cet op rateur s interpr te de la fa on suivante si lt expression_logique_0 gt est vrai alors la valeur de v rit de l expression est celle de lt expression_logique_1 gt sinon c est celle de lt expression_logique_2 gt Type Exemples de valeurs Op rateurs Boolean true false and or xor not implies if then else endif Integer Re abs Real 1 5 3 14 abs
38. obligatoire des revues de qualit 9 1 4 Impacts sur la productivit et le succ s du produit Qu est ce que la productivit La productivit c est la quantit de travail fournie par une personne pendant une p riode de temps donn e La productivit se mesure en le nombre de lignes du code source crites par programmeurs et par mois Le nombre d instructions du code objet produites par programmeur et par mois Le nombre de pages de documentation crites par programmeur et par mois Le nombre de tests crits et ex cut s par programmeur et par mois Etude comparative entre l approche classique CV et l approche prototypage Selon une exp rience faite dans la construction d un syst me o certaines quipes ont adopt es l approche traditionnelle CV et d autres ont utilis e l approche prototypage les r sultats obtenus sont les suivants lataille des maquettes est plus petite que celle d un produit fabriqu selon le cycle de vie environ 40 aucune diff rence sensible concernant la productivit exprim e en lignes du code source personne heure 18 les produits d velopp s selon le cycle de vie sont plus fonctionnels plus solides mais pas faciles utiliser que les maquettes 9 1 5 Conclusion Le prototypage permet d tablir les conclusions suivantes les produits sont plus petits de performance quivalente avec moins d effort Les produits sont moins satisfaisants aspect fonctionnel mais plus
39. petit projet 6 h m lt charge lt 12h m petit projet 12 h m lt charge lt 30h m moyen projet 30 h m lt charge lt 100h m grand projet 100 h m lt charge tr s grand projet Exemple Charge de 60 h m 1 personne en 60 mois 5 ans 10 personnes en 6 mois 60 personnes en 1 mois 2 2 L estimation de la charge Le mod le COCOMO COnstruct COst Model de B Boehm est le lus connu Il fournit des quations estimant l effort ou la charge en h m en fonction de la nature du projet Ces quations ont t obtenues de fa on empirique partir des statistiques sur des projets r els Elles sont de la forme Charge a taille D lai c charge a O taille est le nombre d instructions livr es en milliers de lignes sources La taille moyenne d quipe charge d lai Les param tres a b c d d pendent de la cat gorie du projet Type de projet charge hommes mois d lai en mois Simpe ooo A 2 C 2 5 B 1 05 D 0 38 Moyen A 3 C 2 5 B 1 12 D 0 35 Complexe A 3 6 C 25 B 1 2 D 0 32 Ces r sultats bruts peuvent tre affin s en fonction de 14 param tres tels que l exp rience du langage de programmation fiabilit temps d ex cution etc gt La charge nette produit facteurs charge brute 3 Planification d un projet 3 1 D finition La planification consiste tablir la liste des t ches et leur dur e d terminer les relations de d pendance entre
40. point de vue de chaque utilisateur e Sp cifient ce que fait le syst me mais pas comment il le fait e Constituent un moyen pour d terminer les besoins du syst me e Permettent d impliquer les utilisateurs d s les premi res tapes du d veloppement pour exprimer leurs besoins e Servent d entente entre les d veloppeurs les utilisateurs et les experts sur les fonctions disponibles et sur la fa on d interagir avec le syst me Les fonctions du syst me Le syst me devra r aliser X gt X est une fonction du syst me On classe les fonctions en trois cat gories videntes cach es optionnelles Exemple Cas d un guichet automatique Identifier le client fonction vidente Mise jour des soldes des comptes fonction cach e Mise jour du carnet du client fonction optionnelle Qu est ce qu un cas d utilisation Un cas d utilisation est un document narratif qui d crit la s quence d v nements dans laquelle un acteur utilise le syst me pour accomplir un processus Qu est ce qu un acteur Un acteur est une personne ou un syst me qui interagit avec le syst me tudi en changeant des informations en entr e et en sortie Un acteur repr sente un r le jou par un utilisateur qui interagit avec le syst me Une m me personne physique peut jouer le r le de plusieurs acteurs et plusieurs personnes peuvent jouer le m me r le Exemple lt lt stereotype gt gt Ou Client Effectuer un retr
41. posent Cependant l avantage r side dans le fait qu il est facilement compr hensible par le client 4 1 4 1 Caract ristiques d un cahier de charges Un bon cahier de charges doit poss der les 7 qualificatifs suivants 4 1 4 2 a b c d Non ambigu La non ambigu t exige une grande pr cision dans l utilisation des termes introduits Complet il faut pr ciser le comportement du logiciel lors des v nements non d sir s panne du mat riel erreur dans les donn es introduites par l utilisateur V rifiable toute sp cification doit pouvoir tre v rifiable Un exemple de sp cification non v rifiable est le logiciel doit tre facile utiliser Consistant pas de sp cification contradictoire Ce probl me appara t partir d une certaine taille du cahier de charges Modifiable les sp cifications doivent changer soit durant le d veloppement du logiciel soit durant la maintenance Ces modifications doivent pouvoir tre report es facilement dans le cahier de charges Tra able le tra age est la possibilit d avoir des r f rences crois es entre les sp cifications de plusieurs versions du cahier de charges Tra age arri re partir d une sp cification retrouver la sp cification dont elle d coule Tra age avant partir d une sp cification retrouver les sp cifications auxquelles elle a donn naissance dans les versions suivantes Utilisable durant la phase
42. simple d emploi Les produits sont simples maintenir Les produits facilitent une meilleure utilisation du syst me Le syst me obtenu apr s prototypage est pr cis D autre part la comparaison entre une maquette jetable et un prototype volutif donne les r sultats suivants maquette jetable prototype volutif On obtient rapide et provisoire non rapide non provisoire On construit uniquement les parties d abord les parties faciles difficiles ensuite difficiles On gagne un temps de d veloppement une flexibilit optimale optimal Conclusion jeter apr s usage faire voluer Exemples de prototypes 1 prototype rapide ou maquette utilis e en analyse des besoins sp cifications fonctionnelles Elle permet au client et au d veloppeur de bien se mettre d accord sur la nature du produit r aliser et plus particuli rement sur l interface et les fonctionnalit s Analyse pr liminaire des besoins Analyse et s lection de nouvelles fonctions tat non satisfaisant Construction du prototype Evaluation et exn rimentation Etat satisfaisant Expression claire des besoins r els Sp cifications d finitives 19 2 prototype volutif La premi re version du prototype est l embryon du produit final C est un premier pas vers un produit final On it re jusqu au produit final Cas d un syst me expert Etude pr alable Sp cification de base Premi re identification Conception et r alisation
43. titives Sortie en t te Tq lt condition gt vraie faire Traitement Fin de tq si lt condition gt fausse alors traitement finsi d cider entre cas 1l vraialors traitementi cas 2 vrai alors traitement2 cas 3 vrai alors traitement3 autrement Erreur fin de d cider Sortie en queue r p ter traitement jusqu lt condition gt vraie Les arbres de d cision C est une repr sentation alternative des tables de d cision Capture les m mes informations mais sous forme graphique que tabulaire Pr sente une meilleure lisibilit qu une table de d cision Prend plus de place en raison de l espace n cessaire pour repr senter tous les branchements N cessite une valuation de l ordre des conditions pour obtenir une simplification du graphique Exemple volume des Vente gt 60 000 Strat gie de calcul lt 50 De la commission Sur les ventes 60 000 Les tables de d cision avances salaires commission B 10 000 T 16 000 120 000 14 20 000 gt 12 10 000 78 10 000 20 000 7 7 20 000 6 10 _ N cessaires pour d crire des d cisions complexes indispensables lorsqu il y a un grand nombre de combinaisons de conditions Condition Condition2 Condition3 m lt ml lt iii lt lt lt S zolle IPREN lt T lt gt lt Action Action2 Action3 Action4 X X Les diagrammes de M Jackson
44. trois principales a donn naissance UML 29 9 3 4 Le concept de l objet L int r t de l approche objet r sulte de sa capacit de d crire les entit s du monde r el et les g rer sous forme naturelle dans laquelle les donn es et les proc dures les manipulant sont regroup es dans une m me entit s mantique l objet Un objet l ment identifiable du monde r el qui est soit concret ou abstrait Un objet est une entit identifiable poss dant un tat un comportement Exemple objet voiture tat kilom trage vitesse immatriculation comportement rouler d marrer tomber en panne Remarque Le concept d objet diff re de celui de l entit par entit ne s int resse qu aux donn es sa structure l objet englobe galement les proc dures de manipulation de ces donn es comportement Une classe regroupement d objets ayants des propri t s communes tat et comportement Les objets membres d une classe sont appel s instances de la classe Exemple Classe tudiants ensemble des tudiants du d partement d informatique Samir est une instance de la classe tudiants 9 3 5 Les principes sur lesquels reposent les objets a Encapsulation regroupement des informations d tat et de comportement sous un nom unique Elle correspond la fois l action de masquer tout acc s ext rieur les propri t s de l objet inclure dans l objet
45. unit s de temps Disponibilit C est probabilit que syst me soit op rationnel Le temps de r paration est pris en compte Exemple Dispo 0 990 gt sur 1000 unit s de temps le syst me est disponible et utilisable pendant 990 unit s de temps 5 Classification des d fauts Classe de panne Description Transitoire Ne se produit qu avec certaines donn es Permanente Se produit avec toutes les donn es R parable Ne n cessite pas d intervention humaine Irr parable N cessite une intervention humaine Non corruptrice Ne d truit ni corrompt les donn es Corruptrice Corrompt les donn es 6 Conclusion la fiabilit est une qualit importante du logiciel Elle est obtenue au d triment de l efficacit
46. 2 on obtient M M pl 0 pr pl t2 0 post p1 t2 0 M p1 0 M p2 2 pr p2 t2 2 post p2 t2 0 M p2 0 M p3 2 pr p3 t2 0 post p3 t2 0 M p3 2 M p4 1 pr p4 t2 0 post p4 t2 0 M p4 1 M p5 1 pr p5 t2 0 post p5 t2 1 M p5 2 M p6 0 pr p6 t2 0 post p6 t2 0 M p6 0 M p7 0 pr p7 t2 0 post p7 t2 0 M p7 0 S quence de franchissement Soit un r seau marqu lt R M gt une s quence de franchissement est une suite de transitions franchies s quentiellement dans R depuis le marquage M Notation lt t1 t2 t3 tn gt T1 est franchissable depuis le marquage M T2 est franchissable depuis le marquage M obtenu suite au franchissement de t1 etc 23 T t2 t1 p3 t2 gt t2 gt t4 p4 p5 p4 p5 t t4 t3 t4 p6 p7 p6 p7 3 P1 O p2 ay p2 T t2 tl p3 t2 gt 13 p4 p5 p4 p5 t3 t4 t3 t4 p6 p7 p6 p7 TD T N n M lt t2 t4 gt M M lt t2 t4 t3 gt M Notation tl t2 t3 tn M lt t1 t2 t3 tn gt ou M La s quence lt t1 t2 t3 tn gt est franchissable depuis M t1 t2 t3 tn M lt t1 t2 t3 tn gt ou M gt M La s quence lt t1 t2 t3 tn gt est franchissable et conduit au marquage M 9 2 6 Propri t des r seaux de Petri Les propri t s d crites ci dessous concernent la structure du r seau et ne d pendent pas de la mani re dont les jetons voluent dans le r seau Elles sont dites s
47. Il est utilis par plusieurs outils d aide la conception des bases de donn es merise par exemple De nombreuses variantes ont t propos es dont celle de Peter Chen Le mod le E A propose une description sur la base de trois 3 concepts l entit l association et l attribut ou propri t 8 3 2 Concepts de base de la m thode E A 8 3 2 1 Les entit s Une entit est le regroupement par la pens e d un ensemble d objets ayant des caract ristiques communes Le caract re fondamental d une entit est que ses exemplaires existent en eux m mes sans r f rence d autres objets Repr sentation d une entit entit om singulier g n rique Entit un type une classe un ensemble Ali est un exemplaire de type personne Exemple Comment trouver les entit s dans un nonc Une chose est une entit donc on peut donner trois 3 exemples de cette chose Si chacun de ces exemples est un objet autonome la chose est une entit Ali Mohamed Monsieur sont trois exemples de personnes personne est une entit Une entit est pourvue d une existence propre 13 8 3 2 2 Les associations Les entit s sont reli es l aide de pattes l association Le nombre de pattes d une association est gal sa dimension Une association binaire donc deux 2 pattes Une association ternaire donc trois 3 pattes etc En pratique les associations de dimension 2 sont maj
48. Introduction G n rale D finitions a G nie ensemble de connaissances et de techniques concernant la conception la mise en uvre et les applications de proc d s de dispositifs propres un domaine d termin b Logiciel ensemble de programmes proc d s r gles et ventuellement de documents relatifs au fonctionnement d un ensemble de traitement de l information b1 Caract ristiques du logiciel produit unique pas de notion de s rie lot il est copiable mmat riel invisible abstrait Ne s use pas ne se d grade pas Il s ex cute sur un calculateur Sa fiabilit augmente avec le temps au fur et mesure de la maintenance corrections Le logiciel est facile modifier La taille du logiciel a de moins en moins d importance b2 Diff rentes cat gories de logiciel Plusieurs cat gories existent dont 1 Sur mesure pour un client sp cifique 2 G n rique vendu sur le march outil de traitement de texte etc 3 Embarqu s s ex cute dans du mat riel lectronique isol t l viseur t l phone mobile 1l est difficile modifier c G nie logiciel software engineering science de l ing nierie du logiciel Le g nie logiciel l ensemble des activit s de conception et de mise en oeuvre des produits et des proc dures pour rationaliser la production du logiciel et son suivi maintenance Pourquoi le g nie logiciel Crise naissance du g nie logicie
49. M lt s gt et ceci quelque soitt ET t s gt Pas de blocage dans le syst me 9 2 9 Mod lisation avec les Rdp Plusieurs possibilit s de mod lisation avec les Rdp description d taill e du processus de manipulation de transformation de donn es Ceci conduit cr er plusieurs Rdp un par processus et tudier la communication entre ces Rdp Ensuite il faut cr er un seul Rdp global Exemple Dans le cas d un logiciel de gestion des comptes clients Dans une mod lisation unitaire par processus La description porte sur la vie d un client inscription de ce client ouverture de son compte puis retraits et d p ts mod lisation globale du syst me Dans ce cas la description porte sur l ensemble des clients On proc de par enregistrement aux retraits pour continuer recenser les mauvais payeurs et ensuite par le blocage de leurs comptes a Transitions traitements et places conditions Transition les traitements sont d coup s en s quences d op rations ininterruptibles ordonn es logiquement chaque s quence correspond une transition Pr condition de T1 T1 Post condition de T Une variante consiste associer 2 transitions chaque s quence la premi re correspond au d but du traitement et la seconde la fin Pr condition D but T1 1 est commenc Fin de T1 Post condition 27 L inconv nient est que le nombre de transitions est multipli par 2 Places
50. Modules d E S 10 5 Conclusion Les principaux avantages de la conception structur e SD sont les suivants SA SD couvre les trois phases du cycle de vie du logiciel La phase de sp cification et la m thode SA La phase de conception pr liminaire et le diagramme de structure La phase de conception d taill e et la description des modules MD SASD pr sente une pluralit des outils permettant la description des diff rents aspects du logiciel Les outils utilis s sont DFD DD PSPEC SC MD PDL Les inconv nients de cette m thode sont Le DFD devient illisible si le nombre de process apparaissant un niveau donn est important Les flots de donn es entrant et sortant apparaissent de la m me fa on dans le diagramme fils __Ilest difficile de savoir quel niveau il faut introduire les unit s de stockage Le passage de l analyse structur e la conception structur e est difficile il n existe pas une unique transformation L importance des flots de donn es n est pas prise en compte quantit d information importante ou non Seul l aspect statique est d crit pas de symbolisme pour pr ciser les r gles de Les m thodes fonctionnelles Ont leur origine dans le d veloppement des langages proc duraux Plus orient es vers les traitements que vers les donn es Mettent en vidence la ou les fonctions assurer Proposent une approche hi rarchique descendante et modulaire en pr cisa
51. Repr sente le nombre de modules qu il appelle Exemple LA Fan out 3 Dans une bonne structure modulaire le nombre d appels sortants fan out doit rester relativement faible alors que le nombre de modules entrants fan in peut tre lev gt le module est souvent r utilis 10 La conception structur e 10 1 Introduction e La conception structur e SD Structured Design propos e par de nombreux auteurs en 1974 par W Stelens G Meyers L Constantine en 1976 par C P Gane T Sarson en 1980 par Pages Jones est tr s li e la m thode S A d finie par E Yourdon et T Demarco e Le passage de S A qui mod lise le probl me la conception structur e qui mod lise la solution est facile e SA SD couvre les deux tapes analyse et conception du cycle de vie du logiciel e SA qu est ce que le syst me doit faire SD comment le syst me doit tre fait 10 2 Concepts de base de la m thode SD La m thode SD est compos e d outils graphiques et textuels suivants 10 2 1 Le diagramme de structure SC Structured Chart Il refl te une structure hi rarchique et fonctionnelle du logiciel et il est construit partir e de modules repr sent s par Les modules peuvent tre class s en types entr e aff rent sortie eff rent transformation et coordination Li xX xf fy s xO x y O x A entr e sortie transformation coordination e de modules pr d finis repr sent s par
52. a d finition soit compl te La composante home html d pend de la composante logoanimation java 10goanimation java 11 9 2 Le diagramme de d ploiement Exemple Processeurl Il est la repr sentation finale de la topologie du syst me car il unit les facettes hardware et software du syst me Il doit permettre de visualiser chaque n ud de la topologie du syst me et d y voir les composantes logicielles qui s y ex cutent de m me que les structure logiques qui sont implant es dans ces composantes Les supports de communication entre les n uds sont aussi mentionn s Les composantes apparaissant dans ce diagramme doivent obligatoirement figurer dans le diagramme des composantes Les n uds repr sentent les unit s physiques mat rielles dot s d une puissance de calcul processeurs imprimantes p riph riques de communication Un n ud est repr sent par un cube avec le nom du n ud inscrit l int rieur tcp ip Processeur2 Lien n ud 11 10 El ment d une d marche e U M L n impose pas de processus La d marche naturelle impliqu e par la notation U M L part des cas d utilisation qui expriment un point de vue fonctionnel sur le syst me e Puis les diagrammes de collaboration et de s quence associ s aux cas d utilisation font appara tre les classes d objets impliqu es dans le syst me et donc passer une vue objets Diagrammes essentiels par phase e Analyse des besoins cas d utilis
53. ait Effectuer un retrait client Cas d utilisation effectuer un retrait Acteur client Description un client se pr sente au guichet s identifie retire un montant et quitte avec son argent Les cas d utilisation sont consid r s comme des classes de sc narios Ils peuvent entretenir entre eux les relations suivantes e Jnclut un cas inclut obligatoirement un autre e Etend un cas et une variante d un autre e G n ralisation sp cialisation La seule relation qui existe entre les acteurs est la g n ralisation un acteur A est une g n ralisation d un acteur B si l acteur A peut tre substitu par l acteur B Exemples Cas d inclusion inclut Effectuer l eeee Identifier retrait JUT client Sei Choisir montant du retrait Cas d extension ten d Faire un retrait avec m a j du livret Cas de g n ralisation Effectuer une transaction Effectuer un retrait Effect d v t CCIUCT UN COPO Effectuer un transfert 11 4 Les interactions Une application est une soci t d objets qui collaborent pour r aliser les fonctions de l application Deux types de diagrammes strictement quivalents l un l autre sont utilis s Ils contiennent la m me information mais repr sent e de mani re diff rente 11 4 1 Les diagrammes de collaboration e Ils mettent l accent sur les relations spatiales entre les objets Les messages peuvent tre num rot
54. alyse ars d analyse sp cifications fonctionnelles concevoir sp cifications fonctionnelles 10 Exemple Vaisselle propre vaisselle sale 8 2 6 3 La liste hi rarchique Les diagrammes d un mod le SADT sont num rot s de fa on pr cise Le premier niveau repr sente le syst me global il porte le num ro A 0 moins 0 pour les actigrammes et D 0 moins 0 pour les datagrammes Il sera d compos au niveau AO resp DO Cette boite comprend les n uds portant les n A1 A2 An resp D1 D2 Dn qui leur tour seront d compos s et ainsi de suite Vaisselle propre vaisselle sale manger L organisation hi rarchique des diagrammes Diagramme m re Plus g n ral Diagramme enfant 1 1 niveau plus d taill 11 8 2 6 4 Les textes explicatifs sur les diagrammes qui accompagnent les diagrammes pour repr senter bri vement des g n ralit s sur le diagramme et les faits auxquels l auteur accorde un int r t 8 2 6 4 Les diagrammes Pour Explication Seulement PES Ils permettent de clarifier un aspect particulier du syst me 8 2 6 5 Le glossaire regroupe les d finitions des activit s ou des donn es qui apparaissent sur chaque diagramme Explique le sens des termes techniques des termes g n raux utilis s de mani re sp cifique des abr viations L existence d un glossaire autorise l emploi des labels tiquettes brefs pour les boite
55. an type est tabli selon un contrat d accord entre le demandeur et le r alisateur et permettant de pr ciser ce que fait le syst me Ce document sert de preuve le projet est conomique la bonne ma trise du cycle de d veloppement par des estimations et la planification les co ts de d veloppement r duits le support l assurance qualit du logiciel B Le contexte de r alisation B 1 objectifs syst me construire ou am liorer B 2 hypoth ses respecter et pouvant remettre en cause tout ou une partie de la r alisation des sp cifications Exemple livraison des algorithmes par le client B 3 bases m thodologiques pr cisent les proc dures les m thodes les normes les langages utiliser pour mener bien le projet C Description g n rale C 1 Environnement du projet place du projet par rapport l environnement dont il d pend et par rapport aux projets en parall le C 2 Fonctions g n rales du syst me simple description des fonctions utilisateurs du syst me ainsi que les principaux objets qu il manipule C 3 Caract ristiques des utilisateurs identifier les diff rents utilisateurs s ils existent et pr ciser pour chacun les caract ristiques qui affectent l interface utilisateur menu connaissance ou non de l informatique exp rience de l application utilisateurs r guliers occasionnels C4 Configuration du syst me rubrique d crivant une configuration g n rale du sy
56. ans une notation claire et pr cise assurer la qualit r partir le travail d quipe et coordonner les efforts g rer le projet 8 2 5 Les concepts de la m thode SADT 8 2 5 1 Mod liser pour comprendre SADT permet d analyser un syst me en construisant un mod le pour rendre possible la compr hension profonde du probl me permettre tous les acteurs du projet de partager un langage commun SADT ne s utilise pas pour d crire la structure d un syst me quels sont ses composants mais pour comprendre ce que fait le syst me les besoins auxquels il doit r pondre quelles op rations doivent tre appliqu es aux entr es pour produire des sorties 8 2 5 2 Discipliner la d marche d analyse L analyse de tout syst me est faite de mani re structur e descendante modulaire hi rarchique L utilisation de SADT part d une vision globale du syst me gt Le syst me global correspond un module Elle se poursuit selon une approche descendante Chaque module est clat en sous modules chaque boite est un ensemble de boites hi rarchisation Le mod le est structur de fa on fournir progressivement un nombre croissant de d tails Pour chaque nouveau niveau 3 6 nouvelles boites sont introduites Cette d composition d un probl me en modules boites fl ches constitue ce que l on nomme un diagramme 8 2 5 3 S parer le quoi du comment Sp cifier un syst me consiste fournir une description fonc
57. ation e Analyse et conception du syst me diagramme de classes de collaboration de s quence d activit s d tats de composants de d ploiement 11 11 Conclusion e U M L poss de une notation simple et facile apprendre par des non informaticiens e La d marche de mod lisation adopt e par ce langage est souple incr mentale et it rative ce qui permet de converger efficacement vers une bonne analyse et une bonne conception e La version pr sent e est la version 1 4 d UML la version 2 0 comprend au total treize diagrammes Approche classique Approche orient e objet Le syst me est un ensemble Le syst me est un ensemble processus d objets interactifs Les processus interagissent avec Les objets interagissent entre eux des entit s de donn es et avec des personnes Les processus re oivent des entr es Les objets envoient et re oivent et produisent des sorties des messages Choix entre une conception classique et une conception orient e objet Si impl mentation orient e objet alors Conception orient e objet continuit m thodologique Sinon Si application temps r el alors Conception orient e objet application mieux d crite qu en classique Sinon Si interface homme machine pr pond rante alors Conception orient e objet existence de biblioth ques Sinon Conception classique Fsi Fsi 12 Langage de contraintes objet Object Constraint Langage OCL 12 1 Introduction C es
58. bjets de dur e de vie li e composition Elle est symbolis e par un losange vide pour des objets de dur e de vie ind pendante agr gation Exemple 1 1 ET La dur e de vie de l agr gat est ind pendante des agr g s Voiture Moteur Carrosserie La dur e de vie du composant est d pendante de celle des compos s Remarque Ne pas confondre g n ralisation sp cialisation et l agr gation Quand une classe est une sp cialisation d une autre classe elle est de m me nature ce qui n est pas le cas avec l agr gation Exemple Autres concepts e Classe association association porteuse d attributs ou d op rations repr sent e comme une classe anonyme 0 suit gt 1 Pas de nom p note e Association d arit n repr sent par un losange avec n pattes auquel peut tre associ une classe porteuse d attributs et d op rations padane 2t p 1 Peen 11 7 Les diagrammes d tat transition e Servent d crire le comportement des objets classes complexes e Un tat repr sente un ensemble des valeurs des attributs et des liens avec les autres objets Il est caract ris par une dur e et il doit tre nomm e Deux tats particuliers existent tat initial repr sent par Etat final repr sent par e Une transition repr sente une connexion entre deux tats Elle assure le passage d un tat un autre e Un v nement repr sente quelque chose qui arrive un insta
59. cune tat suivant aucun tat suivant Etat 1 Transition de sortie aucune Transition de sortie Trans4 b la sp cification de contr le selon Pirbha i Hatley bl Le diagramme tat transition STD est identique celui de Ward Mellor auquel une table d activation de process est rajout e permettant d voquer explicitement les process activ s d sactiv s ou d clench s suite des flots de contr le ordinaires ou prompts Tables tat transition STT avec le m me principe de celle de Ward Mellor tat courant v nement actions tat suivant b2 Table d activation des processus PAT Elle consiste d finir l action permettant d activer ou de d sactiver un ou plusieurs process En entr e on a l action ex cuter et en sortie le nom du des process activer ou d sactiver de fa on s quentielle ou concurrente process 1 process2 process3 Pour cette table d activation par exemple pour l action A1 il faut activer le process et d sactiver le process2 et le process3 Pour l action A3 il d abord activer le process puis les process2 et process3 en parall le b3 Matrice tat v nement SEM Elle permet de montrer les diff rentes actions ex cuter par le syst me a aveo arcs Le label NA signifie que l v nement ne peut pas tre reconnu Une case vide signifie que l v nement ne peut pas causer de transition b4 Table de d cision Elle est n
60. de consultation patients en consulter patients attente consult s m decin 8 2 6 2 Le datagramme Dans un datagramme chaque donn e est identifi e par un nom Les activit s en entr e sont celles qui cr ent ou g n rent la donn e les activit s en sortie sont celles qui l utilisent ou la consomment sous le contr le des activit s de contr le Activit s de contr le activit s consommatrices Support des donn es dispositif de m morisation de la donn e Exemple Suivre les instructions imprimer fournir papier blanc Papier blanc imprimante Remarques Dualit activit donn e Activit ce que fait le syst me les op rations ou les traitements qu il r alise Donn e ce que le syst me manipule utilise ou produit Les activit s et les donn es sont indispensables et prennent leur sens l un par l autre En pratique on n utilise pas les datagrammes SADT mais le formalisme E A R gles de construction des diagrammes Chaque fl che entrant ou sortant de sa boite m re doit se trouver sur le diagramme enfant Les supports peuvent ne pas tre mentionn es si cela n claire pas la compr hension On ne mentionne que les l ments n cessaires ce que l on veut montrer Lorsque la relation est double sens entr e r ciproque ou contr le r ciproque on utilise une double fl che avec un point droite ou sur la pointe des fl ches concern es Exemple Erreurs d an
61. de fabriquer lui m me une application en associant tous les autres composants logiciels d j disponibles D veloppement en quipe Le d veloppement de grands logiciels n cessite une coop ration de plusieurs quipes o chacune se charge de d velopper un module ind pendamment des autres et de le tester s par ment D lai de mise en route des applications complexes et minimisation des co ts l utilisation de composants d j existant dans la construction d applications complexes permet de r duire le d lai de mise en route ainsi que le co t 9 3 3 Historique En 1965 deux chercheurs norv giens Ole Dahl et Kristen Nygaard ont propos s d unifier les notions de proc dures et de donn es gr ce au m canisme d abstraction qu ils nomment classes d objets afin d am liorer la capacit d expression des langages traditionnels Ils proposent le principe d encapsulation de classe d instance et de factorisation des propri t s des classes en graphe d h ritage Ces principes ont donn lieu au langage Simula 67 Le deuxi me promoteur de ce mode de programmation f t Alan Kay qui introduit l id e de communication par messages qui a donn lieu au langage Smallalk 1976 En 1992 l approche objet n tait qu exp rimentale dans beaucoup d entreprises Ce sont les applications client serveur qui ont permis la technologie objet de prendre place Plusieurs m thodes existent et dont l unification des
62. des paquets d informations gt les deux doivent tre pr sents pour que le process soit ex cut Le caract re signifie OU il exprime le fait que l un ou l autre des paquet est produit par le process Les unit s de stockage Fichier client _ nom descriptif I lecture du fichier chier li criture dans un fichier Fichier eli Les op rations sont d duites du sens des fl ches Les terminateurs Ils repr sentent une personne ou un p riph rique Les terminateurs sont nomm s Il n y a pas de m thodologies concernant les flots de donn es entrant ou sortant des terminateurs Exemple le calcul d une moyenne Etudiant examens examens corrig s m a j des r sultats listes resultats corriger examen Employ secr tariat Calculer moyenne 2 2 2 L outil textuel le dictionnaire de donn es Il est cr e et interpr t en m me temps que les diagrammes de flots de donn es Il regroupe la s mantique et la structure de toute donn e apparaissant dans les DFDs Il repr sente un document sur la totalit du syst me Les avantages du dictionnaire de donn es e Source de documentation et de r f rence e Am lioration de la communication entre les d veloppeurs e R utilisation dans d autres applications e Premier pas vers la cr ation d une base de donn es Les op rateurs utilis s pour d finir la composition d un l ment donn du dictionnaire de
63. donn es Symboles Signification est compos de S quence et avec max 7 R p tition suite de min min max s lection Optionnel j Cha ne litt rale X a commentaire Exemples Adresse postale est nom Adresse de rue Nom de ville Code postal Adresse postale nom adresse de rue nom de ville code postale Fichier tudiant est une suite d enregistrements d tudiants Fichier tudiant enregistrements d tudiants sou Transaction client est un retrait ou un d p t Transaction retrait d p t 2 2 3 Les outils graphiques et ou textuels L accent est surtout mis sur la sp cification des traitements ou process Les primitives fonctionnelles peuvent tre exprim es l aide de 5 types outils Les algorithmes abstraits Les arbres de d cision Les tables de d cision Les diagrammes de M Jackson Les diagrammes de N Schneidermann Les algorithmes abstraits L id e est de minimiser les ambigu t s du langage naturel C est un langage structur limit 3 types de structures savoir la structure s quentielle alternative et r p titive C est un pseudo code a la s quence ou traitement traitement1 traitement traitement3 b Les alternatives simples si lt condition gt vraie alors Traitement finsi Les alternatives compos es si lt condition gt vraie alors traitement1 sinon traitement2 finsi c Les structures r p
64. dossier de test b de l utilisateur anomalie ou erreur ou nouvelle fonctionnalit contexte de l erreur donn es du client Planification De modification Maintenance Maintenance adaptative corrective Impl mentation de Changement 4 L estimation du co t de la maintenance La majorit des erreurs en g nie logiciel ont pour origine la phase d finitions des besoins du cycle de vie d un logiciel 60 56 50 40 30 27 20 10 10 7 0 D finition des conception codage autres besoins La r partition du co t de maintenance en g nie logiciel 100 80 60 40 10 20 7 0 RE LL D finition des conception codage autres besoins Donc 82 du co t total de la maintenance revient aux erreurs dues des mauvaises sp cifications des besoins des utilisateurs Plus les erreurs de sp cifications sont d couvertes tardivement dans le processus de d veloppement et plus le co t de maintenance est lev Pr s de la moiti des erreurs ne sont d tect es qu apr s la phase des tests Les co ts de maintenance sont habituellement plus grands que les co ts de d veloppement Ils augmentent avec les maintenances successives la maintenance affecte la structure du logiciel ce qui rend les maintenances suivantes plus difficiles Justifications du co t lev de l activit de maintenance La stabilit de l quipe l quipe de d veloppement est affect e de nouveaux projets Par cons quent l quipe d
65. duire de nouveaux syst mes dans un environnement diff rent que celui pour lequel ils ont t initialement d velopper r utilisation Compr hensibilit modulaire possibilit de comprendre un module sans avoir conna tre les autres ou au pire apr s examen de quelques uns Continuit modulaire dans l architecture cr e un changement de sp cification du probl me ne d clenche de changement que dans un module ou un petit nombre de modules Protection modulaire l effet d une condition anormale se produisant dans un module donn sera confin dans ce module ou au pire ne se propagera qu quelques modules voisins La r utilisation Les b n fices attendus par la r utilisation sont Ponctualit r alisation plus rapide arriv e temps sur le march d lai de d veloppement est respect Effort de maintenance diminu r utiliser un composant logiciel est plus meilleur que de consacrer des efforts pour le maintenir volutions futures Fiabilit les composants logiciels sont bien test s et biens valid s Efficacit utilisation des meilleurs algorithmes et structures de donn es possibles dans le domaine sp cialis Investissement pr servation du savoir faire et des inventions des meilleurs d veloppeurs Compl ment2 La fiabilit du logiciel 1 Introduction La fiabilit correspond la probabilit d effectuer une op ration sans panne pendant une dur e fix e et pour un c
66. dules e Strat gie descendante Avantages Vue d ensemble du probl me et de ce qu on d sire r aliser Facilite la compr hension des probl mes et de leur d composition diviser pour r gner Inconv nients Les sous probl mes ont tendance tre analys s de fa on isol e Ne favorise pas la r utilisation Principe de g n ralisation et de masquage d information non mis profit e Strat gie ascendante Avantages Permet d identifier ce qu il y a de commun entre les modules et permet d appliquer le principe de masquage d information et de g n ralisation Favorise la r utilisation Inconv nients Pas de vue d ensemble Risque de consacrer beaucoup d efforts r aliser un module qui ne sera pas utilis e Strat gie mixte Un bon concepteur appliquera une strat gie mixte On commencera par une strat gie descendante pour identifier les sous syst mes cibles On r alisera ensuite la synth se des sous syst mes en termes de hi rarchie de modules r utilisables construits en appliquant les principes de g n ralisation et de masquage d information 6 Concevoir pour changer Un des principaux objectifs de l activit de conception d velopper un design qui facilite le changement Deux sources de vrais changements Changements perfectionnements du logiciel impos s par de nouveaux besoins des clients ou utilisateurs maintenance perfective Changeme
67. dules constitutifs Comment l ensemble fonctionne l estimation des ressources humaines et mat rielles une premi re version de l ch ancier de d veloppement Les concepteurs vont s appuyer sur les r sultats de l enqu te des demandeurs et utilisateurs ainsi que sur des techniques de planification recherche op rationnelle Et ceci va permettre d obtenir un cahier de charges d taill fonctionnalit s ressources planning La conception g n rale elle consiste en une description du logiciel c a d obtenir la fois une description du syst me d information en un ensemble de modules et structures de donn es et une description du r le de chaque module individuellement et aussi en interaction avec les autres La conception d taill e elle consiste obtenir une description d taill e des traitements des structures de donn es algorithmes La description doit faire appara tre de fa on pr cise les interfaces communication entre les diff rents modules La codification ou codage elle permet de traduire chaque algorithme en un ou plusieurs langages de programmation mais aussi la r daction de la documentation technique Les tests unitaires ils consistent v rifier le bon fonctionnement du programme et des diff rents modules le composant par l interm diaire de jeu d essai bien choisi au sein du domaine d application Les tests syst me ils correspondent la phase d int gration de
68. e P A Q P A QLQ gt Q affaiblissement de la post condition APost P A Q BALRR RHAH SEQ P A1 A2 Q SD P Si e alors A fsi Q 12 SINON P Sie alors A1 sinon A2 fsi Q e amp I A Q TANTQUE I Tantque e faire A fintque I amp not e En plus des premi res r gles Il y a autant de r gles que structures de composition des instructions dans le langage algorithmique La r gle SEQ d finit la s mantique de la composition s quentielle de deux instructions A1 et A2 Les r gles SI et SINON d finissent la s mantique de la conditionnelle dans es deux formes possibles avec et sans sinon La r gle TANTQUE d finit la s mantique de l it ration La r gle du Tantque est remarquable puisqu elle met en vidence le fait que chaque pas d it ration maintient l invariant I 1 invariant Tantque e faire l amp e A D Fintque I amp not e 8 2 1 1 Propri t s de la logique de HOARE Elle recouvre deux propri t s la correction si on d montre le th or me p A q alors l ex cution de Palgorithme A partir de n importe quelles donn es qui satisfait le pr dicat p aboutit aux r sultats qui satisfont le pr dicat q La compl tude si l algorithme A aboutit des r sultats qui satisfont le pr dicat q partir de n importe quelles donn es qui satisfont le pr dicat p alors il existe une preuve du th or me p A q Exemple1
69. e Le flot de donn e repr sent par un vecteur nomm reliant deux process sur lequel circule un ensemble de donn es de m me nature e L unit de stockage ou le r servoir repr sent par deux traits parall les et correspond une zone de rangement des donn es A ce niveau de repr sentation de donn es il n y a pas de cl s d acc s ni de m thodes de rangement ou de consultation des donn es e L entit externe ou le terminateur repr sent par un rectangle il indique la provenance la source ou la destination le puits des donn es trait es par le syst me Exemple un diagramme de flots de donn es ou DFD ne D stockage 1 Sortiel Entr e2 Mais un diagramme de contexte de donn es comprend qu un seul processus d finissant la fonction globale A ce niveau il n y a pas d unit de stockage Exemple un diagramme de contexte de donn es Entit Entit externe 1 externe 2 Entr e 1 Processus Sortiel Unique Remarques Chaque processus est identifi par un verbe et un n correspondant son niveau hi rarchique Tous les flots de donn es doivent tre nomm s L une des extr mit s est reli e au process l autre au process un terminateur une unit de stockage Deux flots de donn es ne peuvent pas avoir le m me nom Annotations proc durales d un DFD D1 D3 p LL D2 D4 Le caract re signifie ET il traduit la conjonction
70. e associ e en minuscule ou le nom du r le d association du cot de cette classe Quand c est possible il est pr f rable d utiliser le nom de r le de l association du c t de l objet auquel on d sire faire r f rence C est indispensable s il existe plusieurs associations entre l objet d sign par le contexte et l objet auquel on d sire acc der ou si l association emprunt e est r flexive Le type du r sultat d pend de la propri t structurelle emprunt e pour acc der l objet r f renc et plus pr cis ment de la multiplicit du c t de l objet r f renc et du type de l objet r f renc proprement dit Si on appelle X la classe de l objet r f renc dans le cas d une multiplicit de 0 1 e 1 le type du r sultat est X ex e ou0 n le type du r sultat est Set X ex Emprunter une seule propri t structurelle peut produire un r sultat du type Set Emprunter plusieurs propri t s structurelles peut produire un r sultat du type Bag ou Sequence Exemple dans le contexte de la classe Soci t context Soci t e directeur d signe le directeur de la soci t r sultat de type Personne e employ d signe l ensemble des employ s de la soci t r sultat de type Set Personne e employ compte d signe l ensemble des comptes de tous les employ s de la soci t r sultat de type Bag Compte e employ date_de_ naissance d signe l ens
71. e maintenance n cessite beaucoup d efforts pour comprendre le syst me et revenir sur les d cisions de conception La responsabilit contractuelle contrat de d veloppement n inclut pas la maintenance La comp tence de l quipe de maintenance l quipe est moins exp riment e et moins famili re au domaine d application La structure et l ge du programme le programme est vieux et sa structure tend se d grader par les changements gt plus dur comprendre et maintenir 5 Les lois de l volution des programmes Les lois de Lehman semblent tre applicables aux grands logiciels des grandes organisations Il n est pas clair comment les modifier pour les petites et moyennes entreprises ou les syst mes qui utilisent des composantes provenant d un autre fournisseur Les lois de Lehman cinq lois parmi les huits La loi du changement continuel un programme utilis dans un environnement du monde r el doit n cessairement changer sinon il deviendra progressivement inutile dans cet environnement La loi de la complexit croissante lorsqu un programme change sa structure tend devenir complexe n cessit de consacrer des ressources additionnelles de fa on maintenir et pr server sa structure La loi de l volution des grands programmes l volution des grands programmes est un processus auto r gulateur Les attributs taille temps entre versions sont approximativement constan
72. e pour imposer que deux personnes diff rentes ont un nom diff rent on peut crire 1 context Personne inv Personne allinstances gt forAl p1 p2 p1 lt gt p2 implies pl nom lt gt p2 n0m 12 6 Conclusion Ocl Est un langage non autonome il est toujours associ au langage UML Ocl permet de pr ciser davantage les mod les UML _ Ocl est un outil utilis dans l approche dite ing nierie dirig e par les mod les DM Les langages de programmation Le but de ce chapitre est de fournir aux tudiants des diff rents paradigmes de programmation Le chapitre est organis comme suit 1 Introduction 5 Le choix d un langage de programmation 2 L volution des langages de programmation 6 R le de l ing nieur en logiciel 3 Le style de programmation 7 Conclusion 4 Implantation des langages de programmation 1 Introduction e Les langages de programmation jouent un r le fondamental en informatique et tout syst me informatique doit tre r alis avec un ou plusieurs langages e La principale caract ristique des nouvelles approches de programmation est la facilit d expression et de compr hension par les humains e Les langages de programmation bien d finis syntaxiquement s mantiquement _ impl ment s efficacement et bien adapt s au domaine d application permettent le d veloppement des logiciels sur des bases raisonnables e Ilexiste un tr s grand nombre de langages de programmation g
73. elle est assimil e une variable logique pouvant prendre deux valeurs vraie et fausse b Transitions conditions et places traitements Ce type de mod lisation sert visualiser l ordre logique existant entre les traitements les transitions servent exprimer les liens de causalit entre les traitements traitement T1 traitement T2 O traitement T3 Lorsque T1 et T2 seront termin s T3 sera lanc c Les jetons repr senter un changement d tat un seul jeton dans une place suffit exprimer des quantit s autant de jetons qu il faut 9 2 9 Conclusion Les Rdps pr sentent peu d l ments de base et donc sont simples d emploi Ils sont utilis s dans diff rents domaines tels que les protocoles de communication les syst mes d information automatisme etc Cependant certaines limitations du mod le de base sont citer absence de la notion de temps absence de la politique de s lection de transitions franchissables gt Des extensions ont t propos es savoir les r seaux de Petri color s les r seaux de Petri temporis s etc 28 9 3 L approche objet 9 3 1 D veloppement non objet Deux principaux axes sont distinguer dans le d veloppent des syst mes a approche fonctionnelle pour certains probl mes une fonction principale est identifier et qui est affin e progressivement pour aboutir aux fonctions l mentaires selon une hi rarchie de d composition C est une m thode
74. emble des dates de naissance des employ s de la soci t r sultat de type Bag Date Navigation vers une classe association Pour naviguer vers une classe association il faut utiliser la notation point e classique en pr cisant le nom de la classe association en minuscule Par exemple Pour acc der au salaire de tous les employ s il faut crire context Soci t self poste salaire Cependant dans le cas o l association est r flexive c est le cas de la classe association Mariage il faut en plus pr ciser par quelle extr mit il faut emprunter l association Pour cela on pr cise le nom de r le de l une des extr mit s de l association entre crochets derri re le nom de la classe association Par exemple pour acc der la date de mariage de toutes les femmes 1l faut crire context Personne self mariage femme date Navigation depuis une classe association Il est tout fait possible de naviguer directement depuis une classe association vers une classe participante Exemple context Poste inv self employ age gt 21 Par d finition m me d une classe association naviguer depuis une classe association vers une classe participante produit toujours comme r sultat un objet unique Par exemple l expression self employ age de l exemple pr c dant produit bien un singleton Op rations sur les collections Introduction du gt et self Pour acc der aux propri t s attr
75. ent d finis par les valeurs des signaux d entr e Les syst mes s quentiels o les signaux de sorties sont d termin s par les signaux d entr e et les tats internes e Pour sp cifier un logiciel SA RT dispose d un ensemble d outils graphiques et ou textuels issus de SA extensions graphiques et ou textuels pour le temps r el 3 2 1 Les outils graphiques et textuels issus de la m thode SA e L outil graphique Le diagramme des flots de donn es DFD il repr sente l ensemble des traitements qui manipule l information et se compose de 4 l ments de base le processus de donn es repr sent par le flot de donn es repr sent en notation de Ward Mellor par qui repr sente les flots de donn es discr tes et qui v hiculent une donn e valide des instants pr cis qui repr sente les flots de donn es continus et qui v hiculent une donn e ee PE continuellement valide dans le temps Exemple Flot discret message Stocke message stockage seulement lorsque le message arrive de r ception en notation Pirbhai Hatley pas de distinction entre flot discret et flot continu a gt qui montre qu une donn e arrive des instants pr cis unit de stockage de donn es ou r servoir repr sent e par quelque soit l cole unit de stockage des v nements repr sent e par selon Pirbhai Hatley L unit externe ou le terminateur repr sent par
76. ert de propri t s attributs et m thodes de la classe m re vers ses sous classes Exemple employ secr taires ing nieurs informaticiens chimistes Le lien d h ritage peut tre parcouru dans les deux sens d o lien de g n ralisation sp cialisation Types d h ritage Il existe deux types d h ritage l h ritage simple lorsqu une classe donn e ne peut h riter que d une seule superclasse la fois h ritage multiple lorsqu une classe peut h riter de plusieurs classes la fois 31 R solution de conflits Les conflits de noms n existent que dans le cas de l h ritage multiple Dans le cas de l h ritage simple il n y a pas de conflit Le graphe d h ritage est un arbre Le m canisme d h ritage consiste rechercher dans la hi rarchie du plus sp cialis au plus g n ral le premier ascendant poss dant la propri t d sir e Dans le cas d un h ritage multiple un objet peut avoir plusieurs anc tres Le parcours de l arbre n est pas naturel Exemple Si l objet A h rite de B et C alors d finir une priorit en cas de conflit entre B et C pour une propri t donn e mentionner de fa on explicite le nom de la superclasse consid rer en cas de conflit personne Etudiant Nb heure nb heure nbre d heure de cours nb heure nbre d heures de cours qu il enseigne qu il suit Enseignant Nb heure La classe ass
77. es D crivent l tat ou l environnement ne subissant aucune modification en cours d ex cution Sont initialis es une et une seule fois Sont accessibles en lecture uniquement e Donn es dynamiques D crivent un tat modifi en cours d ex cution Sont accessible en lecture et en criture 8 2 Les modules de traitement e G rent un ou plusieurs processus effectuant une partie des traitements sp cifi s ainsi que les t ches activ es sur ces processus 8 3 Les modules fonctionnels e Regroupent les composants r alisant une m me famille de fonctionnalit auxquelles sont associ s des processus et des t ches 8 4 Les modules de communication e Repr sentent une interface de communication entre les modules de traitements e Prennent en consid ration les communications internes et externes 8 5 Les modules couche e Concernent les logiciels construits autour d une architecture en couches e Peuvent tre constitu s de modules de donn es de modules de communication et de modules fonctionnels 9 Autres heuristiques de la composition et d composition modulaire 9 1 L initialisation et la fin de traitement Ces modules doivent se situer dans la hi rarchie aussi proches que possible des fonctions qu ils initialisent ou qu ils cl turent 9 2 L entrance Fan in e Repr sente le nombre de modules qui l appellent Exemple Fan in 4 9 3 La sortance Fan out e
78. es de tests et la preuve d un programme Le chapitre est organis comme suit 5 Classification des tests Introduction 6 Les techniques de tests D finition 7 Les tests d int gration 1 2 3 Caract risation du test 8 Les techniques formelles 4 Le co t du test 9 Conclusion 1 Introduction But du test arriver un produit 0 d faut G n ralement 40 du budget global est consacr l effort de test D apr s la terminologie de l IEEE norme 729 la faute est l origine de Perreur qui se manifeste par des anomalies dans le logiciel qui peuvent causer des pannes Fautes gt erreur gt anomalies gt panne La faute est la cause de l erreur L erreur cart entre une valeur ou une condition calcul e observ e ou mesur e et la valeur ou la condition qui est vraie sp cifi e ou th oriquement correcte L anomalie ou d faut la manifestation de l erreur dans le logiciel Un d faut peut causer une panne La panne la fin des capacit s d un syst me ou d un de ses composants d effectuer la fonction requise ou de l effectuer l int rieur des limites sp cifi es Pour garantir la qualit il est n cessaire d effectuer les activit s de validation et de v rification La validation a pour fonction la mise en vidence des d fauts Valider c est r pondre la question faisons nous le bon produit La v rification a pour fonction la mise en vidence des erreurs V rifier c est r p
79. est un probl me ind cidable gt pas de solution g n rale c L valuation symbolique Construction des expressions symboliques reliant les donn es d entr e celles de sorties ainsi que les conditions pour suivre un certain chemin lors de l ex cution Exemple Read X Y X 1 If Y lt 0 then Z Y X else Lisy Comme expression symbolique associ e Z X0 1 XO si X0 1 lt 0 X0 1 si X0 1 gt 0 Deux probl mes peuvent tre soulev s Probl me 1 pos taille des expressions manipul es simplification facilite la mise en _oeuvre de ces m thodes Probl me 2 pos programme avec une infinit de chemins boucles r sultats avec un nombre donn d it rations sinon utilisation d un invariant de boucle cas de preuve de programme 6 1 4 Avantages et inconv nients des m thodes de tests statiques Avantages M thodes efficaces et peu co teuses 60 95 des erreurs sont d tect es lors des contr les statiques gt Les m thodes de tests statiques sont n cessaires Inconv nients M thodes ne permettant pas de valider le comportement d un programme au cours de son ex cution Lors de la modification d un programme il est difficile de r utiliser les tests pr c dents pour valider la nouvelle version gt Les m thodes de tests statiques sont insuffisantes 6 2 Les m thodes de tests dynamiques Ils reposent sur l ex cution du logiciel La d marche est la suiva
80. et attributs valeur de chaque attribut classe d objets contraintes sur l objet contraintes sur les attributs de l objet F Description des fonctions identifie et d crit chaque fonction chaque objet F 1 D finition des fonctions _identification nom de la fonction son r le sa pr sentation g n rale _ description Il traitement associ la fonction et ses interfaces contraintes op rationnelles sur chaque fonction I F2 Conditions particuli res de fonctionnement dispositions prises dans les conditions particuli res de fonctionnement F 2 1 performances sp cifications temps r el li es l utilisation du syst me termes mesurables du point de vue utilisateur temps de r ponse souhait fr quence d utilisation du point de vue de l environnement fr quence moyenne d acquisition d tats ou de mesures F 2 2 capacit s limites des probl mes trait s par le logiciel et les limites des extensions possibles F 2 3 mode de fonctionnement mode d exploitation du syst me la mise sous tension l arr t la reprise de secours F2 4 contr labilit possibilit de suivre l ex cution d un traitement Exemple Pour une base de donn es conna tre la suite d une modification les donn es avant et apr s la modification F 2 5 s curit niveau de confidentialit du syst me utilisation des mots de passe F 2 6 int grit protection contre la perte d information F 2 7 conformit aux standards
81. finition des services attendus par l utilisateur Analyse des fonctions et de leurs contraintes Importante collaboration de l utilisateur Utilisation des mod les m thodes et de techniques statiques ou dynamiques D finir les limites ce que le logiciel doit effectivement r aliser Pas de solutions techniques ce niveau compl tement d tach des probl mes d impl mentation _ Envisager des volutions pr voir certaines volutions du logiciel La sp cification fonctionnelle d un logiciel Le but de ce chapitre est de fournir aux tudiants des m thodes de sp cification des logiciels en prenant en consid ration l aspect statique et dynamique Le chapitre est organis comme suit Introduction 2 La sp cification statique du logiciel l analyse structur e 3 La sp cification dynamique du logiciel l analyse structur e temps r el pi Introduction Sp cifier c est dire quoi mais pas comment Passage de l expression des besoins la conception Une tape du cycle de vie d un logiciel syst me la plus cr atrice et subjective Une tape o deux aspects sont consid rer statique et dynamique Les documents de sp cifications des logiciels d finitions abstraites des logiciels destin s aux d veloppeurs 2 La sp cification statique du logiciel __ L analyse structur e S A Structured Analysis 2 1 Pr sentation g n rale de la m thode S A e S A est d finie pa
82. gements R utilisation de librairies de code D tection automatique d erreurs Tout cela contribue augmenter la productivit des programmeurs D autre part un langage qui en 1960 tait de haut niveau peut para tre aujourd hui de bas niveau donc tout est relatif 3 Le style de programmation Le style de programmation repr sente la fa on d exprimer le calcul Exemple Le calcul de n Style imp ratif Style fonctionnel ht I f Int f Int N f 1 22 if N 0 While I lt N return 1 else f f I return N f N 1 I 1 1 3 1 La programmation imperative Le calcul est une s quence d actions L action de base est l affectation modification de la valeur associ e une variable du programme C est le type de langage le plus utilis Les langages bas s sur ce principe sont nombreux tels que l Assembleur le Fortran l Algol le Pascal La majorit des langages de programmation utilis s en g nie logiciel sont de ce type existence du savoir faire existence des outils de commandes efficacit d ex cution introduction la modularit Ce sont des langages compil s 3 2 La programmation applicative et la programmation fonctionnelle Dans la programmation applicative l action de base est le calcul d une expression plus pr cis ment le calcul du r sultat d une fonction pour des valeurs de ses arguments le premier langage est Lisp dont sont issues plusieurs varian
83. ges de contr le ou d v nements Les flots de contr le ou signaux Les v nements repr sent s par une occurrence dans le temps Les signaux ne v hiculent pas de contenu pour Ward Mellor contrairement Hatley Pirbha les donn es discr tes propagent une valeur uniquement valide des instants pr cis et disparaissent d s que les donn es ont t consomm es Elles sont repr sent es par selon Ward Mellor Re selon Hatley Pirbhai Denise selon les deux coles et ils expriment Les flots de contr le prompts Uniquement formalis s par Ward Mellor et repr sent s par l une des mentions suivantes E Enable flots de contr le d activation D Disable flots de contr le de d sactivation T Trigger flots de d clenchement Ils sont g n r s par les process de contr le et sont connect s aux process de donn es qu ils activent d sactivent ou d clenchent et portent Les process de contr le Ce sont des l ments fondamentaux de la m thode SA RT et ils sont repr sent s par selon Ward Mellor selon Pirbhai Hatley Les stockages des flots de contr le ou stockage des flots d v nements Ils sont propos s uniquement par Pirbhai Hatley et Ils m morisent le nombre d occurrence de flots de contr le ou d v nements Ils sont repr sent s par Exemple air dans la cuve pression r elle t r elle reconna t la contr le
84. gration est r dig pendant la phase de conception globale cycle de vie en V Il pr voit comment les modules une fois v rifi s sont int gr s les uns aux autres Diff rentes strat gies d int gration sont possibles dont 7 1 Int gration globale bing bang adapt e aux petites applications modules peu d pendants 7 2 Int gration au fur et mesure Les modules sont int gr s d s qu ils sont disponibles Impossible de conna tre l avance les bouchons et les lanceurs Les bouchons modules simulant les modules appel s depuis ceux en cours d int gration et les lanceurs modules simulant les modules appelant ceux en cours d int gration 7 3 Int gration progressive _incr mentale int gration des modules selon un ordre pr sp cifi chaque tape ajoute un incr ment au r sultat de la pr c dente 7 3 1 Types d int gration progressive possibles a Int gration ascendante les composants situ s au plus bas sont int gr s en premier disponibilit imm diate des entr es sorties b Int gration descendante les composants situ s au plus haut sont int gr s en premier Le squelette du programme valid t t c Int gration guid e par les risques int grer d abord les modules ou sous syst mes pr sentant les risques lev s en termes de co ts de ressources humaines etc 8 les techniques formelles 11 elles permettent de prouver formellement la correction d un programme
85. ibuts terminaisons d associations op rations d un objet OCL utilise la notation point e lt objet gt lt propri t gt Cependant de nombreuses expressions ne produisent pas comme r sultat un objet mais une collection Le langage OCL propose plusieurs op rations de base sur les collections Pour acc der ce type d op ration il faut utiliser non pas un point mais une fl che lt collection gt gt lt op ration gt D permet d acc der une propri t attributs terminaisons d associations op rations d un objet gt permet d acc der une propri t d une collection L objet d sign par le contexte est galement accessible par l expression self self n est pas uniquement utilis pour d signer le contexte d une contrainte dans une expression mais galement pour d signer le contexte d une sous expression dans le texte en langage naturel Ainsi lorsque l on utilise self pour une op ration lt op ration gt c est pour d signer l objet comme une collection par exemple sur lequel porte l op ration Cette objet peut tre le r sultat d une op ration interm diaire comme l valuation de l expression lt expression gt pr c dant l op ration lt op ration gt dans l expression compl te lt expression gt lt op ration gt Op rations de base sur les collections Nous d crivons ici quelques op rations de base sur les collections que propose le langage OCL size Integer reto
86. ide de cette exp rience l quipe de r alisation peut compl ter les documents de sp cification du syst me logiciel et parvient un produit correctement sp cifi 17 b2 Pendant la phase de conception pr liminaire La construction d une maquette provisoire permet de valider les propri t s d une architecture particuli re b3 Pendant la phase de conception d taill e Elle permet de v rifier la suffisance des algorithmes Remarque Une maquette doit tre rapide et provisoire Rapide gt r sultats imm diats Provisoire gt pas de justification sur la qualit d un produit jetable pas de conception pas de plan de test codage dans un langage le plus simple possible Comment laborer une maquette pour une sp cification Voici un sc nario possible crire les documents C CH F1 et DSLI impl menter une maquette conforme aux exigences pr senter la maquette de la future application un utilisateur potentiel r crire les documents C CH F2 et DSL2 en fonction des remarques des utilisateurs d velopper le produit Pour les prototypes volutifs leur construction n est ni provisoire ni rapide Ils voluent vers un produit final d o la n cessit d int grer les facteurs de qualit du produit final Pour assurer la qualit la maintenabilit et la faisabilit d un produit logiciel il faut respecter le cycle de vie en V D o cr ation de tout document n cessaire ainsi que la pr sence
87. ilit est la facilit avec laquelle un logiciel peut tre corrig en cas d erreurs il peut tre agrandi modifi pour satisfaire de nouveaux besoins 2 Les types de maintenance La maintenance regroupe des activit s diff rentes qui sont regroup es en 4 cat gories La maintenance perfective Elle consiste am liorer le fonctionnement du logiciel sans changer les missions sp cifi es du logiciel La maintenance adaptative Activit de maintenance qui consiste modifier un logiciel afin de l adapter aux changements dans les sp cifications des donn es ou aux volutions de l environnement La maintenance corrective Activit de maintenance qui consiste corriger les d fauts r siduels des logiciels erreurs de programmation d fauts de sp cification La maintenance pr ventive consiste effectuer une pr maintenance dans le but de pr venir certains probl mes Distribution de l effort 18 65 17 Maintenance corrective 17 Maintenance adaptative 18 Maintenance perfective 65 3 Le processus de maintenance Le processus de maintenance peut tre sch matis de la fa on suivante Changement Analyse demand D impact Maintenance perfective Edition d une nouvelle version 3 1 Informations n cessaires pour la maintenance a de l quipe de d veloppement sielle yest encore analyse sp cifications fonctionnelles listing de sources algorithmes et r f rences
88. is T R A IT R A PEPEPEPE A 4 8 2 14 5 3 4 2 Suivi du projet On regroupe les informations globales sur le projet qui servent de base un point d avancement p riodique L int r t porte sur les t ches m me celles qui n ont pas encore commenc T che Mois n 1 Mois n Evolution Total Evolution avancement de charge temps globale pass T R AJT R A Compl ment 1 La complexit dans la conception des syst mes complexes La complexit du logiciel d coule de la complexit du probl me La complexit de gestion du processus de conception du logiciel par une quipe d ing nieurs La flexibilit offerte par le logiciel La difficult de d crire les syst mes discrets Cette difficult se traduit par des projets qui se terminent en retard d passent le budget pr vu ne respectent pas les exigences du client Les caract ristiques des syst mes complexes Ils adoptent une structure hi rarchique Le choix des composants de base de ces syst mes est souvent arbitraire Les liens intra composants sont plus forts que les liens inter composants Ils sont compos s d un nombre restreint de sous syst mes arrang s de diverses mani res Ils d coulent de syst mes plus simples dont ils sont une volution Les syst mes complexes peuvent se d compos s en syst mes plus simples Il existe deux principales approches
89. iser le syst me existant et effectuer des changements n cessaires d o l augmentation in vitable des co ts Ou bien Faut il remplacer le syst me existant par un nouveau ce qui n cessite un budget important et le nouveau syst me n est pas aussi meilleur que l ancien D o les avantages de la r ing nierie La maintenance d un syst me existant est plus conomique que le d veloppement d un nouveau logiciel R duction des risques gt fort risque li au d veloppement d un syst me compl tement nouveau sp cifications inad quates nouveau personnel R duction des co ts co t de la r ing nierie est souvent plus faible que le co t de d veloppement d un nouveau logiciel 6 1 Cat gorie de r ing nierie 1 R ing nierie du code le cas le plus fr quent en r ing nierie Structuration du code pas de modification de l architecture du syst me pas de modification des fonctionnalit s des modules restructuration du code et ou des donn es de chaque module gt plus facile maintenir Translation du code conversion d un langage de programmation un autre sans autre modification langage p rim 2 R ing nierie des donn es migration des fichiers de donn es vers une base de donn es mod le de donn es parfois incompr hensible extension des repr sentations ex le bug de l an 2000 pour modifier la repr sentation des dates 3 R ing nierie des fonctions R organisa
90. istant h rite de toutes les propri t s de la classe enseignant et de la classe tudiant Le nombre d heures nb heure de l assistant X d pend de la classe qu il h rite D o la n cessit de pr ciser l attribut que l on h rite en priorit 9 3 7 Relation entre les objets Trois types de relations avec des s mantiques diff rentes la g n ralisation l agr gation et l association G n ralisation sp cialisation la g n ralisation est une relation inverse de la sp cialisation relation entre classe et sous classes Composition agr gation L agr gation permet de construire des objets complexes partir d autres objets appel s objets composants relation compos composants L association m canisme regroupant des objets qui ne sont pas reli s par une relation de g n ralisation sp cialisation ou une relation de composition agr gation C est une association des objets du monde r el reli s par une activit 32 9 3 8 Conclusion Int r t des objets Ma trise de la complexit L encapsulation permet de se concentrer sur un objet et un seul ou sur une classe et une seule Il possible de tester un objet de fa on presque totale Evolution facilit e rajouter de nouveaux objets est simplifi gt on raccroche aux mod les d j construits par g n ralisation sp cialisation R utilisation tr s possible cause de la relation de sp cialisation
91. l peu de fiabilit du logiciel difficult de livrer des logiciels satisfaisant un cahier de charges dans les d lais pr vus Le g nie logiciel s int resse aux diff rentes th ories aux m thodologies techniques m thodes aux outils A l organisation g n rale A la gestion de projets Constat les logiciels deviennent de plus en plus importants en taille et en complexit Les co ts des logiciels connaissent une tr s forte croissance d passant le co t du mat riel La fiabilit est plus importante qu efficacit Les co ts de maintenance d passent ceux du d veloppement Bilan Etude sur 487 sites de toutes sortes de d veloppement de logiciels 70 du co t du logiciel est consacr la maintenance Co t de logiciel co t de d veloppement co t de maintenance 42 des modifications sont dues des demandes des utilisateurs 30 des exigences de sp cification changent entre la premi re dition d un document et la premi re sortie du produit 17 des changements de format des donn es 12 probl mes d urgence r solus la h te 9 d bogages de programmes 6 des changements de mat riels 6 probl mes de documents 4 am lioration de l efficacit 3 autres Certaines organisations de production de logiciel consacrent la quasi totalit de leurs efforts la maintenance des produits livr s Le g nie logiciel se propose d aider organiser des projets planifica
92. ment doit il tre utilis facilement Comment il doit tre prot g contre les attaques Comment il doit tre maintenu ou mis jour facilement Caract ristiques des besoins Corrects Clairs sans ambigu t s Coh rents Complets R alistes V rifiables Tra ables 4 Processus d analyse des besoins e Expression des besoins Participants analyste client et utilisateurs Document cahier de charges r dig par le client en collaboration avec l analyste en langage naturel e Sp cification de besoin participant analyste document dossier d analyse et de sp cification r dig par l analyste en utilisant une notation graphique mod les Expression des besoins D termination des besoins M thodes traditionnelles Entrevues avec le client et les experts du domaine Questionnaires Observation Etude des documents et des syst mes existants M thodes actuelles Prototypage prototype jetable ou volutif Cas utilisation description des sc nario d utilisation du logiciel a Identification des services cas d utilisation offert par le syst me b Identification des acteurs participant chacun des cas d utilisation c Description d taill e des sc narios d ex cution de chaque cas d utilisation 4 1 2 Validation et n gociation Les besoins r pondent ils aux exigences du client Il faut r viser la liste des besoins en v rifia
93. mmes Pour Explication Seulement appel s PES liste hi rarchique sch ma de la hi rarchie du syst me analys glossaire conditions d activation 6 2 6 1 L actigramme Dans un actigramme chaque activit est identifi e par un verbe a L activit cr e g n re une donn e en sortie transforme modifie change l tat d une donn e d entr e en donn e de sortie b Les donn es d entr e donn es qui sont transform es modifi es ou sollicit es par l activit c Les donn es de contr le ce sont des donn es qui contr lent comment la transformation doit s effectuer donn es qui ne sont pas modifi es donn es qui pr sentent une contrainte sur la fa on dont l activit sollicite l entr e Les donn es de contr le permettent de d clencher l activit ou peuvent simplement tre utilis es comme param tres contr lant la transformation de la donn e d entr e en donn e de sortie d Les donn es de sortie donn es cr es ou g n r es par l activit e Les m canismes indiquent quelles ressources humaines ou mat rielles seront utilis es pour effectuer l activit C est le comment est r alis l activit ou le qui r alise l activit s de contr le donn es de sortie Donn donn es d entr e activit m canisme ou support de l activit Exemples Ordre d impression papier imprimer liste imprim e liste de donn es programme d impression horaires
94. mpl mentation par une personne ou un groupe de personnes afin de d celer des d fauts des violations de normes de d veloppement ou d autres probl mes Elle s effectue en trois tapes pr paration recherche des d fauts cycle de r unions suivi v rification des corrections ou nouvelle inspection 6 1 2 Walkthrough L quipe charg e de la revue du code va en plus de la revue simuler son ex cution sur un jeu de test construit et d crit dans des documents standardis s 6 1 3 La recherche d anomalies Exemple Typage impropre incoh rence entre les interfaces des modules d claration des arguments jamais utilis s une expression ayant une valeur clairement constante Les outils utilis s sont les suivants Le graphe de contr le Le flot ou lot de donn es L valuation symbolique a Le graphe de contr le Identifier les blocs d instructions indivisibles maximaux Chaque bloc n a qu un seul point d entr e son d but Les sommets du graphe de contr le sont les blocs d j d finis et les conditions qui apparaissent dans les instructions conditionnelles ou les boucles Les arcs qui les relient correspondent aux transferts de contr les possibles entre ces sommets Si un bloc est constitu par if then else gt 3 sommets et 2 arcs Si pr sence d une boucle un circuit Exemple Le graphe de contr le est le suivant 1 Open fichier Read X Fichierl Read Y fichierl
95. mplel prototype rapide L it ration porte sur expression des besoins sp cification et prototypage On passe la conception globale quand les besoins et les sp cifications ont t valid s 6 4 3 Autres cycles de vie e Le mod le du code and fix Apr s une br ve compr hension de l objectif l application est d velopp e Plusieurs cycles de mise au point parfois avec Putilisateur du futur syst me permettent d atteindre le r sultat vis Compr hension du probl me Si e Le mod le da la transformation automatique Il est bas sur la possibilit de transformer automatiquement les sp cifications en programmes Une succession de cycles de sp cification validation s ach ve par la g n ration de code sp cification transformation Le choix d un mod le d pend de certains facteurs savoir Le type de projet l quipe charg e de sa r alisation nature du projet logiciel sur mesure produit grand public les contraintes du client 7 Les ateliers de g nie logiciel La mise en place d une organisation industrielle de production et de maintenance de logiciels doit tre support e par des AGL Atelier de G nie Logiciel ou atelier CASE Computer Aided Software Engineering Un AGL regroupe les m thodes reconnues SADT SA RT etc Les proc dures de d veloppement normalis es DoD2165 etc Les g n rateurs de codes PASCAL C ADA etc Les outils de g nie l
96. n document de sp cification de conception de code de plan d int gration etc afin d am liorer sa qualit Elle est effectu e par une quipe ind pendante du projet et comprenant le client ventuellement L inspection donne lieu la r daction de fiches de d fauts pr cisant le degr de gravit et la d finition des responsabilit s concernant la correction des d fauts Les inspections sont effectu es la suite des d cisions prises en revue Une revue est une r union permettant de valider une des phases du cycle de vie Parmi ces revues on cite Les revues techniques qui permettent de fournir au marketing et l unit de d veloppement une valuation des aspects techniques du projet et des co ts de r alisation Plus une erreur est d couverte tard dans le cycle de vie plus la r paration est co teuse 6 3 Les tapes du cycle de vie L tude pr alable elle consiste laborer une version de base du cahier de charges qui doit inclure la d cision de faisabilit le plan g n ral du projet une estimation approch e du co t et des d lais de r alisation Les concepteurs doivent effectuer une enqu te pr cise au niveau des demandeurs de l application les clients et des utilisateurs souvent le personnel des clients et une tude pr cise du syst me d information La sp cification elle a pour but la description du mod le fonctionnel du syst me d information quels sont les mo
97. nous servira de support aux diff rents exemples de contraintes directeur Personne nom String fe pr nom String mari Boolean ch meur Boolean genre Genre s date de naissance Date s E salaire Real lt lt enumeration gt gt Genre solde Real getSolde Real cr diter somme Real d biter somme Real Diagramme de classes mod lisant une entreprise et des personnes Ce diagramme introduit un nouveau type de classeur st r otyp enumeration permettant de d finir une num ration Une num ration est un type de donn UML poss dant un nom et utilis pour num rer un ensemble de litt raux correspondant toutes les valeurs possibles que peut prendre une expression de ce type Contexte Une contrainte est toujours associ e un l ment de mod le C est cet l ment qui constitue le contexte de la contrainte Il existe deux mani res pour sp cifier le contexte d une contrainte OCL e Fn crivant la contrainte entre accolades dans une note L l ment point par la note est alors le contexte de la contrainte e Fn utilisant le mot clef context dans un document accompagnant le diagramme Syntaxe context lt l ment gt lt l ment gt peut tre une classe une op ration etc Exemple Le contexte est la classe Compte context Compte Invariants inv Un invariant exprime une contrainte pr dicative sur un objet ou un groupe d
98. ns de l entreprise et des caract ristiques du logiciel La documentation est souvent n glig e bien qu elle repr sente un composant tr s n cessaire du cycle de vie du logiciel Compl ment 4 Gestion de projet 1 d finitions Qu est ce qu un projet C est un objectif qu on cherche atteindre dans un futur proche Du point de vue scientifique c est l image d un futur qu on esp re atteindre Du point de vue g nie logiciel c est le triangle contraint Objectif Moyen d lai Qu est ce que la gestion d un projet Elle a pour but de le mener son terme en tenant compte des contraintes qui lient chacun des aspects du triangle projet Gestion des productions Gestion des ressources Gestion de d lai 1 1 Types de gestion e Gestion de d lai elle consiste d terminer un parcours qu on va suivre un calendrier de r alisation e Gestion de ressources le moyen constitu du budget du projet est transformer en travail mat riels d placements locaux etc e Gestion des productions l objectif d un projet consiste proc der une ou plusieurs livraisons durant le d lai Ce qui est produit doit se rapprocher du but final 2 l estimation de la charge 2 1 D finition La charge est la quantit de travail qu une personne peut r aliser L unit est hommes mois hommes jours hommes ann es La taille d un projet se mesure sa charge selon la norme ISO Charge lt 6h m tr s
99. nt connu ou inconnu interruption envoi de message Il peut tre charg e d information C est le d clencheur d une transition transition tat de d part tat d arriv e e Ces diagrammes permettent aussi la d composition d tats en sous tats On parle d tat composite Etat Etat21 118 Les diagrammes d activit e _ Repr sentent un cas particulier des diagrammes tat transition dans lequel chaque tat correspond une activit constituant un l ment d une t che globale r aliser Permettent de d crire les fonctionnalit s et compl tent les cas d utilisation au niveau de l analyse des besoins d but gt Activit l ansition automatique conditionnelle Activit 3 Activit 4 barre de synchronisation Activit 6 fin activit s parall les Activit s 11 9 Autres diagrammes 11 9 1 Le diagramme des composants e Sert d crire les composantes logicielles et leur interd pendance Les composants sont des codes source ex cutables des fichiers des tables etc Une composante est repr sent e par un grand rectangle avec deux petits rectangles plac s gauche du grand rectangle CD nom CL e Les d pendances entre les composantes sont illustr es par une ligne pointill e termin e par une fl che simple allant de la composante d pendante vers l autre composante e Une d pendance signifie qu une composante a besoin d une autre composante pour que s
100. nt les liens entre les diff rents modules Utilisent g n ralement des mod les outils de type DFD Les m thodes fonctionnelles les plus connues sont SADT SA RT SA SD e propose une d marche distinguant les tapes du d veloppement dans le cycle de vie du logiciel et exploitant les principes fondamentaux modularit abstraction r duction de complexit e propose des formalismes langages et des types de documents mod les qui facilitent la communication l organisation et la v rification Il existe plusieurs m thodes Les m thodes fonctionnelles 1 g n ration SADT SA SD Application du principe diviser pour r gner Les m thodes syst miques 2 g n ration MERISE S paration donn es traitements niveaux conceptuels organisationnels physiques Les m thodes objets 3 g n ration OMT OOA OOD HOOD OOSE fusion UML Au d but des ann es 90 plusieurs m thodes objets existaient environ 50 ayant en commun la notion d objets de classes etc Chacune avait sa propre notation ses points forts et faibles son orientation vers un domaine d application L id e d une certaine unification des m thodes objets est n e C tait la d finition d un langage commun unique utilisable par toutes les m thodes dans toutes les tapes du cycle de vie et compatible avec les techniques de r alisation actuelles 11 2 U M L Ce langage commun s appelle U M
101. nt s ils sont complets clairs etc Ensuite il faut les classer selon leur priorit et valuer les risques associ s chacun Eliminer les besoins irr alistes ou non pertinents Bien d limiter les fronti res du syst me construire le diagramme de contexte et les entit s externes les entr es les sorties puis identifier les besoins qui ne r pondent pas aux objectifs du syst me Evaluer les risques associ s aux besoins et valuer leur priorit Quels sont les besoins qui peuvent causer des probl mes pendant le d veloppement Quelle est la priorit attribu e chaque besoin essentiel utile difficile etc 4 1 3 Gestion des besoins Identification et classification des besoins dans un cahier de charges _identificateur unique num rotation s quentielle 4 1 4 Hi rarchisation des besoins un besoin peut se composer en un ou plusieurs sous besoins plus sp cifique Gestion des modifications et tra abilit Lorsqu une exigence est chang e comment retracer facilement les documents mod les et les morceaux de code modifier utilisation d un outil de gestion de configuration Cahier des charges Un cahier de charges a pour but d tablir une description globale des besoins d un nouveau produit ou des extensions d un produit existant partir de la sp cification des objectifs Il est g n ralement exprim en langue naturelle d o des probl mes d ambigu t et de consistance se
102. nte s lection d un jeu de test Comment concevoir les jeux de test ex cution du jeu de test d cider du succ s ou de l chec du jeu de test Comment d cider du succ s ou de l chec du jeu de test Comment concevoir les jeux de tests 6 2 1 Test structurel ou boite blanche La s lection des jeux de tests repose sur la description de la structure du logiciel tester La description utilise le graphe de contr le et le flot de donn es Tous les chemins reliant le point d entr e au point de sortie sont consid r s La s lection de donn es d entr e permet de d clencher l ex cution de certains de ces chemins Pourquoi se baser sur la structure du programme pour le tester Les erreurs ont tendance se concentrer dans des chemins des instructions des conditions qui sont hors de l ex cution normale Un chemin particulier a peu de chance d tre ex cut alors qu il l est tr s souvent Les crit res de s lection sont a Couverture de toutes les instructions o chaque bloc s quentiel d instructions doit tre atteint par au moins un chemin parmi les chemins parcourus Exemple 1 Read x Read 2 While not x y do 3 Ifx gt y then 4 X x y Else 5 Y y x 6 Pgdc x Le jeu de test est le suivant X 3 y 3 X 4 y 3 X 3 y 4 b Couverture de tous les arcs Exemple Dans le cas de l exemple pr c dent le jeu de test choisi pr c demment parc
103. ntr e contient un nombre de jetons gal ou sup rieur celui du poids affect la fl che reliant la place la transition P est une place d entr e et M p gt W p Il suffit d une seule place ne satisfaisant pas cette situation pour emp cher le franchissement Exemple Quelles sont les transitions franchissables t2 t3 P1 P2 P T1 t2 P4 P5 T t4 P6 P7 Une transition sans place d entr e est toujours franchissable Franchissement d une transition Une transition franchissable peut tre franchie ou tir e lorsqu on franchit ou on tire une transition t Pour chaque place d entr e pi un nombre de jeton gal au poids indiqu sur la fl che de p t est retir Il y a consommation de jetons par la transition Pour chaque place de sortie pj un nombre de jetons gal au poids indiqu sur la fl che de t pj est rajout Il y a production de jetons par la transition La conservation du nombre global de jetons n y est pas Il peut y avoir 10 jetons consomm s et 1 seul produit 1 jeton consomm et 4 produits etc 22 P1 2 T1 24 2 gt 12 p4 p5 t3 t4 p6 p7 Soient les fonctions Pr et post d finissant les pr et post conditions du franchissement des transitions Pr p t w p t sip est une place d entr e 0 sinon post p t w t p sip est une place de sortie 0 sinon uelque soit p P M p M p pr p t post p t Exemple Pour le franchissement de t
104. nts adaptations impos s par la modification de l environnement mat riel social maintenance adaptative 6 1 types de changements e Changement d algorithmes am liorer l efficacit pour mieux r pondre aux contraintes de s curit r duire l espace m moire Exemple Tri par bulle gt tri rapide e Changement de repr sentation de donn es am liorer l efficacit r duire l espace utilis offrir plus de flexibilit Exemple Tableau liste cha n e e Changement au niveau de la machine abstraite sous jacente Machine abstraite logiciel install sur un ordinateur permettant de simuler le fonctionnement d un dispositif mat riel qui ne pourrait pas fonctionner avec cet ordinateur EX Programme SQL Ordinateur avec proceseur X Processeur Pentium C est un changement apport l environnement d ex cution pas au syst me d velopp pour r duire l espace m moire optimiser les calculs gt adaptation n cessaire par exemple reformater la BD pour satisfaire les nouvelles contraintes de stockage des donn es par le SGBD e Changement au niveau des p riph riques Ces des changements apport s aux p riph riques pour les rendre plus autonomes plus intelligents gt adaptation n cessaire pour s accommoder de ces modifications aux p riph riques 7 Qualit s d un bon design Un bon design devrait favoriser l ind pendance des modules Pour l valuer on se base sur les concepts
105. ogiciel tels que mod le d estimation de co t 7 1 Principaux objectifs des A G L Augmenter la productivit d une quipe de d veloppement Am liorer la qualit des produits logiciels maintenabilit fiabilit etc Aider l quipe appliquer les diff rentes normes proc dures dans le processus de d veloppement Soulager l quipe des t ches r p titives v rification de coh rence lors des phases de sp cification et de conception de logiciel 7 2 Les diff rents types d A G L On distingue deux types d A G L selon la nature des outils int gr s e Les environnements de conception upper case Ces ateliers s int ressent plus particuli rement aux phases d analyse et de conception du processus logiciel Ils int grent des outils pour l dition des diagrammes des dictionnaires de donn es etc Ils sont bas s sur une m thode d analyse et de conception MERISE e Les environnements de d veloppement lower case Ils s int ressent plus particuli rement aux phases d impl mentation et de test du processus logiciel Ils int grent des g n rateurs d interface homme machine IHM des SGBD des compilateurs Expression et analyse des besoins Le but de ce chapitre est de d crire la premi re tape du cycle de vie du logiciel L expression des besoins suivi d un aper u sur l analyse la sp cification des besoins Il est organis comme suit 1 Introduction 4 Processu
106. ondre la question faisons nous le produit correctement Quel impact S curit des personnes retours des produits relations contractuelles etc 2 D finition norme IEEE729 Le test est un processus manuel ou automatique qui vise tablir qu un syst me v rifie les propri t s exig es par sa sp cification ou d tecter des diff rences entre les r sultats engendr s par le syst me et ceux qui sont attendus par la sp cification Choix des donn es Vd Sp cification Algorithme R sultats attendus R sultats obtenus Le test vise mettre en vidence les erreurs d un logiciel Le test n a pas pour objectif de d terminer les causes des erreurs corriger les fautes prouver la correction d un programme Tester c est ex cuter le programme dans l intention d y trouver des anomalies ou des d fauts Exemple L algorithme A d crit ci dessus calcule la racine carr e enti re d un nombre n par recherche dichotomique Donn es n entier r sultat r entier Var rmin rmax m entier D but Rmin 0 Rmax n l Tantque rmin 1 lt gt rmax faire m rmin rmax div 2 Sim m gt n alors Rmax m sinon Rmin m Finsi Fintantque R rmin L application d un test Vd Vr sur A consiste ex cuter A en lui fournissant la valeur Vd et v rifier que la valeur V fournie par l ex cution est identique la valeur attendue Vr SiV Vr gt letest est r us
107. ontexte bien donn Elle donne une mesure du degr de confiance et elle mesure les cons quences d une faute 2 D faut et faute Un d faut est du la pr sence d une faute Il a une caract ristique purement dynamique Une faute est une caract ristique statique du logiciel qui provoque un d faut l ex cution Exemple Pour un logiciel de saisie la faute est de ne pas v rifier la mauvaise saisie alors que le d faut serait que le logiciel plante suite la mauvaise saisie 3 Am lioration de la fiabilit Pour assurer la fiabilit du logiciel des tests sont effectu s et des morceaux de programmes sont rajout s gt Le logiciel devient plus lourd et plus lent et donc moins efficace Et d une mani re g n rale la fiabilit est plus importante que l efficacit tant donn que l efficacit est devenue de moins en moins n cessaire vu les prix actuels des machines 4 M trique de la fiabilit Probabilit d une panne C est la probabilit que le syst me se comporte de mani re non pr vu lorsqu une requ te est effectu e Exemple P 0 001 gt sur 1000 requ tes on a une probabilit d un d faut Taux de panne C est la fr quence d apparition d une panne Exemple T 0 02 sur 100 unit s on a 2 pannes Temps moyen entre deux pannes C est la mesure de temps entre deux apparitions de d fauts Exemple Tm 500 gt le temps moyen entre deux d fauts est de 500
108. oritaires parfois de dimension 3 et tr s rarement de dimension 4 elles doivent tre obligatoirement d compos es Repr sentation d une association entit 1 entit 2 entit 3 Exemple Comment trouver les associations dans un nonc Une chose est une association donc on peut donner trois 3 exemples Pour chacun de ces exemples on fait r f rence au moins deux autres choses impossible d imaginer l existence de ces exemples sans ces autres choses donc cette chose est une association Exemples Ali appartient la fili re informatique Mohamed appartient la fili re physique etc gt donc appartenir est une association Une association est d pourvue d une existence propre Cardinalit d une association pour une entit la cardinalit maximale minimale d une association donn e est le nombre maximum minimum que l on peut trouver pour un exemplaire d entit 8 3 2 3 Les attributs Un attribut permet d affecter une propri t individuelle un exemplaire d entit ou d association Un attribut a un nom et prend une valeur pour chaque exemplaire d entit ou d association 14 Exemple l attribut ge d fini par l entit personne affecte Ali la valeur 20 ans Comment trouver un attribut dans un nonc Une chose est un attribut si on trouve des exemples et pour chacun on fait r f rence une autre chose Exemples L
109. otype Un prototype correspond un besoin de v rifier le comportement r el du produit en cours de d veloppement Il sert la communication entre le sp cifieur et le r alisateur C est une approximation de l interpr tation que le r alisateur fait de la sp cification Le prototypage consiste en quatre tapes la s lection fonctionnelle choix des fonctions r aliser la construction valuation feedback sur le d veloppement l utilisation ult rieure du prototype soit est mis de c t maquette jetable soit fait partie int grante du produit prototype volutif 9 1 3 Impacts du prototype sur les exigences et sur le cycle de vie a concernant les exigences Pour les syst mes complexes les exigences sont g n ralement comprises de mani re superficielle voluent ou changent tout le long du cycle de d veloppement risquent d tre remises en question lors de l utilisation du syst me gt d o l int r t du prototypage prototype rapide b concernant le cycle de vie Une maquette jetable peut tre construite pendant n importe quelle phase de la branche descendante du cycle de vie du syst me logiciel b1 Pendant la phase de sp cification La construction d une maquette provisoire aide l utilisateur fixer la faisabilit des exigences valider la n cessit de toutes les fonctions d couvrir les exigences manquantes d terminer la convivialit de l interface utilisateur A l a
110. ourt tous les arcs Remarque Le crit re de couverture de toutes les instructions ne correspond pas au crit re de couverture de tous les arcs Exemple If x lt 0 then X x LEK Le jeu de test x 2 couvre toutes les instructions mais pas tous les arcs c Couverture des chemins du graphe de contr le Exemple If not x 0 then Y 5 Else z Z _ x If z gt 1 then Z Z x Else Z 0 Le jeu de tests couvrant tous les chemins est le suivant t x 0 z 1 a 1 2 3 amp 0 z7z 3 x 1 z 1 Il est possible de d terminer le nombre de chemins ind pendants partir du graphe de contr le Un chemin ind pendant est un chemin qui parcourt au moins un nouvel arc par rapport aux chemins d j d finis La complexit cyclomatique ou nombre cyclomatique Mc Cabe 76 C nbre arcs nbre n uds 2 Ceci repr sente la borne sup rieure du nombre de tests effectuer pour que tous les arcs soient couverts au moins une fois Pour Mc Cabe la limite de la valeur de la complexit cyclomatique est de 10 mais dans la pratique la limite sup rieure est de 30 environ Au del la proc dure est difficile tester Remarque Le nombre de chemins peut devenir tr s grand dans des programmes r els Ce crit re est inexploitable en pratique Par exemple dans le cas de boucles ou boucles imbriqu es On se contente de couvertures incompl tes comme la couverture des i chemins d Couverture des conditions Le jeu
111. r f rences aux standards ou aux normes F 2 8 facteurs de qualit r f rences un plan de qualit du logiciel G Justification des choix effectu s elles concernent les sp cifications envisag es et d laiss es les alternatives possibles pour conserver une trace de l volution de la pens e H Glossaire comprend la d finition des termes courants utilis s hors de leur sens commun des termes techniques des abr viations des sigles employ s dans les documents L R f rences r f rences documentaires sur les m thodes r f rences bibliographiques sources d obtention des documents I 1 annexes Une annexe comprend le mod le complet de sp cification syst me s lectionn mod le SADT I 2 index indique les pages o sont mentionn s les sujets et les termes les plus importants du document 8 2 L analyse structur e et mod lisation technique S A D T 8 2 1 Historique d velopp e par Douglas T Ross et test e entre les ann es 1969 et 1973 implication dans un projet a rospatial introduite dans le march en 1975 utilis e en 1981 par plus de 50 soci t s sur 200 projets impliquant plus de 2000personnes et couvrant plusieurs domaines t l phonies informatique a rospatial diffus e actuellement sous le nom de IDEF 0 Icam DEFinition num ro 0 Le programme ICAM Integrated Computer Aided Manufacturing de U S Air Force retient une partie de SADT pour da m thode IDEF
112. r liminaire analyse des besoins analyse du syst me conception du syst me programmation et tests unitaires int gration et tests d integration installation lt exploitation et maintenance Dans sa premi re version le mod le ne comporte que les fl ches descendantes qui d signent l encha nement des tapes Les fl ches ascendantes qui ont t rajout es expriment le principe qu une tape ne remet en cause que l tape pr c dente e Le mod le en V Le principe de ce mod le est que toute d composition doit tre d crite avec la recomposition et chaque description d un composant est accompagn e de tests qui permettront de s assurer qu il correspond sa description Orientation faisabilit analyse des besoins analyse du syst me conception architecturale conception d taill e Il existe deux sortes de d pendances entre les tapes Celles qui d signent que les tapes se d roulent de mani re s quentielle en suivant le V de gauche droite Celles qui repr sentent le fait qu une partie des r sultats de l tape de d part est utilis e directement dans l tape d arriv e Exemple A l issue de la conception architecturale le protocole d int gration et les jeux de test d int gration doivent tre compl tement d crits ES d accepta int gratiof et test d inf gration pr paration de la validation Cri
113. r E YOURDON et T DEMARCO en 1978 1979 e Une m thode descendante par affinage successif des traitements ou process ou encore processus gt aboutir des traitements d crits en termes de flots de donn es logiques e Une m thode compos e d une suite de diagrammes ordonn e hi rarchiquement gt les derniers diagrammes repr sentent les fonctions l mentaires appel es primitives fonctionnelles ou process primitives 2 2 Les concepts de base de la m thode S A Le langage S A est compos d outils graphiques et ou textuels e Les outils graphiques Diagrammes de transformation de donn es ou diagrammes de flots de donn es DFD Data Flow Diagrams e L outil textuel Dictionnaire de donn es DD Data Dictionnary e Les outils graphiques et ou textuels Diagramme de structure de donn es DSD Data Structure Diagrams Sp cification de process PSPEC Process SPECification 2 2 1 L outil graphique Le DED est un r seau d interconnexion de process traitements reli s par les donn es qui circulent Le DFD comprend quatre l ments graphiques e Le traitement ou process repr sent par un cercle ou une bulle c est une unit de travail qui r alise la transformation de la donn e d entr e en donn e de sortie Que signifie une transformation une transformation de la structure d une donn e une transformation d une donn e en une autre un test et en fonction duquel la donn e est aiguill e
114. rototype qui permettra de prendre cette d cision Succ s d un jeu de test jeu de test gt 0 si chaque test du jeu est gt 0 Echec du jeu de test si chaque test du jeu est lt 0 Pour chaque test l mentaire f et pour un programme P l oracle O donne une des 3 r ponses suivantes f gt 0 gt P satisfait f f lt 0 gt P ne satisfait pas f f ind cidable gt P ne termine pas par l exemple Quand estime t on que le programme n a pas besoin d tre test Un programme n a pas besoin d tre test lorsque l efficacit du jeu de tests s lectionn est conforme certains crit res de qualit et lorsque le jeu de test est gt 0 L efficacit d un jeu de test peut tre valu l aide de la m thode de mutations de programme 10 Cette m thode consiste g n rer des programmes incorrects mutants par perturbation syntaxiquement corrects du code Exemple de d faut Changement de constantes d indices Modification du sens de d cisions lt en lt Suppression change d instructions Un d faut donne lieu un mutant Ex cution du mutant et comparaison avec le programme d origine si r sultats diff rents le mutant est tu si m me r sultat le mutant survit Utilit de la technique des mutant le meilleur jeu de test est celui qui tue le plus de mutants 7 Les tests d int gration La phase d int gration intervient apr s la v rification unitaire des modules Le plan d int
115. rovoquant le changement d tat transition de sortie qui indique les signaux provoquant un changement de mode de comportement un autre endroit d crit par un autre diagramme STD ainsi que la liste des process activer ou d sactiver Exemple 1 Exemple 2 cuve vide niveau de la solution devient gt 0 transition d entr e 7 niveau de la solution niveau d sir de la solution cuve partiellement remplie m lange termin se La transition de sortie provoque un changement de mode dans un autre diagramme STD m lange m lange termin transition de sortie chauffage sans pression Remarques e L tat initial est l tat actif avant la reconnaissance de n importe quelle transition d entr e e A un instant donn un et un seul tat du diagramme STD est actif e La transition d entr e porte le nom de l v nement qui provoque le changement de mode e Plusieurs diagrammes STD peuvent interagir entre eux a2 Table tat transition STT Un diagramme tat transition peut tre repr sent l aide d une table tat transition o les tats sont les lignes de la table les transitions d entr e sont les colonnes de la table et le nouvel tat et la transition de sortie repr sentent l intersection de la ligne et de la colonne be A Trans1 Trans3 tat suivant Etat 2 tat suivant aucun Transition de sortie Trans2 Transition de sortie au
116. s e Robustesse aptitude d un logiciel continuer s ex cuter en d pit de certaines violations des suppositions dans les sp cifications Les facteurs internes influencent directement les qualit s externes Exemple Le logiciel doit tre v rifiable interne pour pouvoir affirmer qu il est fiable externe Les facteurs externes peuvent entretenir des relations entre eux Exemple Maintenabilit compr hensibilit 6 Cycle de vie d un logiciel 6 1 D finition IEEE La production d un logiciel comprend plusieurs tapes et s tend sur une longue p riode de temps Le cycle de vie d un logiciel c est la p riode de temps qui d bute au moment de la d finition et du d veloppement du produit logiciel et se termine lorsque le produit logiciel n est plus disponible Le but de ce d coupage est ma triser les risques ma triser les d lais et les co ts d une fa on plus meilleure assurer la qualit attendue 6 2 Justification du cycle de vie La relation entre le cycle de vie et l assurance qualit est tr s forte Il s agit d assurer en permanence la validation est ce qu on est en train de faire le bon produit la v rification est ce qu on fait le produit correctement On parle de V amp V validation et v rification Comment La validation et la v rification sont garanties par la mise en place d inspections et de revues L inspection est une lecture critique d u
117. s d analyse des besoins 2 Les probl mes potentiels 5 Conclusion 3 Qu est ce qu un besoin 1 Introduction L analyse des besoins est e Une activit essentielle au d but du processus de d veloppement e Une activit dont les donn es sont fournies par des experts du domaine d application et les futurs utilisateurs e Son r le est d viter de d velopper un logiciel non ad quat e Les r sultats de cette activit sont un ensemble de documents d crivant les aspects du futur syst me son r le et sa future utilisation 2 Les probl mes potentiels Deux issues sont consid rer e Le client a une id e vague des l ments manquants ou change souvent d id es e L quipe de d veloppement les d tails restent en dernier conduit des erreurs de sp cification et de d veloppement 3 Qu est ce qu un besoin Un besoin requis exigence est une exigence que le syst me doit satisfaire Cat gories de besoins e Besoins fonctionnels description des services fonctions description des donn es manipul es e Besoins non fonctionnels description des contraintes Pour chaque service et pour le syst me il est possible d exprimer diff rents types de contraintes contraintes de performance de s curit etc Les besoins non fonctionnels sont souvent appel s les attributs de qualit Ils sp cifient comment le syst me accomplit bien ses fonctions Comment doit il r pondre rapidement Com
118. s de programmation 4 1 Langages compil s Exemple Pascal Avantages rapidit d ex cution code source inutile l ex cution d tection des erreurs la compilation Inconv nients recompilation chaque modification 4 2 Langages interpr t s Exemple Basic Avantages test d veloppement Inconv nients rapidit pr sence d interpr teur pendant l ex cution interpr tation ligne par ligne 4 3 Langages compil s et interpr t s Exemple Java Perl Avantages Code interm diaire portable Plus rapide que les langages interpr t s Inconv nients Vitesse d ex cution Pr sence d interpr teur 5 Choix d un langage de programmation Il peut d pendre des contraintes du client des contraintes du projet du niveau d abstraction des habitudes et des biblioth ques existantes Mais certains facteurs peuvent influenc s sur le choix du langage pour une certaine t che tels que simplicit conceptuelle plus le langage est simple plus il est facile de le ma triser Puissance d expression le langage supporte t il plusieurs styles de programmation Support de gros projets le langage offre t il des m canismes pour aider la r alisation des gros projets Performance compilateur rapide ex cutable rapide Portabilit le langage est t il r pandu Fiabilit le langage aide t il d tecter les erreurs D tection des erreurs la compilation
119. s diff rents programmes pour obtenir le logiciel fini ainsi qu l ensemble des tests qui permettra de v rifier que le logiciel correspond exactement au cahier des charges enfin la r daction de la documentation utilisateur L exploitation elle consiste la mise disposition de tout utilisateur du logiciel fini de tel fa on ce que ce logiciel soit op rationnel en situation r elle de production La maintenance qui peut tre Corrective permet de corriger les erreurs qui n ont pas t d tect es lors des phases pr c dentes de test adaptative doit s occuper de faire voluer et adapter le logiciel l apparition de nouvelles contraintes perfective a pour objectifs l optimisation des performances du logiciel Cette cat gorisation peut tre tendue pour regrouper d autres cat gories volutive pr ventive 6 4 Les diff rents cycles de vie On distingue deux grandes classes _s quentiels _it ratifs 6 4 1 Les cycles s quentiels e Le mod le de la cascade Le principe du mod le de la cascade ou mod le de la chute d eau est tr s simple Il se pr sente comme une succession d tapes correspondant une approche descendante Une tape doit se terminer une certaine date par la production de certains documents ou logiciels Ces r sultats sont soumis une revue approfondie et le passage l tape suivante est possible que s ils sont jug s satisfaisants Etude p
120. s et les fl ches puisqu il fournit des explications exactes de leurs caract ristiques domaine des valeurs 8 2 6 6 Les conditions d activation dans les actigrammes elles permettent de sp cifier dans quelles conditions une boite sera activ e et ce qu elle produit 8 2 7 Conclusion L analyse fonctionnelle selon les concepts et les mod les de SADT permet d tudier et de pr ciser les fonctions de chaque l ment constituant le syst me D aider le concepteur faire une num rotation d taill e des diff rents constituants D orienter l architecture vers un ensemble de configurations modulaires et hi rarchiques D aboutir une analyse efficace dans un environnement stable Cependant Chaque changement ou volution du syst me contribue rendre les r seaux de communication entre les fonctions difficile g rer Le comportement temps r el du syst me d s la conception n est pas d fini il faut le compl ter par un mod le qui le permet La validation du monde s effectue par diff rentes personnes ce qui donne une validation limit e 12 8 3 Le mod le entit association 8 3 1 Introduction Le formalisme entit association E A en fran ais et E R en anglais pour Entity Relationship est l un des formalismes retenus par ISO International Standard Organisation pour d crire l aspect conceptuel des donn es lors de la conception pr liminaire et d taill e d un syst me d information
121. s pour introduire une dimension temporelle e Jls sont souvent utilis s pour d crire la r alisation des cas d utilisation Exemple L objet A envoie un message X un objet B puis l objet B envoie un message Y un objet C et enfin C s envoie lui m me un message Z 3 Z Diagramme de collaboration 11 4 2 Les diagrammes de s quence o Ils mettent l accent sur les relations temporelles e Jls peuvent tre utilis s pour pr ciser la r alisation des cas d utilisation ainsi que la dynamique d un ensemble d objets temp e Chaque r ception de message donne lieu une dur e d activation le temps de traitement du message e La dur e d activation de l metteur recouvre celle du r cepteur 11 5 Les classes e _ Regrouper les objets suivant des crit res de ressemblance s appelle classer e La classe repr sente la description abstraite d un ensemble d objets C est une factorisation des l ments communs un ensemble d objets e Identification des classes attributs et des op rations Les diagrammes de s quences et ou de collaboration permettent d identifier les objets Ils sont transform s en classe s il y a un message sinon en attributs Les op rations des classes correspondent aux messages chang s entre objets r els e La hi rarchisation des classes consiste en la g n ralisation dans un sens qui correspond la factorisation des l ments communs de classes at
122. s qui font r f rence un m me bloc de donn es globales Exemple D p t de donn es V1 V2 MI M2 V1 V1 V2 VI1 M1 risque d entra ner une erreur dans M2 via la variable V1 7 2 5 Le couplage par contenu e Survient quand un module influe sur l ex cution d une instruction appartenant un autre module se r f re ou modifie les donn es internes d un autre module g n ralement impossible dans les langages de haut niveau seulement en assembleur 7 3 La coh sion e la coh sion est la mesure de la force d association des l ments fonctionnels d un constituant 7 4 Types de coh sion Coh sion Fonctionnelle forte coh sion Plus facile s quentielle maintenir communicationnelle plus difficile proc durale maintenir temporelle logique faible coh sion de co ncidence 7 4 1 La coh sion fonctionnelle e Tous les composants contribuent remplir une seule et m me fonction Exemple lire un enregistrement calculer la trajectoire du missile 7 4 2 La coh sion s quentielle e Ensemble d actions diff rentes qui s encha nent s quentiellement Exemple lire calculer imprimer 7 4 3 La coh sion communicationnelle e Ensemble d actions diff rentes qui se r f rent aux m mes param tres d entr e sortie Exemple chercher le titre d un livre chercher l auteur d un livre chercher le prix d un livre 7 4 4 La coh sion proc durale e
123. s valeurs invalides sup rieures D3 d gt 5000 Un jeu de test valide T 10 1 5001 On a donc tester les nombres aux limites des classes Exemple2 If x gt y then Max x Else Max x erreur max y La partition est la suivante D1 x y x gt y D2 x y x lt y Un jeu de test 2 1 1 3 6 2 4 7 Ce crit re de s lection permet de trouver des jeux de tests qui v rifient les deux branches de la condition possibilit de d tecter l erreur Mais l erreur peut ne pas tre d tect e Contre exemple 4 2 2 2 6 3 3 3 6 2 3 Les tests al atoires Le jeu de test est s lectionn au hasard sur le domaine des entr es du programme Le domaine des entr es du programme est d termin l aide de l interface du programme ou de l interface de la sp cification Inconv nients des tests al atoires Ces m thodes ne garantissent pas une bonne couverture des entr es du programme en particulier elles peuvent ne pas prendre en compte certains cas limites ou exceptionnelles Comment d cider du succ s ou de l chec d un jeu de test Une fois un jeu de test s lectionn il est utilis lors de l ex cution du programme valider Il reste interpr ter les r sultats obtenus au cours de cette ex cution C est le r le de l oracle qui d cide du succ s ou de l chec du jeu de tests L oracle repr sente une r f rence par exemple une sp cification ou un p
124. si sinon le test a chou et A contient une erreur Les couples 0 0 1 1 4 2 6 2 sont des tests r ussis alors que 5 3 est un test qui chouerait 2 1 Qu est ce qu une sp cification On appelle sp cification d un algorithme A un quadruplet form de une d signation et un typage de donn es une d signation et un typage des r sultats une pr condition d finissant des contraintes sur les donn es restreignant les valeurs admises par le typage une post condition d finissant le r sultat en fonction des donn es Exemple La sp cification pour l algorithme A est la suivante Donn es n entier R sultat r entier Pr condition n gt 0 Post condition Ga lt n Nn lt r 1 3 Caract risation du test Un test comprend une tape de g n ration de jeux de test un programme est une application d un domaine d entr e E vers un domaine de sortie S La g n ration de jeux de test s lectionne un sous domaine de E une tape d ex cution fourniture des entr s au programme r cup ration des sorties pour l analyse Une tape d observation des r sultats oracle observation par un humain ou automatique Le but est de r pondre la question l ex cution a t elle donn de bons r sultats 4 Le co t du test Selon Pressman 92 la r partition du budget global est la suivante Analyse et conception 40 Codage 20 Test et installation 40
125. sociation de cet objet et donc d acc der de mani re transitive tous les objets et leurs propri t s avec qui il est en relation Acc s aux attributs et aux op rations self Pour faire r f rence un attribut ou une op ration de l objet d sign par le contexte il suffit d utiliser le nom de cet l ment L objet d sign par le contexte est galement accessible par l expression self On peut donc galement utiliser la notation point e se1f lt propri t gt Une op ration peut avoir des param tres il faut alors les pr ciser entre les parenth ses de l op ration Lorsque la multiplicit d un attribut de type T n est pas 1 donc s il s agit d un tableau la r f rence cet attribut est du type ensemble i e Set T Par exemple dans le contexte de la classe Compte on peut utiliser les expressions suivantes e solde e self solde e _getSolde e self getSolde e d biter 1000 e self d biter 1000 Dans l exemple pr c dent le r sultat de l expression self d biter 1000 est un singleton du type Real Mais une op ration peut comporter des param tres d finis en sortie ou en entr e sortie Dans ce cas le r sultat sera un tuple contenant tous les param tres d finis en sortie ou en entr e sortie Navigation via une association Pour faire r f rence un objet ou un groupe d objets en association avec l objet d sign par le contexte il suffit d utiliser le nom de la class
126. st me avec r f rence un document sp cifique C 5 Contraintes de d veloppement d exploitation et de maintenance C 5 1 Contraintes de d veloppement sont li es au x mat riel langages de programmation impos s logiciel de base algorithmes impos s d lai de r alisation C 5 2 Contraintes d exploitation sont li es au x r gles de gestion du syst me affectation des responsabilit s des utilisateurs planning d exploitation jour nuit probl me de sauvegarde et reprise probl mes de s curit et d int grit C 5 3 Contante de maintenance sont li es aux proc dures de maintenance curative adaptative volutive perfective D Description des interfaces externes du logiciel D 1 interface mat riel logiciel d crit le mat riel informatique p riph rique et les proc dures d change avec le mat riel non informatique capteurs cam ra ou les syst mes environnants D 2 interface homme machine renseignement sur l ergonomie du syst me caract ristiques des messages d erreur clart commande du logiciel par menu par ic nes avec souris mode d apprentissage ventuel le niveau d intelligence des interfaces H M D 3 interface logiciel logiciel concerne les moyens d acc s des syst mes SGBD les proc dures d change de messages E Description des objets identifie les objets qui composent le syst me E 1 d finition des objets objet I nom de l obj
127. suivants le couplage et la coh sion 7 1 Le couplage e Le couplage est la mesure d interd pendance d un constituant par rapport un autre e Le couplage d finit le mode de communication interconstituant A appelle B B remplit sa fonction B redonne la main A d s qu il remplit son r le 7 2 types de couplage couplage couplage dangereux par contenu couplage fort et difficile de donn es communes comprendre de contr le couplage traditionnel de collection de donn es absence de couplage couplage faible 7 2 1 Le couplage de donn es e correspond la transmission de donn es n cessaires au fonctionnement de modules en communication Exemple cat gorie v hicule kms parcourus facturer location nbre de jours calculer le montant v hicule montant location de la location 7 2 2 Le couplage de collection e Correspond deux modules qui font r f rence une m me structure de donn es Exemple mettre jour enregistrement client calculer un placement bancaire les int r ts int r t bancaire 7 2 3 Le couplage de contr le e Correspond un module qui transmet un autre une information destin e contr ler sa logique interne Exemple montant du retrait 7 mettre jour ncien solde a d biter compte bancaire nouveau solde le compte lt 7 2 4 Le couplage de donn es communes e Correspond deux module
128. t 2000 2 L volution des langages de programmation e Langage machine est apparu tout fait au d but lt 1950 seul langage compr hensible par la machine dispose des instructions du type transfert de donn es entre registres m moire et p riph riques arithm tique sur des entiers ou flottants contr le poursuivre l ex cution un autre point du programme conditionnellement ou non Avantages contr le total sur la machine acc s toutes les possibilit s de la machine Possibilit d ex cution rapide Inconv nients Non compr hensible par les humains Le langage change d un type de machine une autre e Langage d assemblage repr sentation symbolique du langage machine utilise des mn moniques pour nommer les instructions ADD MOV et on peut nommer les emplacements m moire et les constantes Un peu lisible avec un codage peu efficace beaucoup de code crire pour faire peu de choses Ce sont des langages de bas niveau o il faut s occuper davantage des d tails ayant plus de rapport avec la machine qu avec le calcul faire e Langage de haut niveau langage qui facilite la t che de la programmation en cachant les d tails se rapportant la machine Avantages Notation famili re facilite l criture la compr hension la modification du programme Portabilit possibilit d un programme d tre utilis sur d autres machines avec peu de chan
129. t avec OCL Object Constraint Language qu UML formalise l expression des contraintes Il s agit donc d un langage formel d expression de contraintes bien adapt aux diagrammes d UML et en particulier au diagramme de classes OCL existe depuis la version 1 1 d UML et est une contribution d IBM OCL fait partie int grante de la norme UML depuis la version 1 3 d UML Dans le cadre d UML 2 0 les sp cifications du langage OCL figurent dans un document ind pendant de la norme d UML d crivant en d tail la syntaxe formelle et la fa on d utiliser ce langage OCL peut s appliquer sur la plupart des diagrammes d UML et permet de sp cifier des contraintes sur l tat d un objet ou d un ensemble d objets comme des invariants sur des classes des pr conditions et des postconditions l ex cution d op rations les pr conditions doivent tre v rifi es avant l ex cution les postconditions doivent tre v rifi es apr s l ex cution des gardes sur des transitions de diagrammes d tats transitions ou des messages de diagrammes d interaction OCL est un langage typ dont les types sont organis s sous forme de hi rarchie Cette hi rarchie d termine comment diff rents types peuvent tre combin s Par exemple il est impossible de comparer un bool en Boolean avec un entier Integer ou une cha ne de caract res String Par contre il est possible de comparer un entier Integer et un r el Real car le type entier est
130. t niveau Construire un premier diagramme de structure Remanier et optimiser le diagramme de structure 10 4 Applications Deux proc d s pour aboutir la construction d un SC dont la proc dure d crite en 10 3 1 proc dure manuelle a localiser le centre de transformation de plus haut niveau parcourir le DFD et localiser le centre de transformation D tacher les flots aff rents flots qui apportent l information et les flots eff rents flots qui emportent l information k i LE 4 entr es Doe sorties transformation b Construire un premier diagramme de structure Choisir un bon candidat au poste de chef l utiliser comme module de plus haut niveau fa Dans le cas contraire d signer un nouveau chef consid rer le centre de transformation comme une boite unique et accrocher le centre de transformation les aff rents et les eff rents au nouveau chef Raffinage de la transformation centrale c Remanier et optimiser le diagramme de structure Ajouter les modules de lecture et d criture pour acc der aux unit s externes source et puits et aux unit s de stockage Organiser les modules aff rents et eff rents Ajouter les modules de traitements d erreurs Ajouter les modules d initialisation et de terminaison Choisir les noms des modules illustrant bien leur r le V rifier toutes les donn es et les contr les entre les modules Centrale transformation
131. t vrai avant Or not cond c a d x lt y gt x lt y C est donc vrai Exemple4 x gt 0 pr condition while x gt 0 then X x l End x 0 post condition Comment trouver l invariant Il faut trouver un invariant qui avec la n gation de la condition Inv amp not cond donne la post condition Pour cela x gt 0 peut tre consid r comme invariant car x gt 0 and not cond x gt 0 c a d x gt 0 and x lt 0 donne bien la post condition x 0 14 Remarque L axiome et les r gles donn es c1 dessous correspondent un langage tr s simple dans le sens O les expressions sont sans effet de bord c a d leur valuation ne modifie pas les valeurs des variables du programme pas d appel d une fonction les variables sont simples pas d l ments de tableau ni de pointeurs 8 2 2 Les preuves de terminaison Possibilit de g n raliser les logiques de Hoare de mani re v rifier la correction totale du programme Correction totale d un programme correction partielle la preuve de Terminaison Le probl me de la terminaison est difficile Pour d montrer la terminaison d un programme Identifier la variable de contr le de la boucle D montrer qu elle volue de mani re monotone vers la borne sup rieure ou inf rieure qui correspond la condition d arr t Enfin d une mani re g n rale elle rel ve de l intuition 9 Conclusion Letest logiciel peut tre utilis pour mon
132. tes Les diagrammes d activit IDEFO sont plus riches qu un DFD en SA fl ches de contr le et les m canismes Au niveau plus bas de la sp cification en SA l tude se poursuit par la description fonctionnelle de tous les process primitifs La syntaxe graphique d un DFD est plus libre qu un actigramme La m thode SA phase de sp cification fonctionnelle d un logiciel La m thode IDEFO gt phase de conception d un syst me SA est destin pour le d veloppement des logiciels industriels 3 La sp cification dynamique du logiciel l analyse structur e temps r el SA RT Structured Analysis Time Real 3 1 Pr sentation g n rale de la m thode SA RT L extension temps r el a t effectu e par P Ward et S Mellor en 1984 1985 d une part et par I Pirbhai et D Hatley en 1986 1987 d autre part _SA RT est consid r e comme une m thode la plus utilis e dans le monde _SA RT est support e par plusieurs AGLs et a t choisie par d importantes soci t s Boeing Aircraft Compagny etc 3 2 Concepts de base de la m thode SA RT e Pourquoi SA RT analyse structur e SA est insuffisante pour mod liser l activation des process L analyse structur e SA s int resse la vue statique des fonctions que le logiciel devra assumer e SA RT sert impl menter le logiciel qui sera impl ment dans des syst mes temps r els les syst mes combinatoires o les signaux de sortie sont compl tem
133. tes Ce sont des langages interpr t s Ce sont des langages tr s utilis s en I A Dans la programmation fonctionnelle les variables peuvent tre de type fonction donc on peut effectuer des calculs sur ces variables comme pour les autres types Is sont peu utilis s en g nie logiciel car ils ne sont pas tr s efficaces et n offrent pas de v ritables modularit s Ils sont utilis s des fins d enseignement et de recherche et en milieu industriel Et des fins de maquettages 3 3 La programmation logique e Elle est bas e sur le principe de r solution La r solution signifie la recherche des variables qui rendent l expression vraie les solutions e Le langage le plus utilis est Prolog Programmation logique Il existe plusieurs extensions et variantes e Ces langages pr sentent d int ressantes perspectives en g nie logiciel pour le maquettage et la production des jeux de tests 3 4 La programmation objets e La programmation est bas e sur la d finition des classes permettant l ex cution de cr er des instances objets qui interagissent par des appels des m thodes e Le premier langage est Simula destin la simulation et au maquettage e Ce type de langages et ses variantes sont surtout utilis s en I A 3 5 Les langages sp cialis s Math matiques simulation Matlab Web Javascript Description HTML XML Bases de donn s Cobol SQL Etc 4 Implantation des langage
134. tes validation D veloppement v rification Spirale suppl mentaires Eventuellement incr ments Voici quelques types de risques Risques humains D faillance de personnel Travailleur solitaire Surestimation des comp tences Risques li s au processus Calendrier et budgets irr alistes Insuffisance des donn es D veloppement des fonctions inappropri es D veloppement d interfaces utilisateurs inappropri es Risques technologiques Changement de technologie en cours de route Incompr hension des fondements de la technologie Caract ristiques du mod le en spirale Utilisation du prototypage Analyse des risques e Le mod le par incr ments Dans ces mod les un logiciel noyau est d abord d velopp puis des incr ments sont successivement d velopp s et int gr s L it ration porte sur la conception le codage ou la programmation le test Les avantages de ce mod le sont Chaque d veloppement est moins complexe Les int grations sont progressives Il peut y avoir des livraisons et des mises en service apr s chaque int gration d incr ments Cette approche est souvent utilis e pour de grands projets faisant appels des sous traitances Incr ment 1 conception onception programmation te architecturale d taill e Incr ment 2 D DL LE architecturale d taill e Incr ment 3 c ion n ion architecturale d taill e temps e Avec prototypes ventuellement voir exe
135. tion du logiciel regroupement en un m me module des fonctions reli es un m me concept ex ent es sorties 4 R ing nierie du niveau architectural Passage un nouveau paradigme exemple orient e objet client serveur services Web Conception p rim e ou mauvaise R duction du couplage d pendance entre les modules 7 Documentation Un document du logiciel correspond n importe quel artefact destin communiquer l information sur le logiciel 7 1 L ensemble des documents se r sume en un cahier de charges besoins un dossier d analyse fonctionnelle un manuel de conception un dossier de programmation un manuel d installation et de mise en uvre un dossier de proc dures de tests 7 2 Qualit des documents criture pr sentation compl tude actualisation gt Importante charge 7 3 Quelques conseils construire des phrases simples faire attention l orthographe une seule id e par phrase paragraphes courts termes pr cis avec glossaire La documentation doit n cessairement accompagner le logiciel 8 Conclusion La maintenance gt apr s la livraison du logiciel Il existe diff rents types de demandes de maintenance La maintenabilit permet de d terminer l tat de d gradation du logiciel sa qualit La r ing nierie doit tre envisag pour les logiciels utiles mais de qualit faible Le niveau de r ing nierie d pend des besoi
136. tion et communication pour le travail en quipe estimer les co ts et les d lais g rer les ressources humaines mat rielles et logicielles suivre l volution du logiciel maintenance documenter d finir et respecter les normes d Norme est un document qui apporte des r ponses des questions techniques et commerciales que se posent de fa on r p t e les acteurs sur des produits des biens d quipements ou des services Elle est labor e en consensus par l ensemble des acteurs d un march producteurs utilisateurs consommateurs pouvoirs publics Quelle est l utilit d une norme Echanger la norme permet l entreprise de d velopper ses march s m me norme et de clarifier ses transactions produit d fini selon le besoin de l utilisateur rapprochement entre le fournisseur et le consommateur D velopper la norme contribue au d veloppement par la satisfaction du client ma trise des caract ristiques techniques des produits Orienter la norme contribue l information de l utilisateur aide au choix des produits de garantie Innover la norme permet l entreprise d innover de faire voluer les produits et de faciliter l insertion de l innovation sur le march Conception d un syst me 1 Les enjeux de l approche syst mique 2 D finition d un syst me 6 Cycle de vie d un syst me 3 Classification des syst mes 7 Conception d un syst me 4
137. tionnelle du syst me quoi ind pendamment des solutions envisageables pour sa r alisation comment L analyse fonctionnelle ne donne aucune orientation sur les choix effectu s ult rieurement en mati re de m thode de conception de langage de programmation etc 8 2 5 4 Mod liser la r alit La repr sentation du monde qui nous entoure est constitu e d objets donn es et d actions activit s SADT aborde la mod lisation du syst me en utilisant les actigramme pour les activit s et les datagrammes pour les donn es 8 2 5 5 Formaliser de mani re graphique Les langages naturels ne permettent pas une repr sentation claire et pr cise non ambigu des r sultats d analyse Les mod les SADT sont bas s sur une repr sentation graphique boites fl ches ainsi que des mots destin s fournir les d tails de mani re progressive encourager la pr cision mettre l accent sur les interfaces des mod les fournir un vocabulaire puissant d analyse Le symbolisme SADT a pour caract ristique un ensemble limit de primitives de base partir desquelles l auteur peut construire m thodiquement des structures de toutes tailles une lecture de droite gauche et de haut en bas 8 2 5 6 Travailler en quipe L analyse d un syst me complexe n cessite une quipe de travail disciplin et bien coordonn SADT cr e l environnement n cessaire cela en offrant un langage commun pr cisant le r le de
138. tiques des mod les en V et en cascade a Mod les parfois difficiles appliquer car il est difficile de prendre en compte des changements importants dans les sp cifications dans une phase avanc e du projet b Gestion des risques Trop de choses sont report es l tape de programmation interface utilisateur 6 4 2 Les cycles it ratifs e Le mod le en spirale Ce mod le propos par B Boehm en 1988 est plus g n ral que les pr c dents et peut les inclure Il met l accent sur l analyse des risques Le principe est le suivant Identifier les risques leur affecter une priorit D velopper des prototypes pour r duire les risques en commen ant par le plus grand risque Utiliser un mod le en V ou en cascade pour impl menter chaque cycle de d veloppement Contr ler Si un cycle concernant un risque est achev avec succ s valuer le r sultat du cycle et planifier le cycle suivant S1 le risque est non r solu interrompre le projet Le nombre de cycles est variable selon que le d veloppement est classique ou incr mental Identification et r solution des risques d termination des objectifs des alternatives des contraintes se de risques analyse de risque Plan du cycle De vie concept d veloppemes validation validation et v rification test unitaire int gration acceptation plan des tests et deint sration Planification des Phases suivan
139. trer la pr sence des erreurs mais jamais pour prouver leur absence La mise en vidence d une m thode optimale de v rification de programme passe par une combinaison de l utilisation de diff rentes m thodes de tests statiques et dynamiques Les tests structurels et les tests fonctionnels sont utilis s de fa on compl mentaires Les preuves sous diff rentes formes sont surtout pratiqu es pour le d veloppement de logiciels critiques 15 La maintenance d un logiciel Le but de ce chapitre est de fournir aux tudiants des notions sur la maintenance l volution et de la r ing nierie Le chapitre est organis comme suit 1 D finitions 5 Les lois de l volution des programmes 2 Les types de maintenance 6 La r ing gnierie 3 Le processus de maintenance 7 La documentation 4 L estimation du co t de maintenance 8 Conclusion 1 D finitions Qu est ce que la maintenance La maintenance est l ensemble des activit s effectu es pour modifier un logiciel apr s sa mise en op ration Justifications la maintenance du logiciel est n cessaire pour correction d erreurs erreurs r siduelles adaptation aux besoins des utilisateurs am lioration du logiciel code conception modernisation du logiciel remplacement d un syst me de gestion de fichiers par une base de donn es changements d environnement technique passage Microsoft Net Qu est ce que la maintenabilit La maintenab
140. tributs op rations la sp cialisation dans l autre sens qui permet d adapter une classe g n rale un cas particulier classe plus g n ralisation n Super classe g n rale sp cialisation sp cialis e Exemple On peut dire Tout lion est un carnivore On parle aussi de relation est un ou isa en anglais Les instances de la classe sp cialis e h ritent de la description des attributs variables et des op rations m thodes de la super classe e La relation de g n ralisation sp cialisation est une relation non r flexive non sym trique et transitive e L h ritage multiple est possible 11 6 Les diagrammes de classes e C est Le plus important dans un d veloppement orient objet Il repr sente l architecture conceptuelle du syst me e Expriment une structure statique structurel du syst me et d crivent l ensemble des classes et leurs associations e Une association exprime une connexion s mantique bidirectionnelle entre classes e Le r le d crit une extr mit d une association e Les cardinalit s ou multiplicit s indiquent le nombre d instances d une classe pour chaque instance de l autre classe un et un seul J Z ro ou un dem n plusieurs de z ro plusieurs de un plusieurs no zo Z x x e L agr gation association qui d crit une relation d inclusion entre une partie et un tout agr gat Elle est symbolis e par un losange plein pour des o
141. tructurelles a Non d terminisme Le mod le des RDP est non d terministe si plus d une transition est franchissable le choix de la transition franchir est non d terministe t2 ou t3 choix non d terministe 24 PI P2 P T1 t2 P4 P5 T t4 P6 P7 b Concurrence Transitions concurrentes paires de transitions dont le franchissement de l une n emp che pas celui de l autre Concurrence structurelle deux transitions t1 et t2 sont structurellement concurrentes si elles n ont aucune place d entr e en commun P1 P2 tl et t2 sont structurellement concurrentes P3 T3 t4 ne le sont pas T1 t2 P4 P5 T t4 P6 P7 c Conflit Transitions conflictuelles le franchissement de l une emp che le franchissement de l autre Conflit structurel deux transitions t1 et t2 sont structurellement en conflit si elles ont au moins une pace d entr e en commun Dans l exemple pr c dent t3 et t4 sont structurellement en conflit d Situation de blocage Un RDP dans un marquage donn est dit en situation de blocage si et ssi aucune transition n est franchissable 9 2 7 Analyse des RDP L analyse des RDP peut permettre de confirmer ou infirmer certaines propri t s du syst me mod lis Outils graphe de marquages accessibles Graphe de couverture Marquages accessibles Etant donn lt R Mo gt l ensemble des marquages accessibles est l ensemble de tous les marquages de R atteignables par une s quence de
142. ts pour chaque version La loi de la stabilit organisationnelle pendant la vie d un programme son taux de d veloppement est approximativement constant et ind pendant des ressources consacr es au d veloppement du syst me En d autres termes a ne sert plus d augmenter le personnel ou le budget car a ne progressera pas plus rapidement La loi de la conservation de la familiarit pendant la vie d un programme l incr ment de changement dans chaque version est approximativement constant Donc pour une p riode de temps donn e l augmentation de la taille et des fonctionnalit s du logiciel est limit e et pr visible 6 La r ing nierie La r ing nierie consiste construire une nouvelle implantation du logiciel partir de la version existante Pourquoi la r ing nierie Continuer maintenir les syst mes h rit s faire du neuf avec du vieux ou en d autres termes les rendre plus maintenables Qu est ce qu un syst me h rit legacy systems Syst me ancien mais fonctionnant toujours et rendant des services importants De tr s grands changements ont t effectu s sur ces syst mes Diff rentes personnes ont travaill s sur ces syst mes Ce sont des syst mes ayant des sp cifications incompl tes une documentation incompl te ou m me absente crits avec des langages de programmation anciens et con us pour mat riels anciens Face au dilemme suivant Faut il continuer util
143. tware architecture is the structure of the components of a program system their interrelationships and principles and guidelines governing their design and evolution over time Garlan et Perry IEEE 1995 e A Software architecture is an abstract system specification consisting primarily of functional components described in terms of their behaviors and interfaces and component component interconnections Hayes Roth 1994 e The software architecture of a program or a computing system is the structure or structures of the system which comprise software components the externally visible properties of those components and the relationships among them Bass Clement and Kazman 1997 4 Caract ristiques d une bonne conception Une bonne conception en modules devra favoriser e Une forte coh sion les l ments ne sont pas r unis par hasard dans un m me module Ils forment un tout dans le but de r aliser une t che commune e Un faible couplage les modules sont relativement ind pendants e L abstraction prendre en consid ration ce dont on a besoin pour l utilisation souhait e consid rer uniquement les aspects importants d un syst me un moment donn en faisant abstraction des autres aspects e Le masquage d information seules les informations qui servent la communication avec d autres modules sont visibles de l ext rieur du module 5 Strat gies de conception Comment proc der la d composition en mo
144. u Personne individu age gt 50 gt notEmpty Op ration forAll et exists Ces deux op rations permettent de repr senter le quantificateur universel et le quantificateur existentiel Le r sultat de ces op rations est donc du type Boolean Leur syntaxe est la suivante forAll lt l ment gt lt Type gt lt expression_ logique gt exists lt l ment gt lt Type gt lt expression_logique gt forAII permet d crire une expression logique vraie si l expression lt expression_logique gt est vraie pour tous les l ments de self exists permet d crire une expression logique vraie si l expression lt expression_logique gt est vraie pour au moins un l ment de self Par exemple Pour crire une contrainte imposant que toute soci t doit poss der parmi ses employ s au moins une personne de plus de 50 ans on peut crire context Soci t inv self employ gt exists age gt 50 L op ration forAIl poss de une variante tendue poss dant plus d un it rateur Dans ce cas chacun des it rateurs parcourra l ensemble de la collection Concr tement une op ration forAll comportant deux it rateurs est quivalente une op ration forAll n en comportant qu un mais r alis e sur le produit cart sien de self par lui m me Par exemple Pour imposer qu il n existe pas deux instances de la classe Personne pour lesquelles l attribut nom a la m me valeur c est dir
145. u routier fabrication cha ne de montage 4 Principes des syst mes Plus un syst me est sp cifique moins il est capable de l adapter Plus un syst me est large plus il demande des ressources pour son entretien Un syst me fait partie d un syst me plus large on peut le diviser en sous syst mes Un syst me prend de l expansion avec l ge 5 Caract ristiques d un syst me Sa structure les objets qui le composent Son volution les tats successifs dans lesquels il se trouve Ses fonctions ce qu il sait faire 6 Cycle de vie d un syst me Orientation maintenance Faisabilit des besoins du syst me Conception pr liminaire recette syst me du syst me validation du syst me conception d taill e int gration du syst me mat riel logiciel production sp cification fonctionnelle validation du logiciel du logiciel conception pr liminaire int gration et du logiciel test d int gration conception d taill e tests unitaires du logiciel du logiciel codage du logiciel Discussion Etude de la faisabilit Conception pr liminaire du syst me Sp cification Conception d taill e du syst me Sp cification fonctionnelle du logiciel Conception pr liminaire du logiciel Production Conception d taill e du logiciel Codage Tests unitaires du logiciel Int gration et test d int gration Validation du logiciel Contr les Int gration mat riel logiciel Production Validation du syst me
146. un sous type du type r el dans la hi rarchie des types OCL 12 2 Pourquoi OCL Les contraintes peuvent tre crites en langage naturel car il est simple mettre en uvre et compr hensible par tous Par contre il est ambigu et impr cis il rend difficile l expression des contraintes complexes OCL est un langage formel volontairement simple d acc s Il poss de une grammaire l mentaire OCL peut tre interpr t par des outils OCL repr sente en fait un juste milieu entre le langage naturel et un langage tr s technique langage math matique informatique Il permet ainsi de limiter les ambigu t s tout en restant accessible 12 3 criture des contraintes Une contrainte constitue une condition ou une restriction s mantique exprim e sous forme d instruction dans un langage textuel qui peut tre naturel ou formel Une contrainte peut tre attach e n importe quel l ment de mod le ou liste d l ments de mod le Une contrainte d signe une restriction qui doit tre appliqu e par une impl mentation correcte du syst me On repr sente une contrainte sous la forme d une cha ne de texte plac e entre accolades La cha ne constitue le corps crit dans un langage de contrainte qui peut tre naturel d di comme OCL ou encore directement issu d un langage de programmation 12 4 Repr sentation des contraintes et contraintes pr d finies Soit le diagramme suivant Il
147. ur la construction de logiciels fiables efficaces peu co teux et dans des d lais raisonnables Le g nie logiciel se pr occupe des proc d s de fabrication des logiciels de fa on que les quatre 4 crit res suivants soient satisfaits Le syst me le logiciel qui est fabriqu r pond aux besoins des utilisateurs La qualit correspond au contrat de service initial Elle regroupe plusieurs facteurs tels que l extensibilit la fiabilit la compatibilit la r utilisabilit l int grit etc Les co ts restent dans les limites pr vus au d part Les d lais restent dans les limites pr vus au d part R gle du CQFD Co t Qualit Fonctionnalit s D lai 4 1 Quelques d finitions possibles a Le g nie logiciel est donc l art de sp cifier de concevoir de r aliser et de faire voluer avec des moyens et dans des d lais raisonnables des programmes des documentations et des proc dures de qualit en vu d utiliser un syst me informatique pour r soudre certains probl mes b Le g nie logiciel c est l application de m thodes scientifiques au d veloppement de th ories de m thodes de techniques de langages et d outils favorisant la production de logiciel de qualit c Le g nie logiciel est une discipline de l informatique qui regroupe un ensemble de connaissances de proc d s des acquis scientifiques pour la conception la v rification et la documentation du
148. urne le nombre d l ments la cardinalit de self includes objet T Boolean vrai si self contient l objet objet excludes objet T Boolean vrai si self ne contient pas l objet objet includesAII c Collection T Boolean vrai si self contient tous les l ments de la collection c excludesAlII c Collection T Boolean vrai si self ne contient aucun l ment de la collection c isEmpty vrai si self est vide notEmpty vrai si self n est pas vide Op rations de base sur les ensembles Set Nous d crivons ici quelques op rations de base sur les ensembles type Set que propose le langage OCL union set Set T Set T retourne l union de self et set intersection set Set T Set T intersection entre self et set including objet T Set T Le r sultat contient tous les l ments de self plus l objet objet excluding objet T Set T Le r sultat contient tous les l ments de self sans l objet objet Exemples 1 Une soci t a au moins un employ context Soci t inv self employ gt notEmpty 2 Une soci t poss de exactement un directeur context Soci t inv self directeur gt size 1 3 Le directeur est galement un employ context Soci t inv self employ gt includes self directeur Op ration sur les l ments d une collection Syntaxe g n rale La syntaxe d une op ration portant sur les l ments d une collection est la sui
149. vante lt collection gt gt lt op ration gt lt expression gt Dans tous les cas l expression lt expression gt est valu e pour chacun des l ments de la collection lt collection gt L expression lt expression gt porte sur les propri t s des l ments en les citant directement par leur nom Le r sultat d pend de l op ration lt op ration gt Op ration select et reject Ces deux op rations permettent de g n rer une sous collection en filtrant les l ments de la collection self Leur syntaxe est la suivante select lt l ment gt lt Type gt lt expression_ logique gt reject lt l ment gt lt Type gt lt expression_ logique gt select permet de g n rer une sous collection de self ne contenant que des l ments qui satisfont l expression logique lt expression_logique gt reject permet de g n rer une sous collection contenant tous les l ments de self except ceux qui satisfont l expression logique lt expression_logique gt Par exemple pour crire une contrainte imposant que toute soci t doit poss der parmi ses employ s au moins une personne de plus de 50 ans on peut crire indiff remment 1 context Soci t inv self employ gt select age gt 50 gt notEmpty 2 context Soci t inv self employ gt select individu individu age gt 50 gt notEmpty 3 context Soci t inv self employ gt select individ
Download Pdf Manuals
Related Search
Related Contents
Préparateurs instantanés d`Eau Chaude Sanitaire Adcom GFA-5500 User's Manual TAFCO WINDOWS NU2-231V-I Instructions / Assembly Manuel d`installation - Apsynet Visual Directory Whirlpool 8527278B Washer User Manual 6 millions de malentendants Dados referentes aos Aspiradores Cirúrgicos Copyright © All rights reserved.
Failed to retrieve file