Sources, références bibliographiques. Génie logiciel. CS421 et CS422 2014-2015. Modalités évaluation. Equipe pédagogique. Un examen écrit (75%)



Documents pareils
ELECTRICITE. Chapitre 13 Régimes transitoires des circuits RC et RL. Analyse des signaux et des circuits électriques. Michel Piou

UML. Mise à Niveau UML (Unified Modeling Language) Plan. L Electricien et l Informaticien. 1 - Introduction. Plan. Automotive industry: Volkswagen

Les soutiens publics à l exportation

Ecole des JDMACS, Angers, Mars 2009 Commande prédictive : interaction optimisation commande

book a e e x a HTML5 t Q

Chapitre IV Les oscillations couplées «Les oscillations libres d un système à plusieurs degrés de liberté»

Inclure la vidéo comme levier de sa stratégie marketing

Chapitre 8. Structures de données avancées. Primitives. Applications. L'informatique au lycée.

Informatique des systèmes embarqués

Votre succès notre spécialité!

Le «Scoring» LOGISTIQUE

Votre conseiller publicité. Une Question? 0470/

Fiche technique. " Cible/Echantillon " Mode de recueil " Dates de terrain

dysfonctionnement dans la continuité du réseau piétonnier DIAGNOSTIC

RECAPITULATIF PLANS Pour quelle école?

CERES logiciel de gestion commerciale pour négociants en vin

MTH 2301 Méthodes statistiques en ingénierie. MTH 2301 Méthodes statistiques en ingénierie

100 % gratuit. inédit.

LES ESCALIERS. Du niveau du rez-de-chaussée à celui de l'étage ou à celui du sous-sol.

IGE G 4 E 87 M o M d o é d lisation o n de d s ba b ses de d do d n o n n é n es S ma m ine n 7

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Recueil d'exercices de logique séquentielle

NOTICE DE MONTAGE VERSION 72

BILAN EN ELECTRICITE : RC, RL ET RLC

a g c d n d e s e s m b

Clemenceau. Régime sinusoïdal forcé. Impédances Lois fondamentales - Puissance. Lycée. PCSI 1 - Physique. Lycée Clemenceau. PCSI 1 (O.

S euls les flux de fonds (dépenses et recettes) définis s ent l investissement.

SYSTEME D EXPLOITATION : MS-DOS

Sciences Industrielles Précision des systèmes asservis Papanicola Robert Lycée Jacques Amyot

ISAN System: 3 Création d un V-ISAN

Gestion de casiers en milieu scolaire. Augmenter la disponibilité en mode centralisé ou consignes, avec les casiers de Traka. traka.

e x dx = e x dx + e x dx + e x dx.

MAISON DE LA RATP 54, quai de la Râpée -189, rue de Bercy Paris. M Gare de Lyon. M Gare de Lyon

ARRANGEMENT ET PROTOCOLE DE MADRID CONCERNANT L ENREGISTREMENT INTERNATIONAL DES MARQUES DEMANDE D ENREGISTREMENT INTERNATIONAL RELEVANT

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

7. Droit fiscal. Calendrier Actualité fiscale 7.2 Contrôle et contentieux fiscal 7.3 Détermination du résultat fiscal.

Formation Veille stratégique sur internet et e-réputation (Ref : E13) Optimiser la veille stratégique et protéger son image par l'utilisation du web.

Décoration, équipement. de la Maison. Janvier 2013 sans prix. Printemps / Été. SADY s TRADING WOOD TRADING.

Comparaison de la disponibilité de diverses configurations de redondance d'alimentation en rack

Tu le fais! n om. Le j ournal des EEDF de la région Midi- Pyrénées Juillet Numéro 8 π

Technique RSR /DCo

TEPZZ 6Z85Z5A T EP A2 (19) (11) EP A2 (12) DEMANDE DE BREVET EUROPEEN

Office de l harmonisation dans le marché intérieur (OHMI) Indications requises par l OHMI: Référence du déposant/représentant :

Matériau pour greffe MIS Corporation. Al Rights Reserved.

Algorithmes sur les mots (séquences)

Accueil Events, l accueil personnalisé des touristes d affaires Informations, bonnes adresses, réservations et découvertes!

Présentation de la plateforme IDS Prelude

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Viandes, poissons et crustacés

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

EP A2 (19) (11) EP A2 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2009/22

au Point Info Famille

A. RENSEIGNEMENTS GÉNÉRAUX. (Adresse civique) 3. Veuillez remplir l'annexe relative aux Sociétés en commandites assurées à la partie E.

04002-LOR 2004 Mars 2004

Informations techniques

CSMA e Colloque National en Calcul des Structures Mai 2013

Le guide du parraina

Natrel va agrandir son usine laitière de Saint-Laurent

C est signé mars 2015 Mutuelle soumise au livre II du Code de la Mutualité - SIREN N DOC 007 B-06-18/02/2015

LinSM L'approche Open Source du BSM

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Le théorème de Thalès et sa réciproque

Un exemple d étude de cas

3 : «L amitié éternelle» 4 : «L amour» 5 à 11 : Le Dossier 12 : Loisirs 13 : Fin d année en beauté

Supplément Nouveautés 2015

«Les Variabilistes II» Mission T60

Aerodrome chart ALT AD : 309 (11 hpa)

RESOLUTION D'UN PROBLEME THERMIQUE INVERSE POUR LA DETERMINATION DES DEFAUTS A L'INTERIEUR D UN CORPS SOLIDE

RDV E-commerce 2013 Mercredi 6 Mars, Technopark

UNE AVENTVRE DE AGILE & CMMI POTION MAGIQUE OU GRAND FOSSÉ? AGILE TOVLOVSE 2011 I.VI VERSION

Lot 4: Validation industrielle. Youness LEMRABET Pascal YIM, 19/11/2010

Plan. Gestion des stocks. Les opérations de gestions des stocks. Les opérations de gestions des stocks

Calculer comment se constituer un capitale ; Calculer comment rembourser une dette en effectuant des versements réguliers.

Epreuve Commune de TIPE : Partie D

!" #$#% #"& ' ( &)(*"% * $*' )#""*(+#%(' $#),")- '(*+.%#"'#/* "'") $'

Informations techniques et questions

ANNEXES. André de Palma et Cédric Fontan. Thema Transport & Réseaux. Le 26 octobre 2000

(51) Int Cl.: B23P 19/00 ( ) B23P 19/04 ( ) F01L 1/053 ( )

Le présentoir virtuel. Paul FABING

Métiers du Multimédia

Tout ce qu il faut savoir en math

Journée d échanges techniques sur la continuité écologique

Les circuits électriques en régime transitoire

Exemple de Plan d Assurance Qualité Projet PAQP simplifié

Liens entre fonction de transfert et représentations d'état d'un système (formes canoniques de la représentation d'état)

La santé de votre entreprise mérite notre protection.

La Cible Sommaire F o c u s

Corrigé du baccalauréat S Pondichéry 13 avril 2011

Chapitre 3: TESTS DE SPECIFICATION

DEMANDE DE GARANTIE FINANCIÈRE ET PACK RCP

Jouve, 18, rue Saint-Denis, PARIS

«La raison d être d une organisation est de permettre à des gens ordinaires de faire des choses extraordinaires.»

Incorporé au 3 e régiment d infanterie coloniale

DOSSIER DE CANDIDATURE POUR UNE LOCATION

Produits à base de cellules souches de pomme

TUBES ET PROFILS CREUX

Prévoyance professionnelle obligatoire pour les personnes au chômage

LASTO Appuis élastomère

Synthèse de cours (Terminale S) Calcul intégral

Transcription:

Sourcs, référncs bblogrphqus In Sommrvll, Sofwr Engnrng (éd. 9) CS42 CS422 204-205 Mchl Blch, Jms Rumbugh, Modélson concpon ornés obj vc UML 2 Brry Bohm, Sofwr Engnrng Economcs Cours d gén logcl d Frd Oubdsslm, Ionns Prsss, Jn-Mr Fvr (990-2008) 2 Equp pédgogqu Modlés évluon Ionns Prsss Cours commun CS42-CS422 Mckl Chzlon TD CS42 (EIS) Séphn Choll TD CS422 (IR) Un xmn écr (75%) Conrôl connu (25%) Présnc/prcpon n cours/td Inrrogons n cours 3 4

Objcfs du cours Inroducon u gén logcl Présnon ds prncpls éps ds prncpux concps nrvnn dns l concpon d un logcl, d s spécfcon à s lvrson. Ul ux fuurs ngénurs logcl, concpurs d sysèms nllgns comporn du logcl. 5

L logcl jou un rôl mjur dns ou économ dévloppé. Ls dépnss ds nrprss n dévloppmn/ch d logcls consun un pr mporn du PIB.. Inroducon u gén logcl. D plus n plus d sysèms son (olmn ou n pr) conrôlés pr ds logcls. L gén logcl s un dscpln yn pour obj ls ouls ls méhods ulsés dns l cdr d dévloppmns profssonnls. 2 Coû lés u logcl Produs logcls L coû du logcl dépss, l plus souvn, clu du mérl dns un sysèm nllgn. L coû d l mnnnc d l évoluon pu dépssr ( d lon) clu d son dévloppmn. L gén logcl vs à opmsr ls coûs d dévloppmn/évoluon. Produs générqus Produs sndrds vndus à ds clns (rmns d x, nvgurs nrn, logcls d compblé ) Spécfcon du produ f pr l fournssur Produs sur msur Sysèms commndés pr un cln pour un bson spécfqu (vonqu, plog d cnrls nuclérs ) Spécfcon du produ f pr l cln 3 4

FAQ sur l gén logcl (sourc Sommrvll) FAQ sur l gén logcl (sourc Sommrvll) Quson Wh s sofwr? Wh r h rbus of good sofwr? Wh s sofwr ngnrng? Wh r h fundmnl sofwr ngnrng cvs? Wh s h dffrnc bwn sofwr ngnrng nd compur scnc? Wh s h dffrnc bwn sofwr ngnrng nd sysm ngnrng? Answr Compur progrms nd ssocd documnon. Sofwr producs my b dvlopd for prculr cusomr or my b dvlopd for gnrl mrk. Good sofwr should dlvr h rqurd funconly nd prformnc o h usr nd should b mnnbl, dpndbl nd usbl. Sofwr ngnrng s n ngnrng dscpln h s concrnd wh ll spcs of sofwr producon. Sofwr spcfcon, sofwr dvlopmn, sofwr vldon nd sofwr voluon. Compur scnc focuss on hory nd fundmnls; sofwr ngnrng s concrnd wh h prccls of dvlopng nd dlvrng usful sofwr. Sysm ngnrng s concrnd wh ll spcs of compur-bsd sysms dvlopmn ncludng hrdwr, sofwr nd procss ngnrng. Sofwr ngnrng s pr of hs mor gnrl procss. Quson Answr Wh r h ky chllngs fcng Copng wh ncrsng dvrsy, dmnds for rducd sofwr ngnrng? dlvry ms nd dvlopng rusworhy sofwr. Wh r h coss of sofwr ngnrng? Wh r h bs sofwr ngnrng chnqus nd mhods? Roughly 60% of sofwr coss r dvlopmn coss, 40% r sng coss. For cusom sofwr, voluon coss ofn xcd dvlopmn coss. Whl ll sofwr projcs hv o b profssonlly mngd nd dvlopd, dffrn chnqus r ppropr for dffrn yps of sysm. For xmpl, gms should lwys b dvlopd usng srs of prooyps whrs sfy crcl conrol sysms rqur compl nd nlyzbl spcfcon o b dvlopd. You cn, hrfor, sy h on mhod s br hn nohr. 5 6 Arbus ssnls d un logcl (sourc Sommrvll) Acvés prncpls n gén logcl Produc chrcrsc Mnnbly Dpndbly nd scury Effcncy Accpbly Dscrpon Sofwr should b wrn n such wy so h cn volv o m h chngng nds of cusomrs. Ths s crcl rbu bcus sofwr chng s n nvbl rqurmn of chngng busnss nvronmn. Sofwr dpndbly ncluds rng of chrcrscs ncludng rlbly, scury nd sfy. Dpndbl sofwr should no cus physcl or conomc dmg n h vn of sysm flur. Mlcous usrs should no b bl o ccss or dmg h sysm. Sofwr should no mk wsful us of sysm rsourcs such s mmory nd procssor cycls. Effcncy hrfor ncluds rsponsvnss, procssng m, mmory ulson, c. Sofwr mus b ccpbl o h yp of usrs for whch s dsgnd. Ths mns h mus b undrsndbl, usbl nd compbl wh ohr sysms h hy us. Spécfcon. Cln fournssur défnssn l logcl à rélsr. Dévloppmn. Concpon, progrmmon. Vldon. Vérfcon d l ssfcon ds ns du cln. Evoluon. Modfcon du logcl (à l dmnd du cln ou bn su à un évoluon du mrché). 7 8

Eps prncpls d un dévloppmn logcl Eps prncpls d un dévloppmn logcl Anlys ds bsons Concpon d l soluon Vldon Rélson du logcl 9 0

Modélson d un sysèm 2. Inroducon à l modélson vc UML Modélson créon d plusurs modèls du sysèm. Chqu modèl corrspond à un vu prculèr du sysèm. Modélson d l évoluon d un sysèm vc ds équons mhémqus Modélson d l srucur d un hbon à l d d plns Modélson d un résu élcrqu sous form d grphs Modélson d l évoluon ds condons mééorologqus L modélson prm u concpur d mux comprndr l sysèm d communqur vc ss équps vc l cln. 2 Qund quo modélsr? Eps prncpls d un dévloppmn logcl Un modèl d un sysèm xsn s ul à l dnfcon ds bsons (compréhnson ds forcs fblsss). Un modèl du nouvu sysèm s ul à l concpon d l soluon (qu vu-on fr?). Ds modèls puvn êr consrus ou u long du procssus d dévloppmn, jusqu à l lvrson du produ («Modl Drvn Engnrng»). Anlys ds bsons modèls d nlys Vldon modèls d vldon Concpon d l soluon modèls d concpon Rélson du logcl modèls d rchcur 3 4

Eps prncpls d un dévloppmn logcl Modélson n gén logcl L rélson d logcls dpus oujours f ppl à ds chnqus d modélson (modélson ds donnés, ds rmns ). Ls noons ulsés son nombruss héérogèns. UML (Unfd Modlng Lngug) s un nsmbl d noons normlsés lrgmn dopé dns l ndusr du logcl. Ls noons UML puvn êr ulsés pour décrr ds modèls d dfférns yp (nlys, concpon, mplémnon ). 5 6 Dns c cours Un brèv nroducon à UML Un éud plus fn ds noons dsnés à l nlys, l concpon, n pr, l mplémnon. L lngg UML présnon rpd (Trnsprns sur UML d J-M. Fvr) Objcf fournr ds ouls ds compéncs uls à ou ngénur mné à rvllr dns l concpon d sysèms vncés nclun du logcl. 7 8

pul rrr 500 fr prndr l cr l dsrb. l cr d P. l rsrv l bnqu lr n comp sorr 5 blls d 00 fr rrr d 500 fr sur l comp n confrmr débr 500 fr l comp d P. En n rr cr En n cr rré blls rrés pul rrr 500 fr prndr l cr monn ncorrc cr nséré Cl n 0..* sgn r Cln sgnr 0..* muvs cod..4 0..* ul r s CrBlu Cod rr M x..4 0..* 0.. ulrs Cod rrmx En n du cod En n du monn Co mp numé ro sold... En vérfcon EsAccpéPr> CrBlu En dsrbuon..* vrmnpossbl cod bon B nqu nu mé ro no m Dsrbuur l dsrb. l cr d P. l rsrv l bnqu lr n comp sorr 5 blls d 00 fr En n rr cr rrr d 500 fr sur l comp n En n confrmr cr rré blls rrés 0..* cr nséré monn ncorrc..* muvs cod 0.. monn corrc En n du cod En vérfcon En n du monn En dsrbuon cod frppé 0..*..* cod bon numéro sold... Consorum Comp EsAccpéPr> 0..* l comp d P. débr 500 fr cod frppé monn corrc 0..*..* vrmnpossbl pul..* rrr 500 fr sgnr sgnr frd Cln pul Cln prr Cln mr Cln soph Cln s g n r s g n r f r d C l n pul p u l C lp nr r m r C l n C ls o p nh C l n numéro nom sgnr s g n r Dsrbuur Bnqu ulrs ulrs ulrs ulrs l rsrv d blls..* CrBlu CrBlu CrBlu 0..* 0..* Consorum EsAccpéPr> c4 Comp c Comp c2 Comp c3 Comp EsAccpéPr> EsAccpéPr> l dsrbuur l bnqu l cr d P. u l r s u l r u s l r s u l r s rrr 500 fr C r B l u 6 sorr 5 bll d 00 fr C r B l u C r B l u 2 lr n d comp E s A c c p é P r > l rsrv d blls 3 rrr 500 fr sur comp n E s A c c p é P r > c 4 C o m p c C o m p c 2 c C o m p 3 C o m p E s A c c p é P r > 5 confrmr B n q u l dsrbuur l bnqu l cr d P. 6 sorr 5 bll d 00 fr 2 lr n d comp D s r b u un r D s r b u u r B q u B n q u 3 rrr 500 fr sur comp n 5 confrmr C o n s o r u m C o n s o r u m Dsrbuur Bnqu Bnqu Bnqu Dsrbuur l comp d pul l comp d pul 4 débr(500) 4 débr(500) Consorum Consorum UML = Unfd Modlng Lngug UML = «Unfd Modlng Lngug» Anlys concpon orné-obj ==> Un noon <== Ds méhods " Th Ronl Unfd Procss" "Th Unfd Sofwr Dvlopmn Procss",... Ds ouls Ronl Ros, Objcrng, Toghr J, ArgoUML,... 9 0 Sndrdson v concnsus LS noons UML Sblson d prqus ndusrlls éprouvés UML dop plusurs noons d modélson éprouvés nrodu ds nouvlls Dfférns groups d prssons lobbs ndusrls Vndurs d'ouls, d méhods, d svor-fr Ulsurs ndvduls, ndusrls, nsuonnls, UML n vs ps l'nnovon ms l consnsus Dgrmms ds cs d ulson Dgrmms d clsss Dgrmms d'objs Dgrmms d séquncs Dgrmms d collboron Dgrmms d és Dgrmms d cvés Dgrmms d composns Dgrmms d déplomn Lngg d conrns (OCL) Lngg d'cons Lngg xuls 2

Dgrmms d objs Dgrmms d clsss CrBlu EsAccpéPr> Dsrbuur sgnr frd Cln sgnr pul Cln ulrs ulrs CrBlu c4 Comp c Comp Bnqu Bnqu Consorum Cln sgnr..4 0..* ulrs Comp numéro sold.....* Bnqu numéro nom..* 0..* prr Cln mr Cln sgnr soph Cln ulrs ulrs CrBlu c2 Comp c3 Comp EsAccpéPr> Bnqu Dsrbuur Consorum 0..* CrBlu Cod rrmx 0.. AccpéPr>..* Dsrbuur Consorum 0..* EsAccpéPr> 3 4 Dgrmms d és Dgrmms ds cs d ulson En n cr nséré En n du cod cr rré muvs cod cod frppé RrrDLArgn En n rr cr En vérfcon Cln ConsulrSonComp Ajour DsBlls Trnsporur DBlls cod bon FrUnVrmn monn ncorrc En n du monn blls rrés monn corrc En dsrbuon Assurr LMnnnc Tchncn DsrbuurDBll 5 6

Dgrmms d séqunc Dgrmms d collboron pul l dsrb. l cr d P. l rsrv l bnqu l comp d P. l rsrv rrr 500 fr lr n comp rrr 500 fr 6 sorr 5 bll d 00 fr 3 rrr 500 fr sur comp n 4 débr(500) rrr 500 fr sur l comp n confrmr débr 500 fr pul l dsrbuur l bnqu 5 confrmr 2 lr n d comp prndr l cr sorr 5 blls d 00 fr l cr d P. l comp d pul 7 8 Dgrmms d cvés Dgrmms d composns Cln Vndur Lvrur S rnsgnr Eblr un dvs Commndr Fcurr Pyr Lvrr 9 20

Dgrmms d déplomn Prncpux élémns grphqus dsrbuur <<SSLT>> Srvur Plm clss ou obj cs d'ulson ssocon composon <<cpp>> nrfc spéclson rffnmn SrvurWb <<hps>> PC pqug mssg synchron é mssg synchron é nl/fnl dépndnc ou rour d mssg synchron 2 22 no L noon UML? Modélson d sysèms complxs LS noons UML Noons grphqus + noon xull Sgnfcon précs (dns un conx donné) Noon sndrd (ms ps oujours rspcé) Noon rès générl (ms ps oujours suffsn) Noon xnsbl Impossbl d décrr un sysèm vc un sul dgrmm UML fourn dfférn concps pour orgnsr ls dgrmms dfférns objcfs d modélson => dfférns modèls orgnson logqu d modèls n rms d pqugs 23 24

CrBlu Cod rr M x Cl n Cl n CrBlu Cod rr M x CrBlu Cl n Cod rr M x Cl n Dsrbuur CrBlu Cod rr M x Dsrbuur Cl n Co mp numé ro sold... B nqu nu mé ro no m Dsrbuur Consorum Cl n Cl n Co mp numé ro sold... Cl n B nqu nu mé ro no m Dsrbuur Consorum Dsrbuur Dsrbuur Srucuron logqu Pqugs Modélson procssus d dévloppmn Elémns d'un modèl orgnsés n un hérrch d pqugs UML fourn un mécnsm, ms ps d crèr ou d méhod Ds modèls puvn êr ulsés à ous ls éps d un procssus d dévloppmn. Un dgrmm d clsss pu srvr à l défnon ds bsons (p.x. domn bncr, comps, crs bncrs c) Un dgrmm d clsss pu défnr l srucur d un pplcon nformqu (clss Bouon, clss GsonnrDFchrs ) Ls noons ulsés ls modèls produs dépndn d c qu l on vu xprmr. 25 26 Nor prspcv sur l modélson UML Nor prspcv sur l modélson Ds modèls pour l nlys Nécssrs pour comprndr l bson (ms ps l soluon) Ds modèls pour l nlys Dgrmms d clsss, d objs, d és Ds modèls pour l concpon Nécssrs pour défnr l pplcon son compormn ls donnés qu ll mnpul (ms ps commn ll s rélsé) Ds modèls pour l mplémnon Pour défnr l srucur d l pplcon (commn ll s rélsé) Ds modèls pour l concpon Dgrmms d cs d ulson, d séqunc Ds modèls pour l mplémnon Archcur logcll Dgrmms d clsss, d composns, d déplomn 27 28

UML Dgrmms d clsss 3. Modélson Procssus d nlys d concpon Anlys du domn 2 Noon pour ls clsss Noons smplfés pour ls clsss Comp numéro nr sold rél découvrmx nr consulrsold() nr crédr( somm nr) débr( somm nr) { nv sold > découvrmx } Comp Comp numéro sold... Comp crédr() débr()... Comp numéro sold... crédr() débr()... Comp numéro sold rél découvrmx nr consulrsold() nr crédr( somm nr) débr( somm ) 3 4

Noons pour ls objs Clss vs. Objs lcompdpul Comp lcompdpul Comp lcompdpul Comp numéro = 6688 sold = 5000 découvrmx = -00!! " &! # " ' & lcompdmrcomp numéro = 2275 sold = 0000 découvrmx = -000 Comp numéro sold rél découvrmx nr consulrsold() nr crédr( somm nr) débr( somm ) Comp numéro = 200 sold = 50 découvrmx = 0 lcompdpul Comp numéro = 6688 sold = 5000 découvrmx = -00 # $% # $'% 5 6 Lns (nr objs) Rôls ( '' ' pul Cln APourComp c Comp prr Cln ulr APourComp comp c Comp prr Cln APourComp c2 Comp - + + - mr Cln c3 Comp ( $') * +,% 7 - -. 8

Cln pul Cln prr Cln mr Cln APourComp> APourComp> APourComp> Comp c Comp c2 Comp c3 Comp Assocons (nr clsss) Assocon vs. Lns "/(/ Cln ulr APourComp comp Comp # $% Un ln l dux objs Un ssocon l dux clsss Un ln s un nsnc d ssocon Un ssocon décr un nsmbl d lns pul Cln APourComp> c Comp Ds lns puvn êr joués ou dérus pndn l xécuon, (c n s ps l cs ds ssocons) prr Cln APourComp> c2 Comp # $'% L rm "rlon" n ps pr du vocbulr UML mr Cln c3 Comp 9 0 Nommr ls ssocons Ulsr ls rôls pour «nvgur» Comp Comp bnqugérn Bnqu Bnqu Cln ulr APourComp comps Comp Comp Comp compsgérés Gèr Bnqu Bnqu pul.comps prr.comps mr.comps c.ulr c2.ulr c3.ulr = {c} = {c2,c3} = { } = pul = prr = prr pul Cln prr Cln mr Cln ulr ulr ulr APourComp> APourComp> comps comps comps c Comp c2 Comp c3 Comp Comp compsgérés EsGéréPr bnqugérn Bnqu - 2

Crdnlés d un ssocon Assocons "rflxvs" Précs combn d objs puvn êr lés à un sul obj sourc Crdnlé mnml crdnlé mxml ( C mn..c mx ) Cln APourComp 0..* ulr comps Comp Rn n'mpêch un ssocon d rlr ds "objs" d'un mêm clss nfns Prsonn * 2 prns EsPrnD ) 0, ) ++,!( / ' / prns pul prns mr prns prns prns frd prns pul Cln APourComp> c Comp prns sylv jn noll prr Cln APourComp> c2 Comp prns myr prns mr Cln c3 Comp!! 8 9 Conrns nr ssocons Dgrmm d clsss Cln ulrprncpl 0..* 0..* co-ulrs 0..*..* /ulrs 0..* &!" ' Comp numéro sold... Cln sgnr 0..*..4 0..* ulrs CrBlu Cod rrmx * Comp numéro sold... EsAccpéPr>..* Bnqu..* numéro nom Dsrbuur..* 0..* Consorum 0..* 2 $3&% () Un cln n pu ps êr à l fos ulr prncpl co-ulr d un mêm comp. (2) Ls ulrs d un comp son l ulr prncpl ls co-ulrs l cs échén 20 2

Cln Cln Comp Cln u l r s u l r s sgn r Cln Consorum u l r s u l r s > > > Comp Comp Bnq u Bnq u Dsrbuur Bnq u Dsrbuur Consorum Cln Cln Comp Cln u l r s u l r s Cln Consorum > > > Comp Comp Bnq u Bnq u Dsrbuur Consorum Cln Comp Cln u l r s u l r s Cln Consorum > > > Comp Comp Bnq u Bnq u Dsrbuur Consorum Cln sgnr 0.. *..4 0.. ulrs Cod rrmx CrBlu s g n r Cons oru m pul Cln prr Cln mr Cln soph Cln s g n r * u l r s u l r s u l r s * B n q u B n q u Dsr buu r numéro sold... Comp EsAccpéPr> Cr Blu Cr Blu.. *.. * c Comp c2 Com p c3 Comp EsA ccp épr > EsA ccp épr > EsA ccp épr > EsA ccp épr > c Comp c2 Com p c3 Comp numéro nom Dsrbuur Cr Blu Bnqu Cr Blu B n q u B n q u Dsr buu r u l r s u l r s u l r s 0.. *.. * s g n r pul Cln prr Cln mr Cln soph Cln Cons oru m s g n r Consorum 0.. * Dgrmms d objs Dgrmms d clsss vs. d objs sgnr frd Cln sgnr pul Cln ulrs ulrs CrBlu CrBlu EsAccpéPr> c4 Comp c Comp Dsrbuur Bnqu Bnqu Consorum Un dgrmm d clsss défn l nsmbl d ous ls és possbls ls conrns dovn oujours êr vérfés Un dgrmm d objs décr un é possbl à un nsn, un cs prculr do êr conform u modèl d clsss prr Cln mr Cln sgnr soph Cln ulrs ulrs CrBlu c2 Comp c3 Comp EsAccpéPr> Bnqu Dsrbuur Consorum Ls dgrmms d objs puvn êr ulsés pour xplqur un dgrmm d clss (donnr un xmpl) vldr un dgrmm d clss (l "sr") EsAccpéPr> 23 24 Dgrmms d clsss vs. d objs Générlson / Spéclson Cln sgnr 0..*..4 0..* ulrs CrBlu Cod rrmx * Comp numéro sold.....* EsAccpéPr>..* Bnqu numéro nom Dsrbuur..* 0..* Consorum 0..* + " Prsonn /4 / Comp 2 3 0... Homm Fmm #'$&%! 5 /4 / ( Comp Eprgn 25 26

Hérg Rdéfnon d'opérons &5 ),5 $... % Comp sold crédr() débr() CompEprgn uxinérê jourinérês () * Bnqu {nv sold > -5000} {nv uxinérê < 00} 27 CompEprgn sold uxinérê crédr() débr() jourinérês () {nv sold > -5000 uxinérê < 00} * Bnqu " / /5 *! (6 ( " PEL crédr() débr() jourinérês () 28 Comp sold crédr() débr() CompEprgn crédr() débr() jourinérês () PEC débr() PET débr() Vson nsmbls Synhès ds concps d bs 5 65 78 + Clss rbu méhod Assocon rôl crdnlé Comp c3 Comp Eprgn Comp c c3 c2 CompEprgn c4 c4 c c2 0 o o2 o o2 3 & 9 o3 o4 o5 o2 o o3 29 30

Composon Composon / // / Vour 4 Rou Pnu Jn 7 ; / / 6 + "(+ < ' = 4. Vour 4 Rou #> $?' % Pnu Jn 3 32 Composon Composon 6 + "(+ < ' = 4. Documn..*..* Chpr 0..*..* Scon Fgur Documn..*..* Chpr 0..* 0.. Scon Fgur documn chpr chpr scon scon fgur scon fgur 33 34

Clsss ssocvs Clsss ssocvs * @' 78 Prsonn mployé socéé * 0..2 Socéé Prsonn mployé socéé * 0..2 Socéé slr = 500 Emplo slr ugmnr() Emplo slr ugmnr() mployé jn mployé 2 slr = 700 3 xrox ujf & 6. 6. 6$ 5 % & mr mployé slr = 000 35 36 Clsss ssocvs Clsss ssocvs *.!" ( 6 p Emplo> Emplo> A 6 p 37 Emplo slr = 500 Emplo slr = 700 s s Prsonn Prsonn mployé * 0..2 Emplo mployé slr 0..2 Emplo * socéé slr 5.'" 38 socéé p Socéé 5.'." p 2 Socéé s s

Clsss ssocvs Conrns prédéfns sur ls ssocons &? "'" Prsonn FchDPy * {ordrd} mployé * Emplo slr ugmnr() socéé 0..2 Socéé *' B CD '. BD B3D RlvéD Comp lgns * {ordrd,ddonly} Lgn Opéron 9 39 4 Assocons qulfés Exmpl! 6! 6 Assocon90 rtr * * mmbrs * 0.. Prsonn <<numron>> Tr Scrr Prsdn Trsorr Rpror nom Fchr 0.. &(! ss Trsorr Prsdn mmbrs mmbrs frd sylv hmd Scrr jo ss2 Prsdn 42 43

Synhès sur ls ssocons - ClssA x srng rola <AssoconX 0..* {frozn} AssoconX rbuz ClssB Rffnmn du concp d générlson E (( 44 45 Hérg rdéfnon Clsss méhods bsrs Fgur surfc() déplcr() Crcl Polygon. 6 Fgur surfc() déplcr() Crcl Polygon " " surfc() surfc() surfc() surfc() Fgur Fgur {bsrc} Crré surfc() Trngl surfc() Crré surfc() surfc() déplcr() surfc() {bsrc} déplcr() ( 46 47

Clsss bsrs du pon d vu nsmbls Hérg mulpl Fgur Fgurs 5 surfc() déplcr() Crcl surfc() Polygon surfc() Crcls c c2 c3 Polygons Trngls Crrés c c2 2 Chuffg Apprl Apprl Élcrqu Pols Chuffg Apprls Chuffgs lcrqus Apprls élcrqus Mcro onds Trngl Crré c4 Poêl Chuffg Élcrqu Mcro-Onds surfc() surfc() 9 $FG% 48 49 Pons lés à l hérg à l clssfcon &5 " H I H 5" I ( ( H 5 I UML Dgrmms d és 4 ('.& H H ( H 6 50 5

Dgrmms d és Dgrmms d és Ulsés pour modélsr l évoluon d un obj su à un événmn xérur (ppl d méhod, chngmn d vlur d un rbu ) Il s g d modélsr un compormn Lur ulson n s ps oblgor (résrvé ux clsss yn ds compormns non rvux) Dgrmm d és = uom d és fns Trnson = récon à un évènmn é nl/fnl é rnson 52 53 Exmpl (Sommrvll) Whr son s dgrm Dgrmms d és Plusurs yps d évènmns Sgnl Mssg synchron rçu Appl (cll) Appl d un méhod d l obj Chngmn (chng) Ssfcon d un condon (x. comp à découvr) Evénmn mporl (fr, whn) A 20h llumr l éclrg Arrêr l lrm près 0 sconds 54 55

Anlys d l pplcon Ls modèls consrus lors d l nlys du domn son ssnllmn consués d dgrmms d clsss d dgrmms d és. Ils décrvn l domn d l pplcon. 4. Modélson Anlys d l pplcon Un modèl d nlys d l pplcon vocon rprésnr c qu f l pplcon nommn ss nrcons vc ls ulsurs. Prm ls noons UML on rn pour c ép d modélson Ls dgrmms d cs d ulson Ls dgrmms d séqunc 2 Ls dgrmms d cs d ulson UML Cs d ulson Un ds noons d UML (us-css) Bu défnr l sysèm du pon d vu ds ulsurs défnr ls lms précss du sysèm Noon rès smpl, compréhnsbl pr ous Prm d srucurr ls bsons (chr ds chrgs) l rs du dévloppmn CsU CsU2 A CsU4 CsU3 A2 CsU5 S A3 3 4

Exmpl d dgrmms d cs d ulson Exmpl d dgrmms d cs d ulson CrérUnComp ConsulrUnComp Cln Cln RrrDLArgnAu Dsrbuur Bnqu Cnrl Guchr DposrDLArgn SurUnComp RrrDLArgnAu Dsrbuur ConsulrSonComp RrrDLArgn DUnComp Sysèm bncr GrrLsPrs Drcur Trnsporur DBlls Ajour DsBlls DsrbuurDBll Assurr LMnnnc Tchncn 5 6 Exmpl d dgrmms d cs d ulson Modèl ds cs d ulson PorurDCr Grdn Enrr Sorr LsrLs TnvsDFruds DébloqurLsPors GérrLsCrs Cpur AIncnd Admnsrur Un dgrmm d cs d ulson décr ls curs CsU ls cs d ulson A CsU4 l sysèm Un modèl d cs d ulson pu êr formé d plusurs dgrmms d cs d'ulson, d dscrpons xulls, d dgrmms d séquncs... CsU5 S CsU2 CsU3 A3 A2 SysèmDConrôlDAccs 7 8

Cs d ulson (CU) L sysèm CsDUlsonX Cs d ulson (CU) un mnèr d ulsr l sysèm un su d nrcons nr un cur l sysèm x l guchr pu crér un nouvu comp Corrspond à un foncon vsbl pr l ulsur Prm d ndr un bu pour un ulsur Do êr ul n so Sysè m L sysèm s un nsmbl d cs d ulson L sysèm conn ls cs d ulson, ms ps ls curs. Un modèl d cs d ulson prm d défnr ls foncons ssnlls du sysèm, ls lms du sysèm, l sysèm pr rppor à son nvronnmn. 9 0 Acurs Acurs vs. ulsurs Cln Un Acur = Cln N ps confondr l noon d'acur d prsonn ulsn l sysèm élémn xrn qu nrg vc l sysèm un cur prnd ds décsons, ds nvs, s "cf" rôl qu un ulsur jou pr rppor u sysèm x un cln, un guchr Un mêm prsonn pu jour plusurs rôls x Murc s drcur ms pu jour l rôl d guchr Plusurs prsonns puvn jour un mêm rôl x Pul Prr son dux clns Un cur n s ps forcémn un êr humn x un dsrbuur d bll pu êr vu comm un cur 2

Dfférns yps d curs Dscrpon ds curs Cln Ulsurs prncpux x cln, guchr Ulsurs scondrs x conrôlur, drcur, ngénur sysèm,... Pérphérqus xrns x un cpur, un horlog xrn,... Sysèms xrns x sysèm nrbncrs Cln Pour chqu cur chosr un dnfcur rprésnf d son rôl donnr un brèv dscrpon xull Guchr Un guchr s un mployé d l bnqu chrgé d fr l nrfc nr l sysèm nformqu ls clns qu l rço u compor. L guchr pu rélsr ls opérons courns créon d un comp, dépô rr d rgn, c. 3 4 Ulé ds curs Dscrpon ds cs d ulson Cln L défnon d curs prm surou d rouvr ls cs d ulson x qu pu fr un guchr? un cln? l drcur? ms pu uss êr ulsé pour défnr dfférns pons d vus sur l sysèm, dérmnr ds dros d ccès pr yp d cur, fxr ds ordrs d prorés nr curs,... CsDUlsonX Pour chqu cs d ulson chosr un dnfcur rprésnf donnr un dscrpon xull smpl l foncon rélsé do êr comprs d ous ps rop d déls précsr c qu f l sysèm, c qu f l cur Ls cs d ulson n dovn ps s chvuchr 5 6

Exmpl d dscrpon d un cs d ulson Rlon cur - cs d'ulson communcon CsDUlsonX Rrr DLArgn AuDsrbuur Lorsqu un cln bson d lqud l pu n ulsn un dsrbuur rrr d l rgn d son comp. Pour cl - l cln nsèr s cr bncr dns l dsrbuur - l sysèm dmnd l cod pour l dnfr - l cln chos l monn du rr - l sysèm vérf qu l y suffsmmn d rgn - s c s l cs, l sysèm dsrbu ls blls déb l comp du cln - l cln prnd ls blls rr s cr Rprésn un communcon (né pr l'cur) Echng d mssgs ponllmn dns ls dux sns Guchr CrérUnComp Sr rffné pr l su (.g. documn d spécfcons xrns) S l'cur s un humn nrfc homm sysèm S l'cur s un logcl nrfc logcll 7 8 Rlon nr curs générlson Rmrqu L sul rlon nr curs s l rlon d générlson Guchr CrérUnComp FrmrUnComp RrrDLArgn DUnComp Ls communcons xrns nr curs n son ps modélsés. UML s concnr sur l dscrpon du sysèm d ss nrcons vc l'xérur Cln ConsulrSonComp RrrDLArgnAu Dsrbuur RrrDLArgn PrChèqu Guchr EnChf AnnulrUnComp Guchr Sysèm Bncr 9 20

Rmrqu Exmpl d dgrmm d CU décoré { 2/03/02 } { P } Ps d communcons nrns nr cs d'ulson. UML s concnr sur l dscrpon du sysèm d ss nrcons vc l'xérur Cln Drcur RrDLArgn ConsulrLsSolds Sysèm Bncr Guchr P proré CrérUnComp { 20/03/02 } DposrDLArgn SurUnComp { 2/05/02 } RrrDLArgn DUnComp ConsulrUnComp { P } { P } { 25/2/02 } { P2 } { 0/0/02 } RrrDLArgnAu Dsrbuur { 0/2/02 } GrrLsPrs { P3 } { P2 } Cln Drcur Sysèm bncr 2 22 Informons à décrr Exmpl d dscrpon déllé d un CU Qund l CU commnc, pré-condons Qund l CU s rmn, pos-condons L chmn corrspondn u déroulmn norml Ls vrns possbls ls cs d rrurs Ls nrcons nr l sysèm ls curs Ls nformons échngés Ls évnuls bsons non fonconnls Rrr DLArgn AuDsrbuur Précondon L dsrbuur conn ds blls, l s n n d un opéron, l n s n n pnn, n n mnnnc Débu lorsqu un cln nrodu s cr bncr dns l dsrbuur. Fn lorsqu l cr bncr ls blls son sors. Poscondon S d l rgn pu êr rré l somm d rgn sur l comp s égl à l somm d rgn qu l y v vn, mons l monn du rr. Snon l somm d rgn sur l comp s l mêm qu vn. 24 25

Exmpl d dscrpon déllé d un CU Exmpl d dscrpon déllé d un CU Rrr DLArgn AuDsrbuur Déroulmn norml () l cln nrodu s cr bncr (2) l sysèm l l cr vérf s l cr s vld (3) l sysèm dmnd u cln d pr son cod (4) l cln p son cod confdnl (5) l sysèm vérf qu l cod corrspond à l cr (6) l cln chos un opéron d rr (7) l sysèm dmnd l monn à rrr Vrns (A) Cr nvld u cours d l ép (2) s l cr s jugé nvld, l sysèm ffch un mssg d rrur, rjè l cr l cs d ulson s rmn. (B) Cod rroné u cours d l ép (5)... Rrr DLArgn AuDsrbuur Conrns non fonconnlls (A) Prformnc l sysèm do régr dns un dél nférur à 4 sconds, qulqu so l con d l ulsur. (B) Réssnc ux pnns s un coupur d courn ou un ur défllnc survn u cours du cs d ulson, l rnscon sr nnulé, l rgn n sr ps dsrbué. L sysèm do pouvor rdémrrr uomqumn dns un é cohérn sns nrvnon humn. (C) Réssnc à l chrg l sysèm do pouvor gérr plus d 000 rrs d rgn smulnémn... 26 27 Rlons nr cs d'ulson ncluson xnson Anon «nclud» RrrDLArgn «nclud» "Th UML ncluds ohr rlonshps bwn us css byond h smpl ncluds, such s <<xnd>>. I srongly suggs h you gnor hm. I'v sn oo mny suons n whch ms cn g rrbly hung up on whn o us dffrn us cs rlonshps, nd such nrgy s wsd. Insd, concnr on h xul dscrpon of us cs." S'Idnfr [UML Dslld, MrnFowlr] «xnds» Trnsfrr DLArgn «nclud» «xnds» "A common sgn of novc (or cdmc) us cs modlr s proccupon wh us cs dgrms nd us cs rlonshps, rhr hn wrng x.... Us cs dgrms nd us cs rlonshps r scondry n us cs work. Us css r x documns. Dong us cs work mns o wr x." [Applyng UML nd Prns, Crg Lrmn] RrrDLArgn AvcDfféré RrrDLArgn 28 29

Scénro Exmpl d scénro Pour décrr ou vldr un CU ls scénros Un scénro s un xmpl un mnèr prculèr d ulsr l sysèm pr un cur prculr dns un conx prculr. cs d ulson = nsmbl d scénros scénro = un xécuon prculèr d un CU Rrr DLArgn AuDsrbuur SCENARIO 4 Pul nsèr s cr dns l dsrbuur d203 L sysèm ccp l cr l l numéro d comp L sysèm dmnd l cod Pul p 234 L sysèm ndqu qu c n s ps l bon cod L sysèm ffch un mssg propos d rcommncr Pul p 6622 L sysèm ffch qu l cod s corrc L sysèm dmnd l monn du rr Pul p 50000 fr L sysèm vérf s l y ssz d rgn sur l comp... 30 3 Dgrmms d séquncs "sysèm" UML Dgrmms d séqunc Pour décrr un scénro dgrmm d séquncs Dgrmm d séquncs L un ds noons UML, un noon générl Pu êr ulsé dns d nombrux conxs Prm d décrr un séqunc ds mssgs échngés nr dfférns objs Dfférns nvux d déls Pour décrr un scénro smpl, dux objs l cur l sysèm "Dgrmm d séquncs sysèm" 32 33

Exmpl d scénro Cs d'ulson vs. scénro pul Cln Insérr cr l sysèm Nvu modèl Dmndr cod Vérfr cr Enrr cod 234 Mssg d rrur Dmndr cod Vérfr cod Nvu nsncs Applr Sylv Enrr cod 6622... 34 35 Synhès sur l modélson L nlys ds bsons nécss L nlys du domn d l pplcon (ls nformons mnpulés ls rlons nr lls) ls dgrmms d clsss ls dgrmms d é son ls ouls qu nous ulsrons à c ff. L nlys d l pplcon (c qu vu l cln) l ulson ds dgrmms d cs d ulson ds dgrmms d séqunc prmn n grnd pr c modélson. Anon on s oujours dns un ép d nlys ds bsons ( non ps d rélson). 36

Problémqu 5. Modélson Objc Consrn Lngug (OCL) Ls dfférns dgrmms UML prmn d xprmr crns conrns grphqumn conrns srucurlls (.g. un rbu dns un clss) conrns d yps (.g. sous-ypg) conrns dvrss (.g. composon, crdnlé, c.) v ds propréés prédéfns sur ds clsss (.g. {bsrc}) sur ds rôls (.g. {ordrd}) C s bn, ms c s lon d êr suffsn... 2 Illusons prgés ou non Exprsson ds conrns n lngu nurll Anon ux conrns supposés êr évdns ou vérfés "nurllmn" sgnr pul Cln prr Cln mr Cln sgnr ulrs ulrs ulrs ulrs CrBlu CrBlu c Comp c2 Comp c3 Comp Cln sgnr..4 0..* ulrs 0..* CrBlu * Comp numéro sold dmx L sgnr d'un cr blu s ulr d c comp. Smpl à mr n œuvr ulson ds nos n UML + x lbr compréhnsbl pr ous Indspnsbl! documnr ls conrns s ssnl décr ls problèms l plus ô possbl Problèms mbgu, mprécs dffcl d xprmr clrmn ds conrns complxs dffcl d lr l x ux élémns du modèl jn Cln ulrs c2 Comp 3 4

Exmpl OCL Objc Conrn Lngug Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx * * Comp numéro sold dmx..* Bnqu numéro Dsrbuur Consorum () L sold d'un comp n do ps êr nférur u découvr mxmum uorsé (2) L sgnr d'un cr blu ssocé à un comp s l ulr d c comp. (3) Un cr blu s ccpé dns ous ls dsrbuurs ds consorums d l bnqu. (4) Ls clns d'un bnqu non fflé à un consorum n puvn ps vor d cr blus...*..* 0..* 0..* OCL = Objc Consrn Lngug Rlvmn smpl à écrr à comprndr conx Vol nv nbplcsponllmnlbrs = von.nbplcs - rsrvons->slc(sconfrmé).nbpssgr->sum() Synx purmn xull sns symbols (mhémqus) érngs conx Vol nv sdéfn mpls rsrvons->forall( sconfrmé mpls spyé) 5 6 Exmpl Exmpl Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx Comp numéro sold dmx * *..* Bnqu numéro Dsrbuur..*..* 0..* Consorum 0..* Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx * * Comp numéro sold dmx Comp..* Bnqu numéro..* Dsrbuur..* 0..* Consorum 0..* -- () L sold d'un comp n do ps êr nférur u découvr mxmum uorsé conx c Comp conx Comp nv sold > dmx nv dmx >= 0 nv sold > -dmx -- (2) L sgnr d'un cr blu ssocé à un comp s l ulr d c comp. conx CrBlu nv slf.sgnr = slf.comp.ulrs 7 8

Exmpl Exmpl Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx * * Comp numéro sold dmx Comp..* Bnqu numéro..* Dsrbuur..* 0..* Consorum 0..* Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx * * Comp numéro sold dmx..* Bnqu numéro Dsrbuur..*..* 0..* Consorum 0..* -- (2) L sgnr d'un cr blu ssocé à un comp s l'un ds ulrs d c comp. conx CrBlu nv slf.comp.ulrs->ncluds(slf.sgnr) -- (3) Un cr blu s ccpé dns ous ls dsrbuurs ds consorums d l bnqu. conx CrBlu nv slf.dsrbuur = slf.comp.bnqu.consorum.dsrbuur->ss() 9 0 Exmpl Crcérsqus d OCL Cln sgnr 0..*..4 0..* ulrs CrBlu cod rrmx * * Comp numéro sold dmx..* Bnqu numéro..* 0..* Dsrbuur..* / dsrbuurspossbls conx CrBludsrbuursPossbls s(dsrbuur) drv slf.comp.bnqu.consorum.dsrbuur->ss() Consorum 0..* Lngg d'xprssons (fonconnl) Vlurs, xprssons, yps Formn ypé Ps d'ffs d bords Lngg d spécfcon, ps d progrmmon Hu nvu d'bsrcon Ps forcémn xécubl Prm d rouvr ds rrurs bucoup plus ô dns l cycl d v Pons fbls Ps uss rgourux qu ds noons formlls comm VDM, Z ou B => ps d pruvs possbls Pussnc d'xprsson lmé Pons fors Rlvmn smpl à écrr à comprndr Très bn négré à UML Bon comproms nr smplcé pussnc d'xprsson Pssg vrs dfférns pls-forms chnologqus 2

Conx d'un conrn OCL présnon déllé Conrn oujours ssocé à un élémn d modèl l conx d l conrn. Dux chnqus pour spécfr l conx Cln sgnr..4 0..* ulrs Comp numéro sold dmx conx Comp nv dmx >=0 nv sold > -dmx 0..* CrBlu * { n 0 } cod rrmx { nv dmx >= 0 nv sold > -dmx } { nv Comp.ulrs->ncluds(slf.sgnr)} conx CrBlu nv Comp.ulrs->ncluds(slf.sgnr) nv cod>0 nd cod<=9999 nv rrmx>0 conx Compsold ngr n floor(dpoinl * 0 / 00) 3 4 Invrns (nv) Exmpls d nvrns (nv) Prédc ssocé à un clss ou un ssocon Do êr vérfé à ou nsn L conx s défn pr un obj c obj pu êr référncé pr slf L nvrn pu êr nommé conx Prsonn nv pstropvux g < 0 nv slf.g >= 0 conx Prsonn nv g>0 nd slf.g<0 nv mrglégl mré mpls g > 6 nv nfnsok nfns->sz() < 20 nv no nfns-> ncluds(slf) nv nfns->ncludsall( flls) nv nfns->forll( slf.g -.g < 4 ) 5 6

Pré-condons pos-condons (pr, pos) Exprsson du corps d'un méhod (body) Prédcs ssocés à un opéron ls pré-condons dovn êr vérfés vn l xécuon ls pos-condons son vrs près l xécuon slf désgn l obj sur lqul l opéron à lu Dns un pos-condon @pr prm d fr référnc à l vlur vn l opéron rsul dsgn l rsul ocsisnw() ndqu s un obj n'xs ps dns l'é précédn conx Typopéron( prm Typ, ) Typ pr nom prm < pr nom2 pos nom2 rsul > Dscrpon n OCL d'un méhod sns ff d bord ({squry}) Equvln à un rquê conx Prsonncf( p Prsonn ) OrdrdS(Prsonn) body slf.ncsrs()->nrscon(p.ncsrs()) ->slc(sx = SxFmnn)- >sordby(ddnssnc) conx Prsonn df ncsrs S(Prsonn) = prns->unon(prns.ncsrs->ss()) 7 8 Exprsson d vlurs nls dérvés (drv) Typs Précsr n OCL l vlur nl courn d'un rbu ou d'un ssocon dérvé Complè l noon / conx Prsonncom Ingr n prns.ncom->sum() * % -- pock llownc drv f undrag hn prns.ncom->sum() * % -- pock llownc ls job.slry -- ncom from rgulr job ndf Typs d bs Ingr Rl Booln Srng Typs énumérés Typs consrus TuplTyp( x T, y T ) S(T) OrdrdS(T) Squnc(T) Bg(T) Collcon(T) Typs provnn d UML clsss ssocons Mé-yps OclTyp OclAny OclS OclExprsson 9 20

Synx ds xprssons Exprssons l OCL s un lngg smpl d xprssons consns dnfcur slf xpr op xpr xprobj. propobj xprobj. propobj ( prmrs ) xprcollcon -> propcollcon ( prmrs ) pckgpckglmn f cond hn xpr ls xpr ndf l vr yp = xpr n xpr l vr yp = xpr n xpr conx Prson nv l ncom Ingr = slf.job.slry->sum() n f sunmployd hn ncom < 00 ls ncom >= 00 ndf 2 22 A rnr Ingr Rl q. prm d ccédr à un propréé d un obj q -> prm d ccédr à un propréé d un collcon q prm d ccédr à un élémn d un pqug, d un clss, q Ds règls prmn d mxr collcons objs slf.mpôs(998) / slf.nfns->sz() slf.slr() - 00 slf.nfns->slc( sx = Sxmsculn ) slf.nfns->sempy() slf.nfns->forll(g>20) slf.nfns->collc(slr)->sum() slf.nfns.slr->sum() slf.nfns->unon(slf.prns)->collc(g) 23 Ingr vlurs, -5, 34, 24343,... opérons +, -, *, dv, mod, bs, mx, mn Rl vlurs.5,.34,... opérons +, -, *, /, floor, round, mx, mn L yp Ingr s «conform» u yp Rl 24

Booln Srng Booln vlur ru, fls opérons no, nd, or, xor, mpls, f-hn-lsndf L évluon ds opérurs or, nd, f s séqunll ru or x s oujours vr, mêm s x s ndéfn fls nd x s oujours fux, mêm s x s ndéfn (g<40 mpls slr>000) nd (g>=40 mpls slr>2000) f g<40 hn slr > 000 ls slr > 2000 ndf slr > (f g<40 hn 000 ls 2000 ndf) 25 Srng vlur, un phrs opérons = s.sz(), s.conc(s2), s.subsrng(,2) s.ouppr(), s.olowr(), nom= nom.subsrng(,).ouppr().conc( nom.subsrng(2,nom.sz()).olowr()) Ls chîns n son ps ds séquncs d crcèrs -( Srng <> Squnc(chrcr), l yp chrcr n'xs ps 26 Enuméron Elmn vs. snglon Ulson d un vlur d un yp énuméré JourMrd Opérons =, <> Ps d rlon d'ordr épous->noempy() mpls épous.sx = SxFmnn <<numron>> Jour Lund Mrd Mrcrd Jud Vndrd Smd Dmnch Dns ou lngg ypé l fu dsngur un élémn du snglon connn c élémn S{} Pour smplfr l nvgon OCL un convrson mplc s f lorsqu un opéron sur un collcon s pplqué à un élmn solé lm -> prop s équvln à S{lm}->prop slf->sz() = 27 28

Collcons Ulson ds collcons lors d l nvgon S S(T) Unqu, ps d'ordr OrdrdS OrdrdS(T) Unqu, ordr Bg Bg(T) Répéon, ps d'ordr Squnc Squnc(T) Répéon, ordr Collcon s l yp d bs Collcon(T) obj. nomdrol pour yp ou 0.. * {ordrd} * {nonunqu} * {ordrd, nonunqu} * X X X S(X) X OrdrdS(X) X Bg(X) X Squnc(X) 29 30 Exprssons d yp collcon Opérons rdonnlls sur ls collcons Exmpls S { 'lund', 'mrcrd', 'mrd' } Bg { 'lund', 'lund', 'mrd', 'lund' } OrdrdS { 0, 20, 5 } Squnc { 'lund', 'lund', 'mrd', 'lund' } Noon.. pour spécfr ds nrvlls Squnc {..5, 2..4 } Ul pour rélsr ds érons Squnc { 0.. nbégs- } -> forll( possèdarrê() ) Crdnlé coll -> sz() Vd coll -> sempy() Non vd coll -> nonempy() Nombr d occurrncs coll -> coun(lm) Apprnnc coll -> ncluds( lm ) Non pprnnc coll -> xcluds( lm ) Incluson coll -> ncludsall(coll) Excluson coll -> xcludsall(coll) Somm ds élémns coll -> sum() 3 32

Exmpls Opérons sur ls nsmbls S { 3, 5, 2, 45, 5 }->sz() Squnc {, 2, 45, 9, 3, 9 } ->coun(9) Squnc {, 2, 45, 2, 3, 9 } ->ncluds(45) Bg {, 9, 9, } -> coun(9) c->ss()->sz() = c->sz() c->coun(x) = 0 Bg {, 9, 0,, 2, 9, } -> ncludsall( Bg{ 9,,9} ) Unon ns -> unon( ns ) Inrscon ns -> nrscon(ns) Dfférnc ns - ns2 Ajou d un élémn ns -> ncludng(lm) Supprsson d un élémn ns -> xcludng(lm) Convrson vrs un ls ns -> ssqunc() Convrson vrs un sc ns -> sbg() Conv.vrs un ns. Ord. ns -> sordrds() 33 34 Flrg slc, rjc ny Flrg urs synxs coll -> slc( cond ) coll -> rjc( cond ) coll -> ny( cond ) slc rn ls élémns vérfn l condon (xnson d un prédc sur un nsmbl) rjc élmn cs élémns ny sélconn l'un ds élémns vérfn l condon opéron non dérmns ul lors d collcon n connn qu'un élémn rourn l vlur ndéfn s l'nsmbl s vd slf.nfns ->slc( g>0 nd sx = SxMsculn) slf.nfns ->rjc(nfns->sempy())->noempy() mmbrs->ny(r='présdn') Il s églmn possbl d nommr l vrbl d xplcr son yp slf.mployé->slc(g > 50) slf.mployé->slc( p p.g>50 ) slf.mployé->slc( p Prsonn p.g>50) slf.mployé->rjc( p Prsonn p.g<=50) 35 36

Qunfcurs forall, xss, on Qunfcurs urs synxs coll -> forall( cond ) coll -> xss( cond ) coll -> on( cond ) Qunfcur unvrsl xsnl slf.nfns->forll(g<0) slf.nfns->xss(sx=sxmsculn) slf.nfns->on(g>=8) Il s possbl d nommr l vrbl d xplcr son yp d prcourr plusurs vrbls à l fos slf.nfns->forll( g < slf.g ) slf.nfns->forll(.g < slf.g - 7) slf.nfns->forll( Prsonn.g < slf.g - 7) slf.nfns->xss(,2.g = 2.g ) slf.nfns->xss(,2.g = 2.g nd <>2 ) slf.nfns->forll(,2 Prsonn <> 2 mpls.prénom <> 2.prénom) 37 38 Uncé Img d un xprsson collc coll -> sunqu ( xpr ) Rourn vr s pour chqu vlur d l collcon, l xprsson rourn un vlur dfférn slf.nfns -> sunqu ( prénom ) à l plc d slf.nfns->forll(,2 Prsonn <> 2 mpls.prénom <> 2.prénom) Prqu pour défnr l noon d clé mporé d clé coll -> collc( xpr ) Corrspond à l mg d un foncon L xprsson s évlué pour chqu élémn L résul s un bg, s l'opéron s pplqué à un nsmbl ou un bg un séqunc, s l'opéron s pplqué à un séqunc ou un ns. Ord. slf.nfns->collc(g) = Bg{0,5,0,7} slf.mployés->collc(slr/0)->sum() 39 40

Img d un xprsson ur synx Collcons mbrqués Collc s un opéron d nvgon courn Pour smplfr on pu ulsr l rccourc suvn slf.nfns->collc(g) <=> slf.nfns.g Rppl l résul s un sc ou un séqunc à cus ds doublons S l on souh obnr un nsmbl slf.nfns.g->ss() Prm d nvgur slf.nfns.nfns.vours 4 Jusqu'à UML 2.0 ps d collcons d collcons! rgumn pu ulsé plus complx à comprndr ms à pl nuv lors d l nvgon slf.prns.prns ms à pl pr défu lé à l'opéron mplc collc A prr d UML 2.0 mbrcons rbrrs ds consrucurs d yps S( S(Prsonn) ) Squnc( OrdrdS(Jour) ) Très ul pour spécfr ds srucurs non rvls Rppors Documns XML, c. 42 CollcNsd Collcons ordonnés vs. rés L'opéron collc m à pl ls collcons (ul pour nvgr) CollcNsd prm d consrvr l'mbrcon nfns.nfns.prénom = nfns->collc(nfns)-> collc(prénom) = Bg{ 'prr', 'pul', 'mr', 'pul' } nfns->collcnsd(nfns.prénom) = Bg { Bg{'prr','pul'}, Bg{'mr','pul'} } Collcons ordonnés Squnc OrdrdS ms ps forcémn rés Squnc { 2, 23, 5, 5, 2 } Squnc { 5, 5, 2, 2, 23 } OrdrdS { 0, 4, 20 } OrdrdS { 4, 0, 20 } Squnc{..s->sz()-} -> forll( s.() < s.(+)) 43 44

Tr d'un collcon Irur générl Ir coll -> sordby( xpr ) L'érur l plus générl L'opéron < do êr défn sur l yp corrspondn à xpr Prm d rr un collcon n foncon d'un xprsson nfns->sordby( g ) nfns->sordby( nfns->sz() )->ls() l gs = nfns.g->sordby( ) n gs.ls() - gs.frs() L résul s d yp OrdrdS s l'opéron s pplqué sur un S Squnc s l'opéron s pplqué sur un Bg Aurs érurs (forll, xs, slc, c.) cs prculrs coll -> r( élém Typ ; ccumulur Typ2 = <vlur nl> <xpr> ) Exmpl nfns -> r( Enfn ; cc Ingr = 0 cc+.g ) Equvln n psudo cod à cc Ingr = 0 ; forch Enfn n nfns cc = cc+.g rurn cc 45 46 Opérons spécfqus u modèl obj d UML OCL spécfcés UML ccès à un rbu, à un opéron nvgon VIA un ssocon VERS un clss ssocv DEPUIS un clss ssocv VIA un ssocon qulfé ccès u yp supr yps ccès ux nsncs d un clss (xnson) ccès à l'é d'un obj consrucons pour ls pos condons 47 48

Accès à un rbu Accès à un méhod Nvgon VIA un ssocon obj. rbu Accès à un rbu slf.ddnssnc obj. méhod( xpr, xpr2, ) Accès à un méhod sns ff d bord slf.mpôs(998) obj. nomdrol Accédr à l nsmbl ds objs lés à un obj donné L yp du résul dépnd d l crdnlé d {ordrd} ou 0.. * {ordrd} * X X X S(X) X OrdrdS(X) slf.pèr s d yp Prsonn slf.vours s d yp S(Vour) slf.nfns s d yp OrdrdS(Prsonn) 49 50 Nvgon VIA un ssocon Nvgon VERS un ssocon Rppl un élémn s convr n snglon lorsqu un opéron sur collcon s pplqué slf.pèr->sz() = obj. nomdssocon Prm d ccédr à l nsmbl ds lns Prm d sr s l vlur s défn (l nsmbl vd rprésn l vlur ndéfn) slf.pèr->sempy() slf.épous->noempy() mpls slf.épous.sx = Sxfémnn S un ssocon n ps d nom d rôl lors on pu ulsr l nom d l clss dsnon Prsonn sx pèr 0.. épous 0.. Prsonn s.emplo p.emplo s.emplo->collc(slr)->sum() s.emplo.slr->forll(x x>500) mployé * 0..2 Emplo slr ugmnr() socéé Socéé 5 52

Nvgon VERS un ssocon réflxv Nvgon DEPUIS un ssocon obj. nomdssocon [ nomdrol ] S l ssocon s réflxv l fu ndqur l sns d prcours d l ssocon (pour évr l mbgué) ln. nomdrol Accès ux objs nrvnn dns un ln à prr d c ln, n ulsn l nom d rôl Il y oujours un un sul obj corrspondn Prsonn g mployés p.evluon[chfs] p.evluon[mployés] p.evluon[chfs].no -> sum() * * chfs Evluon no Prsonn mployé * 0..2 Emplo slr.mployé.socéé socéé Socéé s.emplo-> slc(slr<000).mployé 53 54 Nvgon v un Assocon Qulfé Opérons concrnn ls yps ln. nomdrol[ vlur, vlur, ] Accès qulfé Ou nsmbl d'objs lés (ln. nomdrol) Bnqu nc comp 0.. Comp obj. oclistypof( yp ) yp drc obj. ocliskndof( yp ) yp drc ou supryps Crcls c c2 Fgurs Polygons Trngls Crrés c b.comp[4029] b.comp obj. oclastyp( yp ) Convrson d yp (csng) c3 c4 2 p c2 55 56

Opérons concrnn ls yps Opérons défns sur ls clsss Conrns sur ls yps p.nfns->slc(oclistypof(fmm)) p.nfns->slc(ocliskndof(fmm)) Clss.propdclss Prm d ccédr ux propréés d clsss Accès ux propréés rdéfns.oclastyp(prsonn).nom Typg dynmqu p.nfns->slc(ocliskndof(fmm)).oclastyp(s(fmm)) ->slc(nomdjf <> nom) Prsonn nom Fmm nomdjf * nfns Clss.llInsncs Rourn l nsmbl ds nsncs d l clss c s à dr l xnson d c clss Prsonn.llInsncs->sz() < 500 Prsonn.llInsncs->forll(p,p2 p<>p2 mpls p.numscu <> p2.numscu) Prsonn.llInsncs->sUnqu(numscu) 57 58 Où ulsr OCL Défnons ddonnlls (df) OCL pu êr ulsé pour décrr ds prédcs nv nvrns d clsss nv sold < dcouvrmx pr pré-condons d opérons pr monnarrr > 0 pos pos-condons d opérons pos sold > sold@pr OCL pu églmn êr ulsé pour décrr ds xprssons df déclrr ds rbus ou ds opérons df nbenfnsingr n spécfr l vlur nl ds rbus n nfns->sz() body xprmr l corps d méhods {qury} body nfns->slc(g< ) drv défnr ds élmns dérvés (/) drv g<8 Il s possbl n OCL d défnr dns un clss xsn d nouvux rbus d nouvlls opérons conx Clss df nom yp = xpr df nomop( ) yp = xpr Ul pour décomposr ds rquês ou conrns complxs Ev d "pollur" l modèl conx Prsonn df ncrs() S(Prsonn) = prns->unon(prns.ncrs()->ss()) nv no ncrs()->ncluds(slf) 59 60

Exmpls Conrns sur l'é dns ls pos-condons conx Prsonnrrr( monn Ingr ) pr monn > 0 pos sold < sold@pr - monn conx Prsonnslr() ngr pos rsul >= LgslonslrMnmum conx CompgnmbuchEmployé( p Prsonn) Conr pr psprésn no mployés->ncluds(p) pos mbuché mployés = mployés@pr->ncludng(p) pos rsul.oclisnw() pos rsul.compgn = slf nd rsul.mployé = p @pr f référnc à l vlur d'un propréé dns l'é nl rsul f référnc u résul oclisnw ndqu qu l'obj n'xs ps dns l'é nl conx CompvrmnInrn( ds Comp, monn ngr ) Opéron pr monn>0 pr monn<slf.sold pr slf.ulr = ds.ulr pr slf.bnqu = ds.bnqu pos slf.sold < slf.sold@pr - monn pos ds.sold = ds.sold@pr + monn pos slf.oprons = slf.oprons@pr->ppnd(rsul) pos rsul.oclisnw nd rsul.monn = monn 6 62

Noons d bs 6. Proj logcl, procssus d dévloppmn, cycls d v Proj Un objcf Défn n rms d fournurs Un dél Ds moyns Acurs d un proj Mîrs d ouvrg (MOA) Mîrs d ouvrg délégué (MOAd) Mîrs d œuvr (MOE) Mîrs d œuvr délégué (MOEd) 2 MOA MOAd Enrprs ou srvc «cln» L socéé X décd d fr dévloppr un logcl d gson ds congés d son prsonnl. Prsonn yn n chrg l suv du proj pour l comp du cln (pr xmpl un rsponsbl produ) L socéé X décd d fr dévloppr un logcl d gson ds congés d son prsonnl. Mdm A. B. s chrgé d c opéron. 3 4

MOE MOEd (chf d proj) Enrprs ou srvc yn prs l nggmn d rélsr l proj pour l MOA L socéé X décd d fr dévloppr un logcl d gson ds congés d son prsonnl. Mdm A. B. s chrgé d c opéron. Ell lnc un ppl d offrs. Ell sélconn l socéé d srvcs ABLogcls. Prsonn chrgé pr l MOE pour mnr l proj Lson cln (MOA délégué) Evluon rssourcs Gson proj (évnullmn sssé pr un conrôlur) Décson d pssg d un ép du CV à un ur ABLogcls nomm Monsur Z chf d proj. 5 6 Cnux d communcon MOAd vs. MOEd MOA Mîr d ouvrg MOAd Mîr d ouvrg délégué Ulsurs MOE Mîr d ouvr MOEd Mîr d œuvr délégué (chf d proj) Equp proj Rôls complémnrs ms opposés MOAd L mllur produ u mllur prx (pour l cln) MOEd L mllur produ n rspcn l budg ls nggmns d dél Cus fréqun d échc d un proj MOAd = MOEd 7 8

Procssus d dévloppmn Eps cvés du procssus (modèl d Bohm) Ensmbl srucuré d cvés nécssrs u dévloppmn d un logcl. Tou procssus s srucuré n éps don Spécfcon (produc dsgn) défn c qu f l sysèm; Concpon mplémnon (dld dsgn, cod) défn commn s f l sysèm; Mnnnc ppor ds chngmns pour prndr n comp d nouvux bsons. A chqu ép corrspond un cvé d vldon ou vérfcon-s. Un modèl d procssus s un dscrpon bsr d un procssus. 9 Exmpl d modèl d procssus d dévloppmn Acvés Anlys bsons Concpon Progrmmon Vldon & vérfcon Prépron ds ss Gson proj/plnfcon Assurnc conrôl qulé - gson d vrsons Producon d documns 0 Eps Anlys bsons Spécfcon Archcur Progrmmon Ts Lvrson Mnnnc N ps confondr ép cvé lors d chqu ép, plusurs cvés puvn vor lu Exmpl Acvés d l ép d nlys ds bsons Eps du procssus Anlys bsons Eud xsn, défnon bsons ulsur, chr ds chrgs Concpon Eud d l répron HW/SW; nlys d rsqus d fsblé ds bsons, prooypg Progrmmon Prépron cquson ouls, plnfcon formons,... Vldon & vérfcon Réunons d vldon d documns Concpon d ouls d V&V Prépron ds ss Prépron ss ccpon (rc) Gson proj/plnfcon Conrs, chox CV, plnnng, smon rssourcs, mong équp proj Assurnc conrôl qulé - gson vrsons Eblssmn procédurs - pln qulé Chox oul gson vrsons Producon d documns Chr ds chrgs, Pln Qulé, Pln d dévloppmn, Pln d ss d ccpon Anlys ds bsons Défnon du bson du cln «Ingénr ds bsons» Défnon du problèm ds conrns d s résoluon 2

Eps du procssus Eps du procssus Spécfcon Concpon du produ Défnon d l soluon (c qu on v rélsr, ps commn on v l rélsr). Un mnul ulsur pu d ors déjà êr écr. Concpon globl Archcur nrn du produ (cln-srvur, objs ) Défnon d l rélson (commn on v rélsr l produ). 3 4 Eps du procssus Eps du procssus Concpon déllé-codg Algorhms, progrmms Rélson. Eps d s Vérfcon d l conformé du produ ux spécfcons Ts unr (foncons, moduls, clsss) Ts d négron (composns, sous-sysèms) Ts sysèm (nsmbl du produ) vn lvrson Ts d ccpon (nsmbl du produ) à l lvrson 5 6

Modèls d procssus Exmpl d procssus n cscd Modèl d procssus = orgnson ds éps Modèl n cscd ( wrfll ) Modèls érfs ncrémnux Modèl orné réulson L plupr ds gros projs dopn plusurs modèls Sourc Sommrvll 7 8 Anlys ds bsons Spécfcons xrns Concpon globl Procssus «n V» prépron Concpon déllé Codg Ts d ccpon Ts sysèm Ts d négron Ts unr Procssus n V Ls rours vrs un ép nérur son coûux. L plus souvn lmés à n- (rour à l ép précédn). S rms n cus nécssn un rour plus mporn On nvsg un vrson rédu On rrê l proj Cs d pplcon ndusrlson d un prooyp ms n fbrcon d un produ dévloppmn mul-ss plus générlmn, s ls bsons son précs, ls déls srcs ou bn l orgnson ds équps d dévloppmn xg un plnfcon src. 9 20

Modèls érfs Modèl ncrémnl Modèl ncrémnl Anlys ds bsons Anlys ds bsons Spécfcon défnon ncrémns Iéron sur concpon - codg - s Lvrson (d l nsmbl ou pr ncrémns) Spécfcons xrns Concpon Codg Ts Lvrson Avngs Prs n comp du chngmn ds bsons fclé. Mons d documnon qu pour l modèl n V. Vldon cln fclé. L cln pu vor rpdmn ds démos. Lvrson (prll) rpd possbl. L cln puvn ulsr plus rpdmn l produ. Inconvénns Procssus mons «vsbl». Mons d documnons, donc mons d élémns ngbls pour évlur l vncmn. A rm, l négron d nouvux ncrémns fn pr dégrdr l qulé globl du produ. 2 22 Bohm s sprl modl of h sofwr procss Modèl n sprl (Bohm) Chqu boucl d l sprl s un ép du procssus. Ps d phss fgés. Gson ds rsqus xplc. L modèl n sprl éé l précursur ds modèls érfs. Il s ujourd hu rrmn ulsé l qul. 23 24

Prooyps mqus Modèl vc prooypg Prooyp Offr ls prncpls foncons du logcl fnl Archcur «provsor» Prooyp xploror Pour éud d fsblé Jbl ( pror) Prooyp évoluf Prmr ncrémn d un CV ncrémnl Mqu A l pprnc xrn du logcl N offr ps d foncons Anon ux fréquns confusons nr «prooyp» «mqu» Anlys ds bsons Iéron sur Exprsson bsons Spécfcon prooypg On pss à l concpon globl qund ls bsons ls spécfcons on éé vldés Spécfcons Prooypg Concpon Codg Anon ux prooyps xplorors qu dvnnn évolufs Ts Lvrson 25 26 Fcurs d chox d un yp d procssus Procssus ornés réulson Nur du produ vsé (logcl sur msur, produ grnd publc, ) Rsqus lés ux bsons, ux spécfcons, à l fsblé Fvorsn l ulson sysémqu d composns xsns ( sur égèr ). Conrns cln Conrns nrns à l équp 27 28

Anlys ds bsons Suon dns l cycl d v prépron Ts d ccpon 7. Anlys ds bsons Spécfcons xrns Concpon globl Concpon déllé Ts sysèm Ts d négron Ts unr Codg Ls cvés d nlys d bsons s sun ssnllmn u débu du CV L rspc ds bsons s un préoccupon consn jusqu à l fn du proj 2 Acvés d l ép d nlys ds bsons Anlys ds bsons - chr ds chrgs Anlys bsons Eud xsn, défnon bsons ulsur, chr ds chrgs Concpon Eud d l répron HW/SW; nlys d rsqus d fsblé ds bsons, prooypg Progrmmon Prépron cquson ouls, plnfcon formons,... Vldon & vérfcon Réunons d vldon d documns Concpon d ouls d V&V Prépron ds ss Prépron ss ccpon (rc) Gson proj/plnfcon Conrs, chox CV, plnnng, smon rssourcs, mong équp proj Assurnc conrôl qulé - gson vrsons Éblssmn procédurs - pln qulé Chox oul gson vrsons Producon d documns Chr ds chrgs, Pln Qulé, Pln d dévloppmn, Pln d ss d ccpon Dns un mond dél L cln (MOAd) produ l chr ds chrgs vn l débu du proj Dns l mond rél Chr ds chrgs écr conjonmn pr l cln (MOAd) l chf d proj (MOEd) Objcf Avor un compréhnson commun ds bsons du cln Dsposr d un documn compl couvrn ls bsons dns ou lur mplur Bsons fonconnls Bsons non fonconnls (prformncs, rgonom...) 3 4

Typs d bsons Bsons fonconnls Bsons fonconnls Défnon ds foncons à rélsr («domn fonconnl») Défnon ds nformons mnpulés («domn ds nformons») Conrns d nrfc Conrns opéronnlls Conrns chnqus Exgncs d qulé Exgncs d documnon Exgncs d prformncs Exgncs d sûré Exgncs d fblé Exgncs d mnnblé... Conrns économqus Conrns d plnnng Exgncs d vérfcon - rc Défnon ds foncons ndus Défnon ds nformons mnpulés Prg ds foncons nr mérl logcl Compormn n cs d défllnc Compormn s nrés nvlds 5 6 Conrns d nrfc Conrns opéronnlls Inrcons vc ds composns logcls déjà xsns Oblgon d lr ds nrés sous un form donné, à un vss donné, sur un por donné... Oblgon d produr ds sors dns un form mposé, dns un por spécfqu...... Inrcons vc ls composns mérls Bson d plor l composn mérl (lngg d communcon) Bson d nr comp ds conrns d fonconnmn (mps d répons p.x.) Communcon synchron/synchron... Conrns d xécuon Typ d rmnux ulsés (cpcé d clcul, d ffchg,...) Défnon du profl ds ulsurs Nombr d ulsurs Nombr d ulsurs smulnés (mn, mx) Qulfcon ds cégors d ulsurs Lngus mîrsés pr ls ulsurs Ad ux ulsurs Ad conxull ou non Mssgs d rrur Idnfcon ds opérons rronés ds mssgs corrspondns 7 8

Conrns chnqus Exgncs d qulé Lnggs d progrmmon à ulsr Nvu d crfcon du complur Conrns d porblé Typ ds mchns d dévloppmn Typ ds mchns d s... Arbus d qulé rqus pr l cln Exgncs d documnon Exgncs d prformncs Exgncs d sûré Exgncs d fblé Exgncs d mnnblé... 9 0 Exgncs d prformnc Exgncs d sûré, d fblé Exgnc d prformnc ou bson ffcn un vlur numérqu à un vrbl «L mps d répons d l foncon f s cpl pour l bon fonconnmn du sysèm» n s ps un xgnc d prformnc l fu donnr un vlur ls condons dns lsqulls c vlur s rqus! «L mps d répons d l foncon f do êr oujours nférur à 2 sconds qund l nombr d ulsurs conncés s nférur à 500» Sûré Sécuré Inégré Confdnlé Spécfcon du mps d srvc sns nrrupon En moynn Dns l cs l plus fvorbl Dns l cs l plus défvorbl 2

Exgncs d documnon Conrns économqus - plnnng Documns fsn pr ds fournurs du proj Norms d rédcon à rspcr Exgncs d mnnblé Modfcons/évoluons ndus ds bsons ds ulsurs Evoluons du mérl 3 Agssn sur ous ls urs bsons Rchrch d comproms Exgncs d vérfcon Norms d vérfcon / s mposés pr l domn d l pplcon Défns Aéronuqu Énrg nuclér 4 Rédcon du chr ds chrgs Compléud du chr ds chrgs Défnon - movons L CdC s l documn défnssn l problèm uqul l proj logcl do pporr un soluon. Il décr ls bsons ls xgncs d l ulsur. Qulés ssnlls d un CdC Non mbgu Compl Cohérn Tsbl Compréhnsbl pr ds non-spéclss Tous ls bsons dovn êr rés L répons du sysèm à ou nré (y comprs rroné) s spécfé (uopqu) S A ppll B B ncf, lors B sonn S A ppll B B ncf, lors B sulmn B sonn Compléud rès dffcl à vérfr Anon à l surspécfcon (rsrcon du bson) Consls pour compléud Form d dscrpon sndrd ds nformons mnpulés Srucurr ls nformons Hérrchsr ls nformons 5 6

Exmpl d pln yp d chr d chrgs Tsblé du chr ds chrgs Inul d xprmr ds bsons s on n s ps vérfr lur ssfcon. Pour chqu bson lsr ls moyns d vérfcon corrspondns ls résuls ndus. Compréhnsbl pr ds non-spéclss Ulson d noons normlsés Accompgnr d xplcons nformlls L ulson d noons normlsés (UML, ) ppor d l précson nlèv ls mbguïés. C ulson n d nérê qu s l modèl s comprs pr ou l mond Anon n ps smplfr l bson pour obnr un bon dgrmm! Chpr Glossr Chpr 2 Défnon succnc produ Modèl d cs d ulson du sysèm xsn, dgrmm d clsss... Chpr 3 Modèl du domn Dgrmms d clsss Dgrmms d objs pour llusrr Conrns sur ls dgrmms Chpr 4 Modèl d cs d ulson du sysèm vsé Acurs Lms du sysèm Cs d ulson Crns conrns non fonconnlls puvn êr ncluss dns ls cs d ulson. Dgrmms d séqunc pour donnr ds xmpls d déroulmn ds cons Dgrmms d é Chpr 5 Exgncs non fonconnlls llusrés sur ls CU Aspcs d compblé vs à vs ds évoluons ds logcls du mérl Aspcs d rgonom Prformncs Inégré Confdnlé Procons nformons foncons - lmons d ccès Polqus d procon dns nrprs Aspcs jurdqus Fblé Tolérnc ux pnns Mnnblé Tsblé Flxblé... Chpr 6 Conrns d dévloppmn d mnnnc Chpr 7 Évoluons nvsgés vc prorés ds Nouvux cs d ulsons, dgrmms, conrns... 7 8 Aur xmpl d pln (Sommrvll) Th srucur of rqurmns documn Chpr Prfc Inroducon Glossry Usr rqurmns dfnon Sysm rchcur Dscrpon Ths should dfn h xpcd rdrshp of h documn nd dscrb s vrson hsory, ncludng ronl for h cron of nw vrson nd summry of h chngs md n ch vrson. Ths should dscrb h nd for h sysm. I should brfly dscrb h sysm s funcons nd xpln how wll work wh ohr sysms. I should lso dscrb how h sysm fs no h ovrll busnss or srgc objcvs of h orgnzon commssonng h sofwr. Ths should dfn h chncl rms usd n h documn. You should no mk ssumpons bou h xprnc or xprs of h rdr. Hr, you dscrb h srvcs provdd for h usr. Th nonfunconl sysm rqurmns should lso b dscrbd n hs scon. Ths dscrpon my us nurl lngug, dgrms, or ohr noons h r undrsndbl o cusomrs. Produc nd procss sndrds h mus b followd should b spcfd. Ths chpr should prsn hgh-lvl ovrvw of h ncpd sysm rchcur, showng h dsrbuon of funcons cross sysm moduls. Archcurl componns h r rusd should b hghlghd. Chpr Sysm rqurmns spcfcon Sysm modls Sysm voluon Appndcs Indx Dscrpon Ths should dscrb h funconl nd nonfunconl rqurmns n mor dl. If ncssry, furhr dl my lso b ddd o h nonfunconl rqurmns. Inrfcs o ohr sysms my b dfnd. Ths mgh nclud grphcl sysm modls showng h rlonshps bwn h sysm componns nd h sysm nd s nvronmn. Exmpls of possbl modls r objc modls, d-flow modls, or smnc d modls. Ths should dscrb h fundmnl ssumpons on whch h sysm s bsd, nd ny ncpd chngs du o hrdwr voluon, chngng usr nds, nd so on. Ths scon s usful for sysm dsgnrs s my hlp hm vod dsgn dcsons h would consrn lkly fuur chngs o h sysm. Ths should provd dld, spcfc nformon h s rld o h pplcon bng dvlopd; for xmpl, hrdwr nd dbs dscrpons. Hrdwr rqurmns dfn h mnml nd opml confgurons for h sysm. Dbs rqurmns dfn h logcl orgnzon of h d usd by h sysm nd h rlonshps bwn d. Svrl ndxs o h documn my b ncludd. As wll s norml lphbc ndx, hr my b n ndx of dgrms, n ndx of funcons, nd so on. 9 20