Inginerie Software c4

70
Adapted after 'Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5 Inginerie software curs 4 Modelarea sistemelor

Transcript of Inginerie Software c4

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Inginerie software curs 4Modelarea sistemelor

    id17922340 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea sistemului

    Modelarea sistemului este procesul de dezvoltare de modele abstracte ale sistemului.

    Modelele unui sistem exprim cerinele sistemuluintr-un mod mai tehnic.

    Specificaiile sistemului sunt documentateutiliznd un set de modele pentru sistem.

    Punte important ntre procesul de analiz i cel de proiectare.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea sistemului

    Modelarea sistemului ajut analistul n nelegerea sistemului. Modelele sunt utilizate n comunicarea cu clienii.Diferite modele prezint sistemul din perspective

    diferite: Perspectiv extern: ilustreaz contextul sistemului; Perspectiva interaciunilorilustreaz interaciunile dintre

    sistem i contextul su sau dintre componentele unui sistem.

    Perspectiv comportamental: ilustreaz comportamentulsistemului;

    Perspectiv structural: ilustreaz arhitectura sistemuluisau arhitectura datelor.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea sistemului

    Modele ale unui sistem existent - utilizare Clarificarea funciilor sistemului Baz de discutare a avantajelor i slbiciunilor acestuia Conduc la cerine pentru un sistem nou

    Modele ale unui sistem nou - utilizare Explicarea cerinelor propuse altor pri interesate de sistem Discutarea variantelor de proiect propuse Documentarea sistemului n vederea implementrii.

    ntr-un proces de inginerie condus de model (MDE) utilizare Generarea unei implementri complete sau pariale din

    modelele sistemului.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Tipuri de modele

    Un model al sistemului este o abstractizare a sistemului.

    Abstractizarea simplific n mod deliberat sistemul i elimindetaliile.

    Tipurile de modele se bazeaz pe diferite abordriale abstractizrii:

    Ex.

    Modelul fluxului datelor (Data-flow) se concentreaz pe fluxuldatelor i pe transformrile funcionale suferite de acestea, fr a intra n detalii referitoare la structura datelor.

    Modelul entitate-relaie-atribut (Entity-relationship-attribute)documenteaz structurile datelor sistemului i nu funcionalitatea acestuia.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Tipuri de modele - exemple

    Modelul fluxului datelor (Data-flow) se concentreaz pefluxul datelor i petransformrile funcionalesuferite de acestea, fr a intra n detalii referitoare la structura datelor.

    Modelul entitate-relaie-atribut(Entity-relationship-attribute) documenteazstructurile datelorsistemului i nu funcionalitatea acestuia.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelare UML

    UML notaie grafic larg utilizat pentru modelare sisteme Diagrame activitate : activitile implicate ntr-un proces

    sau n procesarea datelor. Diagrame cazuri de utilizare : interaciunile dintre un

    sistem i contextul su. Diagrame secvene : interaciunile dintre actori i sistem i

    dintre componentele sistemului. Diagrame clase : clasele de obiecte din sistem i relaiile

    dintre acestea. Diagrame stri i tranziii : comportamentul sistemului

    declanat de evenimente interne i externe.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Utilizarea modelelor grafice

    Mijloc de facilitare a discuiilor despre un sistem existent sau propus Modele incomplete i incorecte sunt acceptate deoarece

    rolul este de a oferi suport discuiilor.

    Mijloc de documentare a unui sistem existent Modelele trebuie s fie o reprezentare corect a

    sistemului dar nu trebuie s fie complete.

    Descriere detaliat a sistemului ce poate fi utilizat pentru generarea implementrii acestuia Modelele trebuie s fie corecte i complete.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea contextului

    Modelele contextului sunt utilizate pentru a ilustracontextul operaional al unui sistem modeleazceea ce se afl dincolo de limitele/marginile1(boundaries) sistemului.

    Modelele arhitecturale descriu sistemul i relaiilesale cu alte sisteme.

    1Decizia referitoare la plasarea marginilor sistemului poate fi afectat de consideraiisociale i organizaionale

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Limitele sistemului

    Limitele sistemului sunt stabilite pentru a defini ce se afl n sistem i ce n afara acestuia. Separ sistemul n curs de dezvoltare de alte sisteme

    care sunt utilizate sau depind acesta.

    Poziionarea limitelor sistemului are un efect profund asupra cerinelor acestuia.

    Definirea limitelor sistemului este o decizie politic Pot s existe presiuni de a decide limite ale sistemului

    care cresc / scad influena sau ncrcarea diferitelor pri ale unei organizaii.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Contextul unui sistem stat plat

    Model arhitectural de nivel nalt exprimat sub form de diagram bloc. Relaiile nu sunt definite => necesitatea suplimentrii cu alte modele.

    Sistem nregistrare

    pontaje

    Sistem banca

    Imprimanta

    Sistem stat plat

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Perspectiva proces

    Modelele de context ilustreaz doar sistemele din context, nu i felul n care sistemul n curs de dezvoltare este utilizat n acel context.

    Modelele de procesDUDWFXPHVWHLQWHJUDWsistemul dezvoltat n cadrul unui proces business mai larg.

    Notaii: Diagrama de activitate UML BPMN (Business Process Model and Notation)

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Sistemul stat plat n contextul su operaional

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea interaciunilor Modelarea interaciunilor cu utilizatorul : ajut la identificarea

    cerinelor acestuia.

    Modelarea interaciunilor sistem-sistem : evideniaz problemele decomunicare ce pot s apar.

    Modelarea interaciunilor componentelor : ajut la a nelege dac o structur propus pentru sistem este de natur s ofere calitile solicitate sistemului (ex. performan, fiabilitate, etc.).

    Diagrame UML folosite: Diagrame de cazuri de utilizare modeleaz interaciunile dintre

    sistem i actorii externi Diagrame de secvene - modeleaz interaciunile dintre

    componentele sistemului (pot include i ageni externi).

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelare cazuri de utilizare

    Cazuri de utilizare - suport pentru descoperirea cerinelor.

    Fiecare caz de utilizare reprezint o sarcin discretce implic interaciune extern cu un sistem.

    Actorii pot fi persoane sau alte sisteme. Reprezentare:

    Diagrama UC vedere de ansamblu a cazurilor de utilizare

    Detalii textuale pentru fiecare caz de utilizare

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Diagrame de secvene

    Modeleaz interaciunile dintre actori i obiectele din cadrul unui sistem.

    Secvena de interaciuni ce are loc n timpul unui caz de utilizare sau instan (scenariu) de caz de utilizare.

    Obiectele i actorii implicai sunt plasai n partea superioar a diagramei, avnd cte o linie vertical punctat.

    Interaciunile dintre obiecte sunt indicate cu sgei etichetate.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu:

    Diagram de secvene la nivel de sistem :

    Retragere bani de la un ATM

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu:

    Diagram de secvene pentru cazul de utilizareEliberare articole electronice

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea structurii

    Modelele structurii software-lui : organizarea unui sistem n termeni de elemente ce compun sistemul i relaiile acestora.

    Perspective ale modelelor structurii: static ilustreaz structura sistemului la proiectare dinamic ilustreaz organizarea sistemului n timpul execuiei.

    Modelele structurii sistemului sunt create la analiza i proiectarea arhitecturii sistemului.

    Diagrame UML folosite: Diagrama de clase perspectiva static Diagrama de componente perspectiva dinamic

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Diagrama de clase

    n abordrile OO ale dezvoltrii de software:

    Un sistem software este structurat sub form de coleciede obiecte care interacioneaz.

    Clas de obiecte = abstractizare a unui set de obiecte care au n comun atribute i servicii (operaii) oferite de fiecare obiect din clas.

    Diagramele de clase descriu sistemul n termeni de clase de obiecte i relaiile dintre acestea.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Notaia UML

    Nume clas

    Atribut

    Operaie

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Tip de relaie ntre clase: Asociere

    Relaie general cu semnificaia c obiecte instaniate din clasele asociate sunt legate (linked).

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Tip de relaie ntre clase: Generalizare

    Generalizarea tehnic de gestionare a complexitii prin abstractizarea caracteristicilor comune mai multor clase.

    n limbajele orientate obiect (ex. Java) generalizarea esteimplementat folosind mecanismul intern limbajului de motenire a claselor.

    ntr-o generalizare, atributele i operaiile asociate cu superclasa sunt asociate i cu toate subclasele acesteia.

    O subclas motenete toate atributele i operaiile superclaselor sale.

    Subclasele pot adauga atribute i operaii specifice.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu:

    Ierarhia clasei ArticolBibliotec

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu:

    Ierarhia clasei UtilizatorBibliotec

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Motenire multipl

    n loc de a moteni atribute i servicii de la o singurclas printe, un sistem ce suport motenire multiplpermite claselor de obiecte s moteneasc din maimulte superclase.

    Obs.

    Aceasta poate conduce la conflicte semantice n cazul n care atribute i/sau servicii cu acelai nume din diferite superclase au semantici diferite.

    Motenirea multipl complic reorganizarea ierarhiei de clase.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: motenire multipl

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Agregarea obiectelor

    Un model de agregare arat cum clasele care suntcolecii sunt compuse din alte clase.

    Modelele de agregare sunt similare cu relaia part-ofdin modelele semantice ale datelor.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu:

    Modelul de agregare pentruPachetStudiu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelarea comportamentului

    Modeleaz comportamentul unui sistem n execuie.Tipuri de modelare a comportamentului :

    Modelare dirijat de date : modelele ilustreazsecvena de aciuni implicate n procesarea datelor de intrare i generarea datelor de ieire asociate;

    Modelare dirijat de evenimente : modelele ilustreaz modul n care sistemul rspunde la evenimente.

    Obs. Aceste modele ilustreaz perspective diferite, ambele fiind necesare descrierii comportamentului sistemului.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modelare dirijat de dateIlustreaz modul n care sunt procesate datele pe msur

    ce parcurg sistemul.Tipuri de diagrame:

    Diagrama fluxului de date (DFD) Diagrama de activitate UMLUtilitate

    Urmrirea i documentarea asocierii datelor cu un proces este util ndezvoltarea nelegerii sistemului n ansamblu.

    Diagramele fluxurilor de date pot fi utilizate i n ilustrarea schimbului de date ntre sistem i alte sisteme din contextul su.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: DFD pentru procesare comand

    Notaie: Dreptunghi rotunjit procesare funcional Dreptunghi depozit de date Sgeat etichetat fluxul de date.

    Completareformularcomanda

    Validarecomanda

    Inregistrarecomanda

    Fisiercomenzi

    Fisierbuget

    Detaliicomanda+ formularcomanda

    Formularcomandacompletat

    Formularcomandasemnat

    Formularcomadasemnat

    FormularcomandasemnatDetalii

    comadaCantitatecomanda +detalii cont

    Ajustarebuget

    disponibil

    Trimite lafurnizor

    Comandaverificata sisemnata + notificarecomanda

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu : Diagrama de activitate pentru procesare comad

    Procesare funcional Depozit date Flux date (obiecte)

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    ModelareGLULMDWGHHYHQLPHQWH

    Se modeleaz comportamentul sistemului ca rspuns la evenimentele externe i interne.

    Modelele ilustreaz rspunsurile sistemului la stimuli (de aceeasunt utilizate n special pentru modelarea sistemelor de timpreal).

    Elementele de modelare:

    stri ale sistemului - plasate n noduri

    evenimente - arce ntre aceste noduri. La apariia unui eveniment sistemul trece dintr-o stare n alta efectueaz o tranziie de stare.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Diagrama de stri i tranziii (SMD)

    Descrie un comportament sau o trstur comportamental.

    Elemente de modelare:

    Stri Tranziii ntre stri Declanatoare (triggers) pentru tranziii Activiti realizate n cursul execuiei tranziiilor Activiti realizate pe durata fiecrei stri

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Diagrama de stri i tranziii (SMD)

    Stare descrie condiia unui obiect n termeni de:Atribute ale obiectuluiComportamentul n care este angajat.

    Stare obiect = rezultatul cumulativ al comportamentului obiectului, definit de valorile proprietilor sale (atribute i relaii).

    n cadrul unei stri, un obiect poate:- executa o activitate- atepta un eveniment- ndeplini o condiie.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Diagrama de stri i tranziii (SMD)

    Formal: o stare modeleaz o perioad de timp n care se menine adevrat o condiie de invarian.

    Exemple de condiii de invarian:

    - Set de valori ale atributelor,- Condiia de a lucra la o activitate,- Condiia de a atepta un eveniment.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    ELEMENTE ESENIALE:

    - stare - tranziie- eveniment

    (pseudo)stare iniial

    (pseudo)stare final

    STARE

    TRANZIIE

    EVENIMENT [condiie] / efect

    activitate exit

    activitate do

    activitate entry

    Diagrama de stri i tranziii (SMD)

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Model al unui cuptor cu microunde

    stare

    actiune

    eveniment

    tranzitie

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Descrierea strilor cuptorului cu microunde

    Stare Descriere

    Waiting Cuptorul ateapt o intrare. Display-ul afieaz ora curent. Half power Cuptorul e setat la 300 watts. Display-ul afieaz Half power. Full power Cuptorul e setat la 600 watts. Display-ul afieaz Full power. Set time Timpul de coacere este setat cu valoarea introdus de utilizator. Display-ul

    afieaz timpul de coacere selectat i este actualizat pe msura setrii timpului.

    Disabled Operarea cuptorului este dezactivat pentru siguran. Lumina interioar este aprins. Display-ul afieaz Not ready.

    Enabled Operarea cuptorului este activat. Lumina interioar este stins. Display-ul afieaz Ready to cook.

    Operation Cuptorul este n funciune. Lumina interioar este aprins. Display-ul afieaz numrtoarea invers a dispozitivului de temporizare. La terminarea coacerii se declaneaz un semnal sonor timp de 5 sec. Lumina interioar se aprinde. Display-ul afieaz Cooking complete n timp ce se aude semnalul sonor.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Descrierea stimulilor cuptorului cu microunde

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Structurarea modelelor de stri

    Necesar n modelele sistemelor mari, cu un numr mare de stri posibile.

    Super-stare

    Noiune ce ncapsuleaz un numr de stri separate.

    Reprezentat ca o singur stare ntr-un model de nivel mai nalt.

    Este expandat (detaliat) ntr-o diagram separat.

    Ex. Super-starea Operation din diagrama anterioar.

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: super-starea Operation

    Modelare dirijat de dateModelare dirijat de evenimente

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Modele semantice ale datelor

    Utilizate pentru a descrie structura logic a datelorprocesate de sistem.

    Notaii : model entitate-relaie-atribut (ERA) - reprezint

    entitile din sistem, relaiile ntre entiti iatributele entitilor.

    clase de obiecte UML simplificateCU atribute, FR operaii) i asocieri ntre acestea.

    Complementate cu detalii reprezentate n dicionarul datelor.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: model semantic pentru sistemul LYBSYS reprezentatcu diagram ERA

    entitate

    relaie

    atribut

    Extras din modelul semantic pentru sistemul LYBSYS.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    entitate

    relaie

    atribut

    Exemplu: Model semantic pentru sistemul LYBSYS reprezentat cu diagram de clase UML

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Dicionare de date

    Dicionarele de date sunt liste cu toate numele utilizate nmodelele sistemului. Includ descrieri ale entitilor, relaiilor,atributelor i ale serviciilor.

    Suplimentaz diagramele cu descrieri mai detaliate memorate ntr-un repozitoriu (dicionarul datelor).

    Avantaje Ofer suport pentru gestionarea numelor i evitarea

    duplicatelor; Pstreaz cunotine organizaionale care leag

    analiza, proiectarea i implementarea; Multe instrumente CASE ofer suport pentru dicionare de

    date.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Exemplu: Intrri n dicionarul de date

    Nume Descriere Tip Dat Articol Detalii despre articolul publicat ce ar putea fi

    solicitat de persoanele ce utilizeaz LIBSYS. Entitate 03.03.2012

    Autori Numele autorilor articolului, care ar putea beneficia de o parte din tax.

    Atribut 03.03.2012

    Cumparator Persoana sau organizaia care solicit o copie a articolului.

    Entitate 03.03.2012

    Taxa platita la O relaie 1:1 ntre Articol i AgentieCopyright creia trebuie s i se plteasc taxa de copyright.

    Relaie 02.03.2012

    Adresa (cumprtorului)

    Adresa cumprtorului. Aceasta este utilizat alturi de orice informaie de taxare necesar.

    Atribut 04.03.2012

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Prototipare UI

    Esenial n analiza cerinelorScop : s permit utilizatorilor ctigarea unei experiene directe

    cu interfaa.

    Fr aceast experien a utilizatoruluiGLUHFWHVWHLPSRVLELOde judecat utilizabilitatea unei interfee.

    Prototiparea poate fi un proces cu dou etape: Prima etap: realizarea unor prototipuri pe hrtie; A doua etap: prototipul iniial este rafinat i se

    realizeaz automat, folosind instrumente software, un prototip din ce n ce mai sofisticat.

    List de instrumente : http://c2.com/cgi/wiki?GuiPrototypingTools

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Axat pe principalele cazuri de utilizare i pe interfeele lor.Prototipare UI

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Aspectele analizate: Aspect vizual i afiare Interaciune cu utilizatorul i fluxul ecranelor

    Prototipare UI

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Subiecte tratate

    Modelarea contextului Modelarea interaciunilor Modelarea structurii Modelarea comportamentului Modelarea datelor Prototipare UI Model-driven engineering

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    MDE

    Model-driven engineering (MDE) abordare a dezvoltrii desoftware n care modelele (mai curnd dect programele) sunt ieirile principale ale procesului de dezvoltare.

    Programele generate automat din modele.

    Susintorii MDE argumenteaz c aceasta crete nivelul deabstractizare n ingineria software astfel nct inginerii nu mai trebuie s fie preocupai de detaliile limbajelor de programare sau de specificul fiecrei platforme de execuie.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    MDE - Discuie

    Pro

    Permite considerarea sistemelor pe nivele superioare de abstractizare

    Generarea automat a codului permite adaptarea mai ieftin a sistemelor la platforme de execuie noi.

    Contra

    Unele abstractizri din model nu au corespondent direct n implementare.

    Economiile din generarea codului pot fi depite de costurile de dezvoltare ale translatoarelor pentru platforme noi.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    MDA

    Model-driven architecture (MDA) a fost precursorul mai generalului MDE.

    MDA este o abordare focalizat pe model a proiectrii iimplementrii software-lui care folosete un subset al modelelor UML pentru a descrie un sistem.

    Sunt create modele la diferite nivele de abstractizare.

    Dintr-un model de nivel nalt, independent de platform este posibil, n principiu, s se genereze fr intervenie manual un program funcional.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Tipuri de modele

    Computation independent model (CIM) Modeleaz abstractizrile importante de domeniu utilizate

    ntr-un sistem. CIM-urile sunt numite uneori modele de domeniu.

    Platform independent model (PIM) Modeleaz modul de funcionare a unui sistem fr a face

    referire la implementarea sa. Sunt descrise de obicei folosind modele UML care ilustreaz

    structura static a sistemului i modul n care acesta rspunde la evenimentele externe i interne.

    Platform specific models (PSM) Transformri ale modelului independent de platform (PIM),

    cu cte un PSM pentru fiecare platform de execuie. Obs. n principiu, pot fi mai multe nivele ale PSM, fiecare nivel adugnd unele detalii

    specifice platformei.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Transformrile MDA

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Mai multe PSM pentru acelai PIM

    PSM

    PSM

    PIM

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    UML executabil

    Noiunea fundamental din spatele MDE este aceea c sunt posibile transformri complet automate ale modelelor n cod.

    Acestea sunt posibile folosind un subset al UML 2, numitExecutable UML sau xUML.

    Standarde OMG asociate :

    fUML (Foundational UML) Alf (Action Language for UML)

    List de instrumente software :http://modeling-languages.com/list-of-executable-uml-tools

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Caracteristici ale UML executabil

    Tipuri cheie de modele: Modele de domeniu - identific entitile principale ale

    domeniului pentru care este realizat sistemul. Se utilizeaz o diagram de clase UML care include doar clasele, atributele i asocierile.

    Modele de clase definesc clasele, mpreun cu atributele i operaiile acestora.

    Modele de stri i tranziii cu fiecare clas este asociat o diagram de stri i tranziii care este utilizat pentru a descrie ciclul de via al clasei.

    Comportamentul dinamic al sistemului poate fi specificat declarativfolosind limbajul OCL (object constraint language), sau poate fi exprimat utiliznd limbajul Alf.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Rezumat

    Un model este o abstractizare a unui sistem care ignor detaliile acestuia. Se pot dezvolta modele complementare ale unui sistem pentru a ilustra contextul, interaciunile, structura i comportamentul sistemului.

    Modelele contextului ilustreaz modul n care sistemul modelat este poziionat ntr-un context format din sisteme i procese.

    Diagramele cazurilor de utilizare i diagramele de secvene se folosesc pentru a descrie interaciuni. Cazurile de utilizare descriu interaciuni ntre un sistem i actorii externi; diagramele de secvene adaug informaii suplimentare prin ilustrarea interaciunilor dintre obiectele sistemului.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Rezumat

    Modelele structurii ilustreaz organizarea i arhitectura unui sistem. Diagramele de clase sunt folosite pentru a defini structura static a claselor unui sistem i asocierile acestora. Diagramele de componente sunt utilizate pentru a descrie structura sistemului n timpul execuiei.

    Modelele datelor ilustreaz structura logic a datelor procesate de sistem. Se pot folosi diagrame entitate-relaie-atribut saudiagrame de clase simplificate, complementate cu dicionare de date.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Rezumat

    Modelele de comportament sunt utilizate pentru a descrie comportamentul dinamic al unui sistem aflat n execuie. Acest comportament poate fi modelat din perspectiva datelor procesate de sistem, sau prin prisma evenimentelor care stimuleaz rspunsuri din partea sistemului.

    Diagramele de activitate se pot folosi pentru a modela procesarea datelor, fiecare activitate reprezentnd un pas al procesului.

    Diagramele de stri i tranziii sunt utilizate pentru a modelacomportamentul unui sistem ca rspuns la evenimente interne i externe.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 5

    Rezumat

    Prototiparea UI este esenial n analiza cerinelor. Aceasta poate fi un proces n dou etape.

    Model-driven engineering este o abordare a dezvoltrii desoftware n care un sistem este reprezentat ca set de modele ce pot fi transformate automat n cod executabil.