版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Chapter 4: Understanding Quality Attributes,Chapter Outline,Architecture and Requirements Functionality Quality Attribute Considerations Specifying Quality Attribute Requirements Achieving Quality Attribute
2、s through Tactics Guiding Quality Design Decisions Summary, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Architecture and Requirements,System requirements can be categorized as: Functional requirements. These requirements state what the system must do,
3、 how it must behave or react to run-time stimuli. Quality attribute requirements. These requirements annotate (qualify) functional requirements. Qualification might be how fast the function must be performed, how resilient it must be to erroneous input, how easy the function is to learn, etc. Constr
4、aints. A constraint is a design decision with zero degrees of freedom. That is, its a design decision that has already been made for you., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Functionality,Functionality is the ability of the system to do the w
5、ork for which it was intended. Functionality has a strange relationship to architecture: functionality does not determine architecture; given a set of required functionality, there is no end to the architectures you could create to satisfy that functionality functionality and quality attributes are
6、orthogonal, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Quality Attribute Considerations,If a functional requirement is when the user presses the green button the Options dialog appears”: a performance QA annotation might describe how quickly the dial
7、og will appear; an availability QA annotation might describe how often this function will fail, and how quickly it will be repaired; a usability QA annotation might describe how easy it is to learn this function., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution L
8、icense,Quality Attribute Considerations,There are three problems with previous discussions of quality attributes: The definitions provided for an attribute are not testable. It is meaningless to say that a system will be “modifiable”. Endless time is wasted on arguing over which quality a concern be
9、longs to. Is a system failure due to a denial of service attack an aspect of availability, performance, security, or usability? Each attribute community has developed its own vocabulary., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Quality Attribute C
10、onsiderations,A solution to the first two of these problems (untestable definitions and overlapping concerns) is to use quality attribute scenarios as a means of characterizing quality attributes. A solution to the third problem is to provide a discussion of each attributeconcentrating on its underl
11、ying concernsto illustrate the concepts that are fundamental to that attribute community., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Specifying Quality Attribute Requirements,We use a common form to specify all quality attribute requirements as scen
12、arios. Our representation of quality attribute scenarios has these parts: Stimulus Stimulus source Response Response measure Environment Artifact, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Specifying Quality Attribute Requirements,Source of stimulus
13、.This is some entity (a human, a computer system, or any other actuator) that generated the stimulus. Stimulus.The stimulus is a condition that requires a response when it arrives at a system. Environment.The stimulus occurs under certain conditions. The system may be in an overload condition or in
14、normal operation, or some other relevant state. For many systems, “normal” operation can refer to one of a number of modes. Artifact.Some artifact is stimulated. This may be a collection of systems, the whole system, or some piece or pieces of it. Response.The response is the activity undertaken as
15、the result of the arrival of the stimulus. Response measure.When the response occurs, it should be measurable in some fashion so that the requirement can be tested., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Specifying Quality Attribute Requirements
16、,We distinguish general quality attribute scenarios ( “general scenarios”)those that are system independent and can, potentially, pertain to any systemfrom concrete quality attribute scenarios (concrete scenarios)those that are specific to the particular system under consideration., Len Bass, Paul C
17、lements, Rick Kazman, distributed under Creative Commons Attribution License,Specifying Quality Attribute Requirements,Example general scenario for availability:, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Achieving Quality Attributes Through Tactics
18、,There are a collection of primitive design techniques that an architect can use to achieve a quality attribute response. We call these architectural design primitives tactics. Tactics, like design patterns, are techniques that architects have been using for years. We do not invent tactics, we simpl
19、y capture what architects do in practice., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Achieving Quality Attributes Through Tactics,Why do we do this? There are three reasons: Design patterns are complex; they are a bundle of design decisions. But pat
20、terns are often difficult to apply as is; architects need to modify and adapt them. By understanding tactics, an architect can assess the options for augmenting an existing pattern to achieve a quality attribute goal. If no pattern exists to realize the architects design goal, tactics allow the arch
21、itect to construct a design fragment from “first principles”. By cataloguing tactics, we make design more systematic. You frequently will have a choice of multiple tactics to improve a particular quality attribute. The choice of which tactic to use depends on factors such as tradeoffs among other qu
22、ality attributes and the cost to implement., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Guiding Quality Design Decisions,Architecture design is a systematic approach to making design decisions. We categorize the design decisions that an architect nee
23、ds to make as follows: Allocation of responsibilities Coordination model Data model Management of resources Mapping among architectural elements Binding time decisions Choice of technology, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Allocation of Res
24、ponsibilities,Decisions involving allocation of responsibilities include: identifying the important responsibilities including basic system functions, architectural infrastructure, and satisfaction of quality attributes. determining how these responsibilities are allocated to non-runtime and runtime
25、 elements (namely, modules, components, and connectors)., Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Coordination Model,Decisions about the coordination model include: identify the elements of the system that must coordinate, or are prohibited from c
26、oordinating determining the properties of the coordination, such as timeliness, currency, completeness, correctness, and consistency choosing the communication mechanisms that realize those properties. Important properties of the communication mechanisms include stateful vs. stateless, synchronous v
27、s. asynchronous, guaranteed vs. non-guaranteed delivery, and performance-related properties such as throughput and latency, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Data Model,Decisions about the data model include: choosing the major data abstract
28、ions, their operations, and their properties. This includes determining how the data items are created, initialized, accessed, persisted, manipulated, translated, and destroyed. metadata needed for consistent interpretation of the data organization of the data. This includes determining whether the
29、data is going to be kept in a relational data base, a collection of objects or both, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Management of Resources,Decisions for management of resources include: identifying the resources that must be managed and
30、determining the limits for each determining which system element(s) manage each resource determining how resources are shared and the arbitration strategies employed when there is contention determining the impact of saturation on different resources., Len Bass, Paul Clements, Rick Kazman, distribut
31、ed under Creative Commons Attribution License,Mapping Among Architectural Elements,Useful mappings include: the mapping of modules and runtime elements to each otherthat is, the runtime elements that are created from each module; the modules that contain the code for each runtime element the assignm
32、ent of runtime elements to processors the assignment of items in the data model to data stores the mapping of modules and runtime elements to units of delivery, Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License,Binding Time,The decisions in the other catego
33、ries have an associated binding time decision. Examples of such binding time decisions include: For allocation of responsibilities you can have build-time selection of modules via a parameterized build script. For choice of coordination model you can design run-time negotiation of protocols. For res
34、ource management you can design a system to accept new peripheral devices plugged in at run-time. For choice of technology you can build an app-store for a smart phone that automatically downloads the appropriate version of the app., Len Bass, Paul Clements, Rick Kazman, distributed under Creative C
35、ommons Attribution License,Choice of Technology,Choice of technology decisions involve: deciding which technologies are available to realize the decisions made in the other categories determining whether the tools to support this technology (IDEs, simulators, testing tools, etc.) are adequate determ
36、ining the extent of internal familiarity and external support for the technology (such as courses, tutorials, examples, availability of contractors) determining the side effects of choosing a technology such as a required coordination model or constrained resource management opportunities determining whether a new technology is compatible with the existing technology stack, Len Bass, Paul Clements, Rick Kazman, distributed under Cr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教新课标六年级上册数学教案圆的面积教学设计
- 2026年数据安全培训协议
- 异步同步性能分析-洞察与解读
- 创新咨询驱动社会转型-洞察与解读
- 2025年查对制度考核考试试题库+答案
- 个性化保养方案设计-洞察与解读
- 坡地耕作保土模式-洞察与解读
- 数字健康教育效果研究-洞察与解读
- 2026年医师规范化培训临床技能评估体系试题冲刺卷
- 设备故障预防培训课程及实操手册
- 2026贵州贵阳市安航机械制造有限公司招聘8人考试重点试题及答案解析
- 2026重庆高新开发建设投资集团招聘3人备考考试试题及答案解析
- 2026年度宣城市宣州区森兴林业开发有限公司第一批次员工公开招聘笔试参考题库及答案解析
- 老年人管理人员培训制度
- 2025年湖南常德市鼎城区面向全市选调8名公务员备考题库及答案详解(新)
- 2026年高考时事政治时事政治考试题库及答案(名校卷)
- 2026年新能源汽车动力电池回收体系构建行业报告
- 2026四川成都市锦江区国有企业招聘18人笔试备考试题及答案解析
- 2025学年度人教PEP五年级英语上册期末模拟考试试卷(含答案含听力原文)
- 2025年上海市普通高中学业水平等级性考试地理试卷(含答案)
- 腔镜器械的清洗与管理
评论
0/150
提交评论