s/w architecture
TRANSCRIPT
-
8/18/2019 s/w architecture
1/42
Slide 1
Introduction toSoftware Architecture
TV Prabhakar
-
8/18/2019 s/w architecture
2/42
Slide 2
Antecedents of Software Architecture
-
8/18/2019 s/w architecture
3/42
Slide 3
What is Software Architecture?
• 150+ definitions• What are they?
• Both a rocess and a roduct
http://architecture%20definitions.ppt/http://architecture%20definitions.ppt/
-
8/18/2019 s/w architecture
4/42
Slide 4
-
8/18/2019 s/w architecture
5/42
Slide 5
-
8/18/2019 s/w architecture
6/42
Slide 6
-
8/18/2019 s/w architecture
7/42
Slide 7
-
8/18/2019 s/w architecture
8/42
Slide 8
-
8/18/2019 s/w architecture
9/42
Slide 9
-
8/18/2019 s/w architecture
10/42
Slide 10
What tye of re!uire"ents dri#earchitectura$ desi%n?
Answer& 'ua$ity attribute re!uire"ents are theri"ary dri#ers for architecture desi%n(
)o you a%ree?
-
8/18/2019 s/w architecture
11/42
Slide 11
-
8/18/2019 s/w architecture
12/42
Slide 12
-
8/18/2019 s/w architecture
13/42
Slide 13
Architecture and *unctiona$ity
• Functionality is largely orthogonal to qualityattribute requirements.
• Functionality is the ability of a system to do thework it was intended to do.
• Systems are decomposed into elements toachieve a variety of purposes other thanfunction.– Architectura$ choices ro"ote certain !ua$ities as
we$$ as i"$e"ent the desired functiona$ity(
-
8/18/2019 s/w architecture
14/42
Slide 14
ffects of Architectura$ )ecisionson 'ua$ity Attributes
The degree to which a system meets it’s quality attributerequirements is dependent on architectural decisions.
• change in structure improving one quality oftenaffects the other qualities.
• rchitecture is critical to the reali!ation of qualityattributes.
• These product qualities should be designed into the
• architecture.
• rchitecture can only permit" not guarantee" any qualityattribute.
-
8/18/2019 s/w architecture
15/42
Slide 15
Architecture,centric de#e$o"ent?
• rchitecture#centric development involves– -reatin% the business case for the syste"– .nderstandin% the re!uire"ents
– -reatin% or se$ectin% the architecture
– )ocu"entin% and co""unicatin% the architecture– Ana$y/in% or e#a$uatin% the architecture
– I"$e"entin% the syste" based on the architecture
– nsurin% that the i"$e"entation confor"s to the
architecture– aintainin% the architecture
The architecture "ust be both rescriti#e anddescriti#e(
-
8/18/2019 s/w architecture
16/42
Slide 16
-
8/18/2019 s/w architecture
17/42
Slide 17
-
8/18/2019 s/w architecture
18/42
Slide 18
-
8/18/2019 s/w architecture
19/42
Slide 19
-
8/18/2019 s/w architecture
20/42
Slide 20
-
8/18/2019 s/w architecture
21/42
Slide 21
-
8/18/2019 s/w architecture
22/42
Slide 22
Attribute,)ri#en )esi%n
• The ttribute#$riven $esign %$$& method"developed at the S'(" is an approach to defininga software architecture that bases the
decomposition process on the quality attributesthe software must fill.
• a recursive decomposition process where" ateach stage in the decomposition" tactics and
architectural patterns are chosen to satisfy aset of quality scenarios.
-
8/18/2019 s/w architecture
23/42
Slide 23
-
8/18/2019 s/w architecture
24/42
Slide 24
A)) ethods Inuts and 2ututs
• (nputs– constraints
– functiona$ re!uire"ents
– !ua$ity attribute re!uire"ents
• )utputs– first se#era$ $e#e$s of "odu$e deco"osition
– #arious other #iews of the syste" as aroriate
– set of e$e"ents for functiona$ity and theinteractions a"on% the"
-
8/18/2019 s/w architecture
25/42
Slide 25
Architecture )ocu"entation
• rchitecture documentation is important if andonly if communication of the architecture isimportant.– 3ow can an architecture be used if it cannot beunderstood?
– 3ow can it be understood if it cannot beco""unicated?
• $ocumenting the architecture is the crowning
step to creating it.• $ocumentation speaks for the architect" todayand *+ years from today.
-
8/18/2019 s/w architecture
26/42
Slide 26
I Add d b
-
8/18/2019 s/w architecture
27/42
Slide 27
Issues Addressed byan Architectural Design
• 4ross deco"osition of a syste" into interactin% co"onents
– typically hierarchical– using rich abstractions for component interaction%or system ,glue-&
– often using common design idiomsstyles
• "er%ent syste" roerties– performance" throughput" latencies
– reliability" security" fault tolerance" evolvability• ationa$e and assi%n"ent of function to co"onents
– relates requirements and implementations
• n#e$oe of a$$owed chan%e– ,load#bearing walls-" limits of scalability and adaptation
– design idioms and styles
-
8/18/2019 s/w architecture
28/42
Slide 28
Schoo$s of Thou%ht
• 6 + 1 View
• 7ach"ann *ra"ework
• , 2)P
• I
• 24• T24A*
• Product 8ines
-
8/18/2019 s/w architecture
29/42
Slide 29
6 + 1 #iew• Phi$is 9ruchten: ationa$ Software: Architectura$ B$uerints ,
The 6+1 View 0ode$ of Software Archtecture : I Software:1;;5
– /se case view
– 0ogical view
– 1rocess view
– (mplementation view– $eployment view
-
8/18/2019 s/w architecture
30/42
Slide 30
6+1 #iew
-
8/18/2019 s/w architecture
31/42
Slide 31
What do the #iews do?
• $o%ica$ #iew is the ob:
• process #iew catures the concurrency andsynchroni/ation asects of the desi%n:
• physical #iew which describes the "ain%=s> of the
software onto the hardware and ref$ects its distributedasect:
• development #iew describes the static or%ani/ation ofthe software in its de#e$o"ent en#iron"ent
• i$$ustrated by a few se$ected use cases: or scenarios
-
8/18/2019 s/w architecture
32/42
Slide 32
Taono"y of Sty$es
• )ata *$ow– 2atch Sequential
– $ataflow 3etwork%pipes 4 filters&5 acyclic" fanout" pipeline" /ni6
– 7losed loop control• -a$$,and,return
– 8ain programsubroutines
– (nformation hiding%$T" )b9ect na:ve clientserver&
-
8/18/2019 s/w architecture
33/42
Slide 33
Taono"y((
• Interactin% Processes– 0; processes" distributed ob9ects
– 'vent systems5 implicit invocation" pure events
• )ata,oriented reository– Transactional databases
5 True clientserver
5 2lackboard
5 8odern compiler
-
8/18/2019 s/w architecture
34/42
Slide 34
Taono"y((
• )ata,sharin%– compound documents
–
-
8/18/2019 s/w architecture
35/42
Slide 35
-
8/18/2019 s/w architecture
36/42
Slide 36
-
8/18/2019 s/w architecture
37/42
Slide 37
-
8/18/2019 s/w architecture
38/42
Slide 38
-
8/18/2019 s/w architecture
39/42
Slide 39
-
8/18/2019 s/w architecture
40/42
Slide 40
Architectura$ Sty$es
• An architectura$ sty$e consists of&– componentconnector types" topology
– constraints on the topology and behavior
– an informal description of the costs and benefits of
the style" e.g. ,use the pipe and filter style whenreuse is desired and performance is not a toppriority-
-
8/18/2019 s/w architecture
41/42
Slide 41
Sty$es: Patterns and Idio"s
• P2SA: Busch"ann eta$
• 42*
http://posa.ppt/http://posa.ppt/
-
8/18/2019 s/w architecture
42/42
eferences
• sei(c"u(edu
• I
• 24
• P2SA
• 42*
• WWISA
• www(cetus,$inks(or%
• Brede"eyer(co"
http://www.cetus-links.org/http://www.cetus-links.org/