SlideShare a Scribd company logo
Software arhitecture
and
design pattren.(SADP)
UNIT-1
 UNIT-I:
 Envisioning Architecture
 The Architecture Business Cycle, What is Software
Architecture, Architectural patterns, reference
models, reference architectures, architectural
structures and views.
 Creating and Architecture Quality Attributes,
Achieving qualities, Architectural styles and patterns,
designing the Architecture, Documenting software
architectures, Reconstructing Software Architecture.
1.1The Architecture Business
Cycle
 The software architecture of a program or computing
system is the structure or structures of the system,
which comprise software elements, the externally
visible properties of those elements, and the
relationships among them.
 Software architecture is a result of technical,
business, and social influences.
 Its existence in turn affects the technical, business,
and social environments that subsequently influence
future Architectures. We call this cycle of
influences, from the environment to the architecture
and back to the environment
Contents of Software Architecture
 Definition for Software Architecture
 Architecture process advice
 Good Architecture Rules.
 What Software Architecture Is and It isn`t.
 Example for software Architecture.
1.2- What is Software Architecture
 Software architecture the structures of large software
systems.
 Software architecture is the blue print (or) carefully
designed structure of system.
 The software architecture of a program or computing
system is the structure or structures of the system.
 Software architecture is a result of technical, business,
and social influences
Architecture process advice
 1.Architecture should be product of a single architect or small group with
identified leader
 2.Architect should have functional requirements and a list of quality attributes.
 3.Architecture should be well-documented with at least one static and one
dynamic view.
 4.Architecture should be circulated to stakeholders, who are active in review.
 5.Architecture should be analyzed (quantitatively and qualitatively) before it is
to design.
 6.System should be developed incrementally from an initial that includes major
communication paths.
 7.Architecture should result in a small number of specific resource.
Good Architecture Rules
 1.Use information hiding to hide computing infrastructure
 2.Each module should protect its secrets with a good interface
 3.Use well-known architecture to achieve quality attributes.
 4.Minimize and isolate dependence on a particular version of a product or tool.
 5.Separate producer modules from consumer modules.
 6.For parallel-processing, use well-defined processes or tasks.
 7.Assignment of tasks or processes to processors should be easily changeable
(even at runtime).
 8.Use a small number of simple interaction patterns.
What Software Architecture Is and It isn`t
 What is the nature of the elements?
o What is the significance of their separation.
o Do they run an separation processes.
o Do they run an separation time.
 What are the responsibilities of the elements?
o What is it they do?
o What is their function in the system?
 What is the significance of the connections?
 (do the connection means that the elements
communication with each other).
o Control each other.
o Send Data to Each other.
o Invoke each other.
o Synchronize each other.
 What is the significance of the layout?
Example for software Architecture
description for an underwater acoustic simulation
1.3,4,5- Architectural Patterns, Reference
Models, and Reference Architectures
 Between box-and-line sketches that are the
barest of starting points and full-fledged
architectures.
 Each stage represents the outcome of a set of
architectural decisions, the binding of
architectural choices. Some of these intermediate
stages are very useful in their own right.
 Before discussing architectural structures, we
define three of them.
 1) Architectural Patterns
 Architectural Patterns: is a description of element
and relation types together with a set of constraints
on how they may be used.
 A reference model is a division of functionality
together with data flow between the pieces. A
reference model is a standard decomposition of a
known problem into parts that cooperatively solve
the problem.
 A reference architecture is a reference model
mapped onto software elements (that cooperatively
implement the functionality defined in the reference
model) and the data flows between them
Diagram for architectural patterns
1.6-architectural structures and
views
 the related terms structure and view when discussing
architecture representation.
 A view is a representation of a coherent set of architectural
elements, as written by and read by system stakeholders.
 It consists of a representation of a set of elements and the
relations among them.
 A structure is the set of elements itself, as they exist in
software or hardware.
 Architectural structures can by and large be divided into
three groups.
1) Module structures
2)Component-and-connector structures
3)Allocation structures
1) Module structures:
which are units of implementation. Modules represent a
code-based way of considering the system. They are
assigned areas of functional responsibility.
2) Component-and-connector structures.
Here the elements are runtime components (which are
the principal units of computation) and connectors
(which are the communication vehicles among
components).
3)Allocation structures. Allocation structures show the
relationship between the software elements and the
elements in one or more external environments in
which the software is created and executed.
2.0 –Creating and
Architecture
chapter-2 in unit-1
2.1-Quality Attributes
 Achieving quality attributes must be considered
throughout design, implementation, and
deployment. No quality attribute is entirely
dependent on design.
 Satisfactory results are a matter of getting the big
picture (architecture) as well as the details
(implementation) correct.
 1)Architecture and Quality Attributes.
 2) System Quality Attributes
 1) Architecture and Quality Attributes
 1)Architecture is critical to the realization of many qualities of interest in a
system, and these qualities should be designed in and can be evaluated at
the architectural level.
 2)Architecture, by itself, is unable to achieve qualities. It provides the
foundation for achieving quality, but this foundation will be to no avail if
attention is not paid to the details.
 Let's begin our tour of quality attributes. We will examine the
following three classes:
 1)Qualities of the system. We will focus on availability, modifiability,
performance, security, testability, and usability.
 2)Business qualities (such as time to market) that are affected by the
architecture.
 3)Qualities, such as conceptual integrity, that are about the architecture
itself although they indirectly affect other qualities, such as modifiability.
 2) System Quality Attributes
 A quality attribute scenario is a quality-attribute-specific requirement. It
consists of six parts.
 Source of stimulus. This is some entity (a human, a computer system, or
any other actuator) that generated the stimulus.
Stimulus. The stimulus is a condition that needs to be considered when it
arrives at a system.
 Environment. The stimulus occurs within certain conditions. The system
may be in an overload condition or may be running when the stimulus
occurs, or some other condition may be true.
 Artifact. Some artifact is stimulated. This may be the whole system or
some pieces of
 Response. The response is the activity undertaken after the arrival of the
stimulus.
Achieving Qualities
 Introducing Tactics.
 Availability Tactics
 Modifiability Tactics
 Performance Tactics
 Security Tactics
 Testability Tactics
 Usability Tactics
Introducing Tactics.
 A tactic is a design decision that influences the control
of a quality attribute response.
 A system design consists of a collection of decisions.
 Some of these decisions help control the quality
attribute responses.
 others ensure achievement of system functionality.
Tactics are intended to control responses to stimuli
Availability Tactics
 Goal of availability tactics
 Many of the tactics we discuss are available within
standard execution environments such as operating
systems, application servers, and database
management systems.
 tactics used so that the effects of using a particular
one can be considered during design and evaluation.
 All approaches to maintaining availability involve some
type of redundancy, some type of health monitoring to
detect a failure, and some type of recovery when a
Goal of availability tactics
Summary of availability tactics
Modifiability Tactics
 One set has as its goal reducing the number of
modules that are directly affected by a change.
 A second set has as its goal limiting modifications to
the localized modules.
 A third set of tactics has as its goal controlling
deployment time and cost.
Goal of modifiability tactics
Summary of modifiability tactics
Performance Tactics
 The goal of performance tactics is to generate a
response to an event arriving at the system within
some time constraint.
 The event can be single or a stream and is the trigger
for a request to perform computation.
 It can be the arrival of a message,
 the expiration of a time interval,
 the detection of a significant change of state in the
system's environment,.
 The system processes the events and generates a
response.
Goal of performance tactics
Summary of performance tactics
Security Tactics
 Tactics for achieving security can be divided into
those concerned with resisting attacks.
 those concerned with detecting attacks, and those
concerned with recovering from attacks.
 Using a familiar analogy, putting a lock on your door
is a form of resisting an attack.
 having a motion sensor inside of your house is a
form of detecting an attack,
 having insurance is a form of recovering from an
attack.
Goal of security tactics
Summary of tactics for security
Testability Tactics
 The goal of tactics for testability is to allow for easier
testing when an increment of software development
is completed.
 The testing consumes such a high percentage of
system development cost.
 The architect can do to reduce this cost will yield a
significant benefit.
.
Goal of testability tactics
Summary of testability tactics
Usability Tactics
 usability is concerned with how easy it is for the user to
accomplish a desired task and the kind of support the
system provides to the user.
 Two types of tactics support usability,
 each intended for two categories of "users.“
 The first category, runtime, includes those that support the
user during system execution.
 The second category is based on the iterative nature of user
interface design and supports the interface developer at
design time.
Goal of runtime usability tactics
Summary of runtime usability tactics
2.4- Designing the Architecture
 We have observed two traits common to virtually all of the
successful object-oriented systems we have encountered, and
noticeably absent from the ones that we count as failures:
 the existence of a strong architectural vision and the application
of a well-managed iterative and incremental development cycle.
 Designing an architecture to satisfy both quality requirements
and functional requirements. We call this method Attribute-
Driven Design (ADD)
 . ADD takes as input a set of quality attribute scenarios and
employs knowledge about the relation between quality attribute
achievement and architecture in order to design the architecture.
 The ADD method can be viewed as an extension to most other
development methods, such as the Rational Unified Process
Designing the Architecture
2.5- Documenting Software Architectures
 Stakeholder
1)Architect and
Engineers
 2) Architect and
Designers of
constituent
parts
3) Implementers
 4) Testers and
integrators
 Use
To negotiate and make tradeoffs
among competing requirements.
To resolve resource contention and
establish performance .
 To provide inviolable constraints
(plus exploitable freedoms) on
downstream development
activities.
 To specify the correct black-box
behavior of the pieces that must
2.6 - Reconstructing Software
Architectures
 RECONSTRUCTION ACTIVITIES
Software architecture reconstruction comprises the following
activities, carried out iteratively:
 Information extraction. The purpose of this activity is to extract information
from various sources.
 Database construction. Database construction involves converting this
information into a standard form such as the Rigi Standard Form (a tuple-
based data format in the form
 View fusion. View fusion combines information in the database to produce a
coherent view of the architecture.
 Reconstruction. The reconstruction activity is where the main work of building
abstractions and various representations of the data to generate an
architecture representation takes place.
the architecture reconstruction activities
THANK U

More Related Content

What's hot

Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
RahimLotfi
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
Arslan Anwar
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Prabhat gangwar
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architectureHimanshu
 
Software architecture
Software architectureSoftware architecture
Software architecture
nazn
 
CBAM
 CBAM CBAM
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
zeal123123
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
 
Component based software development
Component based software developmentComponent based software development
Component based software development
Emmanuel Fuchs
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Mohammed Romi
 
Unit 2
Unit 2Unit 2
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
software-engineering-book
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architectureHimanshu
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
Benoy Ramachandran
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
software-engineering-book
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 

What's hot (20)

Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
software architecture
software architecturesoftware architecture
software architecture
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
CBAM
 CBAM CBAM
CBAM
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Unit 2
Unit 2Unit 2
Unit 2
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architecture
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 

Similar to Unit 1

Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.doc
esrabilgic2
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2
sush-sushma
 
software engineering
software engineeringsoftware engineering
software engineeringparamalways
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptx
haroon451422
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
Tawhidur Rahman Bhuiyan
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
Usman Khan
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
sush-sushma
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
sush-sushma
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
Techglyphs
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Sda 2
Sda   2Sda   2
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
SomnathMule5
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10Dhairya Joshi
 
M azhar
M azharM azhar
M azhar
Mazhar Saleem
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
ssuser9d62d6
 
Software requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptxSoftware requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptx
SomnathMule5
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
IIUI
 

Similar to Unit 1 (20)

Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.doc
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2
 
software engineering
software engineeringsoftware engineering
software engineering
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptx
 
Full Paper
Full PaperFull Paper
Full Paper
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
 
Software architecture in practice unit1 1
Software architecture in practice unit1 1Software architecture in practice unit1 1
Software architecture in practice unit1 1
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Sda 2
Sda   2Sda   2
Sda 2
 
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10
 
M azhar
M azharM azhar
M azhar
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
 
Software requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptxSoftware requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptx
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
81-T48
81-T4881-T48
81-T48
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
 

More from KRAMANJANEYULU1

Unit 1
Unit 1Unit 1
Unit 3
Unit 3Unit 3

More from KRAMANJANEYULU1 (7)

Unit 6
Unit 6Unit 6
Unit 6
 
Unit 5
Unit 5Unit 5
Unit 5
 
Unit 4
Unit 4Unit 4
Unit 4
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 2
Unit 2Unit 2
Unit 2
 
Unit 1
Unit 1Unit 1
Unit 1
 
Unit 3
Unit 3Unit 3
Unit 3
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 

Unit 1

  • 3.  UNIT-I:  Envisioning Architecture  The Architecture Business Cycle, What is Software Architecture, Architectural patterns, reference models, reference architectures, architectural structures and views.  Creating and Architecture Quality Attributes, Achieving qualities, Architectural styles and patterns, designing the Architecture, Documenting software architectures, Reconstructing Software Architecture.
  • 4. 1.1The Architecture Business Cycle  The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.  Software architecture is a result of technical, business, and social influences.  Its existence in turn affects the technical, business, and social environments that subsequently influence future Architectures. We call this cycle of influences, from the environment to the architecture and back to the environment
  • 5. Contents of Software Architecture  Definition for Software Architecture  Architecture process advice  Good Architecture Rules.  What Software Architecture Is and It isn`t.  Example for software Architecture.
  • 6. 1.2- What is Software Architecture  Software architecture the structures of large software systems.  Software architecture is the blue print (or) carefully designed structure of system.  The software architecture of a program or computing system is the structure or structures of the system.  Software architecture is a result of technical, business, and social influences
  • 7. Architecture process advice  1.Architecture should be product of a single architect or small group with identified leader  2.Architect should have functional requirements and a list of quality attributes.  3.Architecture should be well-documented with at least one static and one dynamic view.  4.Architecture should be circulated to stakeholders, who are active in review.  5.Architecture should be analyzed (quantitatively and qualitatively) before it is to design.  6.System should be developed incrementally from an initial that includes major communication paths.  7.Architecture should result in a small number of specific resource.
  • 8. Good Architecture Rules  1.Use information hiding to hide computing infrastructure  2.Each module should protect its secrets with a good interface  3.Use well-known architecture to achieve quality attributes.  4.Minimize and isolate dependence on a particular version of a product or tool.  5.Separate producer modules from consumer modules.  6.For parallel-processing, use well-defined processes or tasks.  7.Assignment of tasks or processes to processors should be easily changeable (even at runtime).  8.Use a small number of simple interaction patterns.
  • 9. What Software Architecture Is and It isn`t  What is the nature of the elements? o What is the significance of their separation. o Do they run an separation processes. o Do they run an separation time.  What are the responsibilities of the elements? o What is it they do? o What is their function in the system?  What is the significance of the connections?  (do the connection means that the elements communication with each other). o Control each other. o Send Data to Each other. o Invoke each other. o Synchronize each other.  What is the significance of the layout?
  • 10. Example for software Architecture description for an underwater acoustic simulation
  • 11. 1.3,4,5- Architectural Patterns, Reference Models, and Reference Architectures  Between box-and-line sketches that are the barest of starting points and full-fledged architectures.  Each stage represents the outcome of a set of architectural decisions, the binding of architectural choices. Some of these intermediate stages are very useful in their own right.  Before discussing architectural structures, we define three of them.  1) Architectural Patterns
  • 12.  Architectural Patterns: is a description of element and relation types together with a set of constraints on how they may be used.  A reference model is a division of functionality together with data flow between the pieces. A reference model is a standard decomposition of a known problem into parts that cooperatively solve the problem.  A reference architecture is a reference model mapped onto software elements (that cooperatively implement the functionality defined in the reference model) and the data flows between them
  • 14. 1.6-architectural structures and views  the related terms structure and view when discussing architecture representation.  A view is a representation of a coherent set of architectural elements, as written by and read by system stakeholders.  It consists of a representation of a set of elements and the relations among them.  A structure is the set of elements itself, as they exist in software or hardware.  Architectural structures can by and large be divided into three groups. 1) Module structures 2)Component-and-connector structures 3)Allocation structures
  • 15. 1) Module structures: which are units of implementation. Modules represent a code-based way of considering the system. They are assigned areas of functional responsibility. 2) Component-and-connector structures. Here the elements are runtime components (which are the principal units of computation) and connectors (which are the communication vehicles among components). 3)Allocation structures. Allocation structures show the relationship between the software elements and the elements in one or more external environments in which the software is created and executed.
  • 16.
  • 18. 2.1-Quality Attributes  Achieving quality attributes must be considered throughout design, implementation, and deployment. No quality attribute is entirely dependent on design.  Satisfactory results are a matter of getting the big picture (architecture) as well as the details (implementation) correct.  1)Architecture and Quality Attributes.  2) System Quality Attributes
  • 19.  1) Architecture and Quality Attributes  1)Architecture is critical to the realization of many qualities of interest in a system, and these qualities should be designed in and can be evaluated at the architectural level.  2)Architecture, by itself, is unable to achieve qualities. It provides the foundation for achieving quality, but this foundation will be to no avail if attention is not paid to the details.  Let's begin our tour of quality attributes. We will examine the following three classes:  1)Qualities of the system. We will focus on availability, modifiability, performance, security, testability, and usability.  2)Business qualities (such as time to market) that are affected by the architecture.  3)Qualities, such as conceptual integrity, that are about the architecture itself although they indirectly affect other qualities, such as modifiability.
  • 20.  2) System Quality Attributes  A quality attribute scenario is a quality-attribute-specific requirement. It consists of six parts.  Source of stimulus. This is some entity (a human, a computer system, or any other actuator) that generated the stimulus. Stimulus. The stimulus is a condition that needs to be considered when it arrives at a system.  Environment. The stimulus occurs within certain conditions. The system may be in an overload condition or may be running when the stimulus occurs, or some other condition may be true.  Artifact. Some artifact is stimulated. This may be the whole system or some pieces of  Response. The response is the activity undertaken after the arrival of the stimulus.
  • 21. Achieving Qualities  Introducing Tactics.  Availability Tactics  Modifiability Tactics  Performance Tactics  Security Tactics  Testability Tactics  Usability Tactics
  • 22. Introducing Tactics.  A tactic is a design decision that influences the control of a quality attribute response.  A system design consists of a collection of decisions.  Some of these decisions help control the quality attribute responses.  others ensure achievement of system functionality.
  • 23. Tactics are intended to control responses to stimuli
  • 24. Availability Tactics  Goal of availability tactics  Many of the tactics we discuss are available within standard execution environments such as operating systems, application servers, and database management systems.  tactics used so that the effects of using a particular one can be considered during design and evaluation.  All approaches to maintaining availability involve some type of redundancy, some type of health monitoring to detect a failure, and some type of recovery when a
  • 25. Goal of availability tactics Summary of availability tactics
  • 26. Modifiability Tactics  One set has as its goal reducing the number of modules that are directly affected by a change.  A second set has as its goal limiting modifications to the localized modules.  A third set of tactics has as its goal controlling deployment time and cost.
  • 27. Goal of modifiability tactics Summary of modifiability tactics
  • 28. Performance Tactics  The goal of performance tactics is to generate a response to an event arriving at the system within some time constraint.  The event can be single or a stream and is the trigger for a request to perform computation.  It can be the arrival of a message,  the expiration of a time interval,  the detection of a significant change of state in the system's environment,.  The system processes the events and generates a response.
  • 29. Goal of performance tactics Summary of performance tactics
  • 30. Security Tactics  Tactics for achieving security can be divided into those concerned with resisting attacks.  those concerned with detecting attacks, and those concerned with recovering from attacks.  Using a familiar analogy, putting a lock on your door is a form of resisting an attack.  having a motion sensor inside of your house is a form of detecting an attack,  having insurance is a form of recovering from an attack.
  • 31. Goal of security tactics Summary of tactics for security
  • 32. Testability Tactics  The goal of tactics for testability is to allow for easier testing when an increment of software development is completed.  The testing consumes such a high percentage of system development cost.  The architect can do to reduce this cost will yield a significant benefit. .
  • 33. Goal of testability tactics Summary of testability tactics
  • 34. Usability Tactics  usability is concerned with how easy it is for the user to accomplish a desired task and the kind of support the system provides to the user.  Two types of tactics support usability,  each intended for two categories of "users.“  The first category, runtime, includes those that support the user during system execution.  The second category is based on the iterative nature of user interface design and supports the interface developer at design time.
  • 35. Goal of runtime usability tactics Summary of runtime usability tactics
  • 36. 2.4- Designing the Architecture  We have observed two traits common to virtually all of the successful object-oriented systems we have encountered, and noticeably absent from the ones that we count as failures:  the existence of a strong architectural vision and the application of a well-managed iterative and incremental development cycle.  Designing an architecture to satisfy both quality requirements and functional requirements. We call this method Attribute- Driven Design (ADD)  . ADD takes as input a set of quality attribute scenarios and employs knowledge about the relation between quality attribute achievement and architecture in order to design the architecture.  The ADD method can be viewed as an extension to most other development methods, such as the Rational Unified Process
  • 38. 2.5- Documenting Software Architectures  Stakeholder 1)Architect and Engineers  2) Architect and Designers of constituent parts 3) Implementers  4) Testers and integrators  Use To negotiate and make tradeoffs among competing requirements. To resolve resource contention and establish performance .  To provide inviolable constraints (plus exploitable freedoms) on downstream development activities.  To specify the correct black-box behavior of the pieces that must
  • 39. 2.6 - Reconstructing Software Architectures  RECONSTRUCTION ACTIVITIES Software architecture reconstruction comprises the following activities, carried out iteratively:  Information extraction. The purpose of this activity is to extract information from various sources.  Database construction. Database construction involves converting this information into a standard form such as the Rigi Standard Form (a tuple- based data format in the form  View fusion. View fusion combines information in the database to produce a coherent view of the architecture.  Reconstruction. The reconstruction activity is where the main work of building abstractions and various representations of the data to generate an architecture representation takes place.