Inginerie Software c4
-
Upload
adi-carpinisan -
Category
Documents
-
view
59 -
download
1
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.