SlideShare a Scribd company logo
1 of 60
Architectural design
1. Software architecture
2. Architecture genres
3. Architecture styles
4. Architecture design
5. Accessing alternative architecture design
1. Software architecture
• The first program was divided into modules,
software systems have had architectures , and
programmers have been responsible for the
interactions among the modules and the
global properties of the assemblage
1.1What Is Architecture
• The architecture is not the operational
software. (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
• (3) reduce the risks associated with the
construction of the software.
• There is a distinct difference between the
terms architecture and design.
• A design is an instance of an architecture
similar to an object being an instance of a
class.
1.2.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.
• Architecture “constitutes a relatively small,
intellectually model of how the system is
structured and how its components work
together”
1.3.Architectural Descriptions
• Developers want clear, decisive guidance on
how to proceed with design.
• Customers want a clear understanding on the
environmental changes that must occur and
assurances that the architecture will meet
their business needs
• The IEEE Computer Society has proposed the
following objectives:
• (1) to establish a conceptual framework and
vocabulary for use during the design of
software architecture
• (2) to provide detailed guidelines for
representing an architectural description
• (3) to encourage sound architectural design
practices.
1.4.Architectural Decisions
• Each view developed as part of an architectural
description addresses a specific stakeholder
concern
• As a system architect, you can use the template
suggested in the sidebar to document each major
decision
• To develop each view the system architect
considers a variety of alternatives and ultimately
decides on the specific architectural features that
best meet the concern
2.Arhitecture genres
• The architectural genre will often dictate the
specific architectural approach to the
structure that must be built
• 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, apartment buildings , office buildings,
industrial building, warehouses, and so on.
Within each general style, more specific styles
might apply
Architectural genres for software-
based systems
• Artificial intelligence—Systems that simulate or
augment human cognition, locomotion, or other
organic processes.
• Commercial and non profit—Systems that are
fundamental to the operation of a business enterprise.
• Communications—Systems that provide the
infrastructure for transferring and managing data, for
connecting users of that data, or for presenting data at
the edge of an infrastructure.
• Content authoring—Systems that are used to create or
manipulate textual or multimedia artifacts.
Architectural genres for software-
based systems:
• Devices—Systems that interact with the physical world
to provide some point service for an individual.
• Entertainment and sports—Systems that manage
public events or that provide a large group
entertainment experience.
• Financial—Systems that provide the infrastructure for
transferring and managing money and other securities.
• Games—Systems that provide an entertainment
experience for individuals or groups.
• Government—Systems that support the conduct and
operations of a local, state, federal, global, or other
political entity.
Architectural genres for software-
based systems
• Industrial—Systems that simulate or control physical processes.
• Legal—Systems that support the legal industry.
• Medical—Systems that diagnose or heal or that contribute to medical
research.
• Military—Systems for consultation, communications, command, control,
and intelligence (C4I) as well as offensive and defensive weapons.
• Operating systems—Systems that sit just above hardware to provide basic
software services.
• Platforms—Systems that sit just above operating systems to provide
advanced services.
• Scientific—Systems that are used for scientific research and applications.
3.Architecture styles
• The architectural style is also a template for
construction.
• 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
• (4) semantic models that enable a designer
to understand the overall properties of a
system by analyzing the known properties of
its constituent parts
• The intent is to establish a structure for all
components of the system.
• In the case where an existing architecture is to
be reengineered the imposition of an
architectural style will result in fundamental
changes to the structure of the software
including a reassignment of the functionality
of components
3.1 A Brief Taxonomy of Architectural
Styles
• Data- centered architectures:
• A data store (e.g., a file or database) 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
Data centered architecture
3.1 A Brief Taxonomy of Architectural
Styles
• Data-flow architectures
• A pipe-and-filter pattern 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
Data-flow architectures
3.1 A Brief Taxonomy of Architectural
Styles
• Call and return architectures
• Main program/subprogram architectures.
This classic program structure decomposes
function into a control hierarchy where a “main”
program invokes a number of program components
that in turn may invoke still other components
• Remote procedure call architectures.
The components of a main program/subprogram
architecture are distributed across multiple
computers on a network.
Call and return architectures
3.1 A Brief Taxonomy of Architectural
Styles
• Object-oriented architectures. The
components of a system encapsulate dataand
the operations that must be applied to
manipulate the data. Communication and
coordination between components are
accomplished via message passing.
3.1 A Brief Taxonomy of Architectural
Styles
• Layered architectures : 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.
• Intermediate layers provide utility services and
application software functions.
Layered architectures
3.2 Architectural Patterns
• Architectural patterns address an application-
specific problem within a specific context and
under a set of limitations and constraints.
• The pattern proposes an architectural
solution that can serve as the basis for
architectural design
3.3 Organization and Refinement
• To establish a set of design criteria that can be
used to assess an architectural design that is
derived.
• Control. How is control managed within the
architecture?
• Data. How are data communicated between
components?
4.Architectural Design
• The software to be developed must be put
into context
• An archetype is an abstraction that represents
one element of system behavior.
• The designer specifies the structure of the
system by defining and refining software
components that implement each element
4.1 Representing the System in
Context
• A software architect uses an architectural
context diagram(ACD) to model the manner in
which software interacts with entities external
to its boundaries.
• Superordinate systems—those systems that use the
target system as part of some higher-level processing
scheme.
• Subordinate systems—those systems that are used by
the target system and provide data or processing that
are necessary to complete target system functionality.
• Peer-level systems—those systems that interact on a
peer-to-peer basis (i.e., information is either produced
or consumed by the peers and the target system.
• Actors—entities (people, devices) that interact with the
target system by producing or consuming information
that is necessary for requisite processing
4.2 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
• archetypes can be derived by examining the
analysis classes defined as part of the
requirements model.
Example
• Node. Represents a cohesive collection of input and output
elements For example a node might be comprised of (1)
various sensors and (2) a variety of alarm (output)
indicators.
• Detector. An abstraction that encompasses all sensing
equipment that feeds information into the target system
• Indicator. An abstraction that represents all mechanisms
(e.g., alarm siren, 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.
4.3 Refining the Architecture into
Components
• As the software architecture is refined into
components, the structure of the system
begins to emerge
• The architecture must accommodate many
infrastructure components that enable
application components but have no business
connection to the application domain
• External communication management—
coordinates communication of the security
function with external entities such as other
Internet-based systems and external alarm
notification.
• Control panel processing—manages all control
panel functionality.
• Detector management—coordinates access to all
detectors attached to the system.
• Alarm processing—verifies and acts on all alarm
conditions
4.4 Describing Instantiations of the
System
• The overall structure of the system is
apparent, and the major software
components have been identified
5.Accessing alternative architecture
design
• Design results in a number of architectural
alternatives that are each assessed to
determine which is the most appropriate for
the problem to be solved
• The first method uses an iterative method to
assess design trade-offs.
• The second approach applies a pseudo
(algorithm) quantitative technique for
assessing design quality.
5.1 An Architecture Trade-Off Analysis
Method
• The Software Engineering Institute (SEI)
establishes an iterative evaluation process for
software architectures
• 1.Collect scenarios. A set of use cases is
developed to represent the system from the
user’s point of view.
• 2.Elicit requirements, constraints, and
environment description. This information is
determined as part of requirements engineering
and is used to be certain that all stakeholder
concerns have been addressed.
• 3.Describe the architectural styles/patterns that
have been chosen to address the scenarios and
requirements.
• Module view for analysis of work assignments
with components and the degree to which
information hiding has been achieved.
• Process view for analysis of system Performance.
• Data flow view for analysis of the degree to
which the architecture meets functional
requirements.
4.Evaluate quality attributes by considering each
attribute in isolation
• Quality attributes for architectural design
assessment include 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
• This can be accomplished by making small
changes in the architecture and determining
how sensitive a quality attribute, say
performance, is to the change.
• 6.Critique candidate using the sensitivity
analysis conducted
5.2 Architectural Complexity
• A useful technique for assessing the overall
complexity of a proposed architecture is to
consider dependencies between components
within the architecture.
• 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
5.3 Architectural Description
Languages
• Architectural description language (ADL) provides
a semantics and syntax for describing a software
architecture
• ADL should provide the designer with the ability
to decompose architectural components
• compose individual components into larger
architectural blocks
• represent interfaces(connection mechanisms)
between components.
6.Archiectural mapping using Data
flows
• A mapping technique, called structured design
is often characterized as a data flow-oriented
design method because it provides a
convenient transition from a data flow
diagram to software architecture
• The transition from information flow
(represented as a DFD) to program structure is
accomplished as part of a six step process:
• (1) The type of information flow is established
• (2) Flow boundaries are indicated
• (3) The DFD is mapped into the program
structure
• (4) Control hierarchy is defined
• (5) The resultant structure is refined using design
measures and heuristics
• (6) The architectural description is refined and
elaborated
6.1 Transform Mapping
• Transform mapping is a set of design steps
that allows a DFD with transform flow
characteristics to be mapped into a specific
architectural style
• Step 1. Review the fundamental system
model. The fundamental system model or
context diagram depicts the security function
as a single transformation, representing the
external producers and consumers of data
that flow into and out of the function.
• Step 2. Review and refine data flow diagrams
for the software. Information obtained from
the requirements model is refined to produce
greater detail
• Step 3. Determine whether the DFD has
transform or transaction flow characteristics.
Evaluating the DFD we see data entering the
software along one incoming path and exiting
along three outgoing paths. Therefore, an
overall transform characteristic will be
assumed for information flow.
• Step 4. Isolate the transform center by
specifying incoming and outgoing flow
boundaries : Incoming data flows along a path
in which information is converted from
external to internal form
• outgoing flow converts internalized data to
external form.
• Incoming and outgoing flow boundaries are
open to interpretation.
• Step 5. Perform “first-level factoring.”
• An incoming information processing controller,
called sensor input controller, coordinates receipt
of all incoming data.
• A transform flow controller, called alarm
conditions controller, supervises all operations on
data in internalized form
• An outgoing information processing controller,
called alarm output controller, coordinates
production of output information
• Step 6. Perform “second-level factoring”.
• Second-level factoring is accomplished by
mapping individual transforms (bubbles) of a
DFD into appropriate modules within the
architecture.
• one-to-one mapping between DFD transforms
and software modules, different mappings
frequently occur
• Step 7. Refine the first-iteration architecture
using design heuristics for improved software
quality
• A first-iteration architecture can always be
refined by applying concepts of functional
independence
• Components are exploded or imploded to
produce sensible factoring, separation of
concerns, good cohesion,minimal coupling
6.2 Refining the Architectural Design
• Refinement of software architecture during
early stages of design is to be encouraged
• This approach to optimization is one of the
true benefits derived by developing a
representation of software architecture.

More Related Content

What's hot

Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction ModelingHemant Sharma
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software CodingNikhil Pandit
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 

What's hot (20)

Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Software design
Software designSoftware design
Software design
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
 
Component level design
Component   level designComponent   level design
Component level design
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 

Similar to unit 5 Architectural design

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane1
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane2
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10Dhairya Joshi
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-designAhmad sohail Kakar
 
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
 
architectural design
 architectural design architectural design
architectural designPreeti Mishra
 
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
 
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
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural designVaibhav Khanna
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptxharoon451422
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 

Similar to unit 5 Architectural design (20)

Architectural design
Architectural designArchitectural design
Architectural design
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-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
 
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
 
architectural design
 architectural design architectural design
architectural design
 
ds2p1.pptx
ds2p1.pptxds2p1.pptx
ds2p1.pptx
 
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
 
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
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptx
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 

Recently uploaded

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 

Recently uploaded (20)

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 

unit 5 Architectural design

  • 1. Architectural design 1. Software architecture 2. Architecture genres 3. Architecture styles 4. Architecture design 5. Accessing alternative architecture design
  • 2. 1. Software architecture • The first program was divided into modules, software systems have had architectures , and programmers have been responsible for the interactions among the modules and the global properties of the assemblage
  • 3. 1.1What Is Architecture • The architecture is not the operational software. (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 • (3) reduce the risks associated with the construction of the software.
  • 4. • There is a distinct difference between the terms architecture and design. • A design is an instance of an architecture similar to an object being an instance of a class.
  • 5. 1.2.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. • Architecture “constitutes a relatively small, intellectually model of how the system is structured and how its components work together”
  • 6. 1.3.Architectural Descriptions • Developers want clear, decisive guidance on how to proceed with design. • Customers want a clear understanding on the environmental changes that must occur and assurances that the architecture will meet their business needs
  • 7. • The IEEE Computer Society has proposed the following objectives: • (1) to establish a conceptual framework and vocabulary for use during the design of software architecture • (2) to provide detailed guidelines for representing an architectural description • (3) to encourage sound architectural design practices.
  • 8. 1.4.Architectural Decisions • Each view developed as part of an architectural description addresses a specific stakeholder concern • As a system architect, you can use the template suggested in the sidebar to document each major decision • To develop each view the system architect considers a variety of alternatives and ultimately decides on the specific architectural features that best meet the concern
  • 9. 2.Arhitecture genres • The architectural genre will often dictate the specific architectural approach to the structure that must be built • Genre implies a specific category within the overall software domain. Within each category, you encounter a number of subcategories
  • 10. • For example within the genre of buildings, you would encounter the following general styles: houses, apartment buildings , office buildings, industrial building, warehouses, and so on. Within each general style, more specific styles might apply
  • 11. Architectural genres for software- based systems • Artificial intelligence—Systems that simulate or augment human cognition, locomotion, or other organic processes. • Commercial and non profit—Systems that are fundamental to the operation of a business enterprise. • Communications—Systems that provide the infrastructure for transferring and managing data, for connecting users of that data, or for presenting data at the edge of an infrastructure. • Content authoring—Systems that are used to create or manipulate textual or multimedia artifacts.
  • 12. Architectural genres for software- based systems: • Devices—Systems that interact with the physical world to provide some point service for an individual. • Entertainment and sports—Systems that manage public events or that provide a large group entertainment experience. • Financial—Systems that provide the infrastructure for transferring and managing money and other securities. • Games—Systems that provide an entertainment experience for individuals or groups. • Government—Systems that support the conduct and operations of a local, state, federal, global, or other political entity.
  • 13. Architectural genres for software- based systems • Industrial—Systems that simulate or control physical processes. • Legal—Systems that support the legal industry. • Medical—Systems that diagnose or heal or that contribute to medical research. • Military—Systems for consultation, communications, command, control, and intelligence (C4I) as well as offensive and defensive weapons. • Operating systems—Systems that sit just above hardware to provide basic software services. • Platforms—Systems that sit just above operating systems to provide advanced services. • Scientific—Systems that are used for scientific research and applications.
  • 14. 3.Architecture styles • The architectural style is also a template for construction. • 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;
  • 15. • (3) constraints that define how components can be integrated to form the system • (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts
  • 16. • The intent is to establish a structure for all components of the system. • In the case where an existing architecture is to be reengineered the imposition of an architectural style will result in fundamental changes to the structure of the software including a reassignment of the functionality of components
  • 17. 3.1 A Brief Taxonomy of Architectural Styles • Data- centered architectures: • A data store (e.g., a file or database) 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
  • 19. 3.1 A Brief Taxonomy of Architectural Styles • Data-flow architectures • A pipe-and-filter pattern 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
  • 21. 3.1 A Brief Taxonomy of Architectural Styles • Call and return architectures • Main program/subprogram architectures. This classic program structure decomposes function into a control hierarchy where a “main” program invokes a number of program components that in turn may invoke still other components • Remote procedure call architectures. The components of a main program/subprogram architecture are distributed across multiple computers on a network.
  • 22. Call and return architectures
  • 23. 3.1 A Brief Taxonomy of Architectural Styles • Object-oriented architectures. The components of a system encapsulate dataand the operations that must be applied to manipulate the data. Communication and coordination between components are accomplished via message passing.
  • 24. 3.1 A Brief Taxonomy of Architectural Styles • Layered architectures : 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. • Intermediate layers provide utility services and application software functions.
  • 26. 3.2 Architectural Patterns • Architectural patterns address an application- specific problem within a specific context and under a set of limitations and constraints. • The pattern proposes an architectural solution that can serve as the basis for architectural design
  • 27. 3.3 Organization and Refinement • To establish a set of design criteria that can be used to assess an architectural design that is derived. • Control. How is control managed within the architecture? • Data. How are data communicated between components?
  • 28. 4.Architectural Design • The software to be developed must be put into context • An archetype is an abstraction that represents one element of system behavior. • The designer specifies the structure of the system by defining and refining software components that implement each element
  • 29. 4.1 Representing the System in Context • A software architect uses an architectural context diagram(ACD) to model the manner in which software interacts with entities external to its boundaries.
  • 30.
  • 31. • Superordinate systems—those systems that use the target system as part of some higher-level processing scheme. • Subordinate systems—those systems that are used by the target system and provide data or processing that are necessary to complete target system functionality. • Peer-level systems—those systems that interact on a peer-to-peer basis (i.e., information is either produced or consumed by the peers and the target system. • Actors—entities (people, devices) that interact with the target system by producing or consuming information that is necessary for requisite processing
  • 32. 4.2 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 • archetypes can be derived by examining the analysis classes defined as part of the requirements model.
  • 33. Example • Node. Represents a cohesive collection of input and output elements For example a node might be comprised of (1) various sensors and (2) a variety of alarm (output) indicators. • Detector. An abstraction that encompasses all sensing equipment that feeds information into the target system • Indicator. An abstraction that represents all mechanisms (e.g., alarm siren, 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.
  • 34.
  • 35. 4.3 Refining the Architecture into Components • As the software architecture is refined into components, the structure of the system begins to emerge • The architecture must accommodate many infrastructure components that enable application components but have no business connection to the application domain
  • 36. • External communication management— coordinates communication of the security function with external entities such as other Internet-based systems and external alarm notification. • Control panel processing—manages all control panel functionality. • Detector management—coordinates access to all detectors attached to the system. • Alarm processing—verifies and acts on all alarm conditions
  • 37.
  • 38. 4.4 Describing Instantiations of the System • The overall structure of the system is apparent, and the major software components have been identified
  • 39.
  • 40. 5.Accessing alternative architecture design • Design results in a number of architectural alternatives that are each assessed to determine which is the most appropriate for the problem to be solved • The first method uses an iterative method to assess design trade-offs. • The second approach applies a pseudo (algorithm) quantitative technique for assessing design quality.
  • 41. 5.1 An Architecture Trade-Off Analysis Method • The Software Engineering Institute (SEI) establishes an iterative evaluation process for software architectures • 1.Collect scenarios. A set of use cases is developed to represent the system from the user’s point of view. • 2.Elicit requirements, constraints, and environment description. This information is determined as part of requirements engineering and is used to be certain that all stakeholder concerns have been addressed.
  • 42. • 3.Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements. • Module view for analysis of work assignments with components and the degree to which information hiding has been achieved. • Process view for analysis of system Performance. • Data flow view for analysis of the degree to which the architecture meets functional requirements.
  • 43. 4.Evaluate quality attributes by considering each attribute in isolation • Quality attributes for architectural design assessment include reliability, performance, security, maintainability, flexibility, testability, portability , reusability, and interoperability
  • 44. • 5.Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style • This can be accomplished by making small changes in the architecture and determining how sensitive a quality attribute, say performance, is to the change. • 6.Critique candidate using the sensitivity analysis conducted
  • 45. 5.2 Architectural Complexity • A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components within the architecture. • Sharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers
  • 46. • 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
  • 47. 5.3 Architectural Description Languages • Architectural description language (ADL) provides a semantics and syntax for describing a software architecture • ADL should provide the designer with the ability to decompose architectural components • compose individual components into larger architectural blocks • represent interfaces(connection mechanisms) between components.
  • 48. 6.Archiectural mapping using Data flows • A mapping technique, called structured design is often characterized as a data flow-oriented design method because it provides a convenient transition from a data flow diagram to software architecture • The transition from information flow (represented as a DFD) to program structure is accomplished as part of a six step process:
  • 49. • (1) The type of information flow is established • (2) Flow boundaries are indicated • (3) The DFD is mapped into the program structure • (4) Control hierarchy is defined • (5) The resultant structure is refined using design measures and heuristics • (6) The architectural description is refined and elaborated
  • 50. 6.1 Transform Mapping • Transform mapping is a set of design steps that allows a DFD with transform flow characteristics to be mapped into a specific architectural style
  • 51. • Step 1. Review the fundamental system model. The fundamental system model or context diagram depicts the security function as a single transformation, representing the external producers and consumers of data that flow into and out of the function.
  • 52.
  • 53. • Step 2. Review and refine data flow diagrams for the software. Information obtained from the requirements model is refined to produce greater detail
  • 54.
  • 55. • Step 3. Determine whether the DFD has transform or transaction flow characteristics. Evaluating the DFD we see data entering the software along one incoming path and exiting along three outgoing paths. Therefore, an overall transform characteristic will be assumed for information flow.
  • 56. • Step 4. Isolate the transform center by specifying incoming and outgoing flow boundaries : Incoming data flows along a path in which information is converted from external to internal form • outgoing flow converts internalized data to external form. • Incoming and outgoing flow boundaries are open to interpretation.
  • 57. • Step 5. Perform “first-level factoring.” • An incoming information processing controller, called sensor input controller, coordinates receipt of all incoming data. • A transform flow controller, called alarm conditions controller, supervises all operations on data in internalized form • An outgoing information processing controller, called alarm output controller, coordinates production of output information
  • 58. • Step 6. Perform “second-level factoring”. • Second-level factoring is accomplished by mapping individual transforms (bubbles) of a DFD into appropriate modules within the architecture. • one-to-one mapping between DFD transforms and software modules, different mappings frequently occur
  • 59. • Step 7. Refine the first-iteration architecture using design heuristics for improved software quality • A first-iteration architecture can always be refined by applying concepts of functional independence • Components are exploded or imploded to produce sensible factoring, separation of concerns, good cohesion,minimal coupling
  • 60. 6.2 Refining the Architectural Design • Refinement of software architecture during early stages of design is to be encouraged • This approach to optimization is one of the true benefits derived by developing a representation of software architecture.