《质量属性》由会员分享,可在线阅读,更多相关《质量属性(48页珍藏版)》请在金锄头文库上搜索。
1、Software Architecture,Wang ,4: Creating an Architecture: Understanding Quality Attributes,2018/10/27,Software Architecture,3/48,2018/10/27,3,Topics,Functionality and Architecture Architecture and Quality Attributes System Quality Attributes Quality Attribute Scenarios in Practice Other System Qualit
2、y Attributes Business Qualities Architecture Qualities Exercise,2018/10/27,Software Architecture,4/48,2018/10/27,4,Functionality and Architecture,Functionality and quality attributes are orthogonal Functionality may be achieved through the use of any of a number of possible structures. functionality
3、 is largely independent of structure. Software architecture constrains its allocation to structure when other quality attributes are important.,2018/10/27,Software Architecture,5/48,2018/10/27,Architecture and Quality Attributes,Achieving quality attributes must be considered throughout design, impl
4、ementation, and deployment. Usability involves both architectural and nonarchitectural aspects. Modifiability is determined by how functionality is divided (architectural) and by coding techniques within a module (nonarchitectural). Performance involves both architectural and nonarchitectural depend
5、encies.,2018/10/27,Software Architecture,6/48,2018/10/27,quality attributes can never be achieved in isolation.,security and reliability often exist in a state of mutual tension Points of failure almost every quality attribute negatively affects performance,2018/10/27,Software Architecture,7/48,2018
6、/10/27,Quality Attributes,Qualities of the system. availability, modifiability, performance security, testability, usability. Business qualities Architecture qualities,2018/10/27,Software Architecture,8/48,2018/10/27,Three problems for Design Architecture,The definitions provided for an attribute ar
7、e not operational. A focus of discussion is often on which quality a particular aspect belongs to. Each attribute community has developed its own vocabulary. The performance community has “events“ arriving at a system, the security community has “attacks“ arriving at a system, the availability commu
8、nity has “failures“ of a system, The usability community has “user input.“,2018/10/27,Software Architecture,9/48,2018/10/27,Quality Attribute Scenario,A quality attribute scenario is a (Testable) quality-attribute-specific requirement.,2018/10/27,Software Architecture,10/48,2018/10/27,general scenar
9、ios and concrete scenarios,general quality attribute scenarios (general scenarios)those that are system independent and can, potentially, pertain to any system; concrete quality attribute scenarios (concrete scenarios)those that are specific to the particular system under consideration.,2018/10/27,S
10、oftware Architecture,11/48,2018/10/27,11,Availability Scenario,Availability general scenarios,2018/10/27,Software Architecture,12/48,2018/10/27,12,Sample availability scenario,Concrete scenarios play the same role in the specification of quality attribute requirements that use cases play in the spec
11、ification of functional requirements.,2018/10/27,Software Architecture,13/48,Example:,2018/10/27,Software Architecture,14/48,2018/10/27,14,QUALITY ATTRIBUTE SCENARIO GENERATION,a systems quality attribute requirements are seldom elicited and recorded in a disciplined way. remedy this situation by ge
12、nerating concrete quality attribute scenarios. quality-attribute-specific tables: general scenarios, checklist,2018/10/27,Software Architecture,15/48,2018/10/27,Topics,Functionality and Architecture Architecture and Quality Attributes System Quality Attributes Quality Attribute Scenarios in Practice
13、 Other System Quality Attributes Business Qualities Architecture Qualities,2018/10/27,Software Architecture,16/48,2018/10/27,Quality Attribute Scenarios in Practice,Availability, Modifiability, Performance Security, Testability, Usability.,2018/10/27,Software Architecture,17/48,2018/10/27,AVAILABILI
14、TY,Availability is concerned with system failure and its associated consequences.A system failure occurs when the system no longer delivers a service consistent with its specification. Such a failure is observable by the systems userseither humans or other systems. We need to differentiate between f
15、ailures and faults.,2018/10/27,Software Architecture,18/48,2018/10/27,Software Architecture: Module 1,18,Availability General Scenario Generation,2018/10/27,Software Architecture,19/48,2018/10/27,19,Availability General Scenario Generation (Cont.),2018/10/27,Software Architecture,20/48,2018/10/27,MO
16、DIFIABILITY,Modifiability is about the cost of change. What can change (the artifact)? the functions, the platform, the environment, the qualities, and its capacity etc.). When is the change made and who makes it (the environment)? implementation , during compile, during build (by choice of libraries), during configuration setup, or during execution (by parameter setting).,2018/10/27,Software Architecture,21/48,2018/10/27,Software Architecture: Module 1,21,