1 / 28

Evaluating Software Architectures

Evaluating Software Architectures. RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz. Summary. About Software Architecture Quality Attribute Characterizations Performance Availability Modifiability Characterizations Inspire Questions

johana
Télécharger la présentation

Evaluating Software Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evaluating Software Architectures RiSE’s Seminars Clement’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. Understanding Quality Attributes • Architecture Evaluation • Focus on Quality Attributes • Evaluate the architecural design decisions to determine if they address the quality attribute scenarios

  10. Availability Modifiability Performance Security Testability Usability Designing the Architecture :: Chapter 7 Quality attribute parts ARTIFACT STIMULUS RESPONSE RESPONSE MEASURE SOURCE OF STIMULUS ENVIRONMENT

  11. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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

  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. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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

  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. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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

  19. 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 Security

  20. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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”

  21. Using Quality Attributes Characterizations in ATAM

  22. Characterization inspires questions

  23. Characterization inspires questions • A beginner can make use of existing questions • It requires more expertise in a quality attributeto devise new questions from the characterizations • It requires still more expertise to understand how to respond to the questions

  24. Template for Analysis of an Architectural Approach Primary CPU (OS1) Architecural diagram Primary CPU (OS1) Backup CPU w/ watchdog (OS2)

  25. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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.

  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. Software architecture in PracticeChapter 4 – Understanding Quality Attributes 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

  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

More Related