Sunteți pe pagina 1din 60

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 6 Slide 1


Inginerie software Curs 6
Proiectare arhitectural
id8771422 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 6 Slide 2
Proiectare software
Def. Proiectarea - procesul de transformare a cerinelor n modelul proiect.
Faze:
Proiectare arhitectural dezvoltarea unui model abstract de nivel
nalt al sistemului.

Etap timpurie n procesul de proiectare a sistemului.

Reprezint legtura dintre procesul de specificare i cel de proiectare.

Deseori realizat n paralel cu unele activiti de specificare.

Implic identificarea elementelor majore ale sistemului i a comunicrii dintre


acestea.
Proiectare de detaliu descompunerea i rafinarea componentelor
arhitecturii.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 3
Subiecte tratate
Arhitectura software

Proiectarea arhitectural
Stiluri arhitecturale

Arhitecturi de referin

Arhitecturi pentru aplicaii clasice


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 4
Arhitectura software
Def. Proiectarea arhitectural este procesul de proiectare pentru
identificarea
subsistemelor ce compun un sistem
cadrului pentru control i comunicare ntre subsisteme.

Ieirea acestui proces de proiectare este o descriere a arhitecturii


software.
Def. Arhitectura software a unui sistem de calcul este setul
structurilor unui sistem necesare pentru a realiza raionamente referitoare
la acesta, structuri coninnd elementele software, relaiile dintre acestea
i proprietile vizibile din exterior ale ambelor. (Bass, Clements, and Kazman)
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 5
Avantajele arhitecturii explicite

Comunicarea cu prile interesate


Arhitectura poate fi utilizat ca element central al discuiei de ctre prile interesate
n sistem.
Analiza sistemului
Face posibil analiza faptului c sistemul i poate atinge obiectivele de calitate.

Reutilizare pe scar larg


Arhitectura se poate reutiliza pentru o gam larg de sisteme. Se
pot dezvolta linii de produse, bazate pe o arhitectura comun.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 6
Arhitectura i atributele de calitate

Performan
Localizarea operaiilor critice i minimizarea comunicrii. Utilizare de
componente cu granularitate mare.
Securitate
Utilizarea unei arhitecturi multi-nivel cu componentele critice plasate n nivelele
interioare.

Siguran
Izolarea, ntr-un numr mic de subsisteme, a caracteristicilor critice din punct
de vedere al siguranei.
Disponibilitate
Includerea de componente redundante i de mecanisme pentru toleran la
defecte.
Mentenabilitate
Utilizare de componente cu granularitate mic, nlocuibile.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 7
Conflicte arhitecturale

Utilizarea de componente cu granularitate mare mbuntete performana


dar reduce mentenabilitatea.
Introducerea de date redundante mbuntete disponibilitatea dar complic
asigurarea securitii.
Localizarea caracteristicilor legate de siguran nseamn de obicei mai mult
comunicare i deci degradarea performanei.

Proiectarea arhitectural presupune o serie de decizii n scopul realizrii


compromisului optim pentru ndeplinirea cerinelor de calitate.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 8
Subiecte tratate
Arhitectura software

Proiectarea arhitectural
Stiluri arhitecturale

Arhitecturi de referin

Arhitecturi pentru aplicaii clasice


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 9
Decizii arhitecturale

Proiectarea arhitectural proces creativ, dependent de sistemul ce


trebuie dezvoltat.

Exist o serie de decizii comune tuturor proceselor de proiectare arhitectural,


care afecteaz caracteristicile extra-funcionale ale sistemului.
Exemple:
Exist o arhitectur de aplicaie generic ce poate fi utilizat?
Cum va fi descompus sistemul n module?
Ce abordare va fi folosit n structurarea sistemului?
Care stil(uri) arhitecturale sunt potrivite?
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 10
Proiectarea arhitectural : etape
1. Definirea relaiilor(interfeelor) sistemului cu contextul su format din
utilizatori umani, alte sisteme i dispozitive.
Iterativ
2.
Descompunerea sistemului n elemente (subsisteme, module,
componente) care interacioneaz cu scopul de a satisface cerine
funcionale i de calitate.
3.
Stabilirea relaiilor(interfeelor) dintre elemente.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 11
Proiectul arhitectural
Proiectul arhitectural este exprimat, n mod normal, ca diagram
bloc ce prezint o imagine de ansamblu asupra structurii
sistemului.
Se pot dezvolta, de asemenea, modele mai specifice care prezint
modul n care subsistemele partajeaz date, sunt distribuite i
se interfaeaz.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 12
Module i componente
Un modul este o unitate de implementare.
Modularizarea se realizeaz pe baza funcionalitii, urmrindu-se n general
independena funcional
coeziune puternic i cuplare extern slab).
Un modul definete comportament i interaciuni cu alte module.

O component este o unitate de execuie.


Componentele sunt instaniate la execuie pe baza definiiilor din module.
Componentele au comportamentul definit n modulele din care sunt instaniate i
interacioneaz prin conectori.
Definirea structurii dinamice a sistemului (componente i conectori) urmrete, n
general, ndeplinirea cerinelor de calitate.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 13
Perspective arhitecturale
Perspectiva static - ilustreaz unitile de implementare ale
sistemului (subsisteme, module), definete interfeele acestora i
ilustreaz relaiile ntre ele.

Perspectiva dinamic (a procesului) - ilustreaz structura de


procesare a unui sistem format din uniti de execuie (componente)
i relaii ntre acestea (conectori).

Perspectiva alocrii - ilustreaz modul n care unitile de


implementare sunt distribuite pe elementele de infrastructur hardware
(calculatoare) i platforme software.
Pentru a documenta un proiect arhitectural din perspective diferite se
utilizeaz tipuri de vederi corespunztoare.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 14
Subiecte tratate
Arhitectura software

Proiectarea arhitectural
Stiluri arhitecturale

Arhitecturi de referin

Arhitecturi pentru aplicaii clasice


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 15
Stiluri arhitecturale
Stil arhitectural - model arhitectural generic.

Utilitate - punct de plecare n definirea arhitecturilor pentru


sisteme particulare.
Obs. Majoritatea sistemelor mari sunt eterogene i nu urmeaz un
singur stil arhitectural.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 16
Stilul main abstract (multi-strat)
Organizeaz unitile de implementare
ale sistemului pe mai
multe nivele de
abstractizare.

Straturi biblioteci sau colecii de servicii nrudite.

Fiecare strat ofer un set de servicii accesibile printr-o interfa (ex. API).

Interaciunea are loc doar ntre straturi adiacente, un strat superior accesnd
serviciile oferite de stratul inferior.

Suport dezvoltarea incremental a sub-sistemelor de pe straturi diferite.


Cnd se schimb interfaa unui strat, doar straturile adiacente sunt afectate.
Exemplu: Sistem pentru managementul versiunilor
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 17
Stilul pipe-and-filter
Organizarea sistemului ca serie de componente (filtre) conectate prin
conducte(band de asamblare).
Componentele sunt procese ce realizeaz transformri funcionale asupra datelor din fluxul
de intrare i trimit rezultatul acestora n fluxul de ieire.
O component nu trebuie s atepte terminarea procesului care i furnizeaz date, ci
pornete imediat ce sunt date disponibile n fluxul su de intrare.
Exemple de aplicare:
Combinare comenzi Unix
cat/etc/passwd | grep joe | sort > junk

Aplicaii pentru procesare fluxuri audio i video


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 18
Exemplu : Prelucrare pli facturi
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 19
Stilul repozitoriu
Structureaz sistemul n componente independente care comunic
doar prin date pstrate ntr-o baz de date central (repozitoriu);
Stilul repozitoriu este folosit n majoritatea cazurilor n care trebuie partajate cantiti
mari de date.
Exemple de aplicare:
Baze de date repozitoriu pasiv
Inteligen artificial repozitoriu activ
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 20
O arhitectur repozitoriu pentru un IDE
Repozitoriul
proiectului
Generatoare
de cod
Editor
Java
Editor
Python
Generator
rapoarte
Analizor
de modele
Translator
de modele
Editoare
UML
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 21
Stilul client - server
Organizarea sistemului n componente client care solicit servicii i
componente server care ofer servicii.
Model de sistem distribuit care ilustreaz modul n care datele i procesrile sunt
distribuite pe un set de componente:

Set de servere de sine stttoare (stand-alone) care ofer servicii specifice cum
ar fi imprimare, management date, etc.

Set de clieni care apeleaz aceste servicii.

Reea ce permite clienilor s acceseze server-ele.


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 22
Exemplu: Bibliotec de filme i imagini
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 23
Stil client-server extins
Structureaz sistemul n componente de tip client i server pe mai
multe trepte.
Client server clasic : 2 trepte
Client server extins : 3, 4, ..., n trepte
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 24
Stiluri bazate pe evenimente
Organizarea aplicaiei n componente ce comunic evenimente,
reacionnd totodat la evenimente generate de alte componente.
Exemple de aplicare:

Biblioteci GUI sisteme interactive

Sisteme distribuite av. decuplare i reorganizare

Evenimente explicite evenimentele sunt


trimise explicit la anumite elemente.

Evenimente implicite evenimentele sunt




difuzate ctre elemente. Elementele rspund
la evenimentele de care sunt interesate.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 25
Subiecte tratate
Arhitectura software

Proiectarea arhitectural
Stiluri arhitecturale

Arhitecturi de referin

Arhitecturi pentru aplicaii clasice


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 26
Arhitecturi de referin
Modelele arhitecturale pot fi specifice unor domenii de aplicaii.

Dou tipuri de modele specifice domeniului:

Modele generice: abstractizeaz mai multe sisteme reale i


ncapsuleaz caracteristicile principale ale acestor sisteme.

Modele de referin: sunt modele mai abstracte, idealizate. Ofer o


modalitate de informare despre clasa sistemului i de comparare ntre
arhitecturi diferite.
Arhitecturile de referin:

Se pot utiliza ca baz pentru implementarea sistemului sau pentru a


compara diferite sisteme.

Acioneaz ca standard fa de care sistemele pot fi evaluate.


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 27
Modelul de referin OSI
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 28
Modelul de referin CASE
Servicii repozitorii de date
Memorare i management date.
Servicii pentru management sarcini
Definirea i punerea n scen
a modelelor de procese.
Servicii de mesagerie
Comunicare instrument-instrument
i instrument-context.
Servicii de interfa utilizator
Dezvoltarea interfeei utilizator.
Servicii pentru integrare date
Gestionarea grupurilor de entiti.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 29
Subiecte tratate
Arhitectura software

Proiectarea arhitectural
Stiluri arhitecturale

Arhitecturi de referin

Arhitecturi pentru aplicaii clasice


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 30
Arhitecturi generice pentru aplicaii
Sistemele de aplicaii sunt destinate rezolvrii unei necesiti organizaionale.

Sistemele de aplicaii pentru activiti economice care au multe


elemente comune tind s aib arhitecturi comune care reflect

cerinele aplicaiei.

Pentru a crea un sistem care rspunde unor cerine specifice, o


arhitectur generic este configurat i adaptat.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 31
Utilizarea arhitecturilor pentru aplicaii

Ca punct de pornire pentru proiectarea arhitectural.

Ca element de verificare n cursul proiectrii

Ca modalitate de de organizare a activitii echipei de dezvoltare.

Ca mod de evaluare a componentelor n vederea reutilizrii.

Ca vocabular pentru discuiile referitoare la tipuri de aplicaii.


Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 32
Tipuri clasice de aplicaii

Aplicaii de procesare date


Aplicaiile conduse de date care proceseaz date n loturi de date fr

intervenia explicit a utilizatorului n cursul procesrii.

Aplicaii de procesare tranzacii


Aplicaii centrate pe date care proceseaz cererile utilizatorului i
actualizeaz informaiile dintr-o baz de date a sistemului.
Sisteme de procesare evenimente
Aplicaii n care aciunile sistemului depind de interpretarea
evenimentelor venite din contextul sistemului.
Sisteme de procesare limbaje
Aplicaii n care inteniile utilizatorului sunt specificate ntr-un limbaj
formal care este procesat i interpretat de sistem.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 33
Exemple de aplicaii
Procesare date

Aplicaii pentru facturare;


Aplicaii pentru state de plat.

Procesare tranzacii

Aplicaii e-commerce;
Aplicaii pentru rezervri.
Procesare evenimente
Procesoare de texte;

Aplicaii de timp real.


Procesare limbaje

Compilatoare;
Interpretoare de comenzi.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 34
Sisteme de procesare date
Sisteme care sunt centrate pe date i n care bazele de date utilizate sunt
de cteva ordine de mrime mai mari dect software-ul propriu-zis.

Datele intr i ies n loturi


Exemplu:

Intrare: Un set de coduri client i citirile de la un contor de energie electric


asociate;
Ieire: Un set corespunztor de facturi, cte una pentru fiecare client.

Sistemele de procesare date au de obicei o structur de tip intrare-


proces-ieire.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 35
Intrare-proces-ieire


Componenta intrare citete date dintr-un fiier sau dintr-o baz de
date, verific validitatea acestora i pune datele valide ntr-o list de
ateptare n vederea procesrii.


Componenta proces ia o tranzacie din lista de ateptare, execut
calculele i creaz o nou nregistrare cu rezultatele acestora.

Componenta ieire citete aceste nregistrri, le formateaz


corespunztor i le scrie n baza de date i/sau le trimite la o
imprimant.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 36
Sisteme de procesare tranzacii
Proceseaz cererile utilizatorului pentru extragerea de informaii dintr-o
baz de date sau pentru actualizarea bazei de date.
OLTP online transaction processing procesare tranzacii n sisteme
interactive.

Din perspectiva utilizatorului o tranzacie este orice secven coerent


de operaii care satisface un scop;

Exemplu cutarea programului zborurilor de la Timioara la Bucureti.


Utilizatorii fac cereri asincrone pentru servicii care sunt apoi procesate
de un manager de tranzacii.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 37
Procesare tranzacii
Exemplu:
Fie o tranzacie bancar de transfer a sumei de 500 RON din contul C1 n contul C2
ale unui client.
Din punct de vedere al bncii, aceasta este o operaie unic, dar implic de fapt

dou operaii separate n termenii sistemului de calcul:
Debitarea contului C1 cu 500 RON,
Creditarea contului C2 cu 500 RON.
Problem posibil: operaia de debitare reuete, dar cea de creditare nu
balana bncii va fi dezechilibrat la sfritul zilei.

Soluie: o modalitate de asigurare fie a reuitei ambelor operaii fie a nerealizrii
ambelor operaii, a.. baza de date s rmn ntr-o stare consistent.
Conceptul de tranzacie i procesarea tranzaciilor.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 38
Procesare tranzacii
Tranzacia
Abstractizare definit de urmtoarele proprieti (ACID):

Atomicitate grupeaz mai multe operaii ntr-o unitate de execuie indivizibil

Consisten pstreaz invariantele sistemului

Izolare nu interfereaz cu alte tranzacii

Durabilitate dup comiterea ei rezultatele devin permanente


Procesarea tranzaciilor se refer la procesarea de informaii
divizat n operaii individuale indivizibile numite tranzacii.
Fiecare tranzacie trebuie s reueasc sau s eueze n
totalitatea operaiilor ei; nu poate rmne ntr-o stare
intermediar.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 39
Sisteme de procesare tranzacii
Managerul de tranzacii este o component software care asigur c
toate operaiile din cadrul tranzaciei sunt realizate fr eroare, sau c
nici una nu este realizat.

Dac unele operaii sunt realizate dar apar erori la ncercarea de a realiza altele, sistemul
de procesare tranzacii deruleaz napoi (rolls back) toate operaiile din cadrul tranzaciei
(inclusiv cele realizate cu succes), tergnd astfel toate urmele tranzaciei i reastaurnd
sistemul n starea consistent, cunoscut, de dinaintea nceperii procesrii tranzaciei.

Dac toate operaiile din cadrul tranzaciei sunt realizate corect, tranzacia este comis
(committed) de ctre sistem, i toate modificrile realizate n baza de date devin
permanente.
Managerul de tranzacii poate avea i alte funcii ca detectarea i
soluionarea blocajelor permanente (deadlock) i jurnalizarea
tranzaciilor pentru realizarea recuperrii din avarii masive.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 40
Procesare tranzacii
ARHITECTUR GENERIC
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 41
Middleware de procesare tranzacii
Monitorul de tranzacii (middleware pentru management tranzacii) include un
manager de tranzacii a crui funcionalitate o extinde cu funcii de
comunicare distribuit, planificare task-uri, etc.
Exemplu:
Monitor de tranzacii care gestioneaz comunicarea cu diferite tipuri de terminale (ex.
ATMs i terminale pentru numrare), serializeaz datele i le transmit spre procesare.

Procesarea interogrii are loc n baza de date a sistemului iar rezultatele sunt trimise
napoi, prin intermediul monitorului de tranzacii, la terminalul utilizatorului.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 42
Monitor de tranzacii. Exemplu
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 43
Arhitectura sistemelor de
procesare informaii
Sistemele de procesare informaii au o arhitectur generic care

poate fi organizat conform stilului multi-strat.
Straturile includ:
Interfaa utilizator
Comunicarea cu utilizatorul
Extragerea de informaii
Baza de date a sistemului
Structura sistemelor de procesare informaii
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 44
Exemplu: arhitectura sistemului LIBSYS
Sistemul LIBSYS este un exemplu de
sistem de procesare informaii.
Structura sistemelor de procesare informaii
Exemplu: Organizarea sistemului LIBSYS
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 45
Sistemele de alocare resurse
Sisteme care gestioneaz o cantitate fix dintr-o anumit resurs
(ex. bilete la meciuri de tenis, cri ntr-o bibliotec, etc.) i o aloc
utilizatorilor.
Exemple de sisteme de alocare resurse:
Sisteme de programri, n care resursa alocat este o perioad
de timp;
Sisteme pentru biblioteci, n care resursa gestionat sunt crile
i alte lucruri ce pot fi mprumutate;
Sisteme pentru controlul traficului aerian, n care resursa
alocat este spaiul aerian.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 46
Arhitectura pentru alocare resurse
Sistemele de alocare resurse fac parte din categoria sistemelor de procesare
informaii i includ:

O baz de date a resurselor;


Un set de reguli de alocare a resurselor;
Un manager de resurse;
Un modul de alocare resurse;
Autentificarea utilizatorului;
Managementul interogrilor;
Componenta de livrare a resurselor;

Interfaa utilizator.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 47
Arhitectur multi-strat
pentru alocare resurse
Structura sistemelor de procesare informaii
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 48
Implementarea sistemului multi-strat

Fiecare strat poate fi implementat ca o component care se execut pe un
server separat.
Acesta este modelul arhitectural cel mai utilizat pentru sistemele bazate Web.

Pe o singur main, straturile intermediare sunt implementate ca un


program separat care comunic cu baza de date prin intermediul API-
lui acesteia.

Componentele cu granularitate fin din interiorul straturilor pot fi


implementate ca servicii Web.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 49
Sisteme de prelucrare informaii bazate web
Sistemele de procesare informaii i sistemele de
gestionare a resurselor sunt de obicei sisteme
bazate web la care interfeele utilizator sunt
implementare ca browser-e web.
De obicei sunt organizate utiliznd o arhitectur pe
mai multe trepte (multi-tier), cu straturi ale
aplicaiei asociate fiecrei trepte.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 50
Sisteme de procesare evenimente
Sistemele de procesare evenimente rspund la evenimente

produse n contextul sistemului.
Caracteristica cheie este c momentul apariiei evenimentului este
nepredictibil, deci arhitectura trebuie organizat astfel nct s
poat gestiona aceast problem.
Exemple: procesoare de texte, jocuri.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 51
Sisteme de editare
Sistemele de timp real i sistemele de editare sunt cele mai
cunoscute tipuri de sisteme de procesare evenimente.
Caracteristicile sistemelor de editare:
Sisteme mono-utilizator;
Trebuie s ofere rspuns rapid la aciunile utilizatorului;
Organizate n jurul unor tranzacii lungi, astfel nct trebuie s
includ faciliti de recuperare i refacere n caz de eroare.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 52
Componentele sistemelor de editare
Sistemele de editare sunt n mod natural orientate obiect.
Componente:

Ecran monitorizeaz memoria ecran i detecteaz evenimente;


Eveniment recunoate evenimentele i le transfer spre
procesare;

Comand - execut o comand utilizator;


Editor date gestioneaz structura de date a editorului;

Date auxiliare gestioneaz alte date cum ar fi stiluri i preferine;


Sistem de fiiere gestioneaz transferurile cu fiierele;
Afiare actualizeaz coninutul ecranului.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 53
Arhitectura sistemelor de editare
Actualizeaz
afiajul.

Monitorizeaz memoria
ecran i detecteaz
evenimentele.
Gestioneaz alte
date, cum ar fi
stiluri i preferine.

Gestioneaz structura
de date a editorului.
Execut comanda utilizator.
Recunoate evenimentele i
le transfer spre procesare.
Gestioneaz I/E
fiiere.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 54
Sisteme de procesare limbaje
Accept un limbaj natural sau artificial ca intrare i genereaz o alt

reprezentare a acestui limbaj.

Pot include un interpretor pentru a aciona asupra instruciunilor


limbajului care sunt procesate.

Utilizat n situaiile n care cel mai simplu mod de a rezolva o


problem este de a descrie fie un algoritm fie datele sistemului.
Exemplu: Instrumentele meta-CASE proceseaz descrierile instrumentelor, regulile
metodelor, etc. i pe baza acestor informaii genereaz instrumente CASE.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 55
Un sistem de procesare limbaj
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 56
Componentele sistemului
de procesare limbaj

Analizor lexical - convertete token-ii limbajului de intrare ntr-un format


intern
Tabela de simboli memoreaz informaii despre numele entitilor din
textul de tradus
Analizor sintactic verific sintaxa limbajului (utiliznd gramatica acestuia) i
genereaz un arbore sintactic
Arborele sintactic structur intern care reprezint programul ce trebuie
compilat

Analizor semantic verific corectitudinea semantic a textului de intrare pe


baza utilizrii arborelui sintaxei i tabelei de simboli
Generator de cod traverseaz arborele sintactic i genereaz cod n
limbajul mainii abstracte
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 57
Model flux de date
al compilatorului
Eficient n medii de prelucrare loturi de lucrri, unde programele sunt
compilate i executate fr interaciune cu utilizatorul.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 58
Model repozitoriu al compilatorului
Eficient n mediile integrate, atunci cnd compilatorul trebuie integrat cu
alte instrumente cum ar fi sistem de editare structurat, debugger interactiv
sau imprimare structurat.
Sisteme de procesare date
Sisteme de procesare tranzacii
Sisteme de procesare evenimente
Sisteme de procesare limbaje
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 59
Rezumat
Arhitectura software este cadrul (framework) fundamental pentru
structurarea sistemului.

Arhitectura software este reprezentat din mai multe perspective:


perspectiva static, perspectiva dinamic i perspectiva alocrii.
Exemple de stiluri arhitecturale sunt stilul repozitoriu, stilul client-
server, stilul main abstract(multi-strat).

Arhitecturile de referin sunt arhitecturi specifice unui domeniu i


se utilizeaz ca element de pornire pentru a proiecta o arhitectur

specific i ca baz pentru a evalua i compara proiecte
arhitecturale.
Adapted after Ian Sommerville 2010
Software Engineering, 9th edition. Chapter 6 Slide 60

Clasele importante de aplicaii sunt: sistem de procesare date,


sistem de procesare tranzacii, sistem de procesare
evenimente i sistem de procesare limbaj.

Sistemele de procesare date opereaz n loturi i au o structur de
tip intrare-proces-ieire.

Sistemele de procesare tranzacii permit accesarea i modificarea


de la distan, de ctre utilizatori multipli, a informaiilor dintr-o
baz de date.

Sistemele de procesare evenimente includ editoare i sisteme de


timp real.

Sistemele de procesare limbaje traduc textele dintr-un limbaj n altul


i pot interpreta instruciunile specificate.
Rezumat

S-ar putea să vă placă și