s/w architecture

Upload: rajianand2

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

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/