Académique Documents
Professionnel Documents
Culture Documents
https://sites.google.com/site/arhswcm
Cristina Mndru
Slide 1
Cristina Mndru
Slide 2
Cristina Mndru
Slide 3
Cristina Mndru
Slide 4
Cristina Mndru
Slide 5
Cristina Mndru
Slide 6
Cristina Mndru
Slide 7
Cristina Mndru
Slide 8
Concluzie
Probleme ale descrierilor naive ale arhitecturii software
Intuitive
Precizie slab
Rareori formalizat
Cristina Mndru
Slide 9
proprietile dorite.
Reutilizare.
Cristina Mndru
Slide 10
proprietile dorite.
Reutilizare.
Cristina Mndru
Slide 11
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 12
Obiectivele cursului - 1
Cristina Mndru
Slide 13
Obiectivele cursului - 2
Cristina Mndru
Slide 14
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 15
Cristina Mndru
Slide 16
Proiectare arhitectural
PROIECTARE ARHITECTURAL
Arhitectura aplicaiei
= Perspectiv general asupra software-lui.
Cristina Mndru
Slide 17
Cristina Mndru
Slide 18
reutilizare
Creterea calitii produsului software
clarificarea cerinelor
Cristina Mndru
Slide 19
Cristina Mndru
Slide 20
PROGRAMAREA
ImplementareaSUilor
componente
Proprietile structurale
Proprietile computaionale
Declarativ
Operaional
Performan la nivel de
sistem
vedereH[WHULRDUD
modulelor
Cristina Mndru
Performan la nivel de
algoritm
vedere interioar a
modulelor
Slide 21
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 22
Cristina Mndru
Slide 23
Cristina Mndru
Slide 24
Cristina Mndru
Slide 25
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 26
Ingineria sistemelor
Ingineria sistemelor GLVFLSOLQGHSURLHFWDUHi management
pentru proiectarea i construirea de sisteme mari, complexe,
interdisciplinare.
Cristina Mndru
Slide 27
Arhitectur enterprise
Arhitectur sistem
Arhitectur software
Cristina Mndru
Caracteristicile limbajului
Eficiena algoritmilor
Proiectarea structurilor de date
Testarea aplicaiei software
Implementarea funcionalitii
Slide 28
Cristina Mndru
Slide 29
Cristina Mndru
Slide 30
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 31
Cristina Mndru
Slide 32
reduc riscul
faciliteaz reutilizarea
Cristina Mndru
Slide 33
DESCRIPTIV -SHQWUXFRPXQLFDUH
Cristina Mndru
Slide 34
Cristina Mndru
Slide 35
Cristina Mndru
Slide 36
Cristina Mndru
Slide 37
Este costisitor i dificil de gsit funciile, metodele sau procedurile cele mai
potrivite
Cristina Mndru
Slide 38
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 39
Cristina Mndru
Slide 40
Cristina Mndru
Slide 41
Cristina Mndru
Slide 42
Cristina Mndru
Slide 43
Afacerea imediat
Structura organizaional
Cristina Mndru
Slide 44
Limbaje
Instrumente
Sisteme de operare
Platforme de calcul
Cadre de implementare
Practici industriale standard i tehnici de inginerie software
Cristina Mndru
Slide 45
Cristina Mndru
Slide 46
Structura i obiectivele
firmei dezvoltatoare
Cerinele beneficiarilor
Experiena arhitectului
Tehnologia
Cristina Mndru
Slide 47
Cerinele beneficiarilor
Experiena arhitectului
modeleaz firma prin partiionarea forei de munc
Tehnologia
ajut la stabilirea unui vocabular de comunicare
baz pentru WBS, utilizat n planificare,XUPULUHi bugetare
organizare n scopul gestionrii configuraiilor
organizare n scopul elaborrii documentaiei
baz pentru integrare i testare
Cristina Mndru
Slide 48
Cristina Mndru
Slide 49
de caracteristici.
Exemple:
i vor modifica
cerinele sistem n raport cu disponibilitii sistemelor
i elementelor existente.
Structura i obiectivele firmei dezvoltatoare
Cerinele beneficiarilor
Experiena arhitectului
Tehnologia
Cristina Mndru
Slide 50
Cristina Mndru
Slide 51
generatoare de compilatoare
baze de date relaionale
foi de calcul
sisteme de operare cu interfee grafice
WWW
Java
Cristina Mndru
Slide 52
PLAN CURS
Obiectivele cursului
Evoluia domeniului
Cristina Mndru
Slide 53
Tehnologie
competene
nelegerea profund a
domeniului i tehnologiilor
pertinente
Posibilitatea de a decela
elementele tehologice care
reprezint cheia succesului
rol
caliti
Modelare
Creativ
Analiza compromisurilor
Capabil de investigaie
Practic/pragmatic
Patrunztor
Prototipare/experimentare/
simulare
Pregtirea documentelor i
prezentrilor arhitecturii
software
Metode de dezvoltare i
tehnici de modelare
Analiza tendinelor
tehnologice
Tolerant fa de ambiguiti,
dispus la reluri, n cutare
de soluii multiple
Capacitate de a lucra pe
nivel abstract
Cristina Mndru
Slide 54
Consultan
competene
Tehnici de a obine i
provoca informaii
Metode cadru de
consultare
Cunosctor al proceselor
(business, software,
management)
rol
nelegerea a ceea ce
doresc i au nevoie
dezvoltatorii de la
arhitectur
caliti
Empatic, abordabil
Practic/pragmatic
Bun mentor
Cristina Mndru
Slide 55
Strategie
competene
rol
Strategia i raiunile
Influenarea strategiei
fundamentale ale companiei afacerii
Competitorii (produse,
strategii, procese)
caliti
Vizionar
Antreprenorial
Traducerea strategiei
afacerii n viziune i
strategie tehnic
Practica business a
companiei
nelegerea clientului i a
tendinelor din pia
Capturarea n arhitectur a
cerinelor clientului, a celor
organizaionale i a
cerinelor business
Cristina Mndru
Slide 56
Politici oganizaionale
competene
rol
Comunicare
Ce doresc acetia pe
planul afacerii i pe plan
personal
VnzareaXQHLYL]LXQL.
Pstrarea acesteia n via.
caliti
ncreztor i clar/logic n
exprimare
Ambiios i hotart
Rezistent i flexibil
Sensibil la localizarea i
fluxul puterii n cadrul
companiei
Cristina Mndru
Slide 57
Conducere
competene
Autocunoatere
rol
caliti
Construire echipe
Motivare
Carismatic i credibil.
Cristina Mndru
Slide 58
BIBLIOGRAFIE
Bass, L; Clements, P & Kazman, R. Software Architecture in Practice, Second
Edition, Addison-Wesley Professional, 2003
Albin, Stephen T. The Art of Software Architecture:Design Methods and
Techniques, John Wiley & Sons, 2003
Lattanze, Anthony J. Architecting Software Intensive Systems: A Practitioners
Guide, Auerbach, 2008
Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting
Software Architectures: Views and Beyond, Addison Wesley Longman, 2010
Clements, Kazman, Klein, Evaluating Software Architectures: Methods and
Case Studies, Adison Wesley Longman, 2001
Buschmann F., Menuier R., Rohnert H., Sommerlad P., Stal M., PatternOriented Software Architecture. A System of Patterns, John Wiley & Sons, 1996
Cristina Mndru
Slide 59
Cristina Mndru
Slide 1
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 2
Cristina Mndru
Slide 3
Abstractizare a sistemului.
PartiionareGHFODUDWLYi asignareGH
responsabiliti.
Definete elementele i modul n care sunt acestea
relaionate.
Suprim detaliile despre comportamentul intern i
despre informaiile locale ale elementelor.
Cristina Mndru
Slide 4
Cel mai simplu sistem este compus dintr-un singur element aflat n
relaie cu el nsui.
Cristina Mndru
Slide 5
Cristina Mndru
Slide 6
Slide 7
STRUCTURI ale
sistemului OM
Cristina Mndru
Slide 8
Inima ca (sub)STRUCTUR
a aparatului circulator.
Slide 9
Arhitectura software
Perspectiva STATIC
Vederi ale modulelor:
clase
funcii
interfee
Perspectiva DINAMIC
Vederi ale componentelor i
conectorilor:
procese
diagrame de secvene
flux de date
Cristina Mndru
Slide 10
cerinelor de calitate
cerinelor de comportament
Deciziile arhitectului se reflect n structurile sistemului.
Rezult : deciziile arhitecturale sunt cele care permit sistemului s ndeplineasc cerinele
de calitate i comportament.
Cristina Mndru
Slide 11
Cristina Mndru
Tipuri de elemente
clase, fiiere, ...
DINAMIC
FIZIC
Slide 12
Cristina Mndru
Slide 13
uses
Modul A
date
date
Proces X
Modul B
Proces Y
Modul C
date
Slide 14
Slide 15
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 16
ntr-o vedereDUKLWHFWXUDOHVWHreprezentatXQDQXPLWIHOGHVWUXFWXU
exemple:
Cristina Mndru
Slide 17
Cristina Mndru
Slide 18
Cristina Mndru
Slide 19
Stiluri
Stil arhitectural specializare pentru tipuri de elemente i de relaii,
mpreun cu un set de constrngeri referitoare la modul de
utilizare a acestora.
Motivaie:
Au fost observate forme ce se repet n sisteme diferite. Aceste forme au
proprieti cunoscute i pot fi reutilizate.
Cristina Mndru
Slide 20
Stiluri
Stil arhitectural specializare pentru tipuri de elemente i de relaii,
mpreun cu un set de constrngeri referitoare la modul de
utilizare a acestora.
Cristina Mndru
Slide 21
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 22
Tipuri de relaii :
is a relaia de specializare/generalizare
Cristina Mndru
Slide 23
Construire :
Analiz :
Cristina Mndru
Slide 24
Cristina Mndru
Slide 25
Stilul de descompunere
Stilul de generalizare
ierarhie a specializrii
maini virtuale
Cristina Mndru
STILURI
Descompunere
Generalizare
Stratificare
Slide 26
STILURI
Descompunere
Generalizare
Stratificare
Obinerea modificabilitii
Linii de produse
Utilitate :
Analiza modificare/impact
Cristina Mndru
Slide 27
box-and-lines, ncuibate
schi textual
tabel
STILURI
Descompunere
Generalizare
Stratificare
UML :
Diagrama de pachete
Cristina Mndru
Slide 28
Cristina Mndru
STILURI
Descompunere
Generalizare
Stratificare
Slide 29
STILURI
Descompunere
Generalizare
Stratificare
motenire interfa
motenire implementare
Utilitate :
reutilizare
Cristina Mndru
Slide 30
Limbaje de programare
UML
Cristina Mndru
STILURI
Descompunere
Generalizare
Stratificare
Slide 31
STILURI
Descompunere
Generalizare
Stratificare
Cristina Mndru
Slide 32
Utilitate :
Portabilitate
Dezvoltare incremental
Variaii:
Nivele segmentate:
Cristina Mndru
Slide 33
STILURI
Descompunere
Generalizare
Stratificare
Cristina Mndru
Slide 34
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 35
Perspectiva dinamic
Component-and-connector (C&C) Viewtype
Tipuri de elemente :
Tipuri de relaii :
Cristina Mndru
Slide 36
La construire
La analiz
Slide 37
Acme (AcmeStudio) :
Cristina Mndru
Slide 38
Data Flow
Call-and-return
Client - Server
Peer-to-Peer
Event-based
Publish-Subscribe
Repository
Cristina Mndru
Blackboard
Arhitecturi pentru sisteme software
Slide 39
PROBLEME TRANSVERSALE
Procese comunicante
Trepte (tiers)
Reconfigurare dinamic
Cristina Mndru
Slide 40
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 41
Perspectiva alocrii
Allocation Viewtype
Tipuri de elemente :
Tipuri de relaii :
Cristina Mndru
Slide 42
La construire
Pe infrastructura hw/sw
La analiz
Cristina Mndru
Slide 43
Informale
Cristina Mndru
Slide 44
Stilul implementrii
Alocarea elementelor software la structuri din sistemele de fiiere al mediilor de
dezvoltare
Exemple de proprieti : fiiere i capaciti
Cristina Mndru
Slide 45
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 46
Concluzie
Ex. Tiers-repository-events
Cristina Mndru
Slide 47
Cristina Mndru
Slide 48
Cristina Mndru
Slide 49
Cristina Mndru
Slide 50
PLAN CURS
Definiii
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Concluzie
Cristina Mndru
Slide 51
Perspectiva dinamic
Cristina Mndru
Slide 52
Perspectiva dinamic
Cristina Mndru
Slide 53
Descriere arhitecturi
Exemple de limbaje (ADLs)
Cristina Mndru
Slide 54
Descriere arhitecturi
Acme limbaj reprezentativ
Cristina Mndru
Slide 55
Descriere arhitecturi
Acme ENTITILE DE PRIM RANG
Component element computaional
Port punct de interfa pentru component
Conector interaciune ntre componente
Cristina Mndru
Slide 56
Descriere arhitecturi
Acme 35235,(7I
Descriu caracteristici nestructurale ale elementelor
ntrzieri)
conectori)
Cristina Mndru
Slide 57
Descriere arhitecturi
Acme 35235,(7I
ReprezentareSURSULHWi DGQRWULFXSHUHFKLDWULEXW-valoare
Proprietile sunt tipate categorii de tipuri:
Definite de utilizator
Cristina Mndru
Slide 58
Descriere arhitecturi
Acme 5(35(=(175,i ABSTRACTION MAPS
Suport pentru descriere ierarhic a nivelelor de abstractizare.
Reprezentarea sub-arhitecturilor.
Cristina Mndru
Slide 59
Descriere arhitecturi
Acme 5(35(=(175,i ABSTRACTION MAPS
System
LQWHULRUXO-H[WHULRUXO
reprezentrii
...
...
...
...
Abstraction
Map
System
(sub-architecture)
Component Representation
Cristina Mndru
Slide 60
Descriere arhitecturi
Acme DEFINIRE FAMILII (STILURI ARHITECTURALE)
Obiectiv : descrierea unui set de arhitecturi nrudite.
De ce?
Elemente constitutive:
Set de constrngeri
Set de vizualizri
Set de analize
Cristina Mndru
Slide 61
Descriere arhitecturi
Acme DEFINIRE FAMILII (STILURI ARHITECTURALE)
Definire tip element
<categorie> Type <nume-tip> = <declaraie-tip>
Exemplu
Cristina Mndru
Slide 62
Descriere arhitecturi
Acme DEFINIRE FAMILII (STILURI ARHITECTURALE)
Definire tip proprietate se pot utiliza tipuri predefinite i tipuri compuse
Property Type <nume-tip> = <declaraie-tip>
Exemple
Cristina Mndru
Slide 63
Descriere arhitecturi
Acme DEFINIRE FAMILII (STILURI ARHITECTURALE)
Definiie familie (stil arhitectural) = colecie de definiii de tip.
Exemplu :
Exemplu de utilizare :
Cristina Mndru
Slide 64
Descriere arhitecturi
Acme CONSTRNGERI
Valori : true/false
Variaie a First Order Predicate Logic
Cristina Mndru
Slide 65
Descriere arhitecturi
Acme CONSTRNGERI
Categorii principale :
Invariant WUHEXLHVDWLVIFXWSHQWUXFDVLVWHPXOVILHOHJDO.
Ex. Nu se accept bucle n graful C&C.
Euristic SURGXFHDYHUWL]ULGDFQXHVDWLVIFXW.
Exemplu:
Cerin : Stabilirea unui invariant care s impun ca fiecare client s fie conectat la
un server.
Soluie : ataarea urmtorului invariant la familia client-server
Invariant
forall c : ClientT in self.components
| exists s : ServerT in self.components
| connected (c,s);
Cristina Mndru
Slide 66
Descriere arhitecturi
Acme DEFINIRE FAMILII (STILURI ARHITECTURALE)
Definiie familie (stil arhitectural) = colecie de definiii de tipFRPSOHWDWFX
definiii de constrngeri.
Cristina Mndru
Slide 67
Descriere arhitecturi
AcmeStudio instrument software construit peste Eclipse.
Cristina Mndru
Slide 68
Cristina Mndru
Slide 1
PLAN CURS
Cristina Mndru
Slide 2
Cerinele
funcionale
Arhitectura
software
Atributele de
calitate
Constrngerile
Cristina Mndru
Slide 3
Cerinele funcionale
Cristina Mndru
Slide 4
Constrngerile
Constrngerile reprezint decizii de proiectare pre-fabricate.
Cristina Mndru
Slide 5
Constrngeri business
Exemple de constrngeri business cu impact arhitectural:
Cristina Mndru
Slide 6
Constrngerile tehnice
Decizii de proiectare prestabilite ce devin elemente ce ngrdesc
spaiul de proiectare.
EXEMPLE:
Cristina Mndru
Slide 7
Atribute de calitate
Cristina Mndru
Slide 8
Atribute de calitate
Def. Atribute de calitate -FDUDFWHULVWLFLSHFDUHVLVWHPXOWUHEXLHV
le posede n plus fa de funcionalitatea sa.
Cristina Mndru
Slide 9
implementeaz funcionalitatea,
ndeplinesc constrngerile,
promoveaz unele atribute de calitate
inhib alte atribute de calitate.
Cristina Mndru
Slide 10
PLAN CURS
Cristina Mndru
Slide 11
Timpul de rspuns al sistemului pentru orice aciune va fi mai mic de 0.5 sec
Funciile critice n raport cu timpul cum ar fi trimiterea unei comenzi,
comutarea de imagini, grafica, trebuie s fie suficient de performante
Sistemul trebuie s fie tolerant la defecte astfel nct s fie minimizate sau
eliminate posibilitatea i impactul cderii serverului. Disponibilitatea i
funcionalitatea staiilor client trebuie meninut pe timpul cderii serverelor sau
a altor clieni.
Sistemul va permite shutdown i restart i toate componentele RCM
(Reliability-Centered Maintenance) pentru a reporni ntregul sistem.
Sistemul va avea capabilitatea de a detecta cderile software i de a reporni
automat componenta corespunztoare.
O component software de tip RCM interogat va rspunde la un mesaj n
timp de max. 1 secund.
...modificare i adaptare flexibil a HCI (Human-Computer Interface) n
vederea crerii unui look and feel specific clientului.
Cristina Mndru
Slide 12
Cristina Mndru
Slide 13
modificabil.
Cristina Mndru
Slide 14
Cristina Mndru
Slide 15
Slide 16
PLAN CURS
Cristina Mndru
Slide 17
Cristina Mndru
Slide 18
2.
3.
4.
5.
6.
Cristina Mndru
Slide 19
Atribute de calitate
Pentru a ilustra proprietile diferitelor atribute de calitate folosim
urmtoarele exemple de atribute de calitate de prim rang.
Cristina Mndru
disponibilitatea
modificabilitatea
performana
securitatea
Slide 20
Zone de interes :
Frecvena avariilor
Cristina Mndru
Slide 21
Rspunsuri
Detectare i notificare, nregistrare,
Dezactivare, indisponibilizare,
continuare operare n mod degradat
Surse
interne, externe, software, hardware
Artefacte
Timpul de disponibilitate
Contexte
Timpul de reparare
Cristina Mndru
Slide 22
Cristina Mndru
Slide 23
Cristina Mndru
Slide 24
Rspunsuri
adugare/tergere/modificare
funcionalitate sau atribut de calitate
Surse
Utilizator final, dezvoltator,
administrator sistem
Artefacte
Sisteme, OS, hardware, software
Contexte
La execuie, la compilare, la
construire (build), la proiectare
Cristina Mndru
Slide 25
Cristina Mndru
Slide 26
Cristina Mndru
Slide 27
Rspunsuri
Procesare stimuli
Msuri pentru rspunsuri
Surse
intern, extern, software, hardware
Artefacte
sisteme, OS, hardware, software
Contexte
operaional, test, dezvoltare,
ncrcare, inert
Cristina Mndru
Slide 28
Cristina Mndru
Slide 29
Slide 30
Slide 31
Autentificare utilizator
Ascunderea identitii utilizatorului
Blocarea accesului la date/servicii
Garantarea/respingerea accesului la date/servicii
ntegistrare acces/tentativ de acces la date, modificri la date
Memorare date n format codificat
Recunoaterea de cereri de date sau servicii inexplicabil de mari sau neobinuite
Raportare/restricionare acces.
Msuri pentru rspunsuri
Timp/efort/resurse necesare pentru a eluda cu succes msurile de securitate
Timp/efort/resurse necesare pentru a restaura datele/serviciile
Probabilitatea de detectare a atacurilor
Probabilitatea de identificare a indivizilor responsabili de atac
Procentul serviciilor disponibile n cursul unui atac de tip denial-of-services
Msura n care datele/serviciile au fost avariate
Msura n care accesele legitime au fost repudiate
Cristina Mndru
Slide 32
Cristina Mndru
Slide 33
Atribute de calitate
Alte atribute de calitate la nivelul sistemului:
Cristina Mndru
interoperabilitate
siguran
utilizabilitate
extensibilitate
portabilitate
uor de nvat
scalabilitate
mentenabilitate
testabilitate
Slide 34
Atribute de calitate
Atribute de calitate ale arhitecturii propriu-zise:
Integritate conceptual
Corectitudine i completitudine
Constructibilitate
Cristina Mndru
Slide 35
Atribute de calitate
Cristina Mndru
Slide 36
PLAN CURS
Cristina Mndru
Slide 37
Centrat pe sistem
Concentrat pe stakeholder
Cristina Mndru
Slide 38
Cristina Mndru
Slide 39
Cristina Mndru
Slide 40
Cristina Mndru
Slide 41
Cristina Mndru
Slide 42
Cristina Mndru
Slide 43
Cristina Mndru
Slide 44
Cristina Mndru
Slide 45
Consolidare scenarii
Obiectiv:
Cristina Mndru
Slide 46
stakeholder-ilor reprezentai.
Slide 47
Rafinare scenarii
Obiectiv:
Cristina Mndru
Slide 48
produce
QAW
Cristina Mndru
Rafinare cerine
Prioritizare activiti de dezvoltare
Identificarea i diminuarea riscurilor
Prototipuri
Proiectarea arhitecturii
Slide 49
Slide 50
Metodologie general
Slide 51
ID scenariu: Referin
Stimul(i):
Context:
Elemente sistem:
Rspunsul sistemului:
Msuri semnificative:
Cristina Mndru
Slide 52
CONCLUZII
Elementele care dirijeaz arhitectura impun forma acesteia
Cristina Mndru
Slide 53
Cristina Mndru
Slide 1
PLAN CURS
Cristina Mndru
Slide 2
Structuri software
Cristina Mndru
Slide 3
Structuri
Perspectiva
Static
Dinamic
Fizic
Cristina Mndru
Exemple de
structuri
Exemple de
relaii
Tip de vederi
Straturi (layers)
Module de cod
...
Dependen
Apel
...
Module
Procese
Fire de execuie
...
Flux de date
Evenimente
...
C&C
Fisiere executabile
Calculatoare
Senzori
Linii seriale
Wireless
...
Allocation
Slide 4
Stiluri
Stil VWUXFWXUJHQHUDODXQHLIDPLOLLGHVLVWHPHFXWUVWXUL
similare i care apar n mod repetitiv n realitate.
Se bazeaz pe:
Natura elementelor
Aranjarea topologic
Natura relaiilor ntre elemente
Cristina Mndru
Slide 5
abloane (Patterns)
Experii reutilizeaz esena soluiei unei probleme similare (gndire
n perechi PROBLEM-SOLUIE)
ablon arhitectural
Tactic
ablon de proiectare
Idiom
Cristina Mndru
Slide 6
Cristina Mndru
Slide 7
Slide 8
Tactici
Cristina Mndru
Slide 9
Exemplu 7DFWLFSHQWUXGLVSRQLELOLWDWH
Cristina Mndru
Slide 10
abloane de programare
Design patterns
GranularitatePDLPLFGHFkWVWLOXULOHDUKLWHFWXUDOH.
Cristina Mndru
Slide 11
Client
Server
Main Loop
{
read sensor
apply correction constant
write data to memory
move actuator
check for error
:
}
Cristina Mndru
Slide 12
Cristina Mndru
Slide 13
Idiom
Cristina Mndru
Slide 14
Structuri
Structurile sunt componente reale ale unui sistem software.
Reprezentrile arhitecturale sunt abstractizri ale structurilor reale cuprinse ntr-un
sistem software.
Perspectiva i vedereaUHSUH]HQWDW
Aranjarea topologic (de obicei GHVHQXOVDXUHSUH]HQWDUHD
canonic)
SemanticileVWUXFWXULL
Cristina Mndru
Slide 15
PLAN CURS
Cristina Mndru
Slide 16
Cristina Mndru
Slide 17
Cristina Mndru
Slide 18
Disponibilitatea datelorFRQWUROHD]FDOFXOHOH.
Cristina Mndru
Slide 19
Cristina Mndru
Slide 20
Flux de date
Obs. abloanele arhitecturale pentru flux de date nu sunt acelai lucru cu DFD din analiza
structurat tradiional.
Cristina Mndru
Slide 21
Pipe-and-filter
Control de proces
variabilele de context
Cristina Mndru
Slide 22
Program
Program
Program ...
Uniti de calcul
Cristina Mndru
Slide 23
Input
Output1
Process
B
Output2
Process
C
Perspectiv i viewtype
Perspectiva dinamic.
C&C Viewtype DUDWprocesele (componente) i conexiunile
stabilite la execuie (conectori).
Cristina Mndru
Slide 24
Output
Cristina Mndru
Slide 25
Simplitate LQWHJULWDWHFRQFHSWXDO
Reutilizarea proceselor
Modificabilitate SURFHVULOHSRWILXor stabilite folosind limbaje de
control (JCL)
Detecie i tratare erori, recuperare sistem problemele se pot
izola relativ uor.
Performan
Interactivitate (imposibil)
Necesit intervenie i supraveghere uman
Cristina Mndru
Slide 26
Calcul taxe
Calcul impozite
Cristina Mndru
Slide 27
Stilul pipe-and-filter
Modelul computaional:
Structur ce proceseaz fluxuri de date prin transformarea
incremental a datelorGHFWUHHOHPHQWHVXFFHVLYH.
Cristina Mndru
Slide 28
Stilul pipe-and-filter
Tipuri de componente: Filtru
Citete date de la unul sau mai multe porturi de intrare, le transform i scrie
rezultatele pe unul sau mai multe porturi de ieire
Transfer datele de la un port de ieire a unui filtru la un port de intrare al altui filtru
Asociere port de ieire date al unui filtru cu rol de intrare date al unei conducte i port
de intrare date al unui filtru cu rol de ieire date al unei conducte
Cristina Mndru
Slide 29
Stilul pipe-and-filter
Topologie
Perspectiv i viewtype
Perspectiva dinamic
C&C viewtype DUDWSURFHVHOH/firele de execuie (filtre) i
conexiunile (pipes) stabilite la execuie.
Cristina Mndru
Slide 30
Slide 31
Cristina Mndru
Slide 32
Stilul pipe-and-filter
Atribute de calitate promovate
Simplitate LQWHJULWDWHFRQFHSWXDO
Reutilizarea filtrelor datorit independenei funcionale a acestora
Modificabilitate legarea conectorilor la execuie (late binding)
permite reconfigurarea simpl a reelei de conducte i filtre
Cristina Mndru
Slide 33
Frame
Collection
Time Tag
Frame
Minor Frame
Decom
Measurement
units
Display Data
Record Data
Major Frame
Decom
Apply
coefficients
Cristina Mndru
Slide 34
Exemplu:
Cristina Mndru
cat
grep
sort
junk
Slide 35
Paradigma map-reduceGHODPRWRDUHOHGHFXWDUH
http://pipes.yahoo.com/pipes
Cristina Mndru
Slide 36
Comparaie abloane
Batch Sequential
Pipe-and-Filter
Granularitate mare
Granularitate fin
Intrare localizat
Non-interactivitate
Cristina Mndru
Slide 37
Filtre cu buffer-are
Obs. O posibil soluie de utilizare a memoriei externe violez semanticile stilului i poate
submina proprietile de reconfigurare i reutilizare promovate de stil i conduce,GH
asemenea, la scderea performanei.
Reele concurente
Cristina Mndru
Slide 38
Cristina Mndru
Slide 39
Clasificare 1:
Clasificare 2:
Cristina Mndru
Slide 40
Electrocasnice
Cristina Mndru
Slide 41
Avantaj : simplitate
Dezavantaj: insensibil la dinamica n timp a sistemului controlat.
Cristina Mndru
Slide 42
Feedback
Feed-forward
Obs. n practic se utilizeaz uneori o combinaie a celor dou forme de control, rezultnd trei
abloane diferite.
Feedback
Proces prin care o parte din semnalul de ieire sau o funcie aplicat
acestuia este transmis napoi pe intrarea elementului de control.
Cristina Mndru
Slide 43
Slide 44
Cristina Mndru
Slide 45
Promovarea performanei
Cristina Mndru
Slide 46
Cristina Mndru
Slide 1
Perspectiva dinamic
Perspectiva dinamic modul n care sistemul este structurat
ca set de uniti de execuie (elemente ce au comportament
i interaciuni la momentul execuiei).
Vederile reprezint componentele sistemului i conectorii dintre
acestea. Tipul de vedere este C&C Viewtype.
Utilitate:
Cristina Mndru
Slide 2
Perspectiva dinamic
Component-and-connector (C&C) Viewtype
Tipuri de elemente :
*Notaie
Cristina Mndru
Slide 3
Perspectiva dinamic
Component-and-connector (C&C) Viewtype
Component
Exemple
Conector
Categorii: link i protocol de comunicare, flux informaii, acces la memorie
partajat
Exemple
Slide 4
Perspectiva dinamic
Component-and-connector (C&C) Viewtype
Tipuri de relaii :
Condiii :
Cristina Mndru
Slide 5
Perspectiva dinamic
Component-and-connector (C&C) Viewtype
Tipuri i instane
Tip definiie pentru o clas de componente sau conectori; set de variante.
Nivele de specializare:
Instan UHSUH]HQWDWSHRGLDJUDP&&C;
Cristina Mndru
Comportament
Interfee (tip i multiplicitate)
Substructuri
Proprieti
Restricii topologice
Arhitecturi pentru sisteme software
Slide 6
Acme (AcmeStudio) :
Cristina Mndru
Slide 7
Calcul dirijat de
evenimente sau
mesaje asincrone
Comunicare printr-o
colecie vast de date
persistente partajate
Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software Architectures: Views and
Beyond, Second Edition, Addison Wesley, 2010
Cristina Mndru
Slide 8
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 9
Modelul computaional :
Cristina Mndru
Slide 10
Cristina Mndru
Slide 11
Nu ntotdeauna
Numele furnizorului de servicii poate deveni cunoscut pe parcurs.
Cristina Mndru
Slide 12
Cristina Mndru
Slide 13
Categorii de relaii:
Asimetric
Participani : apelant i apelat
Semantic : apelatul ofer servicii utilizate de apelant
Exemplu : apel de procedur
Simetric (peer-to-peer)
Participani :GRXHOHPHQWH, fiecare putnd fi att apelant ct i
apelat
Semantic : fiecare element poate furniza servicii celuilalt
Exemple : sisteme OO
Cristina Mndru
Slide 14
Cristina Mndru
Slide 15
Cristina Mndru
Slide 16
Cristina Mndru
Slide 17
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 18
Stilul client-server
Tip componente: client, server
Cristina Mndru
Slide 19
Stilul client-server
Modelul computational:
Cristina Mndru
Slide 20
Stilul client-server
Variante :
Cristina Mndru
Slide 21
Stilul client-server
Atribute de calitate promovate :
Cristina Mndru
Fiabilitatea
Performana
Securitatea
Simplitatea sisteme cu complexitate mare; dificil de testat i de ntreinut.
Arhitecturi pentru sisteme software
Slide 22
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 23
Stilul peer-to-peer
Conectori : call/return
Cristina Mndru
Slide 24
Stilul peer-to-peer
Model computaional :
Succesiune operaii:
cutare component
invocare serviciu
Cristina Mndru
Slide 25
Stilul peer-to-peer
Variante :
Cristina Mndru
Slide 26
Stilul peer-to-peer
Atribute de calitate promovate :
Echilibrare ncrcare
Cristina Mndru
Slide 27
Stilul peer-to-peer
Exemple sisteme distribuite
Cristina Mndru
Slide 28
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 29
Stilul SOA
SOA Service-Oriented Architecture
Colecie de componente distribuite care ofer i/sau consum
servicii.
Componente executabile : compozabile indiferent de limbajul de
dezvoltare i platforma de execuie.
Componente independente funcional.
Cristina Mndru
Slide 30
Stilul SOA
Tipuri de componente :
Cristina Mndru
Slide 31
Stilul SOA
Tipuri de conectori :
Cristina Mndru
Slide 32
Stilul SOA
Variante :
Flexibilitate -UHFRQILJXUDUHGLQDPLF
Cristina Mndru
Slide 33
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 34
Trepte (tiers)
Mecanism de partiionare a sistemelor prin gruparea logic a
componentelor n trepte.
Criterii:
Tip componente
Partajare mediu de execuie
Obiectiv comun
Cristina Mndru
Slide 35
Trepte tipice:
Interfaa cu utilizatorul
Logica de procesare funcional (business rules)
Memorare / acces date
Cristina Mndru
Slide 36
Client
Reguli
Business
Date
Middle tier
n mod tipic un browser
Cristina Mndru
Slide 37
Cristina Mndru
Slide 38
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 39
Web
Browser
Web
Browser
Web
Browser
Web
Browser
Treapta UI
Cristina Mndru
Load
Balancer
Web
Server
Router/
Firewall
Web
Server
:
Proxy
Server
Web
Server
Application
Server
Database
Server
:
Application
Server
Database
Server
Treapta datelor
Slide 40
Avantaje
Stil n 3 trepte pentru aplicaii Web
Acum
Grafic i video
Securitate
Java applets i alte variante de cod executabil la client.
HTTPS
Cristina Mndru
Slide 41
Avantaje
Stil n 3 trepte pentru aplicaii Web
Server-e proxy
mbuntesc performana:
Memoreaz n cache
pagini web accesate frecvent, a.. utilizatorii le pot extrage fr acces direct la site.
Firewalls
Cristina Mndru
Slide 42
Avantaje
Stil n 3 trepte pentru aplicaii Web
Echilibrarea ncrcrii
(load balancing)
performan,
disponibilitate i securitate
Cristina Mndru
Slide 43
Avantaje
Stil n 3 trepte pentru aplicaii Web
Server-e Web
performan
i scalabilitate
Cristina Mndru
Slide 44
Avantaje
Stil n 3 trepte pentru aplicaii Web
Server-e de aplicaii*
modificabilitate,
scalabilitate,
performan
*Server
Cristina Mndru
Slide 45
Avantaje
Stil n 3 trepte pentru aplicaii Web
Cristina Mndru
Slide 46
PLAN CURS
Stilul client-server
Stilul peer-to-peer
Cristina Mndru
Slide 47
Tehnologia Java EE
EJB (Enterprise Java Beans)
Java Servlets
Cristina Mndru
Slide 48
Tehnologia Java EE
JNDI (Java Naming and Directory Interface)
Serviciul de directori pentru Java EE, ce permite clientului i servleturilor de pe treapta Web s extrag referine la obiectele utilizator
definite ca EJB.
Cristina Mndru
Slide 49
Tehnologia Java EE
CAS / COM Bridge (Client Access Services) / (Component Object Model)
Cristina Mndru
Slide 50
Business
Logic Tier
Web Tier
EIS Tier
HTTP
Browser-Based
Client Applications
(HTML, applets,
DHTML/
Scripting)
ERPs
Web Server
Application
Components
Servlets
JSPs
CRMs
Mainframe
TP System
EJBs
RMI over IIOP
Java Client
Applications
CAS COM Bridge
Windows/COM
Client Applications
Container
Services
Components
(e.g JTS, JMS)
RMI
Cristina Mndru
RDBMs
JDBC
Slide 51
Java EE DERUGULDUKLWHFWXUDOH
Treapta client include
JSP sunt pagini HTML statice ce conin fragmente de cod servlet invocate de
mecanismul JSP.
Cristina Mndru
Slide 52
Java EE DERUGULDUKLWHFWXUDOH
Treapta componentelor business conine nucleul logicii business n
componente EJB care:
Treapta EIS conine n mod tipic una sau mai multe baze de date i aplicaii
gzduite pe server-e, pe mainframe-uri i/sau pe sisteme legacy.
Cristina Mndru
Slide 53
Cristina Mndru
Slide 54
Cristina Mndru
Slide 55
Java EE - concluzii
Java EE este una din abordrile tehnologice pentru construirea sistemelor n-tiered.
Alte abordri;
Un broker al cererilor pentru obiecte (ORB) permite obiectelor s-i publice interfeele.
Programele client i alte obiecte le pot localiza oriunde n reea pentru a le solicita servicii.
Cristina Mndru
Slide 56
Cristina Mndru
Slide 1
PLAN CURS
Stilul blackboard
Cristina Mndru
Slide 2
Categorii i semantici
Evenimente explicite
evenimentele sunt trimise explicit la
anumite elemente.
Comunicare
asincron
fr autoblocare
Cristina Mndru
Slide 3
Categorii i semantici
Exemple de implementri pentru evenimente
Invocare implicit
vs.,QYRFDUHH[SOLFLW
Invocare explicit
Obiect
ObiectBB
Obiect
ObiectAA
op1
op2
op3
Obiect
ObiectCC
Invocare implicit
op1
ev1
op2
Obiect
ObiectBB
Obiect
ObiectAA
Obiect
ObiectCC
Cristina Mndru
op3
Slide 4
Categorii i semantici
Elemente
obiecte, fire de execuie, procese
Topologie
Procese concurente slab cuplate
Modelul computaional
Sistem de procese sau obiecte independente care reacioneaz
la evenimente generate n contextul lor i care genereaz la
rndul lor reacii n alte componente ca efect al anunrii de noi
evenimente.
Cristina Mndru
Slide 5
Categorii i semantici
Semantici
Evenimente implicite
Slide 6
Categorii i semantici
Exemple de implementri pentru evenimente
Limbajul C
Cristina Mndru
Slide 7
Categorii i semantici
Exemple de implementri pentru evenimente
Cristina Mndru
Slide 8
Categorii i semantici
Exemple de implementri pentru evenimente
Java -RIHUGRXPHFDQLVPHGHOXFUXFXHYHQLPHQWHOH.
1.
2.
Cristina Mndru
Slide 9
Categorii i semantici
Exemple de implementri pentru evenimente
C++
Cristina Mndru
Slide 10
Categorii i semantici
Exemple de implementri pentru evenimente
Cristina Mndru
Slide 11
Categorii i semantici
Proiectarea
sistemelor bazate pe evenimente
Declaraiile evenimentelor
Structura evenimentelor
Legturile evenimentelor
Anunarea evenimentelor
Concurena evenimentelor
Cristina Mndru
Slide 12
Categorii i semantici
Exemple de implementri pentru evenimente
Declararea evenimentelor
Cum ?
Unde ?
Declaraii centralizate
Declaraii distribuite
Cristina Mndru
Slide 13
Categorii i semantici
Exemple de implementri pentru evenimente
Structurarea evenimentelor
Cum ?
List de parametrii
Predefinit
Determinat dinamic
ambele
Cristina Mndru
Slide 14
Categorii i semantici
Exemple de implementri pentru evenimente
Legarea evenimentelor
Cum ?
Static
Dinamic
Cristina Mndru
Slide 15
Categorii i semantici
Exemple de implementri pentru evenimente
Anunarea evenimentelor
Cum ?
O singur anunare
Anunri multiple
Ambele
Evenimente pierdute
Cristina Mndru
Slide 16
Categorii i semantici
Exemple de implementri pentru evenimente
Concurena evenimentelor
Obiecte
Procese
Fire de execuie
Furnizare la grup
Cristina Mndru
Slide 17
Categorii i semantici
Analiza
sistemelor bazate pe evenimente
Problematic
Interferena componentelor
Cristina Mndru
Slide 18
Categorii i semantici
Ordine total
Ordinea de generare
Ordine cauzal
e1
e1
e2
e3
Slide 19
Categorii i semantici
Exemple de implementri pentru evenimente
Performana
Reutilizabilitatea
Testabilitatea
Mentenabilitatea
Disponibilitatea
Modificabilitatea/scalabilitatea
Integritatea conceptual
Cristina Mndru
Slide 20
Categorii i semantici
Exemple de implementri pentru evenimente
Performana
Reutilizabilitatea
Cristina Mndru
Slide 21
Categorii i semantici
Exemple de implementri pentru evenimente
Testabilitatea
Testarea este dificil deoarece:
Cristina Mndru
Slide 22
Categorii i semantici
Exemple de implementri pentru evenimente
Mentenabilitatea
evenimentelor,
nregistrrilor la evenimente,
Disponibilitate
Cristina Mndru
Slide 23
Categorii i semantici
Exemple de implementri pentru evenimente
Modificabilitatea / scalabilitatea
Integritatea conceptual
Cristina Mndru
Slide 24
PLAN CURS
Stilul blackboard
Cristina Mndru
Slide 25
Categorii i semantici
Evenimente implicite
(sisteme Publish Subscribe)
Componente:
Conectori:
Relaii:
Modelul computaional:
*Obs. Orice component poate avea unul sau mai multe porturi din fiecare tip.
Cristina Mndru
Slide 26
Categorii i semantici
Evenimente implicite
(sisteme Publish Subscribe)
Cristina Mndru
Slide 27
Cristina Mndru
Slide 28
PLAN CURS
Stilul blackboard
Cristina Mndru
Slide 29
Conectori:
Relaii :
Attach -LQWHUPHGLD]FRQHFWDUHDDFFHVRUGDWHODGHSR]LWDU.
Cristina Mndru
Slide 30
Accesori date slab cuplai aflai n jurul sistemului de date partajate (unul
sau mai multe depozitare).
Semantici
Localizarea controlului corespunde unor abloane specifice (v. Sld. 33, Sld. 43)
Cristina Mndru
Slide 31
Cristina Mndru
Slide 32
Repository pasiv
ntre accesori.
Blackboard
Cristina Mndru
Slide 33
PLAN CURS
Stilul blackboard
Cristina Mndru
Slide 34
Cristina Mndru
Slide 35
Cristina Mndru
Slide 36
Baza de date
Cristina Mndru
tranzacii
securitate
controlul concurenei
integritatea datelor
Slide 37
PLAN CURS
Stilul blackboard
Cristina Mndru
Slide 38
Stilul blackboard
Stil flexibil pentru rezolvarea colaborativ a unei probleme.
Procesare de semnale
Radare
Prelucrare de imagini
Procesarea vorbirii
Cristina Mndru
Slide 39
Stilul blackboard
Problematica proiectrii
Elemente
depozitar (blackboard),
surse de cunotine,
control.
Cristina Mndru
Slide 40
Stilul blackboard
Problematica proiectrii
Topologie
Semantici
Sursele de cunotine:
Nu interacioneaz ntre ele n mod direct; nu cunosc ce alte surse de cunotine sunt
active simultan.
Depozitarul
Cristina Mndru
Slide 41
Stilul blackboard
Problematica proiectrii
Simplitatea
dezvoltarea surselor de cunotine este complicat i poate necesita expertiz
de domeniu superioar.
Performana
Fiind n mare msur non-deterministice, este dificil de estimat durata obinerii
rspunsului.
Problema de ansamblu este rezolvat n manier incremental, secvenial.
Testabilitatea
Dificil de testat i de analizat corectitudinea aplicaiei.
Cristina Mndru
Slide 42
Problematica proiectrii
Elementele stilului:
Surse de cunotine
Cristina Mndru
Slide 43
Problematica proiectrii
Topologie: (2 variante)
Exist un element explicit de control.
KS1
KS1
Blackboard
Blackboard
:
:
KSn
KSn
Citire/Monitorizare
stare
Control
Proces
Cristina Mndru
Depozitar date
:
:
Planificare i
invocare surse de
cunotine
Invocare
Slide 44
Problematica proiectrii
Elementul BLACKBOARD
Structur de date partajat disponibil surselor de cunotine.
Cristina Mndru
Slide 45
Problematica proiectrii
Elementul BLACKBOARD
statice,
Cristina Mndru
Slide 46
Problematica proiectrii
n unele aplicaii sursele de cunotine culeg date din exterior i le utilizeaz pentru
a aduga cunotine n blackboard.
Cristina Mndru
Slide 47
Problematica proiectrii
Condiie
Aciune
Cristina Mndru
Slide 48
Problematica proiectrii
Elementul de CONTROL
Slide 49
Stilul blackboard
Problematica proiectrii
Rspunsul cel mai bun poate varia i depinde de mai muli factori.
Cristina Mndru
Slide 50
Integrare - Combinarea sub forma unui rspuns coeziv a rezultatelor produse de diferite
elemente.
Cristina Mndru
Slide 51
Cristina Mndru
Slide 52
Cristina Mndru
Slide 53
Reprezentarea informaiilor :
Cristina Mndru
Slide 54
Cristina Mndru
Slide 55
Problematica proiectrii
Cristina Mndru
Slide 56
Surse de cunotine
Condiie
Aciune
Strat n
Blackboard
:
Strat 3
Condiie
Aciune
Strat 2
Strat 1
Condiie
Aciune
Control
Blackboard
Monitor
Coad
control
date
Control
Cristina Mndru
Planificator
Arhitecturi pentru sisteme software
Slide 57
Cristina Mndru
Slide 1
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 2
Tipuri elemente :
modul XQLWDWHGHLPSOHPHQWDUHDXQXLVHWFRHUHQWGH
responsabiliti
Tipuri relaii:
Cristina Mndru
Slide 3
LSRWH]HDVXSUDVHUYLFLLORURIHULWHGHPRGXOH
structurile globale de date (afectate de sau cu impact asupra mai multor module)
Cristina Mndru
Slide 4
Cristina Mndru
Slide 5
Nume
Set coerent de responsabiliti
Aciunile realizate
Cunotinele gestionate
Deciziile
Constrngeri de implementare
Cristina Mndru
Slide 6
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 7
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul decomposition
Definirea structurii sistemului n termeni de module i submodule ale
acestora.
Cristina Mndru
Slide 8
Stilul decomposition
Nu orice parte a unui sistem este subsistem (ex. bibliotec cu funcii utilitare)
Cristina Mndru
Slide 9
Stilul decomposition
Criterii de descompunere:
Decizii de reutilizare
Cristina Mndru
Slide 10
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul decomposition
Notaii:
Informale
liste identate
UML
pachete i clase
subsisteme
adnotri UHVSRQVDELOLWile
Cristina Mndru
Slide 11
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 12
Stilul uses
Definete relaii de dependen ntre module.
Tipuri de elemente : modul, subsistem
Tipuri de relaii : uses (specializare a relaiei depends on)
Cristina Mndru
Slide 13
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul uses
Notaii:
Informale
UML
Cristina Mndru
DSM
Slide 14
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul uses
Utilitate important:
Suport pentru dezvoltare i repartizare incremental:
Definire increment pe baz de subset coeziv construit ca nchiderea tranzitiv a unui
modul n raport cu relaia uses.
Cristina Mndru
Slide 15
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Coresponden vederi
Specificaii sistem:
Cristina Mndru
C&C view
Module
view
sistemul
main
Split
split, config,
stdio
To_lower
to_lower,
config, stdio
To_upper
to_upper,
config, stdio
Merge
merge,
config, stdio
fiecare
conduct
(pipe)
stdio
Slide 16
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 17
Stilul generalization
Definete relaii de generalizare/specializare ntre module.
Generalizare FDSWXUDUHWUVWXULFRPXQH
Cristina Mndru
Slide 18
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul generalization
Notaii:
UML
interfee i clase
realizare interfa
Cristina Mndru
Slide 19
Stilul generalization
Utilizare n modele OO
Reutilizarea abstractizrilor
Cristina Mndru
Slide 20
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 21
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul layered
Definete seturi coezive de servicii (grupuri de module) i permisiuni de
utilizare ntre acestea.
Tipuri de elemente : strat - layer (grup de module ce ofer un set coeziv de servicii)
A is allowed to use %= Implementarea oricrui modul din stratul A poate utiliza
oricare din facilitile publice oferite de stratul B.
Cristina Mndru
Slide 22
Stilul layered
Constrngeri :
relaia nu e circular
Cristina Mndru
Slide 23
Stilul layered
Criterii grupare:
Ex. Presentation layer asignat unei echipe competente n utilizarea tehnologiilor GUI
Nivele de reutilizare
Nivele de abstractizare
Necesiti de portabilitate
Cristina Mndru
Slide 24
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul layered
Notaii:
Informale
Straturi segmentate
Inele concentrice
Straturi transversale
Straturi tridimensionale
UML
Reprezentare:
pachete stereotipate
Straturi
Coninut straturi
dependen stereotipat
Cristina Mndru
Slide 25
Stilul layered
Mecanismul call-back:
Ex. Manevr utilizator (click mouse) : ntrerupere hardware handler la nivelul SO (driver mouse)
handler la nivelului aplicaiei (modul cod corespunztor).
Aplicaie
Key
layer
SO
allowed to use
callback
Hardware
Cristina Mndru
Slide 26
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul layered
Utilizare DSM pentru depistare dependene care violeaz semanticile
stilului.
Slide 27
EXEMPLU
UI
Aplicaie
Broker
Servicii comune
Abstractizri SO
Data Tier
dup compilare
PERSPECTIVA STATIC
Cristina Mndru
PERSPECTIVA DINAMIC
Arhitecturi pentru sisteme software
Slide 28
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Cristina Mndru
Hardware-hiding module
Slide 29
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 30
Stilul aspects
Definete module ce implementeaz interese transversale i relaii ale
acestora cu restul modulelor.
Cristina Mndru
Slide 31
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul aspects
Notaii: UML
Aspectclas stereotipat
Pointcut specification (lista modulelor afectate) : comentariu descriptiv sau
relaie stereotipat
Cristina Mndru
Slide 32
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 33
conceptual
logic
fizic
Cristina Mndru
Slide 34
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
UML
Diagram clase
Cristina Mndru
Slide 35
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Model logic
- conformarea cu o tehnologie de
management (ex. relaional, OO)
Model fizic
-detalii de implementare
-optimizri
Cristina Mndru
Slide 36
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 37
Tipuri relaii:
Cristina Mndru
Slide 38
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Cristina Mndru
Slide 39
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 40
Stilul deployment
Definete amplasarea componentelor i conectorilor arhitecturii software
pe infrastructura hardware/software.
Tipuri de elemente :
de context : procesor, memorie, disk reea (router, canal comunicare, firewall, bridge)
Tipuri de relaii : allocated to, migrates to, copy migrates to, execution mogrates
to (alocare dinamic)
Cristina Mndru
Slide 41
Stilul deployment
Utilitate:
Echilibrare ncrcare
Diminuare trafic (volumul i frecvena comunicrilor ntre elemente de infrastructur)
Creterea performanei infrastructurii (adugare/nlocuire elemente de infrastructur)
Disponibilitatea i fiabilitatea
Securitatea
Evaluare costuri
Cristina Mndru
Slide 42
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul deployment
Notaii:
UML
Deployment diagram
Formale
Cristina Mndru
Slide 43
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 44
Stilul install
Definete organizarea componentelor arhitecturii software ca structur
de fiiere.
Tipuri de elemente :
software : component
Tipuri de relaii :
allocated to -FRPSRQHQWDORFDWODHOHPHQWFRILJXUDie
Cristina Mndru
Slide 45
Stilul install
Utilitate:
Cristina Mndru
Slide 46
Figures from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Stilul install
Notaii:
UML
informale
Cristina Mndru
Slide 47
PLAN CURS
Stilul decomposition
Stilul uses
Stilul generalization
Stilul layered
Stilul aspects
Stilul deployment
Stilul install
Cristina Mndru
Slide 48
Tipuri de elemente :
software : modul
Tipuri de relaii :
allocated to
Cristina Mndru
Slide 49
Cristina Mndru
Slide 50
Figure from : Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord, Stafford, Documenting Software
Architectures: Views and Beyond, Addison Wesley Longman, 2010
Slide 51
Cristina Mndru
Slide 52
Cristina Mndru
Slide 1
Cerine i nevoi
nestructurate
Cristina Mndru
ar
hi
te
Constrngeri
de proiectare
ct
Ciclul de influene
Stakeholder-i
Decizii de
proiectare
Slide 2
Proiectarea arhitectural
Proiectul arhitecturii (design-ul arhitectural)
Definete relaiileGLQWUHHOHPHQWH
Creaz documentaia
Organizaie
Caracteristicile produsului
Slide 3
Plasarea n context:
Arhitectura ntreprinderii
CONSTRNGE
Arhitectura sistemului
Arhitectura software-lui
Proiectul de detaliu
pentru software
Cristina Mndru
Slide 4
Constrngeri impuse de :
Dezvoltare distribuit
Dimensiunea organizaiei
Structura organizaiei
Cristina Mndru
Slide 5
iterativ
waterfall, etc.
Cristina Mndru
Slide 6
Ieiri
Documentaia :
reprezentri ale arhitecturii din cele 3 perspective fundamentale
date, motivaii, proz descriptiv, etc.
Cristina Mndru
Slide 7
Constrngerile includ
Cristina Mndru
Slide 8
Atribute de calitate
Cristina Mndru
Slide 9
Cristina Mndru
Slide 10
Rafinare continu
Se pot utiliza componentele scenariului pentru atribute de calitate (v.curs 3 slide
19)SHQWUXUDILQDUHDFRQWLQXDVFHQDULLORUSHQWUXDWULEXWHOHGHFDlitate.
Msuri ale rspunsului msura prin care va fi evaluat rspunsul sistemului la stimul
Slide 11
Cristina Mndru
Slide 12
Exemplu
Cristina Mndru
Slide 13
Obs. Dac sunt implicate i sisteme legacy atunci trebuie n prealabil descoperit i evaluat
arhitectura acestora.
Cristina Mndru
Slide 14
Exemplu
Simulator de zbor
Cristina Mndru
Slide 15
Suport pentru max. 3 (243cm X 138cm X 9,5 cm) panouri de afiare plate pentru vederile
din exteriorul cabinei de pilotaj
Responsabiliti contractuale:
Contractorul principal este responsabil pentru sistemul cardanic, carcasa simulatorului, controalele
pilotului (crm, elevator, eleron, acceleraie) i pentru panourile de afiare.
Presupunem c suntem subcontractori pentru dezvoltarea software-lui, contractorul principal
avnd responsabilitatea construirii simulatorului.
Cristina Mndru
Slide 16
Hardware-ul simulatorului
Intrare
Aparate de msur
Afiaj frontal
Comenzi pilot
Afiaj lateral
Afiaj frontal
Carcasa
Carcasa
Aparate de msur
Comenzi pilot
Afiaj lateral
Afiaj lateral
Pilot
Sistem cardanic
Pilot
Vedere lateral
Cristina Mndru
Vedere de sus
Slide 17
Cristina Mndru
Slide 18
Cristina Mndru
Slide 19
Stabilire context
Problematic general:
Poziia arhitectului software n raport cu alte activiti de proiectare
Sisteme legacy
Factori de mediu
Cristina Mndru
Slide 20
Crm
Elevator
Eleron
Acceleraie
Afiaj stnga
Simulator
Software
Afiaj dreapta
Afiaj central
Instrumente de msur
Gimbal
Limitele sistemului
Intrare pentru sistem
Ieire sistem
Sistem
Cristina Mndru
Slide 21
Cristina Mndru
Slide 22
Descompunere (1)
Rafinare
Intrri/ieiri nedefinite
Cristina Mndru
Slide 23
Descompunere (2)
Rafinare
Din discuiile de la acest curs rezult c structura unui sistem are puin
n comun cu funcionalitatea pur i mai mult cu satisfacerea:
Constrngerilor:
Atributelor de calitate:
Cristina Mndru
Slide 24
Cristina Mndru
Slide 25
Rafinare
DISCUIE:
Dei la nivel global sistemul poate expune un anume stil, sistemele reale sunt
ansambluri de stiluri.
Cristina Mndru
Slide 26
Constrngeri
Forele de
proiectare
Structuri
Atribute de calitate
Proiectul
arhitecturii
Arhitect
Cristina Mndru
Slide 27
Exemplu (1)
Rafinare
Simulatorul de zbor
Portabilitatea fizic
Cristina Mndru
Slide 28
Exemplu (2)
Rafinare
NTREBRI :
Ce ar putea motiva selectarea unuia dintre aceste stiluri sau a unei alte abordri?
Cristina Mndru
Slide 29
Exemplu (3)
Limita sistemului
Intrare
Ieire
Sistem
afiaj stnga
afiaj dreapta
afiaj central
instrumente de msur
gimbal
Simulator
Software
afiaj stnga
afiaj dreapta
afiaj central
Bucl
actualizare afiaje
instrumente de msur
gimbal x
gimbal y
gimbal z
proces
Cristina Mndru
Depozitar
crm
elevator
eleron
acceleraie
Bucl citire
date de intrare
Bucl
actualizare
sistem cardanic
memorie date
scriere
date
citire
date
Slide 30
Exemplu (4)
Rafinare
n exemplu:
Stilul predominant este polling (cu ateptare n bucl), dar este utilizat i
un depozitar ansamblu de stiluri.
Concurena este aplicat ca tactic asupra stilului selectat iniial, cu
scopul creterii suplimentare a performanei.
Cristina Mndru
Slide 31
Rafinare
Cristina Mndru
Slide 32
Rafinare
Cristina Mndru
Slide 33
Asignarea responsabilitilor
Rafinare
Cristina Mndru
Slide 34
Rafinare
Structura general: Structura general a fost aleas astfel nct s maximizeze performana
sistemului i conine trei bucle concurente. Alternativa rejectat include rejectat din motivele
Citire date de intrare: Preia eantioane de la controalele pilotului i scrie date ntr-o
tabel cu valori curente (TVC).
Depozitar: Memorie volatil ce gzduiete TVC. Aceast structur conine ultimele valori citite de la
intrarea datelor de la pilot.
Actualizare afiaje: Citete date din TVC i actualizeaz afiajele cu informaii din exteriorul cabinei
de comand conform regulilor de zbor specifice aeronavei pentru care a fost configurat simulatorul.
Actualizare sistem cardanic: Citete date din TVC i scrie date la dispozitivul hardware de control
al sistemului cardanic pentru a mica simulatorul conform regulilor de zbor specifice aeronavei
pentru care a fost configurat simulatorul.
afiaj stnga
afiaj dreapta
afiaj central
Bucl
actualizare afiaje
instrumente de msur
gimbal x
gimbal y
gimbal z
proces
Cristina Mndru
Depozitar
crm
elevator
eleron
acceleraie
Bucl citire
date de intrare
Bucl
actualizare
sistem cardanic
memorie date
scriere
date
citire
date
Slide 35
Rafinare
Cristina Mndru
Slide 36
Rafinare
Cristina Mndru
Slide 37
Exemplu (1)
Rafinare
Acest scenariu ofer o informaie crucial asupra momentului cnd trebuie s fie
fcut configurarea i ct de repede trebuie s reporneasc sistemul.
Reconfigurarea este descris n termeni de performan acesta este un lucru obinuit
i ilustreaz natura complex i obscur a cerinelor pentru atribute de calitate.
Cristina Mndru
Slide 38
Exemplu (2)
afiaj stnga
afiaj dreapta
afiaj central
Bucl
actualizare afiaje
instrumente de msur
gimbal x
gimbal y
gimbal z
proces
Depozitar
crm
elevator
eleron
acceleraie
Bucl citire
date de intrare
Bucl
actualizare
sistem cardanic
memorie date
scriere
date
citire
date
Slide 39
Exemplu (3)
afiaj stnga
afiaj dreapta
afiaj central
Bucl
actualizare afiaje
instrumente de msur
gimbal x
gimbal y
gimbal z
Bucl
actualizare
sistem cardanic
proces
afiaj stnga
afiaj dreapta
afiaj central
instrumente de msur
Depozitar
fiiere
de configurare
gimbal x
gimbal y
gimbal z
Cristina Mndru
Depozitar
crm
elevator
eleron
acceleraie
Bucl citire
date de intrare
scriere
date
memorie date
citire
date
Bucl
actualizare afiaje
Proces de
iniializare sistem
Depozitar
TVC
Bucl
actualizare
sistem cardanic
Arhitecturi pentru sisteme software
Bucl citire
date de intrare
Instaniaz
Slide 40
crm
elevator
eleron
acceleraie
Exemplu (4)
Rafinare
Cristina Mndru
Slide 41
Schimbarea perspectivei
Rafinare
Cristina Mndru
Slide 42
Exemplu (1)
afiaj stnga
afiaj dreapta
afiaj central
instrumente de msur
Depozitar
fiiere
de configurare
gimbal x
gimbal y
gimbal z
Rafinare
Bucl
actualizare afiaje
Proces de
iniializare sistem
Depozitar
TVC
Bucl
actualizare
sistem cardanic
Bucl citire
date de intrare
crm
elevator
eleron
acceleraie
Instaniaz
Pentru a permite funcionarea clapetelor ar putea fi implicate procesele de citire a datelor de intrare, de
actualizare a afiajelor i de actualizare a sistemului cardanic, justificnd astfel analiza suplimentar a
acestor elemente probabil este o modificare local dar este greu de precizat din aceast perspectiv.
Cristina Mndru
Slide 43
Exemplu (2)
Depozitar
TVC
Bucl citire
date de intrare
Citire
date
crm
elevator
eleron
acceleraie
Instaniaz
proces
Scriere
date
Memorie date
Driver dispozitiv
Driver dispozitiv
modul
Slide 44
Exemplu (3)
afiaj stnga
afiaj dreapta
afiaj central
Bucl
actualizare afiaje
instrumente de msur
Actualizare afiaje (Main)
Calcul poligoane
exterioare cabinei
de comand
Calcul aparate de
msur
Refresh afiaj
instrumente de
msur
Refresh
afiaj stnga
Refresh afiaje
Refresh
afiaj central
Citire TVC
Refresh
afiaj dreapta
Dup descompunerea i analiza din perspectiv static (vedere modular) a procesului de actualizare a
afiajelorUH]XOWFmodificrile pot fi izolate n afiajul instrumentelor de msur deoarece doar n
afiajele corespunztoare sunt vizibile efectele clapetelor efectele sunt configurabile n fiierele de
configurare a vehiculului.
Cristina Mndru
Slide 45
Exemplu (4)
gimbal x
gimbal y
gimbal z
Bucl actualizare
sistem cardanic
Calcul
micare
Scrie Gimbal X
Scrie Gimbal Y
Driver dispozitiv
Driver dispozitiv
Citire TVC
Scrie Gimbal Z
Driver dispozitiv
Dup descompunerea i analiza din perspectiv static (vedere modular) a procesului de actualizare a
sistemului cardanic rezult c modificrile pentru adugarea de clapete nu vor afecta software-ul.
Clapetele vor schimba micarea dispozitivului cardanic, dar efectele sunt configurabile n fiierele de
configurare a vehiculului.
Cristina Mndru
Slide 46
Descompunere
Rafinare
Tacticile rafineaz stilurile i pot ajuta la echilibrarea efectelor negative ale unui
stil.
Factori ce ghideaz selectarea tacticilor:
Slide 47
Descompunere
Rafinare
Cristina Mndru
Slide 48
Definirea interfeelor
Rafinare
Interaciunile
Dependenele
Informaiile partajate i schimbate de componente
Cristina Mndru
Slide 49
Cristina Mndru
Slide 50
2.
3.
4.
5.
6.
7.
Responsabilitile elementelor
Alegerile fcute i variantele respinse
Ipotezele considerate
Slide 51
Cristina Mndru
Slide 52
Cristina Mndru
Slide 53
Cristina Mndru
Slide 54
Recomandare
reproiectare,
experimentare,
studiere suplimentar.
Cristina Mndru
Slide 55
Cristina Mndru
Slide 56
Elemente i relaii
Responsabiliti atribuite
Interfee
Documentaie
Cristina Mndru
Slide 57
domeniul i complexitatea.
Non-locale VHSURSDJGLQFRORGHOLPLWHOHXQXLVLQJXUHOHPHQW
Arhitecturale HURGHD]VWUXFWXUDIXQGDPHQWDODVLVWHPXOXL
Aceast analiz este imposibil n lipsa unei arhitecturi explicite i bine documentate.
Cristina Mndru
Slide 58
Pe durata de via a unui produs pot s apar oricnd cerine aflate n conflict.
De aceea poate s apar necesitatea de a revizita contextul business oricnd pe
durata de via a produsului.
Cristina Mndru
Slide 59
simulator
simulator
simulator
Cristina Mndru
Slide 60
Ct de trziu?
Dac o adugm mai trziu suntem dispui s pltim acum mai mult pentru un
proiect care va permite adugarea mai uoar sau vom relua atunci proiectarea
de la zero?
Acestea sunt ntrebri la care trebuie s rspundem nainte de a ne ocupa de detalii tehnice.
Cristina Mndru
Slide 61
Modelele business
Structurile organizaionale
Stakeholder-i cheie
Pieele
Tehnologiile
Cristina Mndru
Slide 62
Bibliografie suplimentar
The Architecture Based Design Method
http://www.sei.cmu.edu/reports/00tr001.pdf
Cristina Mndru
Slide 63
Cristina Mndru
Slide 1
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 2
SOA generic
Cristina Mndru
Slide 3
Mecanism SOA
Cristina Mndru
Slide 4
Cristina Mndru
Slide 5
Slide 6
Avantaje framework:
Cristina Mndru
Slide 7
Cristina Mndru
Slide 8
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 9
Caracteristicile serviciilor
Reutilizabile
Expun un contract formal - definete termenii schimbului de informaii
(interfaa) i alte informaii de descriere a serviciului
Slide 10
Caracteristicile serviciilor
Compozabile:
Creare aplicaie = asamblarea i coordonarea activitilor serviciilor
necesare implementrii procesului business.
Se poate scrie cod suplimentar pentru implementarea funcionalitii specifice aplicaiei.
Surse de servicii:
Existente n companie i reutilizate
Externe
Construite special pentru aplicaia curent
Problematic proiectare:
Cristina Mndru
Slide 11
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 12
Perspectiva arhitectural
Interaciunea consumator furnizor serviciu : manifestat la runtime.
Perspectiva si viewtype
Dinamic, C&C
OBS:
Diagramele C&C sunt complementate cu diagrame de comportament (ex. diagrame
de secvene) care descriu secvenele de interaciuni ce au loc n diferite
tranzacii.
Cristina Mndru
Slide 13
Consumator serviciu
Furnizor serviciu
Componente speciale
-PDJLVWUDO(ESB - enterprise service bus)
- registru
Tipuri de conectori:
- apeluri sincrone/asincrone utiliznd
Cristina Mndru
SOAP
HTTP
Infrastructur pentru transfer mesaje
Slide 14
Cristina Mndru
Slide 15
Semantici
Cristina Mndru
Slide 16
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 17
Cristina Mndru
Slide 18
Cristina Mndru
Slide 19
Cristina Mndru
Slide 20
- fiabilitatea serviciilor
Cristina Mndru
Slide 21
Cristina Mndru
Slide 22
Cristina Mndru
Slide 23
La furnizor:
Granularitate mai mare a datelor trimise de serviciu : implic transfer redus n reea
(ex. opiuni de selecie, informaii suplimentare pentru clarificare date).
Operaii tipice pentru utilizabilitate: anulare cerere, undo, serviciu pe date agregate,
informaii de feedback (ex. procentUHDOL]DW, timp estimat pn la finalizare)
La consumator:
- posibilitatea de a reface o stare
- resincronizarea cu un serviciu cu care s-a ntrerupt comunicarea
Cristina Mndru
Slide 24
Cristina Mndru
Slide 25
Cristina Mndru
Slide 26
Cristina Mndru
Slide 27
Aplicaie
Serviciu utilizat de aplicaie
Infrastructura aplicaiei sau cea a serviciului
ncrcarea platformei pe care ruleaz serviciul
Agentul care descoper i localizeaz serviciul
Soluii:
Furnizorul ofer servicii i infrastructuri adiionale ca suport pentru procesele
de testare i de depanare desfurate att la furnizor ct i la client.
Instrumente pentru testare servicii individuale i testare de integrare.
Cristina Mndru
Slide 28
Discuie
Soluiile SOA -XWLOL]HD]OHJDUHGLQDPLFSHQWUXDSHUPLWHFLDOWHUQDWLYH
de execuie i ordonri diferite ale mesajelor.
Cristina Mndru
Slide 29
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
CC & SOA
Cristina Mndru
Slide 30
Cloud computing
Cloud computing (CC) Opiune (soluie) arhitectural pentru dezvoltare
de software folosind resurse virtualizate i scalabile dinamic,J]GXLWH,
executate i administrate n centre mari de date i accesibile la cerere sub
form de servicii n reea (internet).
Suport flexibil pentru:
creare/utilizare funcionalitate pentru aplicaie (SaaS)
dezvoltare i rulare aplicaie (PaaS)
repartizarea aplicaiei (IaaS)
Cristina Mndru
Slide 31
Cloud computing
Componente
Furnizor
Consumator
Semantici:
Cristina Mndru
Slide 32
Cloud computing
Tehnologii suport:
Virtualizare : procesul de substituire n care resurse fizice sunt substituite
prin resurse logice (virtuale) careYRUDYHDSURSULHWi derivate din cele ale
resurselor originale dar capacitate diferit.
Software as a service furnizarea online de funcionalitate software,
similar cu furnizarea acesteia de pe maina local.
Arhitecturi grid - servicii de tip cluster
Cristina Mndru
Slide 33
Cloud computing
Cristina Mndru
Slide 34
Consumatori
Cristina Mndru
Slide 35
Cloud computing
CC DVFXQGHFRQVXPDWRULORUGHUHVXUVHDFWLYLWile de achiziie,
ntreinere, monitorizare pentru infrastructura necesar.
Ex. Webmail
Furnizorul - ntreine spaiul server i ofer acces.
Consumatorul LQWURGXFHRDGUHVZHEn browser i trimite informaiile de acces la
un cont.
Cristina Mndru
Slide 36
Cloud computing
Cristina Mndru
Slide 37
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 38
Caracteristici cheie
Resurse la cerere consumatorul achiziioneaz unilateral capabiliti de calcul
funcie de necesiti, fr interaciune uman cu fiecare furnizor de servicii.
Slide 39
Avantaje
Disponibilitate acces oricnd la resurse prin intermediul unei conexiuni internet standard.
Colaborare modalitate de a lucra simultan pe date i informaii comune.
Elasticitate furnizorul gestioneaz transparent utilizarea resurselor, pe baz de cerine care se
schimb dinamic.
Green UHGXFHFRQVXPXOGHHQHUJLHHOHFWULF.
Cristina Mndru
Slide 40
Dezavantaje
Interoperabilitate nu exist nc un set universal de standarde i/sau interfee, ceea ce poate duce
la blocare pe furnizor.
Laten accesul se face prin internet, ceea ce introduce laten pentru fiecare comunicare dintre
consumator i cloud.
Constrngeri de platform i limbaj unii furnizori suport doar anumite platforme i limbaje.
Regulamente jurisdicie, protecie date, practici corecte de manipulare a informaiilor, transferul
datelor internaionale preocup n special organizaiile care gestioneaz date sensibile.
Slide 41
CC recomandat
Procese, aplicaii i date puternic independente, slab cuplate cu alte
aplicaii sau informaii.
Puncte de integrare bine definite n care aplicaia poate partaja
date, comportament i procese.
Este suficient un nivel redus de securitate.
Nucleul arhitecturii interne este bine organizat.
Platforma dorit este Web/Internet sau este acceptat repartizarea
GUI ntr-un browser.
Costul conteaz i se identific un beneficiu clar.
Aplicaii noi
Cristina Mndru
Slide 42
CC nerecomandat
Procese, date i aplicaii strns cuplate, puternic interdependente
Puncte de integrare nedefinite, lipsa mecanismelor de sincronizare
ntre componentele din cloud i cele din ntreprindere. (interfee)
Necesitatea unui nivel ridicat de securitate.
Controlul este critic.
Nucleul arhitecturii interne nu este suficient de ordonat.
Aplicaia necesit interfa nativ.
Balan defavorabil a costului.
Aplicaii legacy.
Cristina Mndru
Slide 43
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
SOA & CC
Cristina Mndru
Slide 44
Cristina Mndru
Slide 45
SaaS
Capabilitate: Software-as-a-Service (SaaS, AaaS).
Exemple de furnizori:
Google Apps: ofer instrumente de birou bazate web (ex. E-mail, calendar, management
documente)
salesforce.com: aplicaie pentru managementul relaiilor cu clienii (customer relationship
management - CRM)
zoho.com: gam larg de aplicaii bazate web, n cea mai mare parte pentru utilizare la nivel
enterprise
Cristina Mndru
Slide 46
PaaS
Capabilitate: Platform-as-a-Service (PaaS).
Exemple de furnizori:
Akamai EdgePlatform: platform pentru calcul distribuit pe care consumatorii i pot pune aplicaii
web proprii.
Force.com: platform de dezvoltare i execuie aplicaii i componente cumprate de la
AppExchange sau aplicaii ale consumatorului.
Google App Engine: stiv complet pentru dezvoltare i execuie de aplicaii
Microsoft Azure Services Platform: servicii de calcul i stocare la cerere, precum i o platform de
dezvoltare bazat pe Windows Azure
Yahoo! Open Strategy (Y!OS): similar
Cristina Mndru
Slide 47
IaaS
Capabilitate: Infrastructure-as-a-Service (IaaS).
Cristina Mndru
Slide 48
Public i Privat
Cloud public resurse oferite ca servicii, de obicei printr-o conexiune la
internet, pentru o tax calculat pe baz de utilizare.
Cloud privat resurse repartizate n interiorul unui firewall, gestionate i
folosite de organizaia proprietar.
Exemple de companii ce ofer resurse pentru construirea de cloud privat: 3tera;Eucalyptus;
Oracle (Fusion); Ubuntu.
Specializri ale acestor tipuri:
Cristina Mndru
Slide 49
CC - discuie
Utilizarea resurselor din cloud extinderea arhitecturii dincolo de graniele
ntreprinderii pentru a incorpora resursele cloud arhitectura nu se oprete la
firewall.
nelegerea att a resurselor care exist n ntreprindere ct i a celor furnizate de
cloud este chiar mai critic, deoarece aceste resurse trebuie configurate corect n
contextul unei arhitecturi cu scopul de a ndeplini cerinele.
Cristina Mndru
Slide 50
Tehnologii CC - detalii
Cristina Mndru
Slide 51
PLAN CURS
SOA $UKLWHFWXURULHQWDWSHVHUYLFLL
Caracteristicile serviciilor
Perspectiva C&C
Atribute de calitate promovate si inhibate
Cloud computing
Caracteristici, avantaje, aplicabilitate
Modele pentru CC
CC & SOA
Cristina Mndru
Slide 52
CC & SOA
Concepte diferite
n relaie
Cristina Mndru
Slide 53
CC & SOA
Se pot utiliza independent.
DAR
Cristina Mndru
Slide 54
CC & SOA
SOA poate utiliza resursele CC ca servicii, incluzndu-le n arhitectur ca atare
SOA se poate realiza utiliznd CC.
Cristina Mndru
Slide 55
CC & SOA
Structurarea sistemului conform stilului SOA este mecanism pentru
reutilizare i agilitate i ofer i abilitatea de a ne da seama ce trebuie s
rmn local i ce poate fi pus n cloud.
Cristina Mndru
Slide 56
CC & SOA
SOA utiliznd CC este o abordare arhitectural foarte bun:
Abilitatea de a folosi resurse utiliznd configuraia cea mai bun posibil
Transparena localizrii resurselor
Scalabilitatea resurselor
Cristina Mndru
Slide 57
Exemplu:
Baza de date poate fi la un furnizor, platforma de dezvoltare la altul, iar serverul de
proces i motorul de reguli la un al treilea.
Cu alte cuvinte putem mprtiaDUKLWHFWXUDODDFHLIXUQL]RULGHFORXGFHRIHUFHD
mai bun funcionalitate, fiabilitate i pre, iar resursele furnizate de cloud vor colabora
fr probleme cu toate resursele locale.
Cristina Mndru
Slide 58
Cristina Mndru
Slide 1
PLAN CURS
Cristina Mndru
Slide 2
Rol
Principii
Elemente
Cristina Mndru
Slide 3
Rol
Principii
Rolul documentaiei
Elemente
Cristina Mndru
Slide 4
Rol
Principii
Elemente
1.
2.
3.
Evitarea abiguitilor.
4.
5.
6.
Pstrarea documentaieiODFXUHQWFXPRGLILFULOH.
7.
Revizuirea documentaiei.
Slide 5
Rol
Principii
Evitarea ambiguitilor
Elemente
Cristina Mndru
Slide 6
Rol
Principii
Evitarea ambiguitilor
Elemente
Corect:
Cristina Mndru
Slide 7
Rol
Principii
Evitarea ambiguitilor
Elemente
Incorect:
EXEMPLU:
Semnificaii posibile pentru sgei ntr-o vedere C&C
A transfer controlul la B
A transfer date la B
A preia o valoare de la B
A trimite mesaj la B
Cristina Mndru
Slide 8
Rol
Principii
Elemente
Legend
Faade
Component
Administrator
Console
Web Component
LDAP Directory
RDBMS
Meta
Viewer
Join
Engine
Rule &
Configuration DB
Integrated
Data Rep
Direct Adapter
Indirect Adapter
Controller
Viewer
Transaction Log
Interface
SOAP Connector
& roles
Adapter
Manager
Indirect
Aapter2
Indirect
Aapter1
Direct
Adapter2
Direct
Adapter1
Change Log
LDAP Connector
& roles
DB Connector
& roles
RMI Connector
& roles
Event Bus
Connector
& roles
Adapter
Registry
System Boundary
External
LDAP1
Cristina Mndru
External
LDAP2
External
DB1
External
DB2
Slide 9
Rol
Enunul constrngerilor
business, de implementare, de repartizare
Descrierea contextului
Elemente
Enunul cerinelor
Principii
Cristina Mndru
Slide 10
Rol
Principii
Elemente
Alternativele considerate
Probleme de management
Cristina Mndru
Slide 11
PLAN CURS
Cristina Mndru
Slide 12
Diagrame de context
Tipuri de vederi diferite au diagrame de context diferite
Utilizare ierarhii
Pentru componente i conectori
Documentarea interfeelor
Diagrame de secvene
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Cristina Mndru
Slide 13
Diagrame de context
Tehnici de realizare
a documentaiei ahitecturale
Combinare vederi
Utilizare ierarhii
Documentare interfee
Interfeele externe
Cristina Mndru
Slide 14
Diagrame de context
Combinare vederi
Utilizare ierarhii
EDOS/EBnet
LO data
Documentare interfee
Other Users
Interaction
Interaction
GLAS higher
level products
GLAS SCF
GLAS LO
data
MODIS higher
level products
Science Computing
Facilities
Algorithms
Science
Data
Processing
Segment
Exchange Data
Remarcai:
Data Acquisition
Request
ASTER GDS
LOR Data
Indicarea clar a
sistemului i a contextului
Etichetarea conectorilor
externi
Utilizarea unei
chei/legende
Reprezentarea
multiplicitii
LPS
1B, ancillary
data
Higher level
AMSR-E data
products
MOPITT LO
data
AMSR-E SCF
MOPITT SCF
SAGE III
higher level
products
MOPITT LO
higher level
products
SAGE III
LO data
KEY
System
Cristina Mndru
External
Entity
ACRIM SCF
SAGE III
LO data
X interacts with Y
Slide 15
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Notification Data
Create Project
SMTP
SMTP
Server
Server
Administrator
Administrator
Member
Member
ofofOther
OtherTeam
Team
TSP
TSPSupport
Support
Tool
Tool
System
System
Manage personal
Process, product data
Personnel Data
HR
HRSystem
System
Team
Team
Member
Member
Team
TeamLeader
Leader
LEGEND
External Entity
(System)
Cristina Mndru
External Entity
(People)
System
Database
connection
Interaction
Message
Slide 16
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Administrator
Legend
System
Boundary
Administrating
Operation
User
Query
External Directory
External RDBMS
Web Client
LDAP user ( Application,
LDAP Client and so on)
Interaction
Metadirectory
External
LDAP server1
External
LDAP server2
Cristina Mndru
User
Information
User
Information
User
Information
User
Information
External
DB server1
External
DB server2
Slide 17
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Cristina Mndru
Slide 18
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
componente i connectori
descompunerea modular
straturi
componente i connectori
decizii de repartizare
straturi
Cristina Mndru
Slide 19
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
PROCEDUR:
1. Construire vedere combinat care arat elementele i relaiile a
dou vederi constitutive
A. Utilizare suprapuneri
B. Definire a unui stil hibrid care combin elemente i relaii ale ambelor vederi
Cristina Mndru
Slide 20
Diagrame de context
Combinare vederi
Cristina Mndru
Utilizare ierarhii
Documentare interfee
KEY
Behavior-hiding
module
Hardware-hiding
module
Function Driver
Shared Services
Data
Banker
Physical
Models
Filter
Behaviors
Device Interfaces
Application Data Types
Software
Utilities
Extended Computer
Slide 21
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
&OLHQW7LHU
%URZVHU
1
:$3
%URZVHU1
$SSOLFDWLRQ
1
:$36HUYHU
6HUYOHW&RQWDLQHU
6HUYOHW&RQWDLQHU
-63
*OREDO
5HS0DQ
6HUYOHW
/RFDO
5HS0DQ
/RFDO
5HS0DQ
-63
-DYD%HDQV C
6HUYOHW
-DYD%HDQV
/2*
)LOH
&KHFN
3RLQWHU
&KHFN
3RLQWHU
$SSOLFDWLRQ
%URZVHU
6073
/LQNDJH
7DVN
&KHFNRU
/2*
)LOH
'DWD7LHU
763'DWD
Cristina Mndru
+5'DWD
+56\VWHP
,QWHUIDFH
Slide 22
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Cristina Mndru
Slide 23
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Filters
Bridging
Element
Database
Cristina Mndru
Slide 24
Diagrame de context
Combinare vederi
Utilizare ierarhii
Utilizare ierarhii
Documentare interfee
Relaia parte-ntregHVWHVSHFLILFYHGHULLFHUHSUH]LQW
descompunerea n module.
Cristina Mndru
Slide 25
Administrator
Console
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Legend
Web Component
LDAP Directory
RDBMS
Meta
Viewer
Join
Engine
Rule &
Configuration DB
Integrated
Data Rep
Direct Adapter
Indirect Adapter
Controller
Viewer
Transaction Log
Interface
SOAP Connector
& roles
Adapter
Manager
Indirect
Aapter2
Indirect
Aapter1
Direct
Adapter2
Direct
Adapter1
Change Log
LDAP Connector
& roles
DB Connector
& roles
RMI Connector
& roles
Event Bus
Connector
& roles
Adapter
Registry
System Boundary
External
LDAP1
Cristina Mndru
External
LDAP2
External
DB1
External
DB2
Slide 26
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Legend
Message
Handler
Interface
Rule Set
Manager
Call &
Return
Transaction
Coordinator
Agent
Send port
Receive port
Context
Receiver
Rule
Translator
<Faade
Component>
Router
Join
Engine
Rule and
<Configuration DB>
<Event Bus>
Cristina Mndru
Slide 27
Administrator
Console
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Legend
Web Component
LDAP Directory
RDBMS
Meta
Viewer
Join
Engine
Rule &
Configuration DB
Integrated
Data Rep
Direct Adapter
Indirect Adapter
Controller
Viewer
Transaction Log
Interface
SOAP Connector
& roles
Adapter
Manager
Indirect
Aapter2
Indirect
Aapter1
Direct
Adapter2
Direct
Adapter1
Change Log
LDAP Connector
& roles
DB Connector
& roles
RMI Connector
& roles
Event Bus
Connector
& roles
Adapter
Registry
System Boundary
External
LDAP1
Cristina Mndru
External
LDAP2
External
DB1
External
DB2
Slide 28
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Legend
Message
Handler
Interface
Agent
Sensor
Transaction
Coordinator
Receiver
From the
system
Sender
To the System
Cache
Call &
Return
Cache
Access
Send port
Receive port
Change
Notifier
Load Sensor
Connection
Manager
<Event Bus>
<Transaction
Log>
<Change
Log>
Direct
Adapter2
LDAP
Directory
Schema
Cache
Context
<External DB>
Cristina Mndru
Slide 29
<Adapter
Manager>
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Legend
Message
Handler
Interface
Agent
Transaction
Coordinator
Receiver
From the
System
Sender
To The
System
Sensor
Call &
Return
Send port
Receive port
Context
LDIF
Converter
<Event Bus>
Load Sensor
Indirect
Aapter2
<Transaction Log>
Connection
Manager
LDIF Rule
Manager
<External DB>
Cristina Mndru
Slide 30
<Adapter
Manager>
Diagrame de context
Documentarea interfeelor i a
comportamentului
Combinare vederi
Utilizare ierarhii
Documentare interfee
Notaiile utilizate
Cristina Mndru
Slide 31
Diagrame de context
Combinare vederi
Documentarea interfeelor
Utilizare ierarhii
Documentare interfee
Cristina Mndru
Slide 32
Diagrame de context
Combinare vederi
Documentarea interfeelor
Utilizare ierarhii
Documentare interfee
Principii:
Slide 33
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Slide 34
Diagrame de context
Combinare vederi
Utilizare ierarhii
Documentare interfee
Interfa modul:
Poate defini i rutine, din alte zone ale sistemului, necesare modului.
Exemplu: Filtru)FXGRXLHiri,
ambele scriind caractere ntr-o conduct.
Cristina Mndru
<<Interface>>
Output
Porturi
Slide 35
Diagrame de context
Combinare vederi
Documentarea comportamentului
Utilizare ierarhii
Documentare interfee
Cristina Mndru
Slide 36
Slide 37
CONCLUZII
Cristina Mndru
Slide 38
PLAN CURS
Cristina Mndru
Slide 39
UML
UML limbaj vizual de specificare, proiectare i documentare a
artefactelor sistemelor software.
Standard de fapt i de drept pentru reprezentarea proiectelor software.
Utilizat n majoritatea instrumentelor pentru MDA (Model Driven
Architecture) i pentru inginerie invers.
Extensibil:
Cristina Mndru
Slide 40
UML
Poate fi utilizat pentru documentarea urmtoarelor tipuri de reprezentri
pentru structurile sistemului software:
Vederi de alocare
Perspectiva alocrii
Modelul datelor
Modelul datelor
Perspectiva dinamic
Cristina Mndru
Slide 41
UML
Atenie:
Documentaia unei vederi
arhitecturale include
diagrama DAR i o serie
de elemente explicative.
Slide 42
Perspectiva static
UML SHUVSHFWLYDVWDWLF
module viewtype
Tip de element :
- modul unitate de cod
ce implementeaz un set de
responsabiliti.
Cristina Mndru
Perspectiva alocrii
Modelul datelor
Tipuri de relaii :
- is part of relaia parte-ntreg
- depends on relaia de dependen
- is a relaie de specializare/generalizare
sau de implementare
is part of
Diagram de pachete
conine (sub) pachete
i clase
Perspectiva dinamic
depends on
Dependena poate fi de
mai multe tipuri,
specificate prin stereotip
(<<refine>>,
<<instantiate>>,)
Arhitecturi pentru sisteme software
is a
Generalizare clas
Realizare interfa
Slide 43
Perspectiva static
UML SHUVSHFWLYDVWDWLF
module viewtype
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Cristina Mndru
Slide 44
Perspectiva static
UML SHUVSHFWLYDVWDWLF
module viewtype
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Cristina Mndru
Slide 45
Perspectiva static
UML SHUVSHFWLYDVWDWLF
module viewtype
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Cristina Mndru
Slide 46
Perspectiva static
UML SHUVSHFWLYDGLQDPLF
C&C viewtype
Tipuri de elemente :
-FRPSRQHQW = de execuie (proces, fir de execuie,
EJB, servlet, DLL, obiect,...) sau de date.
- conector coad de ateptare, conduct, RMI,...).
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Tipuri de relaii :
Diverse mecanisme de interaciune
Apel procedur (local, remote)
Comunicare(sincron, asincron)
REPREZENTARE folosind UML:
Diagrama de componente
Component
Port (poate avea instane multiple)
Interfee (provided i required)
Conectori de asamblare
Conectori de delegare
Cristina Mndru
Slide 47
Perspectiva static
Perspectiva dinamic
Cristina Mndru
Perspectiva alocrii
Modelul datelor
Slide 48
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Limitare:
Cristina Mndru
Slide 49
Perspectiva static
UML SHUVSHFWLYDDORFULL
allocation viewtype
Tipuri de elemente :
- nod = de execuie i de comunicare (main
server, router,...).
- Artefact software = fiier, director.
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Tipuri de relaii :
- Canal de comunicare
- coninut n
Nod - dispozitiv
Artefact software
Cristina Mndru
Slide 50
Perspectiva static
Perspectiva dinamic
Perspectiva alocrii
Modelul datelor
Tipuri de relaii :
- Asociere (1:1, 1:n, n:n)
- Generalizare/specializare
- Agregare
Cristina Mndru
Slide 51
Slide 52
Cristina Mndru
Slide 53
Cristina Mndru
Slide 1
PLAN CURS
Cristina Mndru
Slide 2
Practica curent
Cristina Mndru
Slide 3
CONCLUZIE:
Evaluarea arhitecturii software este un mod eficient de a descoperi
consecinele deciziilor arhitecturale
Cristina Mndru
Slide 4
Altele:
Cristina Mndru
Slide 5
PLAN CURS
Cristina Mndru
Slide 6
Predecesor al ATAM
Cristina Mndru
Slide 7
SAAM - procedura
Pas 1 Dezvoltarea de scenarii pentru atribute de calitate via brainstorming.
Pas 2 Descrierea arhitecturii/arhitecturilor candidat.
Slide 8
SAAM - probleme
Codificare slab
Tactici
Cristina Mndru
Slide 9
PLAN CURS
Cristina Mndru
Slide 10
Cristina Mndru
Slide 11
ATAM
NU
Fixarea, prioritizarea sau determinarea impactului riscurilor (activitate ulterioar
ATAM).
DA
Descoper tendine generale corelaii ntre deciziile arhitecturale i
proprietile sistemului.
Descoper orice risc, punct sensibil, compromis i non-risc, create de deciziile
arhitecturale.
Cristina Mndru
Slide 12
ATAM - utilizare
Dup ce arhitectura a fost specificat dar exist cod puin sau deloc.
Cristina Mndru
Slide 13
ATAM - procedura
Faza 0:
Partneriat
i
Pregtire
Durata: variaz
Comunicare: telefon,
email
Cristina Mndru
Faza 1:
Evaluare
iniial
Faza 2:
Evaluare
complet
Faza 3:
Urmarire
Durata: variaz
Comunicare: telefon,
email.
Slide 14
ATAM Faza 0
Precede partea tehnic a evalurii.
Cristina Mndru
Slide 15
ATAM Faza 0
Consideraii cheie:
Cristina Mndru
Slide 16
4 6 persoane
Roluri:
Conductor
Secretar FRPSOHWHD]IRUPXODUXOHOHFWURQLF$7$0FXDUERUHOHXWLOLWDUDO
atributelor de calitate, scenarii brute, riscuri, sensibiliti i compromisuri.
Cristina Mndru
Slide 17
2.
3.
Prezentarea arhitecturii
4.
5.
6.
7.
8.
9.
Prezentarea rezultatelor
10.
11.
Cristina Mndru
Faza 1
Faza 2
Faza 3
Slide 18
ATAM Faza 1
Implic un grup restrns de stakeholder-i, orientai predominant pe partea tehnic.
Faza 1 este:
Centrat pe arhitectur
Concentrat pe obinerea informaiilor arhitecturale detaliate i pe analiza
acestora.
Analiz n manier descendent (top-down).
Cristina Mndru
Slide 19
ATAM Faza 1
Pasul 1: Prezentarea ATAM - echipa de evaluare:
Cerinele critice cerinele de calitate care sunt eseniale pentru succesul sistemului
Evaluatorii trebuie s ASCULTE CU ATENIE: Atributele de calitate sunt derivate din obiectivele
business.
Exemple:
Cristina Mndru
Slide 20
ATAM Faza 1
Pasul 3: Prezentarea arhitecturii - arhitectul
Cristina Mndru
Slide 21
ATAM Faza 1
Pasul 5: Generarea arborelui utilitar al atributelor de calitate echipa de evaluare
Arbore utilitar
Obiectivele de calitate cele mai importante sunt plasate n nodurile de nivel nalt (n mod
tipic performana, modificabilitatea, securitatea i disponibilitatea)
Cristina Mndru
Slide 22
ATAM Faza 1
Pasul 5: Generarea arborelui utilitar al atributelor de calitate echipa de evaluare
Realizat pe baz de SCENARII
Utilitate scenarii:
Acoperire scenarii:
Acceptare scenarii:
Cristina Mndru
Slide 23
ATAM Faza 1
Pasul 5: Generarea arborelui utilitar al atributelor de calitate echipa de evaluare
SCENARII:
Exemple:
Scenariu de utilizare:
Utilizatorul remote solicit un raport din baza de date via Web pe timpul perioadei de vrf
i l obine n 5 secunde.
Scenariu de extindere:
Adugarea unui nou server de date pentru a reduce latena din scenariul 1 la 2,5
secunde cu un efort de o persoan timp de o sptmn.
Scenariu exploratoriu:
Jumtate dintre servere se defecteaz n timpul operrii normale fr a afecta
disponibilitatea gobal a sistemului.
Cristina Mndru
Slide 24
ATAM Faza 1
Pasul 6: Analiza abordrilor arhitecturale
Scenariul brut este expandat ntr-un scenariu format din 6 pri: surs, stimul, context,
artefact, rspuns, msur pentruUVSXQV.
Cristina Mndru
Slide 25
ATAM Faza 1
ablon pentru analiza ATAM
Cristina Mndru
Slide 26
ATAM Faza 1
Pasul 6: Analiza abordrilor arhitecturale
Arhitectul utilizeaz reprezentrile arhitecturale pentru a parcurge scenariul i a descrie
modul n care arhitectura rspunde la stimul.
Evaluatorii ATAM i stakeholder-ii pot pune ntrebri, utile pentru a descoperi:
Riscurile
Non-riscurile
Punctele sensibile
Compromisurile
Slide 27
ATAM Faza 1
Pasul 6: Analiza abordrilor arhitecturale - exemple
Regulile de scriere a modulelor logicii business din treapta a 2-a
Risc GHFL]LHDUKLWHFWXUDO a arhitecturii n 3 trepte nu sunt clar articulate. Aceasta ar putea
rezulta n replicare de funcionalitate, compromind astfel
cu potenial problematic.
modificabilitatea treptei a 3-a.
Compromis SURSULHWDWHFH
afecteaz mai multe atribute i
este punct sensibil pentru mai multe atribute.
Punct sensibil proprietate
a uneia sau mai multor componente
(i/sau relaii ntre componenente),
critic pentru obinerea unui anumit
atribut de calitate.
Non-risc GHFL]LHDUKLWHFWXUDOEXQ.
n ipoteza c rata de sosire a mesajelor este de 1 mesaj pe secund, c timpul de
procesare mesaj este mai mic de 30ms i c exist un proces cu prioritate mai
mare, un termen limit soft de o secund pare rezonabil.
Cristina Mndru
Slide 28
ATAM Faza 2
Faza 2
caracteristici:
Centrat pe stakeholder.
Cristina Mndru
Slide 29
ATAM
Cristina Mndru
Slide 30
ATAM Faza 2
Paii
1.
Prezentarea ATAM
2.
3.
Prezentarea arhitecturii
4.
5.
6.
7.
8.
9.
Prezentarea rezultatelor
Cristina Mndru
Slide 31
ATAM Faza 2
Pasul 7: Brainstorm i prioritizare scenarii
Scenariile din nodurile terminale ale arborelui utilitar sunt folosite ca exemple
Cristina Mndru
Slide 32
ATAM Faza 2
Pasul 8: Analiza abordrilor arhitecturale
Cristina Mndru
Slide 33
ATAM Faza 2
Pasul 9: Prezentarea rezultatelor
Conductorul echipei de evaluare face, n mod tipic,SUH]HQWDUHDILQDO.
Prezentarea se va concentra pe informaiile de nivel nalt :
Temele de risc.
Cristina Mndru
Slide 34
Determinrile
business
Atribute
de calitate
Scenarii
Analiza
Arhitectura
software
Abordri
arhitecturale
Decizii
arhitecturale
Compromisuri
impact
Puncte sensibile
distilate
n
Teme de risc
Cristina Mndru
Non-riscuri
Riscuri
Slide 35
ATAM - probleme
Cristina Mndru
Slide 36
PLAN CURS
Cristina Mndru
Slide 37
Evaluare continu
Cristina Mndru
Slide 38
etapa 2
etapa 3
etapa 4
etapa 5
DECIZIA
DA
NU
Cristina Mndru
etapa 6
Planificare/conducere experimente
Stage 7
Planificarea produciei
Stage 8
Producia
Perioada de
certitudine
etapa 1
Perioada de incertitudine
Slide 39
Cristina Mndru
Slide 40
Cristina Mndru
Slide 41
etapa 1
Metod de
obinere, de la
stakeholder-i,
a determinailor
arhitecturii.
etapa 2
etapa 3
etapa 4
etapa 5
etapa 6
etapa 7
etapa 8
Metode pentru
organizarea i
documentarea
determinailor
arhitecturii.
Ghid de
proiectare i
documentare a
arhitecturii
teoretice.
Metod pentru
revizuirea
proiectului
arhitectural.
Ghid pentru
clasificarea i
analizarea
problemelor i
pentru luarea
deciziei de
realizare sau nu
a sistemului.
Modele pentru
planificarea
experimentelor.
Modele, liste de
verificare i
metod pentru
estimarea i
planificarea
produciei.
Modele i liste
de verificare
pentru
urmrire i
supraveghere
a produciei
utiliznd
arhitectura i
planurile de
producie.
Modele de
planificare
pentru
perioada de
incertitudine.
Cristina Mndru
Modele pentru
proiectare,
nregistrare
element i
responsabiliti
de relaionare;
modele pentru
nregistrare
motivaii.
Liste de
verificare
pentru
recenzori.
Modele pentru
nregistrare
probleme.
Liste de
verificare i
modele pentru
actualizarea
planurilor din
perioada de
incertitudine.
Slide 42
Cristina Mndru
Slide 1
Observaii preliminare
1. Cerinele pentru atributele de calitate sunt elementele fundamentale de
dirijare a proiectrii unei arhitecturi software.
Dovada 1:GDFDUILLPSRUWDQWGRDUIXQFionalitatea, ar fi suficient doar un sistem monolitic.
DAR exist:
Dovada 2: restructurarea unui sistem se face de obicei din motive de calitate: mbuntire
performan, securitate, modificabilitate, ...
Slide 2
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 3
Problema
Obiectiv: Trecerea sistematic de la un set de cerine la o arhitectur
software care le satisface.
Cunotine necesare:
De domeniu
Atribute de calitate
Proiectare arhitectural
Metodologie de proiectare
...
Cristina Mndru
Slide 4
Exprimare cerine
Elementele de dirijare a proiectrii arhitecturale:
Constrngeri decizii de proiectare pre-definite.
Caracteristici funcii ce adaug valoare pentru utilizator.
Atribute de calitate.
Cristina Mndru
Slide 5
Exprimare cerine
Model pentru specificarea atributelor de calitate:
Cristina Mndru
Stimul
Surs stimul
Contextul n care apare stimulul
Artefactul influenat de stimul
Rspunsul sistemului la stimul
Msurile rspunsului
Slide 6
Surs stimul:
Intern sistemului
Eveniment neanticipat
Extern sistemului
Context:
Operare normal
Proces
Mod degradat
Memorie persistent
Msuri rspuns:
Rspuns:
nregistrare
Procentaj de disponibilitate
Notificare parteneri
Exemplu de Scenariu:
Un mesaj neanticipat este recepionat de un proces al sistemului n timpul funcionrii
normale. Procesul trebuie s-l nregistreze, s informeze partenerii corespunztori i
s continue funcionarea n mod normal,IUntreruperi.
Cristina Mndru
Slide 7
Surs stimul:
Eveniment declanat de sistem
Periodic
Eveniment extern
Stocastic
Sporadic
Context:
Artefact:
Condiii normale
Condiii critice (ex. suprancrcare)
Sistem
Msuri rspuns:
Rspuns:
Procesare stimul
Laten
Termen limit
Rat de transfer
etc
Exemplu de scenariu:
Un eveniment extern sporadic este recepionat de sistem n condiii de funcionare
normal.6LVWHPXOWUHEXLHVSURFHVH]HVWLPXOXOntr-un termen limit specificat.
Cristina Mndru
Slide 8
Stimul:
Utilizator final
Administrator
Dezvoltator
Artefact:
Sistem
Sistem
Interfa utilizator
Context:
La execuie
Context
La compilare
Platform
La construire (build)
Produs COTS
La proiectare
Msuri rspuns:
Dificultate n termeni de timp i / sau cost
Rspuns:
Identificarea locurilor modificrilor
Slide 9
Stimul:
ncercare de
Identificat corect
Anonim
Identificat incorect
Afiare informaii
Utilizarea unui serviciu al sistemului
Modificare / tergere informaii
Reducerea disponibilitii resurselor sistemului
Artefact:
Sistem
n timp ce utilizatorul folosete sistemul
Date din sistem
Msuri rspuns:
Din afara sistemului
Nivel / timp / resurse de competen necesare
Rspuns:
eludrii cu probabilitate de succes a
Autentificare utilizator
mecanismelor de securitate
Ascunde identificarea utilizatorului
...
Permite / blocheaz accesul la date / servicii (inclusiv
drepturi)
Context:
Slide 10
Stimul:
Caracteristicile de instruire ale sistemului
Utilizarea eficient a sistemului
La execuie
La configurare
Rspuns:
Sistem de help
Interfa familiar
Agregare dete / comenzi
Reutilizare de informaii
Undo
Numrul de erori
Cancel
...
Personalizare
Internaionalizare
...
Cristina Mndru
Slide 11
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 12
Tactici arhitecturale
Tactic arhitectural = mijloc de satisfacere a unei msuri pentru un
atribut de calitate, prin manipularea unui aspect al unui model
pentru atributul de calitate prin decizii de proiectare arhitectural.
Cristina Mndru
Slide 13
Arbitrare
solicitare
Gestionare
solicitare
Introducerea concurenei
Determinarea politicii de
planificare
Utilizare protocoale de
sincronizare
Gestionare resurse
multiple
Creterea concurenei
fizice
Echilibrarea alocrii
resurselor
Creterea localitii
datelor
Cristina Mndru
Slide 14
Localizare
modificri
Prevenirea efectului
de propagare
Coeren semantic
Ascundere informaii
Anticiparea schimbrilor
Pstrarea interfeelor
existente
Generalizare modul
Limitarea opiunilor posibile
Servicii comune abstracte
Cristina Mndru
Restricionarea cilor de
comunicare
Utilizarea unui intermediar
Amnarea stabilirii
de legturi
nregistrare la momentul
execuiei
Fiiere de configurare
Polimorfism
Componente nlocuibile
Aderare la protocoale
Slide 15
Detecie
defecte
Recuperare -
pregtire i
reparare
Ping/Echo
Votare
Heartbeat
(PULS)
Redundan activ
Excepii
Cristina Mndru
Redundan pasiv
Prevenire
Recuperare
reintroducere
Shadow
ndeprtare de
la serviciu
Resincronizare stri
Tranzacii
Rollback
Monitorizare
proces
Rezerve
Slide 16
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 17
Bibliografie la
www.sei.cmu.edu
Wojcic R., Bachmann F., Bass L., Clements P., Merson P., Nord R., Wood B., Attribute Driven
Design (ADD) Version 2.0, Technical Report CMU/SEI-2006-TR-023, nov 2006
Cristina Mndru
Slide 18
cerinele funcionale
constrngerile de proiectare
5HDOL]DUHDGHPRGLILFULSHQWUXFRUHFWDUHDGHILFLHQelor detectate.
Pas 5: Instanierea elementelor arhitecturii i alocarea de responsabiliti
Pas 6: Definirea interfeelor pentru elementele instaniate
Pas 7: Verificarea i rafinarea cerinelor i transformarea lor n constrngeri pentru
elementele instaniate.
Cristina Mndru
Slide 19
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 20
ADD Exemplu
Aplicarea ADDSHQWUXSURLHFWDUHDXQXLVXEVLVWHPFHRIHUVHUYLFLLGHtoleran
la defecte, identificat ntr-o prim etap de aplicare a metodei pentru
proiectarea unui sistem de urmrire.
Interogare stare / rspuns
Actualizare stare
Sistem urmrire
Sistem
Actor interogare
Actor actualizare
Detalii la www.sei.cmu.edu
Wood W.G., A Practical Example of Applyng Attribute-Driven Design (ADD) Version 2.0, Technical
Report CMU/SEI-2007-TR-005, febr 2007
Cristina Mndru
Slide 21
Cristina Mndru
Slide 22
Cristina Mndru
Slide 23
Scenariul S25HYHQLUHOHQW:
Stimul
Surs stimul
Componenta ce se defecteaz
Componenta ce se defecteaz
Context
Artefact
Rspuns
Msur
rspuns
Serviciul urmrire
Informare clieni - serviciu indisponibil.
Relansare serviciu. Informare clieni DFFHSWDUH
actualizri.
Corelare actualizri cu informaiile anterioare
(automat
/ cueste
asisten
administrator).
Serviciul
disponibil
n max.min.
Informare
clieni DFFHSWDUHLQWHURJUL.
Starea componentei
la revenire difer cu max. 1
min. fa de starea acesteia la momentul
producerii avariei.
Slide 24
Citire/scriere stare
Comunicare sincron
Server urmrire
Serviciu
toleran
la defecte
Serviciu
pornire
Serviciu
comunicare
sincron
Client
Client
interogare
Client
interogare
interogare
Cristina Mndru
Funcii sistem
Serviciu
naming
Memorie
persistent
Comunicare asincron
Serviciu
comunicare
asincron
Servicii middleware
Serviciu de
descompus
Serviciu
nregistrare
Client
Client
actualizare
Client
actualizare
actualizare
Slide 25
Strategii de repartizare:
1.
A i B pe acelai procesor 50% utilizare procesor, 100 clieni actualizare, 30 clieni interogare
2.
A i B n procesoare diferite 50% utilizare procesoare, 150 clieni actualizare, 50 clieni interogare
Timpi refacere stare din memoria persistent: A 0.8 sec, B 0,6 sec.
Serviciu nregistrare refuz clieni noi dac nu se poate pstra o rezerv predefinit de
memorie.
Slide 26
ADD Etapa 2
Obiectiv: Proiectarea serviciului toleran la defecte parial, referitor la
serviciu urmrire.
Directive pentru proiectantul arhitecturii serviciului toleran la defecte:
-
Se vor utiliza cerine, modelul existent al elementului critic, scenariile pentru atributele
de calitate, cu scopul de a aduga toleran la defecte serviciului urmrire.
Dac cerinele care dirijeaz arhitectura dirijeaz la o soluie prea complex, se vor
renegocia n sensul relaxrii lor.
Se vor documenta variantele arhitecturale considerate i raiunile pentru alegerea
fcut.
Proiectarea serviciului pornire este responsabilitatea unei alte echipe, iar soluiile vor fi
unificate ntr-o etap ulterioar.
Slide 27
ADD
Etapa 2
Importan
Dificultate
mare
mare
medie
medie
mare
mare
mare
mare
medie
mic
mare
mare
mare
mare
mare
mic
mare
mare
Cristina Mndru
Slide 28
ADD Etapa 2
Pas 4: Alegerea unui concept de proiectare ce satisface cerinele care dirijeaz
arhitectura
4.1 Identificarea intereselor asociate cerinelor care dirijeaz arhitectura
Cristina Mndru
Slide 29
ADD Etapa 2
Alegere concept de proiectare
4.1 Identificarea intereselor asociate cerinelor care dirijeaz arhitectura - detalii
Toleran la defecte
Pregtire
Recuperare
Detecie
Transparen la clieni
Restart
Monitorizare stare de
funcionare
Deployment
Integritate
date
Cristina Mndru
Slide 30
ADD Etapa 2
Alegere concept de proiectare
4.2 Creare list de abloane potrivite cu fiecare interes, identificare parametrii discriminatori
si valorile acestora. 4.3 Selectare abloane
Interes = Restart
Nume ablon
Parametrii discriminatori
Tip replic
Pierdere servicii
Cold restart
pasiv
> 2 min
da
Warm restart
pasiv
posibil
Master / Master
activ
> 50 msec
nu
Load sharing
activ
> 50 msec
nu
Raionament :
Slide 31
ADD Etapa 2
Alegere concept de proiectare
Interes = Deployment
Nume ablon
Parametrii discriminatori
P#1
P#2
Grupat
A, B
A, B
Separat
A, B
A, B
A cade
# actualizri
#interogri
Timp revenire
A, B
100
30
1.4
A, B
150
50
0.8
Raionament :
Slide 32
ADD Etapa 2
Alegere concept de proiectare
Interes = Integritate date
Nume ablon
Parametrii discriminatori
ncrcare de comunicare
nu
Fast checkpoint
nu
nu
nu
Raionament :
Replica primar: salveaz starea odat pe minut n fiierul Ckp; adun toate schimbrile de
stare i le salveaz n fiierul Log la fiecare 2 sec.
Server-ul promovat ca primar: calculeaz starea conform informaiilor din Ckp i Log i
lanseaz salvarea ei n memoria persistent; fr a se bloca n ateptarea ncheierii acestei
operaii, continu procesarea actualizrilor i interogrilor.
Cristina Mndru
Slide 33
ADD Etapa 2
Alegere concept de proiectare
Parametru discriminator
Heartbeat (PULS)
4 mesaje (pt. A, A, B, B)
Ping / Echo
0 mesaje
0 mesaje
Raionament :
1.2 sec (iniializarea celor 2 fiiere Ckp) + 0.25 sec (PULS) .55 sec rezerv.
O component de monitorizare a strii de funcionare detecteaz lipsa unui PULS i
informeaz toate elementele interesate.
Mecanismul de comunicare a unei avarii interne detectat de A sau B este s nu se trimit
PULS.
Cristina Mndru
Slide 34
ADD Etapa 2
Alegere concept de proiectare
Interes = Transparen la clieni
Nume ablon
Parametrii discriminatori
Protocol necesar
Loc timeout
unicast
client
unicast
Proxy
multicast
infrastructur
Raionament :
Slide 35
ADD Etapa 2
Alegere concept de proiectare
Cristina Mndru
Slide 36
ADD Etapa 2
Alegere concept de proiectare
Parametru discriminator
Impact
Raionament :
Cristina Mndru
Slide 37
ADD Etapa 2
Alegere concept de proiectare
Cristina Mndru
Slide 38
ADD Etapa 2
Alegere concept de proiectare
4.4 Determinarea relaiei ntre abloane i cerinele care dirijeaz arhitectura
Interes
ablon selectat
Baz decizie
Numr replici
Dou replici
C3
Restart
Warm standby
C3, S1
Deployment
Grupat
C1
Integritate date
Detecie defecte
PULS
Transparen la clieni
C1, arhitect
n/a
C1, S2
n/a
C1, S2
Cristina Mndru
Slide 39
ADD Etapa 2
Alegere concept de proiectare
4.5 Capturarea vederilor arhitecturale preliminare
Serviciu urmrire
Serviciu urmrire A
Clieni interogare
Serviciu urmrire B
Proxy
Clieni actualizare
Fiier CkpA
Memorie persistent
Fiier CkpB
Serviciu nume
Fiier LogA
Serviciu nregistrare
Fiier LogB
Cristina Mndru
Slide 40
ADD Etapa 2
Alegere concept de proiectare
Reprezentare simplificat
Citire/scriere stare
Server urmrire
primar
Proxy
Comunicare sincron
Serviciu
pornire
Funcii sistem
Serviciu
naming
Server urmrire
secundar
Serviciu
comunicare
sincron
Serviciu
comunicare
asincron
Cristina Mndru
Servicii middleware
Servicii
toleran la
defecte
Serviciu
nregistrare
Notificare avarie
PULS
CkpA, CkpB
Pe durata revenirii
LogA, LogB
Client
Client
interogare
Client
interogare
interogare
Comunicare asincron
Client
Client
actualizare
Client
actualizare
actualizare
Slide 41
ADD Etapa 2
Alegere concept de proiectare
Comportamentul sistemului pentru detecie avarie i recuperare din avarie exemplu.
Cristina Mndru
Slide 42
ADD Etapa 2
Alegere concept de proiectare
Slide 43
ADD Etapa 2
Alegere concept de proiectare
4.6 Evaluarea i rezolvarea inconsistenelor
Variante mbuntire sistem:
1.
Slide 44
ADD Etapa 2
Alegere concept de proiectare
5.
6.
Reducerea dimensiunii strii ce trebuie salvat prin recalcularea la restart a unor date
de stare.
Cristina Mndru
Slide 45
ADD Etapa 2
Pas 5: Instanierea elementelor arhitecturale i alocarea responsabilitilor.
Element A (B) :
Memoria persistent:
Conine fiierele CkpA, CkpB, LogA i LogB, suprascrise la fiecare actualizare.
Cristina Mndru
Slide 46
ADD Etapa 2
Serviciu comunicare asincron :
Proxy:
nregistreaz toate metodele elementelor A i B la serviciul de nume. Pornete efectiv elementele A, A,B
i B i le nregistreaz metodele cu nume diferite la registrul de nume. Determin statutul de primar sau
secundar pentru fiecare element. Captureaz toate cererile i le direcioneaz ctre elementul primar
corespunztor. Dup detectarea unei avarii trimite serviciilor de comunicare referinele la metodele din
secundarul promovat ca primar.
Cristina Mndru
Slide 47
ADD Etapa 2
Pas 6: Definirea interfeelor elementelor instaniate.
Solicitant
Furnizor
Interfa
Timp
A (B) primar
WriteCkp
60s
A (B) primar
WriteLog
1s
PULS
0.25s
A (B) primar
ReadCkp
La refacere
A (B) primar
ReadLog
La refacere
Proxy
AvariePrimar
max. 1s de la detectare
Client interogare
Interogare
aleator
Client actualizare
Actualizare
1s
Proxy
Naming
Register
La pornire
Proxy
PrimaryFailed
La refacere
Proxy
Stop
A (B) primar
Interogare
aleator
A (B) primar
Actualizare
1s
Cristina Mndru
Slide 48
ADD Etapa 2
Pas 7 Verificarea ndeplinirii cerinelor de ctre arhitectura componentei
dezvoltat la pasul curent, rafinarea cerinelor i transformarea lor n
constrngeri pentru elementele proiectate.
Cerine ce dirijeaz arhitectura
warm restart
deployment distribuit
renegociat TrA=TrB=0.6s
Cristina Mndru
Slide 49
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 50
Arhitectura securitii
Arhitectura securitii = politicile de securitate i elementele de control
pentru diminuarea riscurilor, care sunt integrate n arhitectura sistemului
n scopul reducerii riscului unei ameninri.
Obiective ale arhitecturii securitii:
Cristina Mndru
Slide 51
Cristina Mndru
Slide 52
Tehnologii de securitate
Firewall
Detectarea intruziunilor
Cristina Mndru
Slide 53
Cristina Mndru
Slide 54
Obiective ortogonale
Uurin n utilizare
Disponibilitate mare
Adaptabilitate
Evoluie
Performan
Scalabilitate
Interoperabilitate
Robustee
Mentenabilitate
Reconstruirea evenimentelor
Portabilitate
Securitate
Cristina Mndru
Arhitectura
sistemului
Obiective opuse
Slide 55
Controlul securitii
Controale
prevenie
Controale detecie
i recuperare
Autentificare
Authorizare
Proces/utilizator
Impunerea
controlului
accesului
Non-repudiere
Tranzacii
private
Audit
Integritate
IDs
Resurs
Restaurare
Comunicaii protejate
Identificare
Gestionarea cheilor criptografice
Controale suport
Administrarea securitii
Proteciile sistemului
Cristina Mndru
Slide 56
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 57
Privilegiul minim
Simplitate
Cristina Mndru
Slide 58
Protecie
Detecie
Aprare n adncime
Cristina Mndru
Recuperare
Slide 59
Protecie
Detecie
Recuperare
Authentication/Authorization Server
Workstations
Data
Web Server
Application Servers
Laptops
Cristina Mndru
Slide 60
Protecie
Detecie
Recuperare
Cerin : audit
Authentication/Authorization Server
SSL
Workstations
Data
Web Server
Application Servers
SSL
Laptops
Audit
Data
Security
Audit Server
Audit Workstation
Cristina Mndru
Slide 61
Protecie
Detecie
Recuperare
Authentication/Authorization Server
SSL
Workstations
Data
Web Server
Application Servers
SSL
Laptops
Audit
Data
Security
Audit Server
SD
Audit Workstation
Cristina Mndru
Slide 62
Protecie
Detecie
Recuperare
Zone de ncredere
Middle Tier
Authentication/Authorization Server
Workstations
SSL
Web Clients
Data
Firewall
SSL
Server
Firewall
Firewall
Application Servers
Audit
Data
Security
Laptops
Audit Server
SD
Audit Workstation
Cristina Mndru
Slide 63
Protecie
Detecie
Aprare n adncime
Detecie
Recuperare
SD
Cristina Mndru
Slide 64
Protecie
Detecie
Aprare n adncime
Recuperare
Recuperare
0LGGOH7LHU
$XWKHQWLFDWLRQ$XWKRUL]DWLRQ6HUYHU
%DFNXS
'DWD
:RUNVWDWLRQV
66/
:HE&OLHQWV
1HWZRUN,'6
)LUHZDOO
)LUHZDOO
:HE6HUYHUZ
66/
,'6
'DWD
)LUHZDOO
$SSOLFDWLRQ6HUYHUV
$XGLW
'DWD
6HFXULW\
/DSWRSV
5HGXQGDQW
6HUYHU
$XGLW6HUYHU
SD
$XGLW:RUNVWDWLRQ
Cristina Mndru
Slide 65
PLAN CURS
Principii de proiectare pentru atribute de calitate
Scenarii generale
Tactici
Arhitectura securitii
Cristina Mndru
Slide 66
Stabilire politici
Evaluare
Evaluare risc
Gestionare
Cerine
Implementare
Cristina Mndru
Proiectare
Slide 67
Evaluare
Planificare
proiect
Definire
cerine
Cristina Mndru
Proiectare
Proiectare
Dezvoltare
Implementare
Proiectare
Evaluare
Cerine
Implementare
n fazele mentenanei/evoluiei SW
Gestionare
Evaluare risc
Gestionare
Cerine
Evaluare
risc
Stabilire
politici
Stabilire politici
Integrare
& Test
Instalare
& Acceptare
Slide 68
Cristina Mndru
Slide 1
Observaii preliminare
1. Cerinele pentru atributele de calitate sunt elementele fundamentale de
dirijareDSURLHFWULLXQHLDUKLWHFWXULVRIWZDUH.
Dovada 1:GDFDUILLPSRUWDQWGRDUIXQFionalitatea, ar fi suficient doar un sistem monolitic.
DAR exist:
Dovada 2: restructurarea unui sistem se face de obicei din motive de calitate: mbuntire
performan, securitate, modificabilitate, ...
Slide 2
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 3
Utilizabilitate
Def. Utilizabilitate = msura calitii experimentate de utilizator n
interaciunea cu informaii sau servicii.
Slide 4
Slide 5
Obiective curs
Cristina Mndru
Slide 6
Cristina Mndru
Slide 7
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 8
Cristina Mndru
Slide 9
MVC
Orientat obiect
Model starea i
funcionalitatea aplicaiei
(operaii).
Dispozitiv
de intrare
View
Comma
Comma
nd
nd
Process
Process
or
or
Model
Comma
Comma
nd
nd
Process
Process
or
or
Dispozitiv
de ieire
Controller
Controller DFWXDOL]HD]
modelul, selecteaz vedere,
definete comportamentul
aplicaiei (interaciuni, flux).
Cristina Mndru
Slide 10
MVC
Avantaje
Utilizatorul are perspective multiple asupra acelorai date (ex. vederi de tip
outline i de tip layout)
Cristina Mndru
Slide 11
Biblioteci de widget-uri
Cristina Mndru
Slide 12
Modificri facilitate de
arhitectura software
Cerine descoperite
pe parcursul proiectrii
iterative
Slide 13
Cristina Mndru
Slide 14
View EXWRQ&DQFHOVDXDOWPRGDOLWDWHGHDFRPDQGDDQXODUHD
Probleme:
Localizare slab
Cristina Mndru
Slide 15
Concluzii
Cristina Mndru
Slide 16
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 17
Soluie - USAP:
Cristina Mndru
Slide 18
Cristina Mndru
Slide 19
Anulare comenzi
Utilizatorul trimite o comand, apoi se rzgndete dorind oprirea operaiei i
revenirea sistemului la starea dinaintea lansrii comenzii. Nu conteaz motivul
utilizatorului: poate fi o greeal a sa, poate fi din cauz c sistemul nu
rspunde la comand, sau poate s-a modificat contextul.
Cristina Mndru
Slide 20
Agregarea datelor
Agregarea comenzilor
Alerte
Anulare comenzi
Verificarea corectitudinii
Evaluarea sistemului
Validare form/cmp
Jurnalizare istoric
Meninerea independenei dispozitivelor
(diferite metode de acces)
Meninerea compatibilitii cu alte sisteme
Accesibilizarea vederilor
Modificarea interfeelor
Navigarea n cadrul unei singure vederi
Observarea strii sistemului
Operare consistent la traversarea vederilor
Feedback al progresului
Help performant (Context-Sensitive Help)
Cristina Mndru
Slide 21
Procesul de dezvoltare
Echipa de dezvoltare:
Ingineri software
Specialiti n utilizabilitate
Manager proiect
Cristina Mndru
Slide 22
Procesul de dezvoltare
n plus fa de scenariile de utilizabilitate sensibile din punct de vedere
arhitectural, sunt necesare:
Ghid:
Cristina Mndru
Slide 23
Fore
Fore
Dorine i
capabiliti
Beneficii
Cristina Mndru
Fore
Responsabiliti
generale
Beneficii
oferite de
soluie
Decizii de
proiectare
anterioare
Fore
Soluie specific
(mai multe detalii)
Ex. Tactici.
Slide 24
Cristina Mndru
Slide 25
Beneficiile utilizabilitii
Elementele ce definesc utilizabilitatea unui sistem software depind de
contextul de utilizare al acestuia.
Aspecte comune:
Eficiena utilizrii
Timpul necesar nvrii modului de utilizare eficient
Suport pentru explorare i pentru rezolvarea problemelor
Satisfacia utilizatorului (ex. ncredere, confort, acceptare de ctre
utilizatorii discreionari)
Slide 26
Crete eficiena
utilizatorului individual
Crete
performana
activitilor
de rutin
Accelereaz
poriunea
liber de
erori a
activitilor
de rutin
Crete
performana
activitilor
non-rutiniere
Reduce
impactul
erorilor
utilizator la
operaiile
de rutin
(scpri din
vedere)
Cristina Mndru
Reduce impactul
erorilor
utilizatorului
datorate lipsei de
cunotine
Sprijin
Faciliteaz
rezolvarea
problemelor nvarea
Previne
greelile
Previne
erorile
sistemului
Crete
ncrederea i
confortul
utilizatorului
Tolereaz
erorile
sistemului
Se adapteaz
greelilor
Slide 27
Proiectare arhitectur
Exist o multitudine de metode diferite pentru a satisface un scenariu
particular.
Majoritatea sistemelor utilizeaz abloane arhitecturale bazate pe separare, ca
baz pentru proiectul de ansamblu al sistemului.
n USAP sunt oferite dou componente diferite ale soluiei:
Slide 28
Documentarea ablonului
Context
Slide 29
Concluzii
abloanele bazate pe separare nu ofer suport pentru toate scenariile de
utilizabilitate sensibile din punct de vedere arhitectural.
Abordarea prezentat este mpachetat n USAP i conine:
Cristina Mndru
Slide 30
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 31
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 32
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Slide 33
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 34
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 35
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 36
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 37
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 38
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 39
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 40
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 41
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 42
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 43
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Slide 44
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 45
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 46
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 47
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 48
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 49
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 50
Observaii
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Eliberarea resurselor
Feedback dac nu se poate termina anularea
Informarea colaboratorilor
Cristina Mndru
Slide 51
abloane acoperitoare
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 52
Soluia specific
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 53
Soluia specific
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
:View
ActiveCommand
:Model
:Controller
Cristina Mndru
Slide 54
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
ActiveCommand
:Model
:Controller
Prior-StateManager
:Model
Listener
:Controller
Cristina Mndru
CollaboratingProcess
:Model
CancellationManager
:Model
Slide 55
Soluia specific
Responsabilitile componentelor noi
Listener
Tip: controller
Trebuie s asculte permanent pentru comenzile de anulare sau pentru modificrile de
context (R2)
Cancellation Manager
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Tip: model
Permanent ascult i culege informaii (R2, R3)
Trateaz anularea dac nu primete rspuns de la Active Command (R6)
Elibereaz resursele (R11)
Estimeaz durata procesului de anulare (R13, R14)
Informeaz utilizatorul despre progresul procesului de anulare (R14, R15).
Tip: model
Culege permanent informaii (n colaborare cu Cancellation Manager stare, utilizare
resurse, aciuni,...) ce permit refacerea strii sistemului anterioar executrii comenzii
curente (R3)
Dac nu se primete rspuns de la Active Command (R6), colaboreaz cu
Cancellation Manager pentru a restaura sistemul n starea anterioar executrii
comenzii curente (R18) sau ntr-o stare ct mai apropiat de aceasta (R9).
Cristina Mndru
Slide 56
Soluia specific
Responsabilitile noi pentru componentele vechi
View
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Tip: view
Ofer buton, opiune menu, accelerator i/sau alt modalitate de anulare a
comenzii curente (R1)
Trebuie s asculte permanent pentru comenzile de anulare sau pentru
modificrile de context (R2)
Prezint utilizatorului informaiile de feedback despre progresul procesului de
anulare (R4, R14, R15)
Active Command
Tip: model
Culege permanent informaii (R3)
Trateaz anularea prin terminarea proceselor i restaurarea strii i
resurselor(R5, R8, R11)
Trimite feedback corespunztor ctre utilizator (R12, R14, R15)
Cristina Mndru
Slide 57
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
:View
:Controller
:User
normal
operation
ActiveCommand
:Model
CancellationManager
:Model
Prior-StateManager
:Model
normal
operation
invoke
register (R3)
save current state (R3)
Cristina Mndru
Slide 58
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
:View
:User
press
cancel
button (R1)
Listener
:Controller
send cancel
request (R1, R2)
acknowledge
users
command (R4)
ActiveCommand
:Model
CancellationManager
:Model
cancel active
command (R2)
Prior-StateManager
:Model
estimates cancel
time between
1 and 10 secs
(R14, busy cursor
needed)
Cristina Mndru
Slide 59
Similaritate (VWHQHFHVDUUHYHQLUHDODRVWDUHDQWHULRDUFXQRVFXW.
Cristina Mndru
Slide 60
Cristina Mndru
Slide 61
BIBLIOGRAFIE
Bass L., John B.E, Kates J., Achieving Usability Through Software Architecture,
Technical Report CMU/SEI-2001-TR-005, 2001
Stoll P., Bass L., John B.E., Usability and Software Architecture, SATURN May
2009, Pittsburg, US
www.automationworld.com/control/abb-product-architecture-supports-usability
Lee J., Bass L., Elements of Usability Reasoning Framework, Technical Note
CMU/SEI-2005-TN-030, 2005
Cristina Mndru
Slide 62
Cristina Mndru
Slide 1
Observaii preliminare
1. Cerinele pentru atributele de calitate sunt elementele fundamentale de
dirijareDSURLHFWULLXQHLDUKLWHFWXULVRIWZDUH.
Dovada 1:GDFDUILLPSRUWDQWGRDUIXQFionalitatea, ar fi suficient doar un sistem monolitic.
DAR exist:
Dovada 2: restructurarea unui sistem se face de obicei din motive de calitate: mbuntire
performan, securitate, modificabilitate, ...
Slide 2
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 3
Utilizabilitate
Def. Utilizabilitate = msura calitii experimentate de utilizator n
interaciunea cu informaii sau servicii.
Slide 4
Slide 5
Obiective curs
Cristina Mndru
Slide 6
Cristina Mndru
Slide 7
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 8
Cristina Mndru
Slide 9
MVC
Orientat obiect
Model starea i
funcionalitatea aplicaiei
(operaii).
Dispozitiv
de intrare
View
Comma
Comma
nd
nd
Process
Process
or
or
Model
Comma
Comma
nd
nd
Process
Process
or
or
Dispozitiv
de ieire
Controller
Controller DFWXDOL]HD]
modelul, selecteaz vedere,
definete comportamentul
aplicaiei (interaciuni, flux).
Cristina Mndru
Slide 10
MVC
Avantaje
Utilizatorul are perspective multiple asupra acelorai date (ex. vederi de tip
outline i de tip layout)
Cristina Mndru
Slide 11
Biblioteci de widget-uri
Cristina Mndru
Slide 12
Modificri facilitate de
arhitectura software
Cerine descoperite
pe parcursul proiectrii
iterative
Slide 13
Cristina Mndru
Slide 14
View EXWRQ&DQFHOVDXDOWPRGDOLWDWHGHDFRPDQGDDQXODUHD
Probleme:
Localizare slab
Cristina Mndru
Slide 15
Concluzii
Cristina Mndru
Slide 16
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 17
Soluie - USAP:
Cristina Mndru
Slide 18
Cristina Mndru
Slide 19
Anulare comenzi
Utilizatorul trimite o comand, apoi se rzgndete dorind oprirea operaiei i
revenirea sistemului la starea dinaintea lansrii comenzii. Nu conteaz motivul
utilizatorului: poate fi o greeal a sa, poate fi din cauz c sistemul nu
rspunde la comand, sau poate s-a modificat contextul.
Cristina Mndru
Slide 20
Agregarea datelor
Agregarea comenzilor
Alerte
Anulare comenzi
Verificarea corectitudinii
Evaluarea sistemului
Validare form/cmp
Jurnalizare istoric
Meninerea independenei dispozitivelor
(diferite metode de acces)
Meninerea compatibilitii cu alte sisteme
Accesibilizarea vederilor
Modificarea interfeelor
Navigarea n cadrul unei singure vederi
Observarea strii sistemului
Operare consistent la traversarea vederilor
Feedback al progresului
Help performant (Context-Sensitive Help)
Cristina Mndru
Slide 21
Procesul de dezvoltare
Echipa de dezvoltare:
Ingineri software
Specialiti n utilizabilitate
Manager proiect
Cristina Mndru
Slide 22
Procesul de dezvoltare
n plus fa de scenariile de utilizabilitate sensibile din punct de vedere
arhitectural, sunt necesare:
Ghid:
Cristina Mndru
Slide 23
Fore
Fore
Dorine i
capabiliti
Beneficii
Cristina Mndru
Fore
Responsabiliti
generale
Beneficii
oferite de
soluie
Decizii de
proiectare
anterioare
Fore
Soluie specific
(mai multe detalii)
Ex. Tactici.
Slide 24
Cristina Mndru
Slide 25
Beneficiile utilizabilitii
Elementele ce definesc utilizabilitatea unui sistem software depind de
contextul de utilizare al acestuia.
Aspecte comune:
Eficiena utilizrii
Timpul necesar nvrii modului de utilizare eficient
Suport pentru explorare i pentru rezolvarea problemelor
Satisfacia utilizatorului (ex. ncredere, confort, acceptare de ctre
utilizatorii discreionari)
Slide 26
Crete eficiena
utilizatorului individual
Crete
performana
activitilor
de rutin
Accelereaz
poriunea
liber de
erori a
activitilor
de rutin
Crete
performana
activitilor
non-rutiniere
Reduce
impactul
erorilor
utilizator la
operaiile
de rutin
(scpri din
vedere)
Cristina Mndru
Reduce impactul
erorilor
utilizatorului
datorate lipsei de
cunotine
Sprijin
Faciliteaz
rezolvarea
problemelor nvarea
Previne
greelile
Previne
erorile
sistemului
Crete
ncrederea i
confortul
utilizatorului
Tolereaz
erorile
sistemului
Se adapteaz
greelilor
Slide 27
Proiectare arhitectur
Exist o multitudine de metode diferite pentru a satisface un scenariu
particular.
Majoritatea sistemelor utilizeaz abloane arhitecturale bazate pe separare, ca
baz pentru proiectul de ansamblu al sistemului.
n USAP sunt oferite dou componente diferite ale soluiei:
Slide 28
Documentarea ablonului
Context
Slide 29
Concluzii
abloanele bazate pe separare nu ofer suport pentru toate scenariile de
utilizabilitate sensibile din punct de vedere arhitectural.
Abordarea prezentat este mpachetat n USAP i conine:
Cristina Mndru
Slide 30
PLAN CURS
Un exemplu de USAP
Cristina Mndru
Slide 31
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 32
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Slide 33
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 34
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 35
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 36
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 37
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 38
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 39
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 40
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 41
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 42
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 43
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Slide 44
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 45
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 46
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 47
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 48
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 49
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 50
Observaii
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Eliberarea resurselor
Feedback dac nu se poate termina anularea
Informarea colaboratorilor
Cristina Mndru
Slide 51
abloane acoperitoare
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 52
Soluia specific
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Cristina Mndru
Slide 53
Soluia specific
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
:View
ActiveCommand
:Model
:Controller
Cristina Mndru
Slide 54
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
ActiveCommand
:Model
:Controller
Prior-StateManager
:Model
Listener
:Controller
Cristina Mndru
CollaboratingProcess
:Model
CancellationManager
:Model
Slide 55
Soluia specific
Responsabilitile componentelor noi
Listener
Tip: controller
Trebuie s asculte permanent pentru comenzile de anulare sau pentru modificrile de
context (R2)
Cancellation Manager
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Tip: model
Permanent ascult i culege informaii (R2, R3)
Trateaz anularea dac nu primete rspuns de la Active Command (R6)
Elibereaz resursele (R11)
Estimeaz durata procesului de anulare (R13, R14)
Informeaz utilizatorul despre progresul procesului de anulare (R14, R15).
Tip: model
Culege permanent informaii (n colaborare cu Cancellation Manager stare, utilizare
resurse, aciuni,...) ce permit refacerea strii sistemului anterioar executrii comenzii
curente (R3)
Dac nu se primete rspuns de la Active Command (R6), colaboreaz cu
Cancellation Manager pentru a restaura sistemul n starea anterioar executrii
comenzii curente (R18) sau ntr-o stare ct mai apropiat de aceasta (R9).
Cristina Mndru
Slide 56
Soluia specific
Responsabilitile noi pentru componentele vechi
View
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Tip: view
Ofer buton, opiune menu, accelerator i/sau alt modalitate de anulare a
comenzii curente (R1)
Trebuie s asculte permanent pentru comenzile de anulare sau pentru
modificrile de context (R2)
Prezint utilizatorului informaiile de feedback despre progresul procesului de
anulare (R4, R14, R15)
Active Command
Tip: model
Culege permanent informaii (R3)
Trateaz anularea prin terminarea proceselor i restaurarea strii i
resurselor(R5, R8, R11)
Trimite feedback corespunztor ctre utilizator (R12, R14, R15)
Cristina Mndru
Slide 57
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
:View
:Controller
:User
normal
operation
ActiveCommand
:Model
CancellationManager
:Model
Prior-StateManager
:Model
normal
operation
invoke
register (R3)
save current state (R3)
Cristina Mndru
Slide 58
Contextul
Beneficiile
Responsabilitile generale
Soluia specific
Soluia specific
:View
:User
press
cancel
button (R1)
Listener
:Controller
send cancel
request (R1, R2)
acknowledge
users
command (R4)
ActiveCommand
:Model
CancellationManager
:Model
cancel active
command (R2)
Prior-StateManager
:Model
estimates cancel
time between
1 and 10 secs
(R14, busy cursor
needed)
Cristina Mndru
Slide 59
Similaritate (VWHQHFHVDUUHYHQLUHDODRVWDUHDQWHULRDUFXQRVFXW.
Cristina Mndru
Slide 60
Cristina Mndru
Slide 61
BIBLIOGRAFIE
Bass L., John B.E, Kates J., Achieving Usability Through Software Architecture,
Technical Report CMU/SEI-2001-TR-005, 2001
Stoll P., Bass L., John B.E., Usability and Software Architecture, SATURN May
2009, Pittsburg, US
www.automationworld.com/control/abb-product-architecture-supports-usability
Lee J., Bass L., Elements of Usability Reasoning Framework, Technical Note
CMU/SEI-2005-TN-030, 2005
Cristina Mndru
Slide 62
Cristina Mndru
Slide 1
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 2
Cerin:
Personalizare n mas (mass customization) = producia pe scar larg de bunuri
croite conform cerinelor clienilor individuali.
Soluie productivitate:
Platform = baz de tehnologii pe care sunt construite alte tehnologii sau procese.
Cristina Mndru
Slide 3
Cristina Mndru
Slide 4
Reutilizare - istoric
Slide 5
prestabilit.
Referitor la
Strategie de pia/
Domeniu de aplicare
Este satisfcut de
Partajeaz
Arhitectur
Produse
Utilizat pentru a structura
Sunt construite din
Componente
Cristina Mndru
Slide 6
Concepte fundamentale
Nucleu comun de active de baz = colecie de artefacte i resurse.
Diferenierea produselor prin adaptareaDFWLYHORUGHED]:
REUTILIZARE STRATEGIC.
Strategie plan de aciune pentru atingerea unui anumit scop.
Cristina Mndru
Slide 7
Concepte fundamentale
Activ de baz artefact sau resurs construit pentru a fi utilizat n producerea mai multor
produse ale liniei de produse.
Variabilitate = abilitatea unui sistem, a unui activ sau a unui mediu de dezvoltare de a oferi
suport pentru producerea unui set de artefacte care difer ntre ele ntr-o manier
preplanificat.
Variabilitate LP abilitatea unui activ de baz de a se adapta la utilizri n diferite contexte
ale produselor din cadrul domeniului LP
Activ de produs = artefact parte a unui produs din linia de produse software.
Domeniu = mulime de cunotine specializate,GRPHQLXGHH[SHUWL], sau colecie de
funcionaliti corelate.
Practic a liniei de produse software utilizarea sistematic a activelor de baz pentru
asamblarea, instanierea, sau generarea de produse multiple care constituie linia de
produse software; implic reutilizare strategic, cu granularitate mare.
Cristina Mndru
Slide 8
Variabilitate
Parte variabil parte ce poate s varieze a unui activ.
Variaie = modul n care difer dou sau mai multe variante GHVFULVn termeni
de capabiliti sau proprieti pe care le au variantele.
Mecanism de variaie mecanism care sprijin crearea i/sau selectarea de
variante conforme cu constrngerile pentru partea variabil a activului de
baz. (ncapsuleaz partea variabil)
Variant realizarea unei pri variabile a unui activ de baz prin exercitarea
mecanismelor sale de variaie.
Variabilitate n timp = existena de versiuni diferite ale unui artefact care sunt valide la diferite
momente de timp.
Variabilitate n spaiu = existena unui artefact sub diferite forme n acelai timp.
Cristina Mndru
Slide 9
Variabilitate - exemple
Parte variabil
Variaie
Variant
reea comunicare
securizare
model securitate
UI
tip UI
interfa subsistem
protocol comunicare
Cristina Mndru
Slide 10
Variabilitate - exemple
Cristina Mndru
Slide 11
Ingineria aplicaiilor procesul n care sunt construite aplicaiile liniei de produse prin
reutilizarea artefactelor domeniului i exploatarea variabilitii liniei de produse.
dezvoltarea produselor.
Cristina Mndru
Slide 12
Cristina Mndru
Slide 13
Variabilitate
Cerin:
Soluie:
Modelul de variabilitate:
activele de baz
mecanismele de variaie
Cristina Mndru
Slide 14
Exemplu
Felix Bachmann, Paul C. Clements, Variability in Software Product Lines, Technical report 2005
http://www.sei.cmu.edu
Cristina Mndru
Slide 15
Dezvoltare produs
Cristina Mndru
Slide 16
Parte variabil
Variant
Condiie de aplicare
mecanism de variaie
Proces de aplicare
mecanism de variaie
Mecanism de variaie
Bachmann F, Clements P.C, Variability in Software Product Lines, technical report 2005
http://www.sei.cmu.edu/reports/05tr012.pdf
Cristina Mndru
Slide 17
OpenSource
http://gsd.uwaterloo.ca:8088/SPLOT/splot_open_source.html
Site:
http://www.softwareproductlines.com/
Cristina Mndru
Slide 18
Avantaje
Eficien i productivitate crescute.
cost,
productivitate
EXEMPLE
Cristina Mndru
Slide 19
Exemplu - Nokia
Variabilitate
numr de taste
dimensiune afiaj
setul de caracteristici
protocol de comunicare
caracteristici configurabile
comportament
etc.
Cristina Mndru
Slide 20
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 21
Marketing
Analitii de domeniu
Cristina Mndru
Slide 22
Domeniu prea ngust (produsele variz n cadrul unui numr redus de caracteristici)
numr insuficient de produse pentru a se justifica linia de produse.
Domeniu prea larg (produsele variaz ca tipuri i caracteristici) costuri prea mari
pentru
Cristina Mndru
Slide 23
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 24
Majoritatea cerinelor sunt comune cu cele ale sistemelor instaniate anterior din
linia de produse, deci pot fi re-utilizate.
Proiect arhitectural
Pentru un produs nou, pasul cel mai important al proiectrii este deja fcut.
Analiz
Modele pentru performan, analize ale graficului de timp, analize ale sistemelor
distribuite, alocarea proceselor la procesoare, tolerana la defecte, ncrcarea
reelei, i altele asemenea, pot fi reutilizate la toate produsele din linia de
produse.
Cristina Mndru
Slide 25
Eliminare defecte
Pot fi remediate clase largi de produse atunci cnd un client gsete un defect la
un membru al familiei.
Cu ct sistemul este mai complicat, cu att este mai mare avantajul primit la
rezolvarea problemelor dificile pentru ntreaga familie de produse.
Cristina Mndru
Slide 26
Personal calificat
Planificare proiect
Bugetarea i planificarea sunt mai predictibile deoarece experiena este cel mai
bun indicator al performanei viitoare.
Cristina Mndru
Slide 27
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 28
Cristina Mndru
Slide 29
Cristina Mndru
Slide 30
Cristina Mndru
Slide 31
Arhitecturile de referin
Cadrele de implementareQXVXQWDUKLWHFWXUDSURGXVXOXLGDURIHUXQDYDQWDMHFRQRPLF
semnificativ prin reducerea:
Cristina Mndru
Slide 32
Domeniul:
E-business
Stilul:
client server
pe n trepte
Arhitectura de
referin:
Cadrul de
implementare:
Standardul JavaEE
JBoss
Cunoatere
codificat:
specificaii servicii
limbaj
modele de fire de
execuie
:
Cunoatere codificat:
biblioteci de servicii
servicii de securitate
servicii de
tranzacionare
Modele de dezvoltare
:
Putem aplica deliberat acest concept pentru o familie de produse nrudite, adic vom
defini arhitectura familiei de produse din care vom deriva un cadru de dezvoltare
a produselor familiei respective.
Cristina Mndru
Slide 33
Produs
Cristina Mndru
Slide 34
Extensibilitate DELOLWDWHDGHDDGXJDQRLFDUDFWHULVWLFLIDPLOLHLGHSURGXVH.
Performan
Cost
Funcionalitate
Obs. O arhitectur bun nu implic necesitatea sau posibilitatea unei linii de produse.
Cristina Mndru
Slide 35
Cristina Mndru
Slide 36
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 37
Identificarea variaiilor
Def. Variaie = o diferen dintre dou sau mai multe produse.
Exemple:
Platforme
Piee int
Cristina Mndru
Slide 38
Mecanisme de variaie
Mecanism de variaie - introdus n active de baz.
Exemple:
motenire,
substituire componente,
plug-ins,
template,
parametri,
generator,
aspecte,
configurator,
execuii condiionale
Cristina Mndru
Slide 39
Mecanisme de variaie
Includerea sau omiterea de elemente
De exemplu, compilare condiional sau proceduri de construire (build) care includ sau exclud
diferite elemente pentru diferite instanieri de produse.
Cristina Mndru
Slide 40
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 41
Documentaie
Documentaie (suplimentar) specific liniilor de produse:
Prile variabile
Cristina Mndru
Slide 42
Cristina Mndru
Slide 43
Cristina Mndru
Slide 44
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 45
Proces
Afacere
Este necesar un caz business valid pentru a se justifica costul unei linii de
produse.
Poate fi dificil de cuantificat economiile i costurile de amortizare.
Tehnologie
Cost
Slide 46
Caracteristici specifice
Arhitectur
Componente software
Modelarea i analiza
performanei
Instrumente, procese,
personal, competene,
instruire
Cristina Mndru
Slide 47
Strategii de adoptare
Adoptarea unei linii de produse -SUREOHPGHWLSinserie de tehnologie.
Abordri:
Descendent XQPDQDJHUGHFUHWHD]FILUPDYDXWLOL]DRDERUGDUHGHWLSOLQie de
produse.
Avocat care nelege perfect liniile de produse i impactul acestora asupra companiei.
Consideraii la adoptare
Slide 48
Eecuri
Factori de eec:
Lipsa unei persoane care nelege liniile de produse i care este ntr-o poziie cu
autoritate i vizibilitate.
Lipsa experienei arhitecturale n proiectarea unei arhitecturi suport pentru o linie de
produse.
Lipsa unui suport susinut i ferm din partea managerilor,OLQLDGHSURGXVHILLQG
abandonat la primul semn de dificultate.
Reticena managerilor intermediari de a renuna la controlul autocratic asupra proiectelor.
Eec n a identifica un caz business i economic clar pentru adoptarea abordrii bazat
pe linii de produse.
Eec n antrenarea adecvat a personalului pentru a lucra n cadrul unei abordri bazat
pe linii de produse.
Cristina Mndru
Slide 49
Efortul
de dezvoltare
Cost
cumulativ
Fr arhitectur
pentru linie de produse
Slide 50
Linii de produse
CONCLUZII
Cristina Mndru
Slide 51
Linii de produse
Bibliografie
Northrop, L. & Clements, P. A Framework for Software Product Line Practice, Version 5.0.
<http://www.sei.cmu.edu/productlines/framework.html>.
Brownsword, Lisa & Clements, Paul. A Case Study in Successful Product Line Development,
CMU/SEI-96-TR-016.
Clements, Paul C. & Northrop, Linda M. Salion, Inc.: A Software Product Line Case Study, CMU/SEI2002-TR-038.
Clements, Paul; Cohen, Sholom; Donohoe, Patrick; Northrop, Linda. Control Channel Toolkit: A
Software Product Line Case Study, CMU/SEI-2001-TR-030.
Bergey, John K. & Goethert, Wolfhart B. Developing a Product Line Acquisition Strategy for a DoD
Organization: A Case Study, CMU/SEI-2001-TN-021.
Cohen, Sholom. Case Study: Building and Communicating a Business Case for a DoD Product Line,
CMU/SEI-2001-TN-020.
O'Brien, Liam. Architecture Reconstruction to Support a Product Line Effort: Case Study, CMU/SEI2001-TN-015.
Cristina Mndru
Slide 52
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 53
Stiluri arhitecturale
Generice
Specializri de
stiluri generice
Flux date
Call-Return
...
Multitier
...
Standarde
Standarde
generice
de domeniu
pentru integrare pentru integrare
de componente de componente
CORBA
COM
JavaBeans
...
EJB
HLA
...
Linii de produse
Tektronix Oscilloscopes
Xerox Network Scanning
Arch
...
Specificitate
Cristina Mndru
Slide 54
Specializare stiluri
Relaie ntre stiluri
Exemplu:
Data Flow
Styles
Batch
Sequential
Control Systems
Unix PF
Cristina Mndru
Slide 55
Studiu de caz
Linia de produse: osciloscoape Tektronix
Contextul de apariie:
Creterea complexitii instrumentelor de msur
Slab partajare
Slide 56
Studiu de caz
Linia de produse: osciloscoape Tektronix
Cristina Mndru
Slide 57
Studiu de caz
Linia de produse: osciloscoape Tektronix
PROVOCAREA
Cristina Mndru
Slide 58
Studiu de caz
Linia de produse: osciloscoape Tektronix
semnale
forme de und
Imagini ale
formelor de und
i valori msurate
Osciloscop
Cristina Mndru
Slide 59
Studiu de caz
Linia de produse: osciloscoape Tektronix
Soluie: Varianta 1 descompunere OO.
forme de und
forme de und
max-min
forme de und
x-y
waveform
w: time-> voltage
max: -> voltage
min: -> voltage
invert: ...
add: ...
Cristina Mndru
forme de und
cumulate
Slide 60
Studiu de caz
Linia de produse: osciloscoape Tektronix
Soluie: Varianta 2 DUKLWHFWXUn straturi.
Hardware
Digitizare
Vizualizare
Interfa utilizator
Rezultat: Limitele de abstractizare nu sunt realiste.
Cristina Mndru
Slide 61
Studiu de caz
Linia de produse: osciloscoape Tektronix
Soluie: Varianta 3 DUKLWHFWXUSLSH-and-filter.
Semnal
Cuplare
Achiziie
To-XY
Forme de und
Impulsuri
Subsistem de declanare
Clip
Grafic
Msurare
Valoare msurat
Slide 62
Studiu de caz
Linia de produse: osciloscoape Tektronix
Soluie: Varianta 4 DUKLWHFWXUSLSH-and-filter cu filtre
parametrizate.
Cuplare
Cuplare
Semnal
Fel, rat
Transform
Dimensiune
Achiziie
To-XY
Clip
Forme de und
Grafic
Impulsuri
Sistem de declanare
Msurare
Valori msurate
Slide 63
Studiu de caz
Linia de produse: osciloscoape Tektronix
Soluie: Varianta 5 DUKLWHFWXUSLSH-and-filter cu filtre
parametrizate i conducte colorate.
Cuplare
Cuplare
Semnal
Fel, rat
Transform
Dimensiune
Achiziie
To-XY
Clip
Forme de und
Impulsuri
Sistem de declanare
Grafic
Msurare
Valori msurate
Slide 64
Studiu de caz
Linia de produse: osciloscoape Tektronix
REZULTATE
Cristina Mndru
Slide 65
Date partajate
Filtre trigger-ate
Rate variabile
Ierarhii de menu-uri
Cristina Mndru
Slide 66
Mecanisme utile
Utilizarea prototiprii
Concurent cu proiectarea
Competene i motivare
Instrumente
Management
Iniial -VODVHOLEHUWDWH
Ulterior -VDMXWHODLPSXQHUHDVWDQGDUGHORU
Cristina Mndru
Slide 67
Concluzii
Cristina Mndru
Slide 68
PLAN CURS
Linii de produse software
Domeniul liniei de produse
Potenial de reutilizare
Slide 69
Cristina Mndru
Slide 70
Management
grupuri de entiti
Definiii i execuie
modele de procese
Dezvoltarea interfeei
utilizator
Cristina Mndru
Slide 71
Interfaa
server-lui
Implementarea server-lui
(ntr-un limbaj de programare)
Implementarea clientului
(ntr-un limbaj de programare)
Compilatorul
IDL
Procesul
Client
Client-side
Server-side
Glue Scrise ntr-un limbaj de programare, Glue
Procesul
Server
Middleware
Middleware
Un protocol peste TCP/IP
Cristina Mndru
Slide 72
Definiie
Standard arhitectural ce permite compunerea flexibil de componente
realizate de teri.
Definete:
1.
2.
3.
Cristina Mndru
Slide 73
Coninut
Reguli referitoare la interfeele componentelor
Cristina Mndru
Slide 74
Politici
Standarde de facto
Cristina Mndru
Slide 75
Testul de conformanHVWHRSUREOHPVHULRDV.
Cristina Mndru
Slide 76
CONCLUZII
Arhitecturile pentru liniile de produse i arhitecturile standardelor pentru
integrare de componente ofer avantaje pltite cu scderea gradului de
generalitate.
Cristina Mndru
Slide 77
Studiu suplimentar
Din seciunea Documentaii studiai:
spl-essentials.pdf
Variability_in_spl_2005_05tr012.pdf
SPLEng_Diagram.pdf
Cristina Mndru
Slide 78