SlideShare una empresa de Scribd logo
1 de 18
Software
Architecture Design
• Presented By
• Faraz Imllak Mayo
• Fall 18 BSIT 055 (B)
• Software Engineering
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 transferable
– 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
Why Architecture?
The architecture is not the operational software. Rather, it is a
representation that enables a software engineer to:
(1)analyze the effectiveness of the design in meeting its stated
requirements,
(2)reduce the risks associated with the construction of 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.
 Controls complexity
 Gives Consistency
 Reduces risk
 Enables re-use
Architectural Design Process
• Basic Steps
– Creation of the data design
– Derivation of one or more representations of the architectural
structure of the system
– Analysis of alternative architectural styles to choose the one best
suited to customer requirements and quality attributes
– Elaboration 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
Architecture attributes
Performance
Localise operations to minimise sub-system
communication
Security
Use a layered architecture with critical assets in inner
layers
Safety
Isolate safety-critical components
Availability
Include redundant components in the architecture
Maintainability
Use fine-grain, self-contained components
Architecture design
decisions
Architecture design is a creative process, so the process is
depend on the type of system being developed.
A number of common decisions to design all process;
 Is there a general application architecture that can be
used?
 How will the system be distributed?
 Which style of construction is appropriate?
 What approach will be used to design the system?
 How will the system merge into modules?
 Which control strategy should be used?
 How will architectural design be reviewed?
 How should architecture be documented?
•
Architecture models
 Static model
 Dynamic model
 Interface model
 Relationship model
 Distribution model
Software Architectural
Styles
Architectural Styles
Each style describes a system category that encompasses:
(1)a set of components (a system, e.g., a database, computational modules)
that perform a function required by
(2)a set of connectors that enable “communication, coordination and
cooperation” among components,
(3)constraints that define how components can be integrated to form the
system,
 Data-centered architectures
 Data flow architectures
 Call and return architectures
 Object-oriented architectures
 Layered architectures
Data-Centered
Architecture
Data Flow Style
• 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
–
Data Flow
Architecture
Call-and-Return Style
• 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
– Incurs a finite communication time between subroutine call and
response
25
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 W
Class V
Class Z
Class X Class Y
Layered
Architecture
Analyzing Architectural Design
1.Collect scenarios.
2.Elicit requirements, constraints, and environment
description.
3.Describe the architectural styles/patterns that have been
chosen to address the scenarios and requirements:
 Logical view
 process view
 Implementation view
 Deployment view
Thank You

Más contenido relacionado

La actualidad más candente

Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
Hayim Makabee
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 

La actualidad más candente (20)

Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Component level design
Component   level designComponent   level design
Component level design
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software design
Software designSoftware design
Software design
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Software process
Software processSoftware process
Software process
 
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
 
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
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 

Similar a Software architecture design ppt

Architectural design1
Architectural design1Architectural design1
Architectural design1
Zahid Hussain
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
Zahid Hussain
 

Similar a Software architecture design ppt (20)

Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
architectural design
 architectural design architectural design
architectural design
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
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
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 
Design engineering
Design engineeringDesign engineering
Design engineering
 

Último

Último (20)

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 

Software architecture design ppt

  • 1. Software Architecture Design • Presented By • Faraz Imllak Mayo • Fall 18 BSIT 055 (B) • Software Engineering
  • 2. 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 transferable – 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
  • 3. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1)analyze the effectiveness of the design in meeting its stated requirements, (2)reduce the risks associated with the construction of the software.
  • 4. 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.  Controls complexity  Gives Consistency  Reduces risk  Enables re-use
  • 5. Architectural Design Process • Basic Steps – Creation of the data design – Derivation of one or more representations of the architectural structure of the system – Analysis of alternative architectural styles to choose the one best suited to customer requirements and quality attributes – Elaboration 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
  • 6. Architecture attributes Performance Localise operations to minimise sub-system communication Security Use a layered architecture with critical assets in inner layers Safety Isolate safety-critical components Availability Include redundant components in the architecture Maintainability Use fine-grain, self-contained components
  • 7. Architecture design decisions Architecture design is a creative process, so the process is depend on the type of system being developed. A number of common decisions to design all process;  Is there a general application architecture that can be used?  How will the system be distributed?  Which style of construction is appropriate?  What approach will be used to design the system?  How will the system merge into modules?  Which control strategy should be used?  How will architectural design be reviewed?  How should architecture be documented? •
  • 8. Architecture models  Static model  Dynamic model  Interface model  Relationship model  Distribution model
  • 10. Architectural Styles Each style describes a system category that encompasses: (1)a set of components (a system, e.g., a database, computational modules) that perform a function required by (2)a set of connectors that enable “communication, coordination and cooperation” among components, (3)constraints that define how components can be integrated to form the system,  Data-centered architectures  Data flow architectures  Call and return architectures  Object-oriented architectures  Layered architectures
  • 12. Data Flow Style • 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 –
  • 14. Call-and-Return Style • 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 – Incurs a finite communication time between subroutine call and response
  • 15. 25 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 W Class V Class Z Class X Class Y
  • 17. Analyzing Architectural Design 1.Collect scenarios. 2.Elicit requirements, constraints, and environment description. 3.Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements:  Logical view  process view  Implementation view  Deployment view