Sunteți pe pagina 1din 113

ARHITECTURA

SISTEMELOR
SOFTWARE
Dr. ing. Liviu PERNIU

Curs 1

Cauzele apariiei problemelor n elaborarea


sistemelor software
Simptome

Cauze

Nendeplinirea cerinelor

Cerine insuficiente

Cerine ambigui

Comunicare defectuoas

Imposibilitatea conectrii
modulelor

Arhitecturi fragile

Mentenan dificil
Identificarea ntrziat a
erorilor
Calitate slab
Performane slabe
Dezvoltatori aflai n
conflict
Versiuni cu probleme

Complexitate mare
Neobservarea
inconsistenelor
Testare insuficient
Evaluare subiectiv
Elaborare pe baza
modelului n cascad
Modificri necontrolate
Automatizare insuficient

Practici
Elaborarea
iterativ
Managementul
cerinelor
Utilizarea de
arhitecturi bazate
pe componente
Modelarea
vizual (UML)
Testarea
continu a
calitii
Controlul
modificrilor
Dr. ing. Liviu PERNIU

Curs 1

Diagrama conceptelor ntlnite n arhitectura


Element reutilizabil

Echipa de arhitectur software

Arhitectura sistemului

0..*
Reutilizeaz
1..*
Proces

Conduce

Reutilizeaz
1..*

Arhitect software

Responsabil de

Arhitectura software

ofer

Avantaj

Reprezentat prin
1

Iteraie

0..*
Risc

0..*
Constrngere

Persoane interesate

0..*

Descrierea arhitecturii software

Organizat pe

Cerin
1..*

1..*
Temere

Adresat prin
1..*

Vedere

1..*

Abstractizat prin

Model

1
Prezentat prin
1
UML

Dr. ing. Liviu PERNIU

Curs 1

Module abordate n partea de elemente de


arhitectur
Cum
Ce
Architectur i
Proces

Iteraie
5

Artefacte

Definiii

Cine

Reutilizabile

Persoane
interesate
3

De ce
Avantaje
2

Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Arhitectur: trei interpretri distincte
Arhitectura vzut ca proces sau disciplin
Arta sau tiina crerii de edificii destinate folosirii acestora de ctre oameni
Aciunea sau procesul de construire
Metoda special sau stilul pe baza cruia se aranjeaz detaliile de structur
i ornamentale ale unei construcii

Arhitectura vzut ca artefact


Activitatea arhitectural: structurarea, construirea
Construcia sau structura, n general

Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Perry i Wolf, 1992
Un set de elemente arhitecturale sau de proiectare care au o anumit form.
Cei doi fac n continuare distincia dintre elementele de procesare, elementele
de tip dat i elementele de conexiune.
Boehm i alii, 1995
Arhitectura unui sistem software conine:
O colecie de componente, conexiuni i constrngeri software i de sistem
Un set de cerine formulate de ctre persoanele interesate
O motivare care s arate faptul c toate componentele, conexiunile i
constrngerile definite n cadrul sistemului, prin implementare, vor satisface
cerinele de sistem cerute de ctre persoanele interesate
Clements i alii, 1997
Arhitectura software a unui program sau sistem de calcul reprezint structura
sau structurile sistemului respectiv care conine componente software,
proprieti exterioare vizibile ale acestora, precum i relaiile dintre ele.
Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Elemente comune ale tuturor definiiilor
Arhitectura stabilete care sunt principalele componente ce trebuie folosite
Arhitectura definete relaiile ce se stabilesc ntre componente (structuri) precum i
interaciunile dintre acestea
Arhitectura nu introduce acea informaie de coninut referitoare la componente care nu au
legtur cu interaciunile ce apar n cadrul unui sistem
Comportamentul unei componente este parte integrant a arhitecturii n msura n care
acesta poate fi deosebit din punctul de vedere al altei componente
Fiecare sistem are o arhitectur (chiar dac sistemul este alctuit dintr-o singur
component)
Arhitectura ofer motivaia din spatele componentelor i a structurii
Definiiile conceptului de arhitectur nu precizeaz ce este o component
Arhitectura nu are o singur structur

Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Definiia conceptului de arhitectur din perspectiva
RATIONAL
Arhitectura software conine setul de decizii semnificative referitoare la
organizarea unui sistem software
Alegerea elementelor structurale i a interfeelor corespunztoare din care
este alctuit sistemul respectiv
Comportamentul, aa cum este el specificat atunci cnd se stabilete
colaborarea dintre aceste elemente
Punerea n comun a acestor elemente structurale i de comportament n
cadrul unor subsisteme mai mari
Stilul arhitectural pe baza cruia se realizeaz aceast organizare
Dup Grady Booch, Philippe Kruchten, Rich Reitman, Kurt Bittner; Rational

Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Definiia conceptului de arhitectur din perspectiva
RATIONAL
Arhitectura software mai presupune:
Funcionalitate conine seturile de caracteristici, capabiliti i securitate
Utilizabilitate conine subcategoriile: factori umani, factori de natur estetic,
consistena interfeei utilizator, precum i documentaia i materialele de training ale
utilizatorului
Rezilien este capacitatea de a se putea adapta cu uurin la apariia cererilor de
modificare
Performan specific condiiile n care trebuie s fie ndeplinite cerinele funcionale.
De exemplu, pentru o anumit aciune, trebuie specificai parametrii de performan:
vitez, eficien, disponibilitate, precizie, timp de rspuns, timp de refacere, utilizarea
resurselor
Reutilizare identificarea subsistemelor existente pentru a stabili care dintre
componentele ce apar acolo pot fi folosite sau reutilizate prin intermediul interfeelor
acestora.
nelegere ct de uor poate fi neleas o anumit arhitectur
Constrngeri economice i tehnologice
Aspecte estetice
Dup Grady Booch, Philippe Kruchten, Rich Reitman, Kurt Bittner; Rational

Dr. ing. Liviu PERNIU

Curs 1

DEFINIII
Component software
O component software este o unitate de distribuire, asamblare,
exploatare i nlocuire
Realizeaz o funcionalitate netrivial
Este definit prin intermediul serviciilor cerute i a celor oferite
Serviciile fac cunoscut comportamentul componentei, dar numai cel necesar
pentru asamblare

Este important n contextul:


Architecturii
Modelului componentei i a mediului de dezvoltare

Nu este neaprat o singur unitate de cod


Dr. ing. Liviu PERNIU

Curs 1

Constrngerile de proiectare i implementare a


arhitecturii
Arhitectura presupune introducerea unui set strategic de decizii de
proiectare, reguli sau abloane care afecteaz proiectarea i
construcia
architectura
proiectare
implementare
COD

Deciziile arhitecturale sunt cele


mai importante decizii, iar
modificarea acestora are
efecte semnificative
Dr. ing. Liviu PERNIU

Curs 1

Concepii greite referitoare la arhitectur


Arhitectura i proiectarea reprezint acelai lucru
Arhitectura i infrastructura reprezint acelai lucru
Arhitectura este doar structur
Arhitectura este ceva banal i doar un simplu desen este suficient
Arhitectura nu poate fi msurat sau validat
Arhitectura este art sau tiin

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura nu nseamn proiectare!


Arhitectura este doar un aspect al proiectrii care se concentreaz pe:
Elemente fundamentale din punct de vedere structural
Elemente ce au cel mai mare impact asupra performanei, fiabilitii, costului,
adaptabilitii etc.

Arhitectura adun la un loc cele mai importante decizii ce trebuie luate


la proiectare
Arhitectura nu se preocup cu detaliile de proiectare a elementelor
individuale

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura nu nseamn infrastructur!


Prin infrastructur se nelege utilizarea mecanismelor tehnologice
precum i serviciile pe care se bazeaz logica aplicaiei
Infrastructura este o parte integrant i important a arhitecturii
Arhitectura stabilete felul n care trebuie s ruleze aplicaia n funcie
de infrastructura aleas
Arhitectura stabilete interoperabilitatea
componentele aplicaiei

dintre

infrastructur

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura nu nseamn structur!


Arhitectura conine structur, descompunere, interfee etc.
Arhitectura presupune:
Aspecte dinamice
Motivaii
Adaptare la context
Contextul domeniului
Contextul dezvoltrii

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura nu este o activitate banal!


Architectura este banal doar n cazuri foarte simple
Architectura are mai multe dimensiuni reprezentnd diverse puncte de
vedere ale persoanelor interesate
Utilizarea doar a unui singur plan pentru a reprezenta toate (sau
aproape) dimensiunile conduce la o suprancrcare semantic sau la
situai incomplete
Architectura are nevoie de mai multe vederi

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura poate fi msurat sau validat!


Architectura nu reprezint o proiectare vag, de nivel nalt, fcut cu
creionul pe hrtie
Arhitecturile pot fi evaluate semantic pe baza cerinelor funcionale i
de calitate, a riscului i a atributelor de baz ale sistemului (proprietile
sistemului)
Revizuirea artefactelor de arhitectur
Testarea prototipurilor arhitecturale

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura este art sau tiin?


Niciuna sau amndou

tiin

Art

Metode analitice greu de aplicat


Probleme foarte mari cu puine criterii cantitative de selecie
Arhitecii experimentai reutilizeaz soluii care i-au dovedit n timp
valabilitatea aducnd foarte puine mbuntiri de natur incremental
Procesul arhitectural are un numr finit de etape i de artefacte prescrise
Corpul de cunotine a nceput s fie codificat
abloane, medii de dezvoltare, servicii,

Intuiia i creativitatea rmn nc elemente de baz

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura unui sistem din punct de vedere hardware i


software
Un sistem reprezint o soluie
Un sistem poate fi o combinaie de software i hardware n diferite proporii
Partea hardware, existent, va restriciona i influena decisiv partea software
Interfee ctre dispozitivele fizice
Structura fizic a sistemului i distribuirea

Proiectarea concurent a prilor hardware i software va conduce spre un


sistem diferit
Trebuie fcute o serie de compromisuri ntre partea software i cea hardware
Constrngeri: valoarea produsului, bugetul, resursele, cerinele sistemului

Dr. ing. Liviu PERNIU

Curs 1

Rolurile arhitect de sistem, software i hardware


Roluri deferite
Architect de sistem
Architect software
Architect hardware

Rolurile pot fi ndeplinite de ctre aceeai persoan

n cadrul acestui curs termenii de arhitect i


arhitectur, se refer la arhitect software,
respectiv arhitectur software
Dr. ing. Liviu PERNIU

Curs 1

Definirea unei arhitecturi


Model
O descriere complet a unui sistem dintr-o perspectiv particular, la un
anumit nivel de abstractizare

Vedere
O proiecie a unui model, care este vzut dintr-o perspectiv dat i care
omite entitile ce nu sunt relevante pentru perspectiva respectiv

Perspectiv
O definiie (sau descriere) a unei vederi
Coninut, semnificaie i reprezentare (notaie, tehnici de modelare)

Dr. ing. Liviu PERNIU

Curs 1

Vederi arhitecturale sub foma unor proiecii de modele


Perspectiva
<<stabileste>>

Vedere

Model

Persoana
interesat

Vederile sunt proiecii ale modelelor create pentru o anumit


persoan interesat
Dr. ing. Liviu PERNIU

Curs 1

Domeniu

(Funcionale)

(Informaii)

Perspectiva
de
cerine

funcionale

Logic

de
proiectare

Proces

Implementare
Rulare n mediul

Perspectiva
Spaiul soluiei

Cerine non-

Use-Case

Spaiul problemei

Perspective i vederi arhitecturale propuse

Perspectiva
de realizare

real

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea de arhitecturi folosind limbajul UML


Modelele i vederile pot fi descrise folosind limbaje de modelare
Simboluri (dicionar)
Reguli de creare a modelelor pe baza simbolurilor (gramatica)
Semnificaia simbolurilor i structurilor (semantica)

Limbajul UML este folosit pentru:

Vizualizare
Specificare
Construcie
documentare

i reprezint artefactele unui sistem software intensiv

Dr. ing. Liviu PERNIU

Curs 1

Modelarea vizual folosind Unified Modeling Language


Diagrame
Use-Case

Diagrame
de clase

Diagrame de
secven

Diagrame
de obiecte

Diagrame de
colaborare

Diagrame de
componente

Modele

Diagrame
de stare

Diagrame de
activiti

Diagrame de
rulare n mediul
real

Diagrame
statice

Diagrame
dinamice

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura realizeaz negocierea dintre forele


implicate
Funcionalitate
Proces

Tehnologie

Complexitate

Calitate

Deprinderi

Organizaii i culturi

Aspecte referitoare la domeniul vizat


Dr. ing. Liviu PERNIU

Curs 1

Ciclul de via al arhitecturii


Ciclul de via al arhitecturii

Fore arhitecturale
Funcionalitate
Tehnologie
Complexitate
Organizaii i culturi
Aspecte ale domeniului
Deprinderi
Calitate
Proces

Arhitectura
produce
conduce
Sistem
Arhitect

Software Architecture in Practice: L.Bass, P. Clements, R. Kazman, Addison-Wesley, 1998

Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


1. Calitatea i integritatea sistemului
Arhitectura asigur integritatea conceptual i calitatea sistemului
permind n acelai timp modificri
Funcionalitatea cerut
Atributele de calitate
Cerine noi
Cerine modificate
Combinarea de tehnologii

Arhitectura conduce la creterea longevitii sistemului


Uurina evoluiei
Elasticitate
Rezisten la ocurile produse la apariia unei cereri de modificare
Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


2. Controlul complexitii
Divide et impera
Descompunerea pe componente
Acunderea detaliilor de implementare

Separarea de preocupri
Componentele (i straturile) dein detaliile
Componentele, fiind diferite trebuie s poat fi implementate de persoane
cu expertize diferite
Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


3. Predictibilitatea
Predictibilitatea procesului
Prototipurile arhitecturale trebuie s permit realizarea de msurtori
Identificarea de variabile de cost
Planificarea utilizrii msurtorilor

Predictibilitatea comportamentului
Iteraiile arhitecturale elimin riscurile majore

Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


4. Testabilitatea
Sistemele create pe baz de componente permit mai bine i mai uor
Diagnosticarea
Urmrirea
Detectarea erorilor

Testarea trebuie s se fac pe baz de use case-uri

Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


5. Reutilizarea
Arhitectura trebuie s stabileasc reguli de substituire
Interfeele componentelor stabilesc limitele substituirii
Arhitectura trebuie s permit nivele diferite ale granularitii la
reutilizare
Scar mic de reutilizare la nivel de component
Reutilizare la scar mare a
Subsistemelor
Produselor
Mediilor de lucru

Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


6. Comunicarea
Arhitectura permite comunicarea ntre persoanele interesate
Vederi diferite vizeaz preocupri diferite ale persoanelor interesate
Arhitectura comunic deciziile cheie de proiectare
Motivaiile folosite la proiectarea arhitectural informeaz despre
negocierile fcute

Dr. ing. Liviu PERNIU

Curs 1

Avantajele crerii de arhitecturi


7. Organizarea i managementul proiectului
Structura organizaional trebuie aliniat cu arhitectura
Echipa (echipele) de dezvoltare
Subcontractori

Componentele/subsistemele trebuie utilizate ca uniti de


Dezvoltare
Testare
Furnizare i actualizare

Componentele/subsistemele trebuie dezvoltate n mod concurent

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


1. Arhitectul sistemului
Rolul i persoana de Arhitect
Arhitect n cadrul unui proces reprezint un rol care se
caracterizeaz prin:
Responsabilitate
Comportament
Deprinderi

Mai multe persoane pot juca acest rol, posibil n acelai timp

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


Rolurile unui arhitect/echipei de arhitectur
Stabilirea arhitecturii sistemului
Pstrarea integritii arhitecturale a sistemului
Evaluarea riscurilor tehnice
Stabilirea de strategii de evitare a propagrii riscului
Participarea la activitatea de planificare a proiectului
Propune ordinea i coninutul iteraiilor folosite la elaborare
Se consult cu echipele de proiectare, implementare i integrare
Ajut la promovarea produsului i la redefiniri ulterioare ale acestuia
Applied Software Architecture: C. Hofmeister, R.L. Nord, D. Soni, Addison-Wesley, 1999

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


Relaia dintre echipa de arhitectur i celelalte echipe
Echipa de management
a proiectului
Metodologie, calitate

Echipa de arhitectur

Echipa de dezvoltare a
aplicaiei

Echipa de infrastructur

Echipa de integrare,
testare

Colaborare cu celelalte echipe


Nu este o echip privilegiat
Joac un anumit rol n relaia cu celelalte echipe
Are rezultate/produse specifice

Nu gestioneaz activiti de dezvoltare


Suport modificri de rol n diferite faze ale proiectului
Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


2. Utilizatori
Un utilizator este o persoan care folosete un sistem n activitatea
sa de zi cu zi: la pot, la banc, la controlul zborurilor etc.
Zona de interes
Comportament intuitiv i corect
Performan
Fiabilitate
Configurarea cu uurin
Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


3. Clieni
Un client este o persoan care ofer fonduri pentru proiectarea i
elaborarea unui sistem
Zona de interes
Pre
Costuri de suport i mentenan
Caracteristici
Furnizarea la timp a produsului
Stabilitate i mentenabilitate

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


4. Vnztori
Un vnztor este o persoan care se ocup de vinderea unui sistem la
utilizatorii finali, oferind n acelai timp sprijin n configurare i operare

Zona de interes
Pre i calitate
Momentul apariiei pe pia
Caracteristici concurente
Uurina instalrii
Uurina configurrii
Uurina integrrii cu alte sisteme
Uurina diagnosticrii problemelor

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


5. Manager de proiect
Managerul de proiect este persoana responsabil de elaborarea
i furnizarea ntregului sistem sau a prilor sale de baz
Zona de interes
Arhitectur i reguli consistente de dezvoltare
Relaia cu echipa de arhitectur i cu structurile organizaionale
Separarea aspectelor legate de dezvoltare de celelalte aspecte
Stabilitatea infrastructurilor tehnice
Aderarea la standarde

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


6. Dezvoltatorul i/sau testerul
Dezvoltatorul este responsabil de obinerea funcionalitilor
cerute n conformitate cu standardele i procedurile adoptate
Testerul este responsabil de efectuarea testelor, inclusiv a celor
de configurare i execuie, dar i de evaluarea rezultatelor obinute
la teste i a refacerii dup apariia unei erori.
Zona de interes
Formularea de cerine clare
Specificaii de proiectare fr ambiguiti
Arhitecturi i reguli de dezvoltare consistente
Posibilitatea de urmrire a cerinelor
Testabilitatea
Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


7. Persoane de ntreinere
Persoanele care se ocup de ntreinere lucreaz pe sistemele
finalizate i introduse n mediul real de lucru i efectueaz operaii de
configurare. n anumite situaii pot fi vzute ca un fel de dezvoltatori.
Zona de interes
Structura i interdependenele dintre componentele sistemului
Reguli clare despre cum trebuie fcute modificrile n cadrul sistemului
Calitatea documentaiei sistemului
Utilizarea consistent a abloanelor i mediilor de dezvoltare

Dr. ing. Liviu PERNIU

Curs 1

Persoane interesate de bunul mers al proiectului


8. Administratorul sistemului
Administratorul sistemului este persoana care se ocup de controlul
operaiilor care au loc pe sistemul respectiv
Zona de interes
Uurina de monitorizare a operaiilor ce au loc pe sistem
Optimizarea performanelor
Uurina instalrii

Dr. ing. Liviu PERNIU

Curs 1

Caracteristicile unui proces ideal


Iterativ (i incremental)
Bazat pe arhitectur
Condus de use case-uri
Controlul riscului
Aceste caracteristici reprezint principiile de baz ale Rational
Unified Process (RUP).
Fiecare dintre aceste caracteristici ale unui proces sunt prezentate
detaliat n continuare.

Dr. ing. Liviu PERNIU

Curs 1

Dezvoltarea iterativ
Avantaje:
Riscurile critice sunt eliminate nainte de a face investiii majore
Iteraiile iniiale permit utilizatorilor s transmit feedback-uri n timp util
Testarea i integrarea se produc n continuu
Se pot stabili mrimi pentru msurarea atingerii obiectivelor
Progresul poate fi msurat prin evaluarea implementrilor
Implementrile pariale pot fi introduse n mediul real de lucru
R

R
D

I
T

Iteraia 1

D
C
I

I
T

Iteraia 2

Iteraia 3

T I M P

Dr. ing. Liviu PERNIU

Curs 1

Profilul de risc al dezvoltrii iterative


Iniiere

Elaborare

Construcie Tranziie

Mare

Riscul proiectului

Perioada de management
controlat al riscului

Profilul convenional
de risc al proiectului
Profilul riscului
n dezvoltarea iterativ

Perioada
de declarare a riscului
Perioada
de investigare a riscului
Sczut

Ciclul de via al proiectului


Software Project Management: Walker Royce, Addison-Wesley,1998

Dr. ing. Liviu PERNIU

Curs 1

Proiectarea bazat pe arhitectur


Arhitectura permite preluarea i pstrarea controlului intelectual asupra
unui proiect, avnd scopul gestionrii complexitii i a pstrrii
integritii sistemului
Architectura ofer baza efectiv de reutilizare pe scar larg
Architectura ofer fundamentul managementului de proiect
Architectura uureaz dezvoltarea bazat pe componente
O component ndeplinete o funcie clar n contextul unei arhitecturi bine
construite
Componentele exist numai n cadrul unei anumite arhitecturi

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura trebuie s se dezvolte n mod incremental

Iteraie timpurie
Iteraie
intermediar
Iteraie trzie

Dr. ing. Liviu PERNIU

Curs 1

Arhitectura fazele ciclului de via


Etapa de inginerie
Iniiere

Elaborare

Etapa de producie
Construcie

Tranziie

timp

Procesul ciclului de via al proiectului are patru faze:


Iniiere definirea scopului proiectului
Elaborare planul de proiectare, caracteristici specifice, arhitectura de
baz
Construcie crearea produsului
Tranziie transferul produsului n sfera utilizatorului
Dr. ing. Liviu PERNIU

Curs 1

Faza de iniiere
Aspecte avute n vedere la intrare
Viziunea original, sisteme existente, necesiti, valori, replicare

Aspecte avute n vedere la ieire


Situaia inial a afacerii:
Formularea unei viziuni despre produs
Criterii de succes (de exemplu, recuperarea investiiei)
Evaluarea riscului iniial
Estimri necesare pentru faza de Elaborare

Modelul de analiz iniial; use case-uri sau scenarii folosite pentru a ajuta arhitectul
Presupuneri i date necesare pentru arhitectura iniial
Atribuirea de responsabiliti pentru realizarea arhitecturii

Dr. ing. Liviu PERNIU

Curs 1

Faza de Elaborare
Aspecte avute n vedere la ieire:
Proiectarea aproape complet a modelului, astfel nct s se poat spune c
arhitectura este stabilit
Crearea unui model executabil al arhitecturii complet funcionale
Eliminarea celor mai importante riscuri tehnice
Plan detaliat de dezvoltare software
Identificarea riscurilor de dezvoltare
Plan de management
Planul personalului
Planul fazei de Construcie prezint iteraiile ce se vor desfura precum i scopul acestora

Criteriile de evaluare a obiectivelor i mrimilor stabilite pentru prima iteraie a fazei de


Construcie

Dr. ing. Liviu PERNIU

Curs 1

Stabilirea arhitecturii de baz


Etapa de proiectare
Iniiere

Elaborare

Etapa de producie
Construcie

Tranziie

timp

Arhitectura de baz
Arhitectura de baz reprezint o implementare parial i o
proiectare a elementelor critice ale sistemului, care mpreun
demonstreaz c:
Sistemul va ndeplini cerinele funcionale de baz
Sistemul va ndeplini cerinele non-funcionale cerute
(performan, fiabilitate etc.)
Riscurile principale de dezvoltare pot fi identificate i eliminate
Dr. ing. Liviu PERNIU

Curs 1

Faza de Construcie
Pentru fiecare iteraie:
Aspecte avute n vedere la intrare: Planul de iteraie
Caracteristici incrementale: use case-uri, scenarii
Identificarea riscurilor care se propag
Eliminarea defectelor
Identificarea de criterii pentru stabilirea de obiective msurabile necesare la
evaluarea rezultatelor

Aspecte avute n vedere la ieire


Artefacte pentru produs i proiectare (incrementarea urmtoare)
Documentele de descriere a versiunii
Test case-uri bazate pe scenarii, scripturi de testare
Un plan pentru iteraia urmtoare

Dr. ing. Liviu PERNIU

Curs 1

Faza de Tranziie
Aspecte avute n vedere la ieire:
Produs introdus n mediul real de lucru
Versiune nou a produsului
Actualizarea vechii versiuni a produsului

Analiza ulterioar
Organizare
Atributele principale de calitate ale sistemului
Aspecte pozitive suplimentare (alimentarea cu reutilizabile, experien i
practici noi achiziionate pe parcursul proiectului)
Nevoia de a evolua (potenial)

Dr. ing. Liviu PERNIU

Curs 1

Iteraii i faze

Iniiere
Itera
Iteraie
preliminar

Elaborare

Construcie

Itera
Itera
Iteraie
Iteraie
Itera
Iteraie de
arhitecturalarhitectural dezvoltare

Itera
Iteraie de Itera
Iteraie de
dezvoltare dezvoltare

Tranziie
Itera
Iteraie de
tranzi
tranziie

Itera
Iteraie de
tranzi
tranziie

Obiective minore: Versiuni


O iteraie reprezint o secven distinct de activiti desfurate pe
baza unui plan crora li se stabilesc criterii de evaluare i care se
finalizeaz printr-o versiune executabil (intern sau extern)
Dr. ing. Liviu PERNIU

Curs 1

Conceptul iterativ
Faze
Fluxul de lucru al procesului

Iniiere

Elaborare

Construcie

Tranziie

Modelarea domeniului

ntr-o iteraie
se parcurg
toate
fluxurile de
lucru

Cerine

Fluxuri de
lucru
grupate
logic pe
activiti

Analiz i proiectare
Implementare
Testare
Introducere n
mediul real de lucru

Configurare i managementul modificrilor

Managementul proiectului
Mediu

Iteraii
preliminare

Iter.
#1

Iter.
#2

Iter.
#n

Iter. Iter.
#n+1 #n+2

Iter.
#m

Iter.
#m+1

Iteraii
Dr. ing. Liviu PERNIU

Curs 1

Trecerea de la faza de Iniiere la faza de Elaborare


Documentul produsului
Evaluarea riscului iniial
Cerine iniiale (SARS)
Vedere asupra domeniului
Ipoteze i date
iniiale pentru
arhitectur

Planul fazei de
Elaborare
Planificarea fazelor i iteraiilor
(Faza de Elaborare)

Criterii de evaluare a
succesului
Factori externi
Dr. ing. Liviu PERNIU

Curs 1

Vederea asupra domeniului


Modelarea principalelor concepte din domeniul abordat, a
obiectivelor i evenimentelor
Ofer contextul sistemului
Cum opereaz sistemul i cum interacioneaz cu mediul
Constrngeri de domeniu pe care trebuie s le accepte sistemul
Crearea unui dicionar de termeni

Achiziionarea informaiilor de baz necesare pentru nelegerea


cerinelor funcionale i a constrngerilor de integritate a sistemului
Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere asupra domeniului


Acelai curs poate fi
oferit de mai multe
catedre

Catedra
1..n

ContStudent
0..1

+curs disponibil 0..n

Un student nu se poate
nscrie la un curs dac
nu are un cont valabil

0..n

+personal

+profesor

Curs
0..n
1

Profesor

0..n
1
+profesor

+lista cursuri
1

Student

0..n
0..n
urmeaz

orar
0..n

Ora

0..n

Un profesor poate preda


mai multe cursuri, dar
fiecare Ora are doar un
singur profesor

Un student activ este un student


care are cel puin un curs

Dr. ing. Liviu PERNIU

Curs 1

Cerine arhitecturale semnificative (SAR)


Sunt acele cerine care au implicaii arhitecturale semnificative
Acces Web, utilizator mobil, reacie imediat la evenimente exterioare...

Sunt greu de ndeplinit


Algoritmi compleci, interaciuni complexe, dependene externe, multe puncte
de sincronizare etc.
Performan, disponibilitate, scalabilitate, .

Se modific des
Sunt foarte importante pentru client
Sunt cerine considerate a fi de risc ridicat

Dr. ing. Liviu PERNIU

Curs 1

Tipuri de cerine arhitecturale semnificative


FURPS+
Funcionalitate - Functionality

Cerine funcionale

Utilizabilitate - Useability
Fiabilitate - Reliability
Performan - Performance

Cerine non-funcionale (atribute


de calitate ale unui sistem)

Suportabilitate - Supportability
Cerine de proiectare
Cerine de implementare
Cerine de interfa

Restricii

Cerine fizice
Dr. ing. Liviu PERNIU

Curs 1

Exemple de cerine arhitecturale semnificative


Produsul va fi folosit n mai multe limbi strine
Persistena datelor va fi asigurat prin
intermediul unei baze de date relaionale

Suportabilitate
Cerin de proiectare

Baza de date va fi una ORACLE 11g

Cerin de implementare

Sistemul va avea disponibilitate continu (7x24)

Fiabilitate

Este necesar crearea unui sistem de help online

Funcionalitate

Toate apariiile de pe partea de client vor fi scrise

Cerin de implementare

n limbaj Java

Dr. ing. Liviu PERNIU

Curs 1

Alte restricii
Restricii de domeniu
planificare
fonduri
deprinderi
parteneriate, ...

Restriciile provoac deseori implicaii n cascad


Se folosete Oracle
se folosete RDBMS
trebuie un nivel de coresponden
ntre obiecte i tabelele din baza de date
...

Analiza datelor de intrare i implicaia acestora n arhitectur


urmrirea sursei
nelegerea motivaiilor

Dr. ing. Liviu PERNIU

Curs 1

Obinerea cerinelor arhitecturale semnificative


Lista

cerinelor

arhitecturale

semnificative

trebuie

actualizat

permanent
Pentru fiecare cerin trebuie stabilit setul de ntrebri care ajut la
formularea cerinei
Trebuie nelese de ctre toi cei interesai de bunul mers al proiectului
Chestionar de cerine arhitecturale

Ajutorarea persoanelor n nelegere prin oferirea viziunii asupra


impactului pe care l are rspunsul la o ntrebare
Strngerea tuturor rspunsurilor persoanelor implicate
Asigurarea c fiecare cerin reprezint o prioritate pentru persoanele
implicate
Dr. ing. Liviu PERNIU

Curs 1

Exemplu de chestionar folosit la strngerea cerinelor


arhitecturale
Cerina
Fiabilitate
(Disponibilitate)

Platforma
suport

ntrebri
Exist cerine
referitoare la
funcionarea
sistemului
nentrerupt? Acestea
pot fi specificate n
termeni de timp
mediu dintre
defectri (MTBF)
Ce platforme trebuie
s suporte sistemul?

Impact

Rspuns

Cu ct este mai mare


disponibilitatea cu att
timpul de livrare este mai
mare

Disponibilitatea
este o
caracteristic
cheie. Produsul
trebuie s aibe
o valoare MTBF
de 60 de zile

Elaborarea pentru o singur


platform scurteaz timpul
de livrare i permite o mai
bun integrare cu
caracteristicile acesteia.

Produsul va fi
livrat pentru
urmtoarele
platforme UNIX:
Sun Solaris
IBM AIX
HPUX

Prioritate
Mare

Mare

Dr. ing. Liviu PERNIU

Curs 1

Ordonarea cerinelor arhitecturale


Ordonarea parial a cerinelor arhitecturale pe baza:
Importanei pentru client
Riscurilor asociate
Dependenelor dintre cerine
Implicaiilor critice i mrimii acestora
Complexitii

Dr. ing. Liviu PERNIU

Curs 1

Documentarea cerinelor arhitecturale


Modelul Use Case

Actori
Use Case-uri

...

Specificaie suplimentar

Cerine arhitecturale
non-funcionale :
Vederea cerinelor
arhitecturale nonfuncionale

Rapoarte Use-Case

Cerine arhitecturale funcionale: Vederea Use Case


Dr. ing. Liviu PERNIU

Curs 1

Definiia riscului
Riscul = orice st n calea succesului unui proiect
Riscurile apar din contextul cerinelor

Cerine

Context
Tehnologie

RISCURI

Oameni i
organizaii

Constrngeri de domeniu
Dr. ing. Liviu PERNIU

Curs 1

Ordonarea riscurilor
Estimarea de ansamblu a apariiei unui risc (obinerea consensului)
Este egal cu: Impactul Riscului * Probabilitatea de apariie

Crearea listei "top 10 de riscuri


n ordinea descresctoare a periculozitii

Gruparea riscurilor n funcie de mrimea acestora:


Mare
Semnificativ
Moderat
Minor
Sczut
Dr. ing. Liviu PERNIU

Curs 1

Scala de periculozitate/ncredere
Periculozitatea general a riscului = Impactul riscului * Probabilitatea de
apariie

Mare
Ri
sc
ur
i

Semnificativ

Moderat

or
do

na
te

de

la

m
ar
e

la

Minor

ic

Sczut

ncredere n
Sczut

Moderat

Mare

decizie
Dr. ing. Liviu PERNIU

Curs 1

Ipoteze arhitecturale iniiale


Funcii critice
Interfee critice (interne i externe)
Mecanisme obinuite
Persistena
Comunicarea
Prezentarea (GUI),

Stratificarea i organizarea iniial a sistemului


Structura de introducere n mediul real de lucru
Procesoare
Arhitectura reelei, ...

Dr. ing. Liviu PERNIU

Curs 1

Planificarea fazei de Elaborare


3
Se propune un
numr de iteraii
sau de prototipuri

1
Membrii echipei
identific riscurile
tehnice din proiect

Riscurile sunt
ordonate de la cel
mai sever la cel
mai puin sever

4
Pentru fiecare iteraie
sau prototip se
stabilesc riscurile
corespunztoare

5
Se revizuiesc i se
rafineaz ipotezele
arhitecturale

Dr. ing. Liviu PERNIU

Curs 1

Exemplu
Se pun bazele liniei de producie a serviciilor pentru automatizarea
traficului aerian
Se estimeaz 750 KLOC (mii de linii de cod scrise, - Ada, 2% C++)
Mai multe platforme de pentru implementare
Sistem distribuit
Elaborare:
3 iteraii, 6 luni fiecare
Construcie:
4 iteraii, +/- 6 luni fiecare
Tranziia:
2+ iteraii
Dr. ing. Liviu PERNIU

Curs 1

Exemplu: iteraia 1
4 use case-uri critice (scenarii selectate)
Introducerea planului de zbor
Introducerea autorizrilor
Introducerea raportului de poziie a controlorului de zbor
Primirea raportului de poziionare radar
Alegerea produselor COTS (COTS produse gata fabricate, mecanisme)
Middleware i GUI
Perioada de instruire
Crearea echipelor
Domeniul traficului aerian
Limbaje de programare i medii de dezvoltare
Metode de proiectare
10 KLOC dezvoltat

Dr. ing. Liviu PERNIU

Curs 1

Exemplu: iteraia 2
20 use case-uri critice i importante (scenarii selectate)
Mai multe amnunte

Se pun n funciune mecanismele de baz


Tratarea erorilor
Obiecte distribuite
Persisten
Managementul echipei

50 KLOC dezvoltate

Dr. ing. Liviu PERNIU

Curs 1

Exemplu: iteraia 3
Peste 55 use case-uri (scenarii selectate)
Cerine rezolvate
Intrarea n funciune a mai multor mecanisme
Accesul la baza de date
Mecanism tolerant la defectri

Realizarea arhitecturii complete

Dr. ing. Liviu PERNIU

Curs 1

Exemplu: iteraiile urmtoare


Peste 71 use case-uri (scenarii selectate)
Optimizarea arhitecturii bazat pe experimente i msurarea performanelor
Subsisteme integrate sau descompuse
Integrarea proceselor
Granularitate mai fin a specificaiei obiectului
Mecanisme adiionale pentru
Persisten
Nume logice
Simulare
Parametrizare
Stabilizarea interfeelor

Dr. ing. Liviu PERNIU

Curs 1

Iteraia arhitectural
Faze
Fluxurile de lucru ale procesului

Iniiere

Elaborare

Construcie

Tranziie

Modelarea domeniului
Cerine
Proiectare i analiz
Implementare
Testare
Implementare n mediul real de producie

Fluxurile de lucru suport


Mgmt configurrilor i modificrilor

Managementul proiectului
Mediu

Iteraii
preliminare

Iter.
#1

Iter.
#2

Iter.
#n

Iter. Iter.
#n+1 #n+2

Iter.
#m

Iter.
#m+1

Iteraii
Dr. ing. Liviu PERNIU

Curs 1

Iteraia arhitectural
Specificaii
Riscuri

Cerine

Analiz i
proiectare
bazat pe
arhitectur

Cerine i
planificare

Revizuire
Elaborarea
prototipului
arhitectural,
integrare i testare

Cod
Dr. ing. Liviu PERNIU

Curs 1

Managementul arhitecturii i al configurrii


Architectura descompune un sistem n mai multe pri
Subsisteme
Module
Componente,

O parte bine proiectat trebuie s fie o unitate de


Proiectare
Construcie
Management de configurare
Distribuire i substituie

Granularitatea prilor este un aspect important


Pri multe i mici
Pri mai mari

Dr. ing. Liviu PERNIU

Curs 1

Arhitectur i testare
Architectura stabilete limitele testrii
Interfeele reprezint puncte de conectare folosite n faza de testare
Interfeele ghideaz dezvoltarea i generarea testelor
Pot fi generate pri finite
Se codific comportamentul componentelor

Mecanismele i straturile pot fi testate independent


Scripturile de testare se verific progresiv pe pri extinse ale
sistemului

Dr. ing. Liviu PERNIU

Curs 1

Artefacte de arhitectur

Modelul de analiz

Modelul de proiectare

Documentul de
arhitectur software

Modelul de punere n
mediul real de lucru

Modelul de
implementare

Arhitect

* Observaii arhitecturale

* Prototip arhitectural
Reguli de proiectare

* Prezentarea
arhitecturii

Reguli de programare
Dr. ing. Liviu PERNIU

Curs 1

Corespondena dintre vederile arhitecturale


Vederea de
domeniu
Corespondena DoUC
Vederea
Use-Case

Corespondena DoLo

CorespondenaUCLo
Corespondene cu toate
celelalte vederi cu excepia
vederii de domeniu

Vederea cerinelor
non-funcionale

Vederea
logic
Corespondena LoPr

Vederea
de proces

Corespondena LoIm

Corepspondena PrIm
Vederea de
implementare

Corespondena PrPMRP

Corespondena LoPMRP

Corespondena ImPMRP

Vederea punerii n
mediul real de producie

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea diagramei de domeniu


Structura
Diagrame de clase

Comportament
Diagrame de interaciune
Diagrame de stare
Diagrame de activitate
Object Constraint Language (OCL)
Un
Un exemplu
exemplu de
de diagram
diagram de
de domeniu
domeniu este
este prezentat
prezentat n
n slide-ul
slide-ul urmtor
urmtor

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea Use-Case


Aspecte
Care sunt comportamentele observabile ale sistemului?
Care dintre aceste comportamente sunt critice din punct de vedere al
funcionrii?
Care dintre aceste comportamente pun probleme arhitecturale?
Care dintre aceste comportamente necesit comunicarea sau sincronizarea cu
alte sisteme externe?
Persoane implicate
Client
Utilizatori
Proiectani
Dezvoltatori

Dr. ing. Liviu PERNIU

Curs 1

Vederea Use-case integreaz alte vederi


Nu definete structura sistemului
Este necesar pentru a nelege felul n care funcioneaz sistemul i
pentru ce a fost aleas arhitectura respectiv
Permite luarea n considerare a riscurilor tehnice
Pe baza acesteia se identific clasele, procesele i interfeele critice
Permite integrare
Permite proiectanilor s se concentreze pe aspecte concrete
Pe baza acesteia se face proiectarea arhitecturii
Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii Use-case


Structura
Diagrame Use-case

Comportament
Descrieri Use-case sub form de text
Diagrame Use-case de activitate
Diagrame Use-case de interaciune (de secven sau colaborare)
Descrieri textuale ale felului n care cerinele se modific n timp i a modului
n care arhitectura trebuie s rspund la aceste modificri
Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere Use-case: Diagrama Use-Case


Vede raport

Student
Se nregistreaz la curs

Logare

Profesor

Lista cursurilor (alt sistem software)

Introduce note

Se pstreaz informaiile
profesorului

Sistem de nregistrare

Se pstreaz informaiile
studenilor

Se termin nregistrarea

Sistem de plat (alt sistem software)

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere Use-case: descriere textual


1. nregistrarea la un curs cu ajutorul Internetului
Use case-ul descrie felul n care un student se poate nscrie la un curs din universitate folosind
site-ul Web al acesteia.
2. Pre i post condiii
Pre-condiii: studentul se autentific, verificndu-i-se identitatea
Post-condiii: studentul s-a nregistrat la un curs, sistemul de plat fiind informat de acest
lucru
3. Fluxul evenimentelor
3.1. Fluxul de baz
Nr.
Eveniment
Comentarii
1
Studentul alege pagina de nregistrare la curs de pe
site-ul universitii
2
Studentului i se prezint o pagin de cutare pentru Cursurile sunt ordonate pe catedre,
a alege cursul pe care l dorete
apoi pe tipuri de nvmnt
(licen, master etc.)
3
Studentului i se cere s aleag un curs din lista
oferit
4
Sistemul prezint o list de cursuri din domeniul Dac nu exist cursuri, studentului
selectat
i se spune acest lucru, dup care i
se prezint din nou pagina de
cutare
5
Studentul alege o seciune
6
Sistemul prezint datele studentului i cere Sistemul
nregistreaz
datele
confirmare
studentului pe care le poate
prezenta n orice moment, la
cerere
7
Sistemul afieaz confirmarea
8
Se trimite ctre sistemul de plat o nregistrare
pentru plat
9
Sfritul use case-ului
3.2. Fluxul alternativ
1. Exist un use case similar pentru reeaua intern a universitii
4. Cerine speciale
Studentul poate opri nregistrarea la curs n orice moment
nregistrarea nu este ncheiat pn nu se ajunge la pasul 7 din fluxul principal
5. Puncte de extensie
Nu sunt

Dr. ing. Liviu PERNIU

Curs 1

Vederea cerinelor non-funcionale


Aspecte
Care sunt proprietile sistemului?
utilizabilitate, robustee, preforman, scalabilitate, suportabilitate,

Care sunt cerinele tehnologice?


Care sunt cerinele de timp i de buget?
Care sunt alte cerine din domeniul respectiv care pot afecta arhitectura?

Persoane implicate
Client
Arhitect

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea logic


Aspecte
Care este alctuirea logic a sistemului?
Ce responsabiliti au fost atribuite diferitelor elemente ale sistemului?
Pot fi utilizate specificaiile elementelor pentru a le verifica implementarea?
Care este gruparea logic a elementelor sistemului?
Proiectul arhitectural poate fi neles i este elegant?

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea logic

Aspecte
Arhitectura suport abstractizare i separare?
Ce elemente ale sistemului pot fi refolosite?
Ce proiecte arhitecturale pot fi refolosite?

Persoane implicate
Client
Dezvoltatori
Proiectani
Managerii echipei de dezvoltare

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii logice


Structura
Diagrame de pachete
Partiii majore (pachete)

Diagrame de clas
Elemente de proiectare arhitectural semnificative (clase, subsisteme, interfee)
precum i relaiile dintre acestea

Comportament
Diagrame de interaciune (de secven i de colaborare)
Diagrame de stare

Colaborri
Au att un aspect structural ct unul comportamental

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere logic: structura de nivel nalt


<<strat>>
Interfa utilizator

<<strat>>
Logica de domeniu
Interfa Web

ILogin

ISesiune

Interfa LAN

<<subsistem>>
Managementul
sesiunii

<<strat>>
Servicii

Coordonatori

Middleware

Acces sistem
existent
Acces baz
de date
Reutilizare
de baz

Artefacte universitate

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere logic: stratul de pachete i


subsistem
Stratul interfeei utilizator
Interfaa Web
(interfaa utilizator)

Stratul logicii de domeniu

Coordonatori
(logica de domeniu)

Acces la sistemele existente


(logica de domeniu)

<<subsistem>>
Sistem de plat
(sistem existent)
IPlata
(sistem existent)

ICursLista

<<subsistem>>
Lista cursuri
(sistem existent)
Artefacte universitate
(logica de domeniu)

(sistem existent)

Middleware
(servicii)

Stratul serviciilor
Acces baz
de date
(servicii)

ISesiune
(servicii)

<<subsistem>>
Managementul
sesiunii
(servicii)

ILogin
(servicii)

Reutilizare
de baz
(servicii)

Dr. ing. Liviu PERNIU

Curs 1

Vederea logic: colaborarea


Elementele grupului lucreaz mpreun pentru a obine
comportamentul specific al sistemului
Mecanism
Use-case

Are aspecte statice i dinamice


Participant K

Participant B

Participant A
Colaborare X

Participant Q

Participant R

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea de proces


Aspecte
Care sunt obiectele active ale sistemului?
Ce modaliti de control implementeaz?
Care sunt obiectele pasive care ruleaz?
Care este concurena sistemului i cum este aceasta controlat?
Cum comunic obiectele active?
Care sunt mecanismele de proiectare necesare pentru a ajuta la
comunicarea obiectelor?
Cum este controlat ciclul de via al obiectelor active

Persoane implicate
Proiectani i dezvoltatori
Client
Persoanele care se ocup de sistemul de operare
Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii de proces


Structura
Diagrame de clas
<<process>> activ i clase <<thread>>
Relaii de comunicare interproces
Conduse/implementate prin intermediul relaiilor dintre clasele active i pasive (prezentate n
corespondena dintre vederea logic i vederea de proces)
Reprezentate cu ajutorul reprezentrilor de tip observaie identificnd mecanismele de
proiectare (colaborri) folosite la implementarea acestora (prezentate n corespondena dintre
vederea logic i vederea de proces)

Attea diagrame de clas cte sunt necesare

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de reprezentare a vederii de proces: diagrama


de clas
Toate paginile clientului i
serverului sunt <<threads>>
care ruleaz n (sunt controlate
de) managerii de resurse

Mecanism de
comunicare
interproces: COM

Mecanism de
comunicare
interproces: HTTP

<<process>>
BrowserWeb
(Manageri de resurse)

<<process>>
ServerWeb
(Manageri de resurse)

<<process>>
AplicatiaServer
(Manageri de resurse)

<<Pagina client>>
Home
(Paginile client)

<<link>>
<<Pagina client>>
IncepeInregistrare
(Paginile client)

<<Formular>>
FormularCautareCurs

<<trimite>>

(Paginile client)

<<Pagina server>>
PreiaListaCursuri
(Paginile server)

<<creeaza>>
<<Pagina client>>
AlegeCurs
(Paginile client)

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de vedere de proces: Diagrama de obiecte (scenariu de


execuie)

BW1 :
BrowserWeb

PC1 :
IncepeInregistrare

SW :
ServerWeb

SA :
ServerAplicatie

BW2 :
BrowserWeb
PS1 :
PreiaListaCursuri
PC2 :
AlegeCurs

Dr. ing. Liviu PERNIU

Curs 1

Vederea de implementare: aspecte i persoane


implicate
Aspecte
Care sunt elementele instaniate la funcionarea sistemului?
De unde provin acestea (elaborare proprie, achiziie etc.)?
Care sunt limbajele de programare, tehnicile, instrumentele etc. folosite la
crearea acestor elemente?
Care sunt deprinderile i abilitile cerute echipei de dezvoltare?
Cum sunt organizate elementele n cadrul unitilor de dezvoltare i de
punere n mediul real de lucru?
Dr. ing. Liviu PERNIU

Curs 1

Vederea de implementare: aspecte i persoane


implicate
Aspecte
Cum depind unele de altele pe perioada execuiei sau a construciei?.

Persoane implicate
Dezvoltatori
Managerii echipei de dezvoltare
Subcontractori
Client
Suport (din punct de vedere al configurrii i instalrii sistemului)
Personalul care se ocup de sistemul de operare
Dr. ing. Liviu PERNIU

Curs 1

Categorii de componente
Componente obinute n urma desfurrii lucrului
Fiiere de cod surs, fiiere de date etc. utilizate pentru realizarea
componentelor folosite n mediul real de lucru
mpachetarea fizic a elementelor logice/conceptuale (clase, procese etc.)
Exemple: fiiere .h, .cpp i .hpp pentru C++, CORBA IDL, sau fiiere .java
pentru Java, fiiere executabile
Suport vizualizarea dependenelor de compilare ntre elementele codului
surs (important atunci cnd se controleaz configurarea i se controleaz
versiunile)

Dr. ing. Liviu PERNIU

Curs 1

Categorii de componente
Componente folosite la introducerea n mediul real de lucru
Prile necesare furnizrii sistemului funcional
Conine executabile i biblioteci (care se execut), dar i componente
auxiliare (care nu se execut)
Exemple: fiiere EXE, DLLs, COM, JAR, tabele ale bazelor de date,
fiiere de date, fiiere help, scripturi, fiiere de iniializare, fiiere de
jurnalizare, appleturi, pagini Web (.htm i .html)
Suport vizualizarea configuraiei componentelor de introducere n
mediul real de lucru

Dr. ing. Liviu PERNIU

Curs 1

Categorii de componente

Componente de execuie
Elemente fizice create i distruse n mod dinamic pe parcursul
funcionrii aplicaiei
Exemple: obiecte COM+, fiiere temporare, pagini pe parte de server/
servlei, DHTML, mesaje XML transmise ntre procese

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii de implementare


Diagrame de componente
Componente de lucru, de introducere n mediul real de lucru i de execuie
Uniti pentru introducerea n mediul real de lucru
Componente cu stereotip propriu (executabil, biblioteca, tabel, fiier, document, unitate
introdus n mediul real de lucru)
Dependene ntre componente
ntre componentele de introducere n mediul real de lucru i componentele obinute n urma
lucrului pe baza crora se obin
ntre componentele de introducere n mediul real de lucru i componentele executabile create
atunci cnd primele se afl n fucnciune
ntre unitile folosite la introducerea n mediul real de lucru i componentele de introducere n
mediul real de lucru

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii de implementare


Diagrame de componente
Interfee i relaiile dintre acestea i componente la realizare
Pachete
Grupri/partiii logice

Diagram/diagrame de componente pentru fiecare component de introducere n


mediul real de lucru. Poate fi folosit pentru a arta:
componentele asociate obinute n urma lucrului
componentele asociate la execuie

Cte o diagram de componente pentru fiecare unitate de introducere n mediul


real de lucru

Dr. ing. Liviu PERNIU

Curs 1
Exemplu de vedere de implementare: componente pentruintroducerea n mediul real
de lucru/componente obinute n urma lucrului

<<EXE>>
ConectorLista
Cursuri

<<.CPP>>
MainConectorLista
Cursuri

<<.H>>
TipuriDateUniversitate

Componente folosite pentru introducerea n mediul


real de lucru

<<.H>>
TipuriDeDate
Utilizator

<<.H>>
TipData
Orb

Componente obinute n urma activitilor de


dezvoltare
<<.CPP>>
ClaseOrb

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea de


introducere n mediul real de funcionare
Aspecte
Ce componente hardware (procesor, elemente de reea etc.) sunt necesare
pentru funcionarea sistemului?
Cum se conecteaz aceste noduri?
Care sunt costurile?
Care va fi performana, fiabilitatea i disponibilitatea sistemului?
Cum se instaleaz i se ntreine sistemul?

Dr. ing. Liviu PERNIU

Curs 1

Aspecte i persoane implicate n vederea de


introducere n mediul real de funcionare
Persoane implicate
Client
Utilizatori
Proiectani
Dezvoltatori
Personalul care se ocup de sistemul de operare

Dr. ing. Liviu PERNIU

Curs 1

Reprezentarea vederii de introducere n mediul real de


funcionare
Structura (topologia reelei i corespondena elementelor)
Diagrama de introducere n mediul real de fucnionare
Noduri
Elemente corespunztoare nodurilor
Conexiuni
(Cel puin) o diagram de introducere n mediul real de funcionare pe fiecare
configuraie

Dr. ing. Liviu PERNIU

Curs 1

Exemplu de diagram de introducere n mediul real de


funcionare
IIOP
COM
<<Linux>>
Aplicaia
de plat

<<Linuxl>>
PC
<< LAN campus >>
<<Windows>>
Server Middle
Tier

<< LAN campus >>


<< LAN campus >>

<<Windows>>
Server cu lista
cursurilor

<<dialup>>
<< LAN campus >>
<<Windows>>
Desktop

<<Linux>>
HTTP

ODBC

Server
baz de
date

Dr. ing. Liviu PERNIU

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