SlideShare a Scribd company logo
Ms. Rabia Iftikhar
rabia.iftikhar@faculty.muet.edu.pk
SOFTWARE DESIGN AND ARCHITECTURE
LECTURE 6-9
Disclaimer: The contents of this
presentation have been taken from
multiple sources, i.e. Books,
Research articles, Thesis
publications, and websites.
The material used in this presentation i.e., pictures/graphs/text, etc. is solely
intended for educational/teaching purpose, offered free of cost to the students for
use under special circumstances of Online Education due to COVID-19 Lockdown
situation and may include copyrighted material - the use of which may not have
been specifically authorised by Copyright Owners. It’s application constitutes Fair
Use of any such copyrighted material as provided in globally accepted law of many
countries. The contents of presentations are intended only for the attendees of the
class being conducted by the presenter.
Fair Use Notice
Outlines
Understanding Quality Attributes
Business considerations
Architecture and Quality Attributes
Quality Attributes
QA Scenario
QA Scenario Generation
Availability
Modifiability
Performance
Security
Testability
Usability
Business Considerations
Determine qualities to be part of the system’s architecture
Quality attributes
Such qualities are non-functional
Functionality
Basic statement of the system’s capabilities, services, behaviour
Sometimes the only development concern
Systems often need to be redesigned for
Maintainability
Portability
Scalability
Speed
Security etc
Business Considerations
Functionality and quality attributes: orthogonal
We therefore need to separate concerns
Functionality: the ability of the system to do the work for which it was intended
Functionality can be achieved by using various possible structures
System can exist also as a monolithic module with no structure
Architecture And Quality Attributes
Quality attributes considered during
 Design, implementation, deployment
No attribute is dependent only on one phase
Architecture critical for realizing many quality attributes
These qualities designed and evaluated at architectural level
Architecture does not achieve these qualities
They are achieved via details (implementation)
Quality Attributes
System qualities
 Availability, modifiability, performance, security, testability, usability
Of interest to software people since 70s
Many definitions, own communities
Problems
Non-operational definitions
Aspects belong to which quality (e.g. system failure? )
Distinct vocabularies
Business qualities
Time-to-market, etc
Architecture qualities
Conceptual integrity, etc
Quality Attributes Scenarios
Quality-attribute-specific requirement, containing
Source of stimulus
Human/computer system/other actuator generating the stimulus
Stimulus
Condition that needs to be evaluated when arrives at the system
Environment
The conditions the system is in (overload/running/failed etc)
Artifact
Something that is stimulated (whole system/ certain system part)
Response
Activity undertaken upon stimulus arrival
Response measure
Response should be measurable in some manner so that the requirement can be tested
Quality Attributes Scenarios
Quality Attributes Scenarios
Draw a sample availability scenario
An unanticipated external message is received by a process during normal operation. The process
informs the operator of the receipt of the message and continues to operate with no downtime.
Quality Attributes Scenarios
General QA scenarios
System independent
Can potentially pertain to any system
Example
"A request arrives for a change in functionality, and the change must be made at a particular time within the development process
within a specified time.”
Concrete QA scenarios
Specific to the particular system under consideration
Same role as use cases for specifying functional requirements
Not every system-specific scenario has all of the six parts. (only necessary for testing)
Example
“A request arrives to add support for a new browser to a Web-based system, and the change must be made within two weeks”
QA Scenario Generation
We need to generate meaningful QA requirements for a system.
Requirements gathering phase
Starting point, but not disciplined enough recording
We generate concrete QA scenarios
First create general scenarios from tables
From them derive system-specific scenarios
Redundancy corrected
Availability
Readiness of usage
Concerned with system failures and consequences
Failure
Deviation from intended functional behaviour
Observable by system users
Failure vs fault
Fault: event which may cause an error
Failure
Availability
Availability Concerns
How system failure is detected
How frequently system failure may occur
What happens when a failure occurs
How long is a system allowed to be inoperable
How to prevent failures
What kind of notifications are required when a failure occurs
Availability
Repair and maintenance
Time to repair: time until failure is no longer observable
Automatic repair (no failure, not observable)
Maintenance: scheduled downtimes
The availability of a system is the probability that it will be operational when it is needed
Typically defined as:
Mean time to fail/(mean time to fail+mean time to repair)
Availability General Scenarios
Modifiability
Concerns cost of change
It brings up following two concerns
What can change (the artifact)?
Any aspect of a system: add/ delete/ modify
The functions the system computes
The platform the system exists on (=> portability)
HW, OS, MW
System environment
Systems to interoperate with, communication protocols
System qualities
Reliability, performance, future modifiability
Capacity
Number of users supported, of supported operations
Modifiability
It brings up following two concerns
When and by whom is the change made?
Implementation
Modifying source code
Compile-time
Build
Configuration setup
Execution
By
developers, end users, system administrator
Upon specifying a change
New implementation must be designed, implemented, tested, deployed
All these cost time and money
Time and money can be measured
Modifiability General Scenarios
Performance
Concerned with timing
how long it takes a system to respond when an event occurs
Events
Interrupts, messages, requests from users, passage of time
Complication
Number of event sources and arrival patterns
Performance
Arrival patterns for events
Periodic
E.g., every 10 ms
Most often seen in real-time systems
Stochastic
Events arrive according to some probabilistic distribution
Sporadical
Performance
System Response Measures
Latency
Time between stimulus arrival and system’s response to it
Deadlines in processing
Throughput in the system
Number of transactions system can process in a second
Jitter of the response
Variation in latency
Number of events not processed
Because system too busy to respond
Lost data
Because system too busy
Performance General Scenarios
Security
Measure of system’s ability
to resist unauthorized usage
to provide services to legitimate users
Attack: attempt to breach security
Unauthorized attempt to access data/services
Unauthorized attempt to modify data
Attempt to deny services to legitimate users
Example attacks
Theft of money by electronic means
Theft of credit card numbers
Destruction of files on computer systems
Denial-of-service attacks by worms, viruses
Security
Security components
Nonrepudiation: Transaction cannot be denied by any of its parties
Confidentiality: Data/service protected from unauthorized access
Integrity: Data/services delivered as intended
Assurance: Parties in a transactions are who they say they are
Availability: System ready for legitimate use
Auditing: System tracks activities within it to be able to reconstruct them
Security General Scenarios
Sample Security Scenario
Security
Security scenario response
Authenticates user
Hides identity of user
Blocks/allows access to data/services
Grants/withdraws permission to access data/services
Records access/modification or attempts
Stores data in certain formats
Recognizes access/usage roles
Informs users on other systems
Restricts availability of services
Security
Security scenario response measure
Time/effort/resources for circumventing security measures successfully
Probability of detecting attack, identifying attacker
Percentage of services still available under DoS attack
Restored data/services
Extent to which data/services damaged or legitimate access denied
Testability
Easiness with which SW can demonstrate its faults through testing
Testing: 40% costs of developing good systems
Probability that SW will fail on its next test execution
Assuming the software has at least one fault
Response measures
Effectiveness of tests (in finding faults)
How long do satisfiable tests last
Testable system
It must be possible
 to control each component’s internal state and inputs
 To observe the outputs
Test harness
 Specialized software designed for exercising the SW under test
Testability
Who does it
Various developers, testers, verifiers, users
Last step of SW development cycle
What to test
Portions of code
Design
Complete system
Testability general scenarios
Usability
Concerned with
How easy it is for the user to accomplish a desired task
User support type the system provides
Usability problems are usually discovered during prototype building and user testing
Later in process and deeper in architecture the repair needs to go: the more expensive
Usability areas
Learning system features
Using a system efficiently
Minimizing the impact of errors
Adapting system to user needs
Increasing confidence and satisfaction
Usability General Scenarios
Usability
Usability Scenario Response
System provides responses to support
learn system features
use system efficiently
minimize impact of errors
adapt system
feel comfortable
Stimuli
Communicating Concepts
General scenarios
Need to make stakeholders communicate
Each attribute community has own vocabulary
Different terms can mean the same thing
Stimuli can occur during runtime or before
Architect’s job: understand which stimuli
Represent the same occurrence
Are aggregates of other stimuli
Are independent
When stimuli relations are clear
Communicate them to stakeholders
Use appropriate language for each stakeholder category
Architecture Qualities
Conceptual Integrity
Completeness and Correctness
Build ability

More Related Content

What's hot

Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
koolkampus
 
Sda 6
Sda   6Sda   6
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
RamanamurthyBanda1
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
Òscar Vilaplana
 
Sda 2
Sda   2Sda   2
Bank managment system
Bank managment systemBank managment system
Bank managment system
Deepam Aggarwal
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Gang Tao
 
Design patterns
Design patternsDesign patterns
Design patterns
ACCESS Health Digital
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
Ivano Malavolta
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
Priyanka Shetty
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Dhivyaa C.R
 
Unit 1-overview of software engineering
Unit 1-overview of software engineering Unit 1-overview of software engineering
Unit 1-overview of software engineering
arvind pandey
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
ssuser3a47cb
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes
arvind pandey
 
Unit 1
Unit 1Unit 1
Software Change in Software Engineering SE27
Software Change in Software Engineering SE27Software Change in Software Engineering SE27
Software Change in Software Engineering SE27
koolkampus
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
arvind pandey
 
System engineering
System engineeringSystem engineering
System engineering
Slideshare
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty
 

What's hot (20)

Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
 
Sda 6
Sda   6Sda   6
Sda 6
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
Sda 2
Sda   2Sda   2
Sda 2
 
Bank managment system
Bank managment systemBank managment system
Bank managment system
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
 
Unit 1-overview of software engineering
Unit 1-overview of software engineering Unit 1-overview of software engineering
Unit 1-overview of software engineering
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes
 
Unit 1
Unit 1Unit 1
Unit 1
 
Software Change in Software Engineering SE27
Software Change in Software Engineering SE27Software Change in Software Engineering SE27
Software Change in Software Engineering SE27
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
 
System engineering
System engineeringSystem engineering
System engineering
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 

Similar to Sda 3

Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
Kamalika Guha Roy
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05
Luktalja
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
System testing
System testingSystem testing
System testing
Abdullah-Al- Mahmud
 
INCOSE 20100121
INCOSE 20100121INCOSE 20100121
INCOSE 20100121
wday
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
Adil Mehmoood
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
Nur Islam
 
CohenNancyPresentation.ppt
CohenNancyPresentation.pptCohenNancyPresentation.ppt
CohenNancyPresentation.ppt
mypc72
 
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber SecurityAFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
Djindo Lee
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
Nishant Worah
 
Understanding Test Environments Management
Understanding Test Environments ManagementUnderstanding Test Environments Management
Understanding Test Environments Management
Enov8
 
Information Systems Life Cycle
Information Systems Life CycleInformation Systems Life Cycle
Information Systems Life Cycle
4goggas
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
Rizwan Kabir
 
Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1
Mohamed Tarek
 
Application and Website Security -- Developer Edition: Introducing Security I...
Application and Website Security -- Developer Edition:Introducing Security I...Application and Website Security -- Developer Edition:Introducing Security I...
Application and Website Security -- Developer Edition: Introducing Security I...
Daniel Owens
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar Sree
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov Maksym
Kuberton
 
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems Lifecycle
MISY
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
fiona_rozario
 

Similar to Sda 3 (20)

Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
System testing
System testingSystem testing
System testing
 
System testing
System testingSystem testing
System testing
 
INCOSE 20100121
INCOSE 20100121INCOSE 20100121
INCOSE 20100121
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
 
CohenNancyPresentation.ppt
CohenNancyPresentation.pptCohenNancyPresentation.ppt
CohenNancyPresentation.ppt
 
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber SecurityAFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
AFITC 2018 - Using Process Maturity and Agile to Strengthen Cyber Security
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Understanding Test Environments Management
Understanding Test Environments ManagementUnderstanding Test Environments Management
Understanding Test Environments Management
 
Information Systems Life Cycle
Information Systems Life CycleInformation Systems Life Cycle
Information Systems Life Cycle
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
 
Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1
 
Application and Website Security -- Developer Edition: Introducing Security I...
Application and Website Security -- Developer Edition:Introducing Security I...Application and Website Security -- Developer Edition:Introducing Security I...
Application and Website Security -- Developer Edition: Introducing Security I...
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov Maksym
 
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems Lifecycle
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
 

Recently uploaded

Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball playEric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
enizeyimana36
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 

Recently uploaded (20)

Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball playEric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
Eric Nizeyimana's document 2006 from gicumbi to ttc nyamata handball play
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 

Sda 3

  • 1. Ms. Rabia Iftikhar rabia.iftikhar@faculty.muet.edu.pk SOFTWARE DESIGN AND ARCHITECTURE LECTURE 6-9 Disclaimer: The contents of this presentation have been taken from multiple sources, i.e. Books, Research articles, Thesis publications, and websites.
  • 2. The material used in this presentation i.e., pictures/graphs/text, etc. is solely intended for educational/teaching purpose, offered free of cost to the students for use under special circumstances of Online Education due to COVID-19 Lockdown situation and may include copyrighted material - the use of which may not have been specifically authorised by Copyright Owners. It’s application constitutes Fair Use of any such copyrighted material as provided in globally accepted law of many countries. The contents of presentations are intended only for the attendees of the class being conducted by the presenter. Fair Use Notice
  • 3. Outlines Understanding Quality Attributes Business considerations Architecture and Quality Attributes Quality Attributes QA Scenario QA Scenario Generation Availability Modifiability Performance Security Testability Usability
  • 4. Business Considerations Determine qualities to be part of the system’s architecture Quality attributes Such qualities are non-functional Functionality Basic statement of the system’s capabilities, services, behaviour Sometimes the only development concern Systems often need to be redesigned for Maintainability Portability Scalability Speed Security etc
  • 5. Business Considerations Functionality and quality attributes: orthogonal We therefore need to separate concerns Functionality: the ability of the system to do the work for which it was intended Functionality can be achieved by using various possible structures System can exist also as a monolithic module with no structure
  • 6. Architecture And Quality Attributes Quality attributes considered during  Design, implementation, deployment No attribute is dependent only on one phase Architecture critical for realizing many quality attributes These qualities designed and evaluated at architectural level Architecture does not achieve these qualities They are achieved via details (implementation)
  • 7. Quality Attributes System qualities  Availability, modifiability, performance, security, testability, usability Of interest to software people since 70s Many definitions, own communities Problems Non-operational definitions Aspects belong to which quality (e.g. system failure? ) Distinct vocabularies Business qualities Time-to-market, etc Architecture qualities Conceptual integrity, etc
  • 8. Quality Attributes Scenarios Quality-attribute-specific requirement, containing Source of stimulus Human/computer system/other actuator generating the stimulus Stimulus Condition that needs to be evaluated when arrives at the system Environment The conditions the system is in (overload/running/failed etc) Artifact Something that is stimulated (whole system/ certain system part) Response Activity undertaken upon stimulus arrival Response measure Response should be measurable in some manner so that the requirement can be tested
  • 10. Quality Attributes Scenarios Draw a sample availability scenario An unanticipated external message is received by a process during normal operation. The process informs the operator of the receipt of the message and continues to operate with no downtime.
  • 11. Quality Attributes Scenarios General QA scenarios System independent Can potentially pertain to any system Example "A request arrives for a change in functionality, and the change must be made at a particular time within the development process within a specified time.” Concrete QA scenarios Specific to the particular system under consideration Same role as use cases for specifying functional requirements Not every system-specific scenario has all of the six parts. (only necessary for testing) Example “A request arrives to add support for a new browser to a Web-based system, and the change must be made within two weeks”
  • 12. QA Scenario Generation We need to generate meaningful QA requirements for a system. Requirements gathering phase Starting point, but not disciplined enough recording We generate concrete QA scenarios First create general scenarios from tables From them derive system-specific scenarios Redundancy corrected
  • 13. Availability Readiness of usage Concerned with system failures and consequences Failure Deviation from intended functional behaviour Observable by system users Failure vs fault Fault: event which may cause an error Failure
  • 14. Availability Availability Concerns How system failure is detected How frequently system failure may occur What happens when a failure occurs How long is a system allowed to be inoperable How to prevent failures What kind of notifications are required when a failure occurs
  • 15. Availability Repair and maintenance Time to repair: time until failure is no longer observable Automatic repair (no failure, not observable) Maintenance: scheduled downtimes The availability of a system is the probability that it will be operational when it is needed Typically defined as: Mean time to fail/(mean time to fail+mean time to repair)
  • 17. Modifiability Concerns cost of change It brings up following two concerns What can change (the artifact)? Any aspect of a system: add/ delete/ modify The functions the system computes The platform the system exists on (=> portability) HW, OS, MW System environment Systems to interoperate with, communication protocols System qualities Reliability, performance, future modifiability Capacity Number of users supported, of supported operations
  • 18. Modifiability It brings up following two concerns When and by whom is the change made? Implementation Modifying source code Compile-time Build Configuration setup Execution By developers, end users, system administrator Upon specifying a change New implementation must be designed, implemented, tested, deployed All these cost time and money Time and money can be measured
  • 20. Performance Concerned with timing how long it takes a system to respond when an event occurs Events Interrupts, messages, requests from users, passage of time Complication Number of event sources and arrival patterns
  • 21. Performance Arrival patterns for events Periodic E.g., every 10 ms Most often seen in real-time systems Stochastic Events arrive according to some probabilistic distribution Sporadical
  • 22. Performance System Response Measures Latency Time between stimulus arrival and system’s response to it Deadlines in processing Throughput in the system Number of transactions system can process in a second Jitter of the response Variation in latency Number of events not processed Because system too busy to respond Lost data Because system too busy
  • 24. Security Measure of system’s ability to resist unauthorized usage to provide services to legitimate users Attack: attempt to breach security Unauthorized attempt to access data/services Unauthorized attempt to modify data Attempt to deny services to legitimate users Example attacks Theft of money by electronic means Theft of credit card numbers Destruction of files on computer systems Denial-of-service attacks by worms, viruses
  • 25. Security Security components Nonrepudiation: Transaction cannot be denied by any of its parties Confidentiality: Data/service protected from unauthorized access Integrity: Data/services delivered as intended Assurance: Parties in a transactions are who they say they are Availability: System ready for legitimate use Auditing: System tracks activities within it to be able to reconstruct them
  • 28. Security Security scenario response Authenticates user Hides identity of user Blocks/allows access to data/services Grants/withdraws permission to access data/services Records access/modification or attempts Stores data in certain formats Recognizes access/usage roles Informs users on other systems Restricts availability of services
  • 29. Security Security scenario response measure Time/effort/resources for circumventing security measures successfully Probability of detecting attack, identifying attacker Percentage of services still available under DoS attack Restored data/services Extent to which data/services damaged or legitimate access denied
  • 30. Testability Easiness with which SW can demonstrate its faults through testing Testing: 40% costs of developing good systems Probability that SW will fail on its next test execution Assuming the software has at least one fault Response measures Effectiveness of tests (in finding faults) How long do satisfiable tests last Testable system It must be possible  to control each component’s internal state and inputs  To observe the outputs Test harness  Specialized software designed for exercising the SW under test
  • 31. Testability Who does it Various developers, testers, verifiers, users Last step of SW development cycle What to test Portions of code Design Complete system
  • 33. Usability Concerned with How easy it is for the user to accomplish a desired task User support type the system provides Usability problems are usually discovered during prototype building and user testing Later in process and deeper in architecture the repair needs to go: the more expensive Usability areas Learning system features Using a system efficiently Minimizing the impact of errors Adapting system to user needs Increasing confidence and satisfaction
  • 35. Usability Usability Scenario Response System provides responses to support learn system features use system efficiently minimize impact of errors adapt system feel comfortable
  • 37. Communicating Concepts General scenarios Need to make stakeholders communicate Each attribute community has own vocabulary Different terms can mean the same thing Stimuli can occur during runtime or before Architect’s job: understand which stimuli Represent the same occurrence Are aggregates of other stimuli Are independent When stimuli relations are clear Communicate them to stakeholders Use appropriate language for each stakeholder category