SlideShare une entreprise Scribd logo
1  sur  29
Chapter 10
Architectural Design
Software Engineering: A Practitioner’s Approach, 6th edition
by Roger S. Pressman

1
Software Architecture
 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, and the
relationships among them.
— Bass. et al.
2
Why Architecture?


Architecture is a representation of a system
that enables the software engineer to:
1. analyze the effectiveness of the design in
meeting its stated requirements,
2. consider architectural alternatives at a stage
when making design changes is still relatively
easy, and
3. reduce the risks associated with the construction
of the software.
3
Data Design
 Architectural level → Database design
 data mining
 data warehousing

 Component level → Data structure
design
4
What principles are applicable to data design?

1. The systematic analysis principles applied to function
and behavior should also be applied to data.
2. All data structures and the operations to be
performed on each should be identified.
3. A mechanism for defining the content of each data
object should be established and used to define both
data and the operations applied to it.
4. Low-level data design decisions should be deferred
until late in the design process.
5
What principles are applicable to data design

5. The representation of a data structure should be
known only to those modules that must make direct
use of the data contained within the structure.
6. A library of useful data structures and the operations
that may be applied to them should be developed.
7. A software design and programming language should
support the specification and realization of abstract
data types.

6
Architectural Styles


Each style describes a system category that
encompasses:
1. a set of components (e.g., a database, computational
modules) that perform a function required by a system,
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, and
4. semantic models that enable a designer to understand the
overall properties of a system.
7
Specific Styles






Data-centered architecture
Data flow architecture
Call and return architecture
Object-oriented architecture
Layered architecture
8
Data-Centered Architecture

9
Data-Centered Architecture
 Data store resides at the center of this architecture and is accessed
frequently by other components that update, add, delete or otherwise
modify data within the store.
 Client software accesses a central repository.
 Some cases, the data repository is passive, that is client software
accesses the data independent of any changes to the data or the
actions of other client software.
 A variation on this approach transforms the repository into a
blackboard that sends notifications to client software when data of
interest to the client changes.
 A data-centered architecture promotes integrability. That is, existing
components can be changed and new client components added to the
architecture without concern about other clients.
10
 Client components independently execute processes.
Data-Flow Architecture

11
Data-Flow Architecture
This architecture is applied when input data are to be
transformed through a series of computational or manipulative
components into output data.
A pipe and filter structure has a set of components, called
filters, connected by pipes that transmit data from one
component to the next.
Each filter works independently of those components upstream
and downstream, is designed to expect data input of a certain
form, and produces data output of a specified form.
Filter does not require knowledge of the workings of its
neighboring filters.
12
Call and Return Architecture

13
Call and Return Architecture
This architecture style enables a software designer to achieve a
program structure that is relatively easy to modify and scale.
Two sub styles exist within this category:
1. Main program / sub program architecture: This classic program
structure decompose3s function into a control hierarchy where a
main program invokes a number of program components, which
in turn may invoke still other components.
2. Remote Procedure Call architecture: The components of a main
program / sub program architecture are distributed across
multiple computers on a network.
14
Object-Oriented Architecture

15
Object-Oriented Architecture
The components of a system encapsulate data and the
operations that must be applied to manipulate the data.
Communication and coordination between components is
accomplished via message passing.

16
Layered Architecture

17
Layered Architecture
A number of different layers are defined, each accomplishing
operations that progressively become closer to the machine
instruction set.
At the outer layer, components service user interface operations.
At the inner layer, components perform operating system
interfacing.
At the intermediate layers provide utility services and
application software functions.

18
Architectural Patterns Domains
 Concurrency
 operating system process management
 task scheduler

 Persistence
 database management system
 application level persistence

 Distribution
 broker
19
Architectural Design
 Architectural context diagrams model how
software interacts with external entities
 Archetypes are classes or patterns that
represent an abstraction critical to the system
 Architectural components are derived from
the application domain, the infrastructure, and
the interface.
20
Arch. Context Diagram

21
How do system interoperate with one
another?
 System that interoperate with the target system are
represented as:
 Superordinate systems –those system that use the
target system as part of some higher level processing
system.
 Subordinate system- those systems that are used by
the target system and provide data or processing that
are necessary to complete target system
functionality.
22
How do system interoperate with one
another?
Cont…
 Peer-level systems– those system that interact on a
peer-to-peer basis that is information is either
produced or consumed by the peers and the target
system.
 Actors- those entities (people, device) that interact
with the target system by producing or consuming
information that is necessary for requisite processing.
 Each of these external entities communicates with
the target system through an interface(small shaded
rectangles)
23
SafeHome ACD

24
Defining Archetypes
 An archetype is a class or pattern that represents a
core abstraction that is critical to the design of an
architecture for the target system.
 In general, a relatively small set of archetypes is
required to design even relatively complex systems.
 Eg Safe Home Security Function, following
archetypes can be defined:
 Node: represents a cohesive collection of input and
output elements of the home security function.eg. It
might be comprised of (1)various sensors (2) variety
of alarm indicators.
25
Defining Archetypes

cont…

 Detector: An abstraction that encompasses all
sensing equipment that feeds information into the
target system.
 Indicator: An abstraction that represents all
mechanisms(eg alarm, flashing lights, bell) for
indicating that an alarm condition is occurring.
 Controller: an abstraction that depicts the mechanism
that allows the arming or disarming of a node. If
controllers reside on a network, they have the ability
to communicate with one another.
26
SafeHome Archetype

27
Component Structure

28
Component Elaboration

29

Contenu connexe

Tendances

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 arvind pandey
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principlesAhmad sohail Kakar
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsdeep sharma
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Host-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
Host-based Security, by Dmitry Khlebnikov @ Secure Development MelbourneHost-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
Host-based Security, by Dmitry Khlebnikov @ Secure Development MelbourneAlec Sloman
 
Context model
Context modelContext model
Context modelUbaid423
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 

Tendances (20)

Lecture 6 se
Lecture 6 seLecture 6 se
Lecture 6 se
 
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
 
Ch12
Ch12Ch12
Ch12
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
Se lec5
Se lec5Se lec5
Se lec5
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Ch09
Ch09Ch09
Ch09
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Host-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
Host-based Security, by Dmitry Khlebnikov @ Secure Development MelbourneHost-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
Host-based Security, by Dmitry Khlebnikov @ Secure Development Melbourne
 
Context model
Context modelContext model
Context model
 
DISTRIBUTED DATABASE
DISTRIBUTED DATABASEDISTRIBUTED DATABASE
DISTRIBUTED DATABASE
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
8 system models (1)
8 system models (1)8 system models (1)
8 system models (1)
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 

En vedette

Software engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeSoftware engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeDhairya Joshi
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
Software engg. pressman_ch-12
Software engg. pressman_ch-12Software engg. pressman_ch-12
Software engg. pressman_ch-12Dhairya Joshi
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21Dhairya Joshi
 
Взлом вормикс через чарлез
Взлом вормикс через чарлезВзлом вормикс через чарлез
Взлом вормикс через чарлезinterdumpplur1977
 
Alpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityAlpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityClutch animation house
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9Dhairya Joshi
 
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...javier ramirez
 
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...Jennifer Kesik
 

En vedette (17)

1
11
1
 
Software engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeSoftware engg. pressman_ch-7-complete
Software engg. pressman_ch-7-complete
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
2
22
2
 
Journey Certificate
Journey CertificateJourney Certificate
Journey Certificate
 
Software engg. pressman_ch-12
Software engg. pressman_ch-12Software engg. pressman_ch-12
Software engg. pressman_ch-12
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21
 
Взлом вормикс через чарлез
Взлом вормикс через чарлезВзлом вормикс через чарлез
Взлом вормикс через чарлез
 
Sakinah.AlAhmed_Resume
Sakinah.AlAhmed_ResumeSakinah.AlAhmed_Resume
Sakinah.AlAhmed_Resume
 
Alpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityAlpha strauss - The FoodTech Community
Alpha strauss - The FoodTech Community
 
Coursera fin4devmooc 2015 - Copy
Coursera fin4devmooc 2015 - CopyCoursera fin4devmooc 2015 - Copy
Coursera fin4devmooc 2015 - Copy
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 
Pengenalan huruf
Pengenalan hurufPengenalan huruf
Pengenalan huruf
 
2.GHLR.GuatemalaAssessment.SlideEdition1
2.GHLR.GuatemalaAssessment.SlideEdition12.GHLR.GuatemalaAssessment.SlideEdition1
2.GHLR.GuatemalaAssessment.SlideEdition1
 
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
 
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
 

Similaire à Software engg. pressman_ch-10

UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxLeahRachael
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
4.Architectural Design.pptx
4.Architectural Design.pptx4.Architectural Design.pptx
4.Architectural Design.pptxREALGROUPS
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxMahmoudZidan53
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxRUKIAHASSAN4
 
Elements of systems design
Elements of systems designElements of systems design
Elements of systems designChandan Arora
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsChristina Valadez
 

Similaire à Software engg. pressman_ch-10 (20)

Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
4.Architectural Design.pptx
4.Architectural Design.pptx4.Architectural Design.pptx
4.Architectural Design.pptx
 
Unit 1
Unit 1Unit 1
Unit 1
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docx
 
Elements of systems design
Elements of systems designElements of systems design
Elements of systems design
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow Diagrams
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Report_Internships
Report_InternshipsReport_Internships
Report_Internships
 
Ch7
Ch7Ch7
Ch7
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Ch6.ppt
Ch6.pptCh6.ppt
Ch6.ppt
 

Dernier

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Dernier (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

Software engg. pressman_ch-10

  • 1. Chapter 10 Architectural Design Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman 1
  • 2. Software Architecture  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, and the relationships among them. — Bass. et al. 2
  • 3. Why Architecture?  Architecture is a representation of a system that enables the software engineer to: 1. analyze the effectiveness of the design in meeting its stated requirements, 2. consider architectural alternatives at a stage when making design changes is still relatively easy, and 3. reduce the risks associated with the construction of the software. 3
  • 4. Data Design  Architectural level → Database design  data mining  data warehousing  Component level → Data structure design 4
  • 5. What principles are applicable to data design? 1. The systematic analysis principles applied to function and behavior should also be applied to data. 2. All data structures and the operations to be performed on each should be identified. 3. A mechanism for defining the content of each data object should be established and used to define both data and the operations applied to it. 4. Low-level data design decisions should be deferred until late in the design process. 5
  • 6. What principles are applicable to data design 5. The representation of a data structure should be known only to those modules that must make direct use of the data contained within the structure. 6. A library of useful data structures and the operations that may be applied to them should be developed. 7. A software design and programming language should support the specification and realization of abstract data types. 6
  • 7. Architectural Styles  Each style describes a system category that encompasses: 1. a set of components (e.g., a database, computational modules) that perform a function required by a system, 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, and 4. semantic models that enable a designer to understand the overall properties of a system. 7
  • 8. Specific Styles      Data-centered architecture Data flow architecture Call and return architecture Object-oriented architecture Layered architecture 8
  • 10. Data-Centered Architecture  Data store resides at the center of this architecture and is accessed frequently by other components that update, add, delete or otherwise modify data within the store.  Client software accesses a central repository.  Some cases, the data repository is passive, that is client software accesses the data independent of any changes to the data or the actions of other client software.  A variation on this approach transforms the repository into a blackboard that sends notifications to client software when data of interest to the client changes.  A data-centered architecture promotes integrability. That is, existing components can be changed and new client components added to the architecture without concern about other clients. 10  Client components independently execute processes.
  • 12. Data-Flow Architecture This architecture is applied when input data are to be transformed through a series of computational or manipulative components into output data. A pipe and filter structure has a set of components, called filters, connected by pipes that transmit data from one component to the next. Each filter works independently of those components upstream and downstream, is designed to expect data input of a certain form, and produces data output of a specified form. Filter does not require knowledge of the workings of its neighboring filters. 12
  • 13. Call and Return Architecture 13
  • 14. Call and Return Architecture This architecture style enables a software designer to achieve a program structure that is relatively easy to modify and scale. Two sub styles exist within this category: 1. Main program / sub program architecture: This classic program structure decompose3s function into a control hierarchy where a main program invokes a number of program components, which in turn may invoke still other components. 2. Remote Procedure Call architecture: The components of a main program / sub program architecture are distributed across multiple computers on a network. 14
  • 16. Object-Oriented Architecture The components of a system encapsulate data and the operations that must be applied to manipulate the data. Communication and coordination between components is accomplished via message passing. 16
  • 18. Layered Architecture A number of different layers are defined, each accomplishing operations that progressively become closer to the machine instruction set. At the outer layer, components service user interface operations. At the inner layer, components perform operating system interfacing. At the intermediate layers provide utility services and application software functions. 18
  • 19. Architectural Patterns Domains  Concurrency  operating system process management  task scheduler  Persistence  database management system  application level persistence  Distribution  broker 19
  • 20. Architectural Design  Architectural context diagrams model how software interacts with external entities  Archetypes are classes or patterns that represent an abstraction critical to the system  Architectural components are derived from the application domain, the infrastructure, and the interface. 20
  • 22. How do system interoperate with one another?  System that interoperate with the target system are represented as:  Superordinate systems –those system that use the target system as part of some higher level processing system.  Subordinate system- those systems that are used by the target system and provide data or processing that are necessary to complete target system functionality. 22
  • 23. How do system interoperate with one another? Cont…  Peer-level systems– those system that interact on a peer-to-peer basis that is information is either produced or consumed by the peers and the target system.  Actors- those entities (people, device) that interact with the target system by producing or consuming information that is necessary for requisite processing.  Each of these external entities communicates with the target system through an interface(small shaded rectangles) 23
  • 25. Defining Archetypes  An archetype is a class or pattern that represents a core abstraction that is critical to the design of an architecture for the target system.  In general, a relatively small set of archetypes is required to design even relatively complex systems.  Eg Safe Home Security Function, following archetypes can be defined:  Node: represents a cohesive collection of input and output elements of the home security function.eg. It might be comprised of (1)various sensors (2) variety of alarm indicators. 25
  • 26. Defining Archetypes cont…  Detector: An abstraction that encompasses all sensing equipment that feeds information into the target system.  Indicator: An abstraction that represents all mechanisms(eg alarm, flashing lights, bell) for indicating that an alarm condition is occurring.  Controller: an abstraction that depicts the mechanism that allows the arming or disarming of a node. If controllers reside on a network, they have the ability to communicate with one another. 26