Eduardo Holder Gestão Estratégica de Custos Por Eduardo Holder.
Evaluating Software Architectures RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz.
-
date post
20-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Evaluating Software Architectures RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz.
Evaluating Software Architectures
RiSE’s SeminarsClement’s book :: Chapters 05
Eduardo Cruz
2
Summary
About Software Architecture Quality Attribute Characterizations
Performance Availability Modifiability Characterizations Inspire Questions
Using Quality Attributes Characterizations in ATAM Attribute-Based Architectural Styles
3
About software architecture
4
What is software architecture ?
It is the manifestation of the earliest design decisions
It is a reusable, transferable abstraction of a system
5
Why software architecture is important
Is a vehicle for communication among stakeholders Architectural View Functional View Concurrency View Code View Development view Physical View
6
Why evaluate an architecture ?
The sooner, the better Avoid disasters
7
Who’s involved
Evaluation team Stakeholders
8
Understanding Quality Attributes
Quality Attributes - Prerequisite of an evaluation Common incomplete quality atribute requirements
and architecture documentation
9
Architecture Evaluation Focus on Quality Attributes
Evaluate the architecural design decisions to determine if they address the quality attribute scenarios
Understanding Quality Attributes
10
Quality attribute parts
AvailabilityModifiabilityPerformanceSecurityTestabilityUsability
Designing the Architecture :: Chapter 7
ARTIFACTSTIMULUS RESPONSE RESPONSEMEASURE
SOURCE OFSTIMULUS ENVIRONMENT
11
Functionality and Quality Attributes
Must be considered throughout: design, implementation and deployment Usability, Modifiability, Performance
Architecture itself is unable to achieve quality if attention is not paid to the details
With complex systems, quality attributes can never be achieved in isolation
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
12
Quality attribute characterizations
13
Quality Attribute Characterizations
Different in its stimuli Performance – Arrival of events Availability – Fault occuring
Different in its responses Modifiability – persons-day required to make a requested
change Security – how many intruders will break into the systems
and what resources they will be able to access
14
Performance
Ability of a system to allocate its computational resources to requests for service in a manner that will satisfy timing requirements
Resource types Uni/multi processors, memory, devices
Resource arbitration On-line/Off-line Scheduling, Synchronization
Resource Allocation Load Balancing
Resource consumption Execution Time, Memory Size, Network Bandwith
15
Availability
Concerned with system failure and its consequence Failure concerns
How is detected How frequently may occur Consequences How long is out of operation How to prevent
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
16
Sample Availability-related questions
Stimuli How are hadware and software failures identified ? Can active as well passive failures be identified ?
Architectural decisions If redundancy is used in the architecture …
what type of redundancy (analytic, replication, functional) ? How many replicas of each critical component and connection
are used ? Responses
Are there levels of service available ? How quickly ca a backup be made/restored ?
17
Modifiability
Ability of a system to be changed after is implemented
18
Modifiability
Cost of change What to change
Hardware, OS, Performance, number of users When and Who
Compile, build, setup, execution Specify, design, implement, test, deploy
Time and money, measured
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
19
Security
System's ability to resist to unauthorized usage while still providing its service to legitimate users
Attack – Attempt to breach security
Access data, modify data, deny service
Characteristics Nonrepudiation
You did (Transaction) Confidentiality
Protected data (income tax) Integrity
Cannot change data Assurance
You are who purport to be (credit card)
Availability Free of DOS
Auditing Keep track of activities
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
20
Usability
How easy it is for the user to accomplish a desired task and the kind of support the system provides
Learning system features Using system efficiently Minimizing the impact of errors Adapting the system to user needs Increasing confidence and satisfaction
“Usability is not architectural”
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
21
Using Quality Attributes Characterizations in ATAM
22
Modifiability Characterization
Stimuli Architectural Decisions Responses
Chage Request
Function
Platform
Quality Attribute
Operating Environment
Indirection
Encapsulation
Separations
Addition
Modification
Deletion
Characterization inspires questions
23
Characterization inspires questions
A beginner can make use of existing questions It requires more expertise in a quality attribute to
devise new questions from the characterizations It requires still more expertise to understand how to
respond to the questions
Template for Analysis of an Architectural Approach
Scenario #: A12 Scenario: Detect and recover from HW failure of main switch
Attributes Availability
Environment Normal Operations
Stimulus One of the CPUs fails
Response 0.999999 availability of the swith
Architectural Decisions
Sensitivity Tradeoff Risk Nonrisk
Backup CPU S2 R8
No backup data channel
S3 T3 R9
Heartbeat S5 N12
Reasoning Ensures no common mode failure by using different hardware and operating systems (see Risk R8) Worst case rollover is accomplished in 4 seconds as computing state takes that long at worstGuaranteed to detect failure with 2 seconds based on rates of heartbeat and watchdog
Primary CPU (OS1)
Backup CPU w/ watchdog (OS2)
Primary CPU (OS1)Architecural diagram
25
Quality Scenarios
Source of stimulus Some entity: Human, computer
Stimulus Condition that need to be considered when it arrives at a system
Environment Stimulus occurs within certain conditions
Artifact What is stimulated. The whole system or some pieces of it
Response Activity undertaken after the arrival of the stimulus
Response measure Response should be measurable, so that the requirement can be tested.
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
26
ABAS – Attribute-Based Architectural Styles
Related architectural and analysis techniques in a package Problem description Stimuli/responses Architectural style Analysis
Another source of inspiration and reference when criating the attribute specific questions
27
Business Qualities System Qualities x Business
Qualities Cost, schedule, market,
marketing Time to market
Commercial off-the-shelf (COTS) Cost and benefit
Exceed budget Projected lifetime of the system
Portability/usability Targeted market Rollout schedule
Base functionality w/ features later
Integration with legacy system
Software architecture in PracticeChapter 4 – Understanding Quality Attributes
28
References
[Clements, 2001] P. Clements, R. Kazman, M. Klein, Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley, 2001, pp. 368.
[Bass, 2003] L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 2nd Edition, Addison-Wesley, 2003, pp. 560.
Images: Stock.XCHNG