SlideShare une entreprise Scribd logo
1  sur  33
Chapter 9
Architectural Design
1
Why Architecture?
2
The architecture is not the operational software. Rather,The architecture is not the operational software. Rather,
it is a representation that enables a software engineerit is a representation that enables a software engineer
to:to:
(1)(1) analyze the effectiveness of the design in meeting itsin meeting its
stated requirements,stated requirements,
(2)(2) consider architectural alternatives at a stage whenat a stage when
making design changes is still relatively easy, andmaking design changes is still relatively easy, and
(3)(3) reduce the risks associated with the construction ofassociated with the construction of
the software.the software.
Why is Architecture Important?
• Representations of software architecture are an enabler for
communication between all parties (stakeholders) interested in the
development of a computer-based system.
• The architecture highlights early design decisions that will have a
profound impact on all software engineering work that follows and, as
important, on the ultimate success of the system as an operational
entity.
• Architecture “constitutes a relatively small, intellectually graspable
mode of how the system is structured and how its components work
together” [BAS03].
3
Architectural Descriptions
• The IEEE Computer Society has proposed IEEE-Std-1471-2000,
Recommended Practice for Architectural Description of Software-
Intensive System, [IEE00]
• to establish a conceptual framework and vocabulary for use during the
design of software architecture,
• to provide detailed guidelines for representing an architectural description,
and
• to encourage sound architectural design practices.
• The IEEE Standard defines an architectural description (AD) as a “a
collection of products to document an architecture.”
• The description itself is represented using multiple views, where each view
is “a representation of a whole system from the perspective of a related set
of [stakeholder] concerns.”
4
Architectural Genres
• Genre implies a specific category within the
overall software domain.
• Within each category, you encounter a number
of subcategories.
• For example, within the genre of buildings, you
would encounter the following general styles:
houses, condos, apartment buildings, office
buildings, industrial building, warehouses, and so
on.
• Within each general style, more specific styles
might apply. Each style would have a structure that
can be described using a set of predictable patterns.
5
Architectural Styles
• Data-centered architectures
• Data flow architectures
• Call and return architectures
• Object-oriented architectures
• Layered architectures
6
Each style describes a system category that encompasses: (1) aEach style describes a system category that encompasses: (1) a
set of components (e.g., a database, computational modules)(e.g., a database, computational modules)
that perform a function required by a system, (2) athat perform a function required by a system, (2) a set of
connectors that enable “communication, coordination andthat enable “communication, coordination and
cooperation” among components, (3)cooperation” among components, (3) constraints that definethat define
how components can be integrated to form the system, andhow components can be integrated to form the system, and
(4)(4) semantic models that enable a designer to understand thethat enable a designer to understand the
overall properties of a system by analyzing the knownoverall properties of a system by analyzing the known
properties of its constituent parts.properties of its constituent parts.
Data-Centered Architecture
7
Data Flow Architecture
8
Call and Return Architecture
9
Layered Architecture
10
Architectural Patterns
• Concurrency—applications must handle multiple tasks in a manner that
simulates parallelism
• operating system process management pattern
• task scheduler pattern
• Persistence—Data persists if it survives past the execution of the
process that created it. Two patterns are common:
• a database management system pattern that applies the storage and
retrieval capability of a DBMS to the application architecture
• an application level persistence pattern that builds persistence features
into the application architecture
• Distribution— the manner in which systems or components within
systems communicate with one another in a distributed environment
• A broker acts as a ‘middle-man’ between the client component and a
server component.
11
Architectural Design
• The software must be placed into context
• the design should define the external entities (other
systems, devices, people) that the software interacts
with and the nature of the interaction
• A set of architectural archetypes should be
identified
• An archetype is an abstraction (similar to a class) that
represents one element of system behavior
• The designer specifies the structure of the system
by defining and refining software components that
implement each archetype
12
Architectural Context
13
target system:
SecurityFunction
uses
uses peershomeowner
Safehome
Product
Internet-based
system
surveillance
function
sensors
control
panel
sensors
uses
Archetypes
14
Figure 10.7 UML relationships for SafeHomesecurity function archetypes
(adapted from [BOS00])
Controller
Node
communicates with
Detector Indicator
Component Structure
15
SafeHome
Executive
Ext ernal
Communicat ion
Management
GUI Internet
Interface
Funct ion
selection
Security Surveillance Home
management
Control
panel
processing
detector
management
alarm
processing
Refined Component Structure
16
sensorsensor
sensor
sensor
sensor
sensorsensor
sensor
External
Communication
Management
GUI Internet
Interface
Security
Cont rol
panel
processing
det ect or
managem ent
alarm
processing
Keypad
processing
CP display
funct ions
scheduler
sensor
sensor
sensor
sensor
phone
com m unicat ion
alarm
SafeHome
Executive
Analyzing Architectural Design
17
1. Collect scenarios.1. Collect scenarios.
2. Elicit requirements, constraints, and environment description.2. Elicit requirements, constraints, and environment description.
3. Describe the architectural styles/patterns that have been3. Describe the architectural styles/patterns that have been
chosen to address the scenarios and requirements:chosen to address the scenarios and requirements:
•• module viewmodule view
•• process viewprocess view
•• data flow viewdata flow view
4. Evaluate quality attributes by considered each attribute in4. Evaluate quality attributes by considered each attribute in
isolation.isolation.
5. Identify the sensitivity of quality attributes to various5. Identify the sensitivity of quality attributes to various
architectural attributes for a specific architectural style.architectural attributes for a specific architectural style.
6. Critique candidate architectures (developed in step 3) using the6. Critique candidate architectures (developed in step 3) using the
sensitivity analysis conducted in step 5.sensitivity analysis conducted in step 5.
Architectural Complexity
• the overall complexity of a proposed
architecture is assessed by considering the
dependencies between components within the
architecture [Zha98]
• Sharing dependencies represent dependence
relationships among consumers who use the same
resource or producers who produce for the same
consumers.
• Flow dependencies represent dependence
relationships between producers and consumers of
resources.
• Constrained dependencies represent constraints on the
relative flow of control among a set of activities.
18
ADL
• Architectural description language (ADL) provides
a semantics and syntax for describing a software
architecture
• Provide the designer with the ability to:
• decompose architectural components
• compose individual components into larger architectural
blocks and
• represent interfaces (connection mechanisms) between
components.
19
An Architectural Design
Method
20
"four bedrooms, three baths,
lots of glass ..."
customer requirements
architectural design
Deriving Program Architecture
21
ProgramProgram
ArchitectureArchitecture
Partitioning the Architecture
• “horizontal” and “vertical” partitioning
are required
22
Horizontal Partitioning
• define separate branches of the module
hierarchy for each major function
• use control modules to coordinate
communication between functions
23
function 1function 1 function 3function 3
function 2function 2
Vertical Partitioning: Factoring
• design so that decision making and work
are stratified
• decision making modules should reside
at the top of the architecture
24
workers
decision-makers
Why Partitioned Architecture?
• results in software that is easier to test
• leads to software that is easier to
maintain
• results in propagation of fewer side
effects
• results in software that is easier to
extend
25
Structured Design
• objective: to derive a program
architecture that is partitioned
• approach:
• a DFD is mapped into a program
architecture
• the PSPEC and STD are used to
indicate the content of each module
• notation: structure chart
26
Flow
Characteristics
27
Transform flow
Transaction
flow
This edition of
SEPA does not
cover transaction
mapping. For a
detailed
discussion see the
SEPA website
General Mapping
Approach
28
isolate incoming and outgoing flowisolate incoming and outgoing flow
boundaries; for transaction flows, isolateboundaries; for transaction flows, isolate
the transaction centerthe transaction center
working from the boundary outward, mapworking from the boundary outward, map
DFD transforms into corresponding modulesDFD transforms into corresponding modules
add control modules as requiredadd control modules as required
refine the resultant program structurerefine the resultant program structure
using effective modularity conceptsusing effective modularity concepts
General Mapping Approach
• Isolate the transform center by specifying incoming and
outgoing flow boundaries
• Perform "first-level factoring.”
• The program architecture derived using this mapping results in a
top-down distribution of control.
• Factoring leads to a program structure in which top-level components
perform decision-making and low-level components perform most
input, computation, and output work.
• Middle-level components perform some control and do moderate
amounts of work.
• Perform "second-level factoring."
29
Transform
Mapping
30
data flow model
"Transform" mapping
a
b
c
d e f
g h
i
j
x1
x2 x3 x4
b c
a
d e f g i
h j
Factorin
g
31
typical "worker" modules
typical "decision
making" modules
direction of increasing
decision making
First Level
Factoring
32
main
program
controller
input
controller
processing
controller
output
controller
Second Level
Mapping
33
D
C
B
A
A
C
B
Dmapping from the
flow boundary outward
main
control

Contenu connexe

Tendances

Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Architectural design-process
Architectural design-processArchitectural design-process
Architectural design-processHakim Danish
 
Architectural Design
Architectural DesignArchitectural Design
Architectural DesignJay Thakkar
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)BALAJI A
 
architectural design
 architectural design architectural design
architectural designPreeti Mishra
 
powerpoint.16
powerpoint.16powerpoint.16
powerpoint.16rebwball
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and ModularityDanyal Ahmad
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
Architectural Designs ppt
Architectural Designs pptArchitectural Designs ppt
Architectural Designs pptMV Rupesh
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Anatomy of architectural design concept
Anatomy of architectural design conceptAnatomy of architectural design concept
Anatomy of architectural design conceptNahedh Al-Qemaqchi
 
Architecture design studio 1 project 3 brief march 2015
Architecture design studio 1 project 3 brief march 2015Architecture design studio 1 project 3 brief march 2015
Architecture design studio 1 project 3 brief march 2015Arvindhan Balasingam
 
Lecture 2 - Organization of form and space
Lecture 2 - Organization of form and spaceLecture 2 - Organization of form and space
Lecture 2 - Organization of form and spaceYosef Yemane
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideMohammed Fazuluddin
 

Tendances (20)

Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
Design principles and architecture
Design principles and architectureDesign principles and architecture
Design principles and architecture
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Architectural design-process
Architectural design-processArchitectural design-process
Architectural design-process
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)
 
architectural design
 architectural design architectural design
architectural design
 
powerpoint.16
powerpoint.16powerpoint.16
powerpoint.16
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Principle of architecture
Principle of architecturePrinciple of architecture
Principle of architecture
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
Architectural Designs ppt
Architectural Designs pptArchitectural Designs ppt
Architectural Designs ppt
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Anatomy of architectural design concept
Anatomy of architectural design conceptAnatomy of architectural design concept
Anatomy of architectural design concept
 
Architecture design studio 1 project 3 brief march 2015
Architecture design studio 1 project 3 brief march 2015Architecture design studio 1 project 3 brief march 2015
Architecture design studio 1 project 3 brief march 2015
 
Lecture 2 - Organization of form and space
Lecture 2 - Organization of form and spaceLecture 2 - Organization of form and space
Lecture 2 - Organization of form and space
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 

Similaire à Architectural design

Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptBule Hora University
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTmalathijanapati1
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-designAhmad sohail Kakar
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecturebashcode
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design conceptsJigyasaAgrawal7
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 

Similaire à Architectural design (20)

Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
Chapter1
Chapter1Chapter1
Chapter1
 
architectural.ppt
architectural.pptarchitectural.ppt
architectural.ppt
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Software design
Software designSoftware design
Software design
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 

Plus de SHREEHARI WADAWADAGI

Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniquesSHREEHARI WADAWADAGI
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management conceptsSHREEHARI WADAWADAGI
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineeringSHREEHARI WADAWADAGI
 
Chapter 4 programming concepts III
Chapter 4  programming concepts IIIChapter 4  programming concepts III
Chapter 4 programming concepts IIISHREEHARI WADAWADAGI
 
Brief description of all the interupts
Brief description of all the interuptsBrief description of all the interupts
Brief description of all the interuptsSHREEHARI WADAWADAGI
 
Chapter 6 hardware structure of 8086
Chapter 6  hardware structure of 8086Chapter 6  hardware structure of 8086
Chapter 6 hardware structure of 8086SHREEHARI WADAWADAGI
 
Chapter 2 programming concepts - I
Chapter 2  programming concepts - IChapter 2  programming concepts - I
Chapter 2 programming concepts - ISHREEHARI WADAWADAGI
 

Plus de SHREEHARI WADAWADAGI (18)

Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniques
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management concepts
 
Ch 11-component-level-design
Ch 11-component-level-designCh 11-component-level-design
Ch 11-component-level-design
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Chapter 5 programming concepts iv
Chapter 5  programming concepts ivChapter 5  programming concepts iv
Chapter 5 programming concepts iv
 
Chapter 4 programming concepts III
Chapter 4  programming concepts IIIChapter 4  programming concepts III
Chapter 4 programming concepts III
 
Chapter 1 archietecture of 8086
Chapter 1 archietecture of 8086Chapter 1 archietecture of 8086
Chapter 1 archietecture of 8086
 
Brief description of all the interupts
Brief description of all the interuptsBrief description of all the interupts
Brief description of all the interupts
 
Chapter 7 memory & i/o
Chapter 7  memory & i/oChapter 7  memory & i/o
Chapter 7 memory & i/o
 
Chapter 6 hardware structure of 8086
Chapter 6  hardware structure of 8086Chapter 6  hardware structure of 8086
Chapter 6 hardware structure of 8086
 
Chapter 3 programming concepts-ii
Chapter 3  programming concepts-iiChapter 3  programming concepts-ii
Chapter 3 programming concepts-ii
 
Chapter 2 programming concepts - I
Chapter 2  programming concepts - IChapter 2  programming concepts - I
Chapter 2 programming concepts - I
 
Arm processor
Arm processorArm processor
Arm processor
 
8086 complete guide
8086 complete guide 8086 complete guide
8086 complete guide
 

Dernier

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Dernier (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

Architectural design

  • 2. Why Architecture? 2 The architecture is not the operational software. Rather,The architecture is not the operational software. Rather, it is a representation that enables a software engineerit is a representation that enables a software engineer to:to: (1)(1) analyze the effectiveness of the design in meeting itsin meeting its stated requirements,stated requirements, (2)(2) consider architectural alternatives at a stage whenat a stage when making design changes is still relatively easy, andmaking design changes is still relatively easy, and (3)(3) reduce the risks associated with the construction ofassociated with the construction of the software.the software.
  • 3. Why is Architecture Important? • Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer-based system. • The architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity. • Architecture “constitutes a relatively small, intellectually graspable mode of how the system is structured and how its components work together” [BAS03]. 3
  • 4. Architectural Descriptions • The IEEE Computer Society has proposed IEEE-Std-1471-2000, Recommended Practice for Architectural Description of Software- Intensive System, [IEE00] • to establish a conceptual framework and vocabulary for use during the design of software architecture, • to provide detailed guidelines for representing an architectural description, and • to encourage sound architectural design practices. • The IEEE Standard defines an architectural description (AD) as a “a collection of products to document an architecture.” • The description itself is represented using multiple views, where each view is “a representation of a whole system from the perspective of a related set of [stakeholder] concerns.” 4
  • 5. Architectural Genres • Genre implies a specific category within the overall software domain. • Within each category, you encounter a number of subcategories. • For example, within the genre of buildings, you would encounter the following general styles: houses, condos, apartment buildings, office buildings, industrial building, warehouses, and so on. • Within each general style, more specific styles might apply. Each style would have a structure that can be described using a set of predictable patterns. 5
  • 6. Architectural Styles • Data-centered architectures • Data flow architectures • Call and return architectures • Object-oriented architectures • Layered architectures 6 Each style describes a system category that encompasses: (1) aEach style describes a system category that encompasses: (1) a set of components (e.g., a database, computational modules)(e.g., a database, computational modules) that perform a function required by a system, (2) athat perform a function required by a system, (2) a set of connectors that enable “communication, coordination andthat enable “communication, coordination and cooperation” among components, (3)cooperation” among components, (3) constraints that definethat define how components can be integrated to form the system, andhow components can be integrated to form the system, and (4)(4) semantic models that enable a designer to understand thethat enable a designer to understand the overall properties of a system by analyzing the knownoverall properties of a system by analyzing the known properties of its constituent parts.properties of its constituent parts.
  • 9. Call and Return Architecture 9
  • 11. Architectural Patterns • Concurrency—applications must handle multiple tasks in a manner that simulates parallelism • operating system process management pattern • task scheduler pattern • Persistence—Data persists if it survives past the execution of the process that created it. Two patterns are common: • a database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecture • an application level persistence pattern that builds persistence features into the application architecture • Distribution— the manner in which systems or components within systems communicate with one another in a distributed environment • A broker acts as a ‘middle-man’ between the client component and a server component. 11
  • 12. Architectural Design • The software must be placed into context • the design should define the external entities (other systems, devices, people) that the software interacts with and the nature of the interaction • A set of architectural archetypes should be identified • An archetype is an abstraction (similar to a class) that represents one element of system behavior • The designer specifies the structure of the system by defining and refining software components that implement each archetype 12
  • 13. Architectural Context 13 target system: SecurityFunction uses uses peershomeowner Safehome Product Internet-based system surveillance function sensors control panel sensors uses
  • 14. Archetypes 14 Figure 10.7 UML relationships for SafeHomesecurity function archetypes (adapted from [BOS00]) Controller Node communicates with Detector Indicator
  • 15. Component Structure 15 SafeHome Executive Ext ernal Communicat ion Management GUI Internet Interface Funct ion selection Security Surveillance Home management Control panel processing detector management alarm processing
  • 16. Refined Component Structure 16 sensorsensor sensor sensor sensor sensorsensor sensor External Communication Management GUI Internet Interface Security Cont rol panel processing det ect or managem ent alarm processing Keypad processing CP display funct ions scheduler sensor sensor sensor sensor phone com m unicat ion alarm SafeHome Executive
  • 17. Analyzing Architectural Design 17 1. Collect scenarios.1. Collect scenarios. 2. Elicit requirements, constraints, and environment description.2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements:chosen to address the scenarios and requirements: •• module viewmodule view •• process viewprocess view •• data flow viewdata flow view 4. Evaluate quality attributes by considered each attribute in4. Evaluate quality attributes by considered each attribute in isolation.isolation. 5. Identify the sensitivity of quality attributes to various5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style.architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5.sensitivity analysis conducted in step 5.
  • 18. Architectural Complexity • the overall complexity of a proposed architecture is assessed by considering the dependencies between components within the architecture [Zha98] • Sharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers. • Flow dependencies represent dependence relationships between producers and consumers of resources. • Constrained dependencies represent constraints on the relative flow of control among a set of activities. 18
  • 19. ADL • Architectural description language (ADL) provides a semantics and syntax for describing a software architecture • Provide the designer with the ability to: • decompose architectural components • compose individual components into larger architectural blocks and • represent interfaces (connection mechanisms) between components. 19
  • 20. An Architectural Design Method 20 "four bedrooms, three baths, lots of glass ..." customer requirements architectural design
  • 22. Partitioning the Architecture • “horizontal” and “vertical” partitioning are required 22
  • 23. Horizontal Partitioning • define separate branches of the module hierarchy for each major function • use control modules to coordinate communication between functions 23 function 1function 1 function 3function 3 function 2function 2
  • 24. Vertical Partitioning: Factoring • design so that decision making and work are stratified • decision making modules should reside at the top of the architecture 24 workers decision-makers
  • 25. Why Partitioned Architecture? • results in software that is easier to test • leads to software that is easier to maintain • results in propagation of fewer side effects • results in software that is easier to extend 25
  • 26. Structured Design • objective: to derive a program architecture that is partitioned • approach: • a DFD is mapped into a program architecture • the PSPEC and STD are used to indicate the content of each module • notation: structure chart 26
  • 27. Flow Characteristics 27 Transform flow Transaction flow This edition of SEPA does not cover transaction mapping. For a detailed discussion see the SEPA website
  • 28. General Mapping Approach 28 isolate incoming and outgoing flowisolate incoming and outgoing flow boundaries; for transaction flows, isolateboundaries; for transaction flows, isolate the transaction centerthe transaction center working from the boundary outward, mapworking from the boundary outward, map DFD transforms into corresponding modulesDFD transforms into corresponding modules add control modules as requiredadd control modules as required refine the resultant program structurerefine the resultant program structure using effective modularity conceptsusing effective modularity concepts
  • 29. General Mapping Approach • Isolate the transform center by specifying incoming and outgoing flow boundaries • Perform "first-level factoring.” • The program architecture derived using this mapping results in a top-down distribution of control. • Factoring leads to a program structure in which top-level components perform decision-making and low-level components perform most input, computation, and output work. • Middle-level components perform some control and do moderate amounts of work. • Perform "second-level factoring." 29
  • 30. Transform Mapping 30 data flow model "Transform" mapping a b c d e f g h i j x1 x2 x3 x4 b c a d e f g i h j
  • 31. Factorin g 31 typical "worker" modules typical "decision making" modules direction of increasing decision making
  • 33. Second Level Mapping 33 D C B A A C B Dmapping from the flow boundary outward main control