SlideShare a Scribd company logo
1 of 22
Architectural Design
- Introduction
- Data design
- Software architectural styles
- Architectural design process
- Assessing alternative architectural designs
Introduction
3
Definitions
• The software architecture of a program or computing system is
the structure or structures of the system which comprise
– The software components
– The externally visible properties of those components
– The relationships among the components
• Software architectural design represents the structure of the data
and program components that are required to build a computer-
based system
• An architectural design model is adaptable
– It can be applied to the design of other systems
– It represents a set of abstractions that enable software engineers to
describe architecture in predictable ways
4
Architectural Design Process
• Basic Steps
– Creation of the data design
– Resulting of the architectural structure of the system
– Analysis of alternative architectural styles to choose the one best suited to
customer requirements and quality attributes
– Expansion of the architecture based on the selected architectural style
• A database designer creates the data architecture for a system to
represent the data components
• A system architect selects an appropriate architectural style
derived during system engineering and software requirements
analysis
5
Emphasis on Software
Components
• A software architecture enables a software engineer to
– Analyze the effectiveness of the design & its stated requirements
– Consider architectural alternatives at a stage when making design
changes is still relatively easy
– Reduce the risks associated with the construction of the software
• Focus is placed on the software component
– A program module
– An object-oriented class
– A database
– Middleware
Data Design
7
Purpose of Data Design
• Data design translates data objects defined as part of the analysis
model into
– Data structures at the software component level
– A possible database architecture at the application level
• It focuses on the representation of data structures that are directly
accessed by one or more software components
• The challenge is to store and retrieve the data in such way that useful
information can be extracted from the data environment
• "Data quality is the difference between a data warehouse and a data
garbage house/database"
Software Architectural Styles
9
Common Architectural Styles
of American Homes
10
Software Architectural Style
• The software that is built for computer-based systems
exhibit one of many architectural styles
• Each style describes a system category that encompasses
– A set of component types that perform a function required by the
system
– A set of connectors (subroutine call, remote procedure call, data
stream, socket) that enable communication, coordination, and
cooperation among components
– Logical constraints that define how components can be integrated
to form the system
– A topological layout of the components indicating their runtime
interrelationships
(Source: Bass, Clements, and Kazman. Software Architecture in Practice. Addison-Wesley, 2003)
11
A Taxonomy of Architectural Styles
Independent Components
Communicating
Processes
Event Systems
Client/Server Peer-to-Peer
Implicit Explicit
Data Flow
Batch Sequential Pipe and
Filter
Virtual Machine
Interpreter Rule-Based
System
Data-Centered
Repository Blackboard
Call and Return
Main Program
and Subroutine
Object
OrientedLayered
Remote Procedure Call
12
Data Flow Style
Validate Sort Update Report
13
Data Flow Style
• Has the goal of modifiability
• Characterized by viewing the system as a series of transformations on
successive pieces of input data
• Data enters the system and then flows through the components one at a
time until they are assigned to output or a data store
• Batch sequential style
– The processing steps are independent components
– Each step runs to completion before the next step begins
• Pipe-and-filter style
– Emphasizes the incremental transformation of data by successive
components
– The filters incrementally transform the data (entering and exiting via
streams)
– The pipes are stateless and simply exist to move data between filters
(More on next slide)
14
Call-and-Return Style
Main module
Subroutine A
Subroutine B
Subroutine A-1 Subroutine A-2
Physical layer
Data layer
Network layer
Transport layer
Application layer Class WClass V
Class X
Class Z
Class Y
15
Call-and-Return Style
• Has the goal of modifiability and scalability
• Has been the dominant architecture since the start of software development
• Main program and subroutine style
– Decomposes a program hierarchically into small pieces (i.e., modules)
– Typically has a single thread of control that travels through various components
in the hierarchy
• Remote procedure call style
– Consists of main program and subroutine style of system that is decomposed into
parts that are resident on computers connected via a network
– Strives to increase performance by distributing the computations and taking
advantage of multiple processors
– Incurs a finite communication time between subroutine call and response
16
Data-Centered Style
Shared Data
Client A Client B Client C
Client D Client E Client F
17
Data-Centered Style (continued)
• Has the goal of integrating the data
• Refers to systems in which the access and update of a widely accessed data
store occur
• A client runs on an independent thread of control
• At its heart is a centralized data store that communicates with a number of
clients
• Clients are relatively independent of each other so they can be added,
removed, or changed in functionality
• The data store is independent of the clients
(More on next slide)
18
Heterogeneous Styles
• Systems are seldom built from a single architectural style
• Three kinds of heterogeneity
– Locationally heterogeneous
• The drawing of the architecture reveals different styles in different areas (e.g.,
a branch of a call-and-return system may have a shared repository)
– Hierarchically heterogeneous
• A component of one style, when decomposed, is structured according to the
rules of a different style
– Simultaneously heterogeneous
• Two or more architectural styles may both be appropriate descriptions for the
style used by a computer-based system
Architectural Design Process
20
Approach A: Questions -- Assessing
Data in an Architectural Design
• How are data communicated between components?
• Is the flow of data continuous, or are data objects passed to the system
sporadically?
• What is the mode of data transfer (i.e., are data passed from one component
to another or are data available globally to be shared among system
components)
• Do data components exist (e.g., a repository or blackboard), and if so, what is
their role?
• How do functional components interact with data components?
• Are data components passive or active (i.e., does the data component actively
interact with other components in the system)?
• How do data and control interact within the system?
21
Approach B: Architecture Trade-off
Analysis Method
1) Collect scenarios representing the system from the user's point of view
2) Elicit requirements, constraints, and environment description to be certain all
stakeholder concerns have been addressed
3) Describe the candidate architectural styles that have been chosen to address the
scenarios and requirements
4) Evaluate quality attributes by considering each attribute in isolation (reliability,
performance, security, maintainability, flexibility, testability, portability,
reusability, and interoperability)
5) Identify the sensitivity of quality attributes to various architectural attributes for a
specific architectural style by making small changes in the architecture
6) Critique the application of the candidate architectural styles (from step #3) using the
sensitivity analysis conducted in step #5
Based on the results of steps 5 and 6, some architecture alternatives may be
eliminated. Others will be modified and represented in more detail until a target
architecture is selected
22
Summary
• A software architecture provides a uniform, high-level view of the system
to be built
• It depicts
– The structure and organization of the software components
– The properties of the components
– The relationships (i.e., connections) among the components
• Software components include program modules and the various data
representations that are manipulated by the program
• The choice of a software architecture highlights early design decisions
and provides a mechanism for considering the benefits of alternative
architectures
• Data design translates the data objects defined in the analysis model into
data structures that reside in the software
(More on next slide)

More Related Content

What's hot

Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
koolkampus
 
Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5
SIMONTHOMAS S
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
Hiren Selani
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
Siddharth Ayer
 

What's hot (20)

Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5Cs8092 computer graphics and multimedia unit 5
Cs8092 computer graphics and multimedia unit 5
 
Bank managment system
Bank managment systemBank managment system
Bank managment system
 
architectural design
 architectural design architectural design
architectural design
 
EC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniquesEC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniques
 
Unit v -Construction and Evaluation
Unit v -Construction and EvaluationUnit v -Construction and Evaluation
Unit v -Construction and Evaluation
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
System design
System designSystem design
System design
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Component level design
Component   level designComponent   level design
Component level design
 
Reference Data Management
Reference Data ManagementReference Data Management
Reference Data Management
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 

Similar to Se ii unit3-architectural-design

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
Zahid Hussain
 
10 architectural design
10 architectural design10 architectural design
10 architectural design
Ayesha Bhatti
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 

Similar to Se ii unit3-architectural-design (20)

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
 
Architectural design
Architectural designArchitectural design
Architectural design
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
10 architectural design
10 architectural design10 architectural design
10 architectural design
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
 
Unit iii(part a- design process model)
Unit   iii(part a- design process model)Unit   iii(part a- design process model)
Unit iii(part a- design process model)
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-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.ppt
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
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
 

More from Ahmad sohail Kakar

More from Ahmad sohail Kakar (20)

Lec 1 network types
Lec 1 network typesLec 1 network types
Lec 1 network types
 
Lec 1 introduction
Lec 1 introductionLec 1 introduction
Lec 1 introduction
 
Active directory restoration
Active directory restorationActive directory restoration
Active directory restoration
 
Active directory backup
Active directory backupActive directory backup
Active directory backup
 
Seii unit6 software-testing-techniques
Seii unit6 software-testing-techniquesSeii unit6 software-testing-techniques
Seii unit6 software-testing-techniques
 
Seii unit5 ui_design
Seii unit5 ui_designSeii unit5 ui_design
Seii unit5 ui_design
 
Seii unit4 software_process
Seii unit4 software_processSeii unit4 software_process
Seii unit4 software_process
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
Se ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorductionSe ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorduction
 
Second chapter-java
Second chapter-javaSecond chapter-java
Second chapter-java
 
Second chapter-java
Second chapter-javaSecond chapter-java
Second chapter-java
 
Chapter 9 java
Chapter 9 javaChapter 9 java
Chapter 9 java
 
Chapter 8 java
Chapter 8 javaChapter 8 java
Chapter 8 java
 
Chapter 7 java
Chapter 7 javaChapter 7 java
Chapter 7 java
 
Chapter 6 java
Chapter 6 javaChapter 6 java
Chapter 6 java
 
Chapter 5 java
Chapter 5 javaChapter 5 java
Chapter 5 java
 
Chapter 4 java
Chapter 4 javaChapter 4 java
Chapter 4 java
 
Chapter 3 java
Chapter 3 javaChapter 3 java
Chapter 3 java
 
Chapter 2 java
Chapter 2 javaChapter 2 java
Chapter 2 java
 
Chapter 1 java
Chapter 1 java Chapter 1 java
Chapter 1 java
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

Se ii unit3-architectural-design

  • 1. Architectural Design - Introduction - Data design - Software architectural styles - Architectural design process - Assessing alternative architectural designs
  • 3. 3 Definitions • The software architecture of a program or computing system is the structure or structures of the system which comprise – The software components – The externally visible properties of those components – The relationships among the components • Software architectural design represents the structure of the data and program components that are required to build a computer- based system • An architectural design model is adaptable – It can be applied to the design of other systems – It represents a set of abstractions that enable software engineers to describe architecture in predictable ways
  • 4. 4 Architectural Design Process • Basic Steps – Creation of the data design – Resulting of the architectural structure of the system – Analysis of alternative architectural styles to choose the one best suited to customer requirements and quality attributes – Expansion of the architecture based on the selected architectural style • A database designer creates the data architecture for a system to represent the data components • A system architect selects an appropriate architectural style derived during system engineering and software requirements analysis
  • 5. 5 Emphasis on Software Components • A software architecture enables a software engineer to – Analyze the effectiveness of the design & its stated requirements – Consider architectural alternatives at a stage when making design changes is still relatively easy – Reduce the risks associated with the construction of the software • Focus is placed on the software component – A program module – An object-oriented class – A database – Middleware
  • 7. 7 Purpose of Data Design • Data design translates data objects defined as part of the analysis model into – Data structures at the software component level – A possible database architecture at the application level • It focuses on the representation of data structures that are directly accessed by one or more software components • The challenge is to store and retrieve the data in such way that useful information can be extracted from the data environment • "Data quality is the difference between a data warehouse and a data garbage house/database"
  • 10. 10 Software Architectural Style • The software that is built for computer-based systems exhibit one of many architectural styles • Each style describes a system category that encompasses – A set of component types that perform a function required by the system – A set of connectors (subroutine call, remote procedure call, data stream, socket) that enable communication, coordination, and cooperation among components – Logical constraints that define how components can be integrated to form the system – A topological layout of the components indicating their runtime interrelationships (Source: Bass, Clements, and Kazman. Software Architecture in Practice. Addison-Wesley, 2003)
  • 11. 11 A Taxonomy of Architectural Styles Independent Components Communicating Processes Event Systems Client/Server Peer-to-Peer Implicit Explicit Data Flow Batch Sequential Pipe and Filter Virtual Machine Interpreter Rule-Based System Data-Centered Repository Blackboard Call and Return Main Program and Subroutine Object OrientedLayered Remote Procedure Call
  • 12. 12 Data Flow Style Validate Sort Update Report
  • 13. 13 Data Flow Style • Has the goal of modifiability • Characterized by viewing the system as a series of transformations on successive pieces of input data • Data enters the system and then flows through the components one at a time until they are assigned to output or a data store • Batch sequential style – The processing steps are independent components – Each step runs to completion before the next step begins • Pipe-and-filter style – Emphasizes the incremental transformation of data by successive components – The filters incrementally transform the data (entering and exiting via streams) – The pipes are stateless and simply exist to move data between filters (More on next slide)
  • 14. 14 Call-and-Return Style Main module Subroutine A Subroutine B Subroutine A-1 Subroutine A-2 Physical layer Data layer Network layer Transport layer Application layer Class WClass V Class X Class Z Class Y
  • 15. 15 Call-and-Return Style • Has the goal of modifiability and scalability • Has been the dominant architecture since the start of software development • Main program and subroutine style – Decomposes a program hierarchically into small pieces (i.e., modules) – Typically has a single thread of control that travels through various components in the hierarchy • Remote procedure call style – Consists of main program and subroutine style of system that is decomposed into parts that are resident on computers connected via a network – Strives to increase performance by distributing the computations and taking advantage of multiple processors – Incurs a finite communication time between subroutine call and response
  • 16. 16 Data-Centered Style Shared Data Client A Client B Client C Client D Client E Client F
  • 17. 17 Data-Centered Style (continued) • Has the goal of integrating the data • Refers to systems in which the access and update of a widely accessed data store occur • A client runs on an independent thread of control • At its heart is a centralized data store that communicates with a number of clients • Clients are relatively independent of each other so they can be added, removed, or changed in functionality • The data store is independent of the clients (More on next slide)
  • 18. 18 Heterogeneous Styles • Systems are seldom built from a single architectural style • Three kinds of heterogeneity – Locationally heterogeneous • The drawing of the architecture reveals different styles in different areas (e.g., a branch of a call-and-return system may have a shared repository) – Hierarchically heterogeneous • A component of one style, when decomposed, is structured according to the rules of a different style – Simultaneously heterogeneous • Two or more architectural styles may both be appropriate descriptions for the style used by a computer-based system
  • 20. 20 Approach A: Questions -- Assessing Data in an Architectural Design • How are data communicated between components? • Is the flow of data continuous, or are data objects passed to the system sporadically? • What is the mode of data transfer (i.e., are data passed from one component to another or are data available globally to be shared among system components) • Do data components exist (e.g., a repository or blackboard), and if so, what is their role? • How do functional components interact with data components? • Are data components passive or active (i.e., does the data component actively interact with other components in the system)? • How do data and control interact within the system?
  • 21. 21 Approach B: Architecture Trade-off Analysis Method 1) Collect scenarios representing the system from the user's point of view 2) Elicit requirements, constraints, and environment description to be certain all stakeholder concerns have been addressed 3) Describe the candidate architectural styles that have been chosen to address the scenarios and requirements 4) Evaluate quality attributes by considering each attribute in isolation (reliability, performance, security, maintainability, flexibility, testability, portability, reusability, and interoperability) 5) Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style by making small changes in the architecture 6) Critique the application of the candidate architectural styles (from step #3) using the sensitivity analysis conducted in step #5 Based on the results of steps 5 and 6, some architecture alternatives may be eliminated. Others will be modified and represented in more detail until a target architecture is selected
  • 22. 22 Summary • A software architecture provides a uniform, high-level view of the system to be built • It depicts – The structure and organization of the software components – The properties of the components – The relationships (i.e., connections) among the components • Software components include program modules and the various data representations that are manipulated by the program • The choice of a software architecture highlights early design decisions and provides a mechanism for considering the benefits of alternative architectures • Data design translates the data objects defined in the analysis model into data structures that reside in the software (More on next slide)