3.2 The design model & Architectural design.ppt

1,616 views 25 slides Feb 06, 2023
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

software


Slide Content

THE DESIGN MODEL

DIMENSIONS OF THE DESIGN
MODEL
Process Dimension (Progression)
Abstraction Dimension
Data/Class
Elements
Interface
Elements
Architectural
Elements
Component-level
Elements
Deployment-level
Elements
Analysis model
Design model

INTRODUCTION
Thedesignmodelcanbeviewedintwodifferent
dimensions
(Horizontally)Theprocessdimensionindicatesthe
evolutionofthepartsofthedesignmodelaseach
designtaskisexecuted
(Vertically)Theabstractiondimensionrepresentsthe
levelofdetailaseachelementoftheanalysismodelis
transformedintothedesignmodelandtheniteratively
refined

INTRODUCTION
Thedesignmodelhasthefollowinglayeredelements
Data/classdesign
Architecturaldesign
Interfacedesign
Component-leveldesign
Deployment-leveldesign

DATA/CLASS DESIGN
Data/classdesigncreatesamodelofdataand
objectsthatisrepresentedatahighlevelof
abstraction
Thisdatamodelisrefinedintoprogressively
moreimplementation-specificrepresentations
thatcanbeprocessedbycomputerbased
systems

ARCHITECTURAL DESIGN
Architecturaldesignforthesoftwareisequivalentto
the‘floorplan’ofahouse
Depictstheoveralllayoutofthesoftware
Derivedfromthreesources-
Informationabouttheapplicationdomain
Specificrequirementselements
Architecturalstylesandpatterns

INTERFACE DESIGN
Tellshowinformationflowsintoandoutofthe
systemandhowitiscommunicatedamongthe
componentsdefinedaspartofthearchitecture
Includestheuserinterface,externalinterfaces,and
internalinterfaces

COMPONENT -LEVEL DESIGN
Describestheinternaldetailofeachsoftware
componentbywayofdatastructuredefinitions,
algorithms,andinterfacespecifications

DEPLOYMENT -LEVEL DESIGN
Indicateshowsoftwarefunctionalityand
subsystemswillbeallocatedwithinthephysical
computingenvironmentthatwillsupportthe
software

EVOCATION

ARCHITECTURAL
DESIGN

SOFTWARE ARCHITECTURE
Thesoftwarearchitectureofaprogramorcomputing
systemistheoverallstructureofthesystemwhich
comprise
Thesoftwarecomponents
Theexternallyvisiblepropertiesofthosecomponents
Therelationshipsamongthecomponents
Constitutesarelativelysmall,intellectuallygraspable
modelofhowthesystemisstructuredandhowits
componentsworktogether.

ARCHITECTURAL DESIGN
STEPS
1)Represent the system in context
2)Define archetypes
3)Refine the architecture into components
4)Describe instantiations of the system

1. REPRESENT THE SYSTEM IN
CONTEXT
Usesanarchitecturalcontextdiagram(ACD)that
modelsthemannerinwhichsoftwareinteractswith
entitiesexternaltoitsboundaries

1. REPRESENT THE SYSTEM IN
CONTEXT
AnACDidentifiessystemsthatinteroperatewiththetargetsystem
(systemforwhicharchitecturaldesignistobedeveloped.
Super-ordinatesystems
Usetargetsystemaspartofsomehigherlevelprocessing
scheme
Sub-ordinatesystems
Usedbytargetsystemandprovidenecessarydataor
processingdetails
Peer-levelsystems
Interactonapeer-to-peerbasiswithtargetsystemto
produceorconsumedata
Actors
Peopleordevicesthatinteractwithtargetsystemtoproduce
orconsumedata

1. REPRESENT THE SYSTEM IN
CONTEXT
Target system
I/F I/F
I/F I/F I/F
Actors
Peers
"Super"ordinate systems
"Sub"ordinate systems
Used by
Produces or
consumesProduces or
consumes
Depends on
Uses

2. DEFINE ARCHETYPES
Anarchetypeisaclassorpatternthatrepresentsa
coreabstractionthatiscriticaltothedesignofan
architectureforthetargetsystem
Ingeneral,asmallsetofarchetypesisrequiredto
designevenrelativelycomplexsystems.
Thetargetsystemarchitectureiscomposedofthese
archetypes,whichrepresentstableelementsofthe
architecturebutmaybeinstantiatedindifferentways
basedonthebehaviorofthesystem
Thearchetypesandtheirrelationshipscanbe
illustratedusingUMLdiagrams

EXAMPLES
Archetypes in Software Example Architecture –
Node
Detector/Sensor
Indicator
ControllerFigure 10.7 UML relationships for SafeHome security function archetypes
(adapted from [BOS00])
Controller
Node
communicates with
Detector Indicator

3. REFINE THE ARCHITECTURE
INTO COMPONENTS
Basedonthearchetypes,thearchitecturaldesignerrefinethe
softwarearchitectureintocomponentstoillustratetheoverall
structureandarchitecturalstyleofthesystem
Thesecomponentsarederivedfromvarioussources
Theapplicationdomainprovidesapplicationcomponents,
whichrepresenttheentitiesintherealworld
Theinfrastructuredomainprovidesdesigncomponents(i.e.,
designclasses)thatenableapplicationcomponentsbuthaveno
businessconnection
TheinterfacesintheACDimplyoneormorespecialized
componentsthatprocessthedatathatflowacrosstheinterface
AnUMLclassdiagramcanrepresenttheclassesoftherefined
architectureandtheirrelationships

COMPONENT STRUCTURESafeHome
Executive
External
Communication
Management
GUI Internet
Interface
Function
selection
Security Surveillance
Home
management
Control
panel
processing
detector
management
alarm
processing

4. DESCRIBE INSTANTIATIONS OF
THE SYSTEM
Anactualinstantiationofthearchitectureis
developedbyapplyingittoaspecificproblem
Thisdemonstratesthatthearchitecturalstructure,
styleandcomponentsareappropriate
AnUMLcomponentdiagramcanbeusedto
representthisinstantiation

INSTANTIATIONS OF THE SYSTEMsensor
sensor
sensor
sensor
sensor
sensor
sensor
sensor
External
Communication
Management
GUI Internet
Interface
Security
Control
panel
processing
detector
management
alarm
processing
Keypad
processing
CP display
functions
scheduler
sensor
sensor
sensor
sensor
phone
communication
alarm
SafeHome
Executive

MIND MAP

SUMMARY
•The Design Model
–Dimensions
•Process Dimension
•Abstraction Dimension
–Data design elements
•Data architecting
–Architectural design elements
–Interface design elements
•User Interfaces
•External Interfaces
•Internal Interfaces
–Component-level design elements
–Deployment-level design elements

•Architectural Design
–Representing the System in Context
–Defining Archetypes
–Refining the Architecture into Components
–Describing Instantiations of the System
Tags