+ All Categories
Home > Documents > Software Architectures - cse.hcmut.edu.vn

Software Architectures - cse.hcmut.edu.vn

Date post: 01-Nov-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
32
Lecture 7 Software Architectures
Transcript
Page 1: Software Architectures - cse.hcmut.edu.vn

Lecture 7

Software Architectures

Page 2: Software Architectures - cse.hcmut.edu.vn

24-Feb-102

Roadmap of the course What is software architecture?

Designing Software Architecture Requirements: quality attributes or qualities

How to achieve requirements : tactics

How do tactics lead to architectural styles

Case studies on architectural styles, observe the achieved qualities

The ADD method

Documenting software architecture Bass and all

Hofmeister and all the “four views”

Today:Analyzing and evaluating an architecture

Page 3: Software Architectures - cse.hcmut.edu.vn

Architectural evaluation - why

24-Feb-103

Architecture tells about system properties Effects of design decisions are predictable => architecture is

analyzable

Architecture drives the software system => economic value Good evaluation methods => low-cost risk mitigation

Architecture evaluation good to be standard part of every architecture-based development method

Page 4: Software Architectures - cse.hcmut.edu.vn

Architectural evaluation - when

24-Feb-104

Cost-effective: early in lifecycle Easier to correct problems Quality cannot be appended to a system later in lifecycle Developing architecture Evaluate taken/under consideration decisions Choose among alternatives or competing architectures

Other times in lifecycle Completed architecture: validate it before development Legacy system under consideration, inherited system, large

software system to be aquired Planned or unplanned

Page 5: Software Architectures - cse.hcmut.edu.vn

Architectural evaluation - cost

24-Feb-105

Cost = staff time required of the participants Aproximative cost for AT&T: 70 staff-days 300 full scale architecture reviews for projects requiring

minimum 700 staff-days

ATAM reviews: about 36 staff-days For evaluation team Other stakeholders’ time counts too

Time included for training the evaluation team!

Page 6: Software Architectures - cse.hcmut.edu.vn

Architectural evaluation - benefits

24-Feb-106

Financial Forced preparation for the review Captured rationale Early detection of problems Validation of requirements Improved architectures

Overall: increased quality, controlled cost, decreased budget risk

Page 7: Software Architectures - cse.hcmut.edu.vn

Architectural evaluation - techniques

24-Feb-107

Questioning techniques Rely on thought experiments to check architecture suitability Hypothetical architectures too Scenario-based ATAM CBAM

Checklist- or questionaire-based Measuring techniques Rely on quantitative measures over existing artifact Architectural metrics Simulations, prototypes

Page 8: Software Architectures - cse.hcmut.edu.vn

Properties of successful evalution

24-Feb-108

Clear goals and requirements for architecture Controlled scope Cost-effectiveness Key personnel availability Competent evaluation team Managed expectations Final report

Page 9: Software Architectures - cse.hcmut.edu.vn

24-Feb-109

ATAM Architecture Tradeoff Analysis Method How well an architecture satisfies particular goals? Provides insight into how quality goals interact, how they trade

off Has its origins in SAAM (Software Architecture Analysis

Method) from the early 1990s

Page 10: Software Architectures - cse.hcmut.edu.vn

24-Feb-1010

Participants in ATAM The evaluation team Project decision makers Architecture stakeholders

Page 11: Software Architectures - cse.hcmut.edu.vn
Page 12: Software Architectures - cse.hcmut.edu.vn

24-Feb-1012

Outputs of the ATAM A concise presentation of the architecture Articulation of the business goals Quality requirements in terms of a collection of

scenarios Mapping of architectural decisions to quality

requirements A set of identified sensitivity and tradeoff points A set of risks and non-risks A set of risk themes

Page 13: Software Architectures - cse.hcmut.edu.vn

Other outputs

24-Feb-1013

Secondary outputs Architecture representation survives evaluation Scenarios too Analysis can serve as statement of rationale for architectural

decisions Made or not

Intangible goals Social, community sense Better communication Improved understanding

Page 14: Software Architectures - cse.hcmut.edu.vn

24-Feb-1014

Phases of the ATAM Phase 0 Partnership and preparation

Phase 1 Evaluation

Phase 2 Evaluation continued

Phase 3 Follow-up

Page 15: Software Architectures - cse.hcmut.edu.vn

24-Feb-1015

Steps of evaluation phase 1 Step 1 Present the ATAM

Step 2 Present business drivers

Step 3 Present architecture

Step 4 Identify architectural approaches

Step 5 Generate quality attribute utility tree

Step 6 Analyze architectural approaches

Page 16: Software Architectures - cse.hcmut.edu.vn

24-Feb-1016

Step 2: Present business goals Describe The system’s most important functions Any relevant technical, managerial, economic, or political

constraints The business goals and context as they relate to the project The major stakeholders The architectural drivers (the major quality attribute goals)

Page 17: Software Architectures - cse.hcmut.edu.vn

24-Feb-1017

Step 3: Present architecture Driving architectural requirements, measurable

quantities associated with these, standards/models/approaches for meeting these

Important architectural information Context diagram Module or layer view Component and connector view Deployment view

Page 18: Software Architectures - cse.hcmut.edu.vn

24-Feb-1018

Step 3: Present architecture con’t Architectural approaches, patterns, tactics employed,

what quality attributes they address and how they address those attributes

Use of COTS and their integration Most important use case scenarios Most important change scenarios Issues/risks w.r.t. meeting the driving requirements

Page 19: Software Architectures - cse.hcmut.edu.vn

24-Feb-1019

Step 4: identify architectural approaches Catalog the evident patterns and approaches Based on step 3 Serves as the basis for later analysis

Page 20: Software Architectures - cse.hcmut.edu.vn

24-Feb-1020

Step 5: Generate quality attribute utility tree Utility tree Present the quality attribute goals in detail

Quality attribute goals are Identified, prioritized, refined Expressed as scenarios

Utility is an expression of the overall goodness of the system Quality attributes form the second level being components of

utility

Page 21: Software Architectures - cse.hcmut.edu.vn

24-Feb-1021

Step 5: Generate quality attribute utility tree con’t Scenarios are prioritized Depending on how important they are and Depending on how difficult it will be for the architecture to

satisfy a scenario

Page 22: Software Architectures - cse.hcmut.edu.vn

24-Feb-1022

Page 23: Software Architectures - cse.hcmut.edu.vn

24-Feb-1023

Step 6: Analyze architectural approaches Examine the highest ranked scenarios The goal is for the evaluation team to be convinced that

the approach is appropriate for meeting the attribute-specific requirements

Scenario walkthroughs Identify and record a set of sensitivity points and tradeoff

points, risks and non-risks Sensitivity and tradeoff points are candidate risks

Page 24: Software Architectures - cse.hcmut.edu.vn

24-Feb-1024

Page 25: Software Architectures - cse.hcmut.edu.vn

24-Feb-1025

Steps of evaluation phase 2 Step 7 Brainstorm and prioritize scenarios

Step 8 Analyze architectural approaches

Step 9 Present results

Page 26: Software Architectures - cse.hcmut.edu.vn

24-Feb-1026

Step 7: Brainstorm and prioritisescenarios Utility tree shows architects view on the quality attributes Here the focus is on the other stakeholders view on the

quality attributes and scenarios based on these Which are the most meaningful and important scenarios w.r.t.

users etc.

Page 27: Software Architectures - cse.hcmut.edu.vn

24-Feb-1027

Step 8: Analyse architectural approaches Highest ranked scenarios from step 7 are presented to the

architect Explain how relevant architectural decisions contribute to

realizing each one

Page 28: Software Architectures - cse.hcmut.edu.vn

24-Feb-1028

Step 9: Present results Outputs: The architectural approaches documented The set of scenarios and their prioritization from the

brainstorming The utility tree The risks discovered The non-risks documented The sensitivity points and tradeoff points found

Page 29: Software Architectures - cse.hcmut.edu.vn

Other methods

24-Feb-1029

CBAM Cost-Based Analysis Method Uses ATAM

Measuring technics Answer specific questions about specific qualities Need the presence of a design/implementation artifact (the

object to measure) RMA – rate monotonic analysis: quantitative technique for

ensuring that a set of fixed-priority processes can be scheduled on a CPU Can be performed as architecture is being evolved

ADL, formal notations and languages

Page 30: Software Architectures - cse.hcmut.edu.vn

CBAM

24-Feb-1030

Biggest trade-offs influence economics Resources

Earlier: costs Of building system, not long term

Now also: benefits Economic models needed Consider costs, benefits, risks, schedule implications

Basic idea of CBAM Architectural strategies quality attributes benefits for

stakeholders (utilities)

Page 31: Software Architectures - cse.hcmut.edu.vn

CBAM Utilities

24-Feb-1031

Architectural strategy Provides specific level of utility to stakeholders Has cost Takes time to implement

Return On Investment (ROI) Ratio of benefit to cost

Utility-response curves Depicts how the utility derived from a particular response varies as

the response varies Best-case, worst-case, current-case, desired-case response interpolation

Side effects

Page 32: Software Architectures - cse.hcmut.edu.vn

Some formulas

24-Feb-1032

Overal utility of architectural strategy across scenarios Strategy i Scenario j Benefit Bi

Benefit bi,j

Weight Wj

Utility U Return over investment ROI, cost C Bi = ∑j (bi,j ×Wj) bi,j = Uexpected-Ucurrent

Ri = Bi/Ci


Recommended