软件体系结构的质量属性
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 收集场景 2. 引出需求、约束和环境描述 3. 列出所有的候选体系结构风格/模式 4. 单独考虑每个属性来评估质量属性 5. 针对特定的体系结构风格确定质量属性对各个候选项的敏感性 6. 使用第5步中的鉴定结果
注意 上述步骤只是一次迭代,基于第5步和第6步的结果,某些候选体 系结构被删除,其他可进一步细化再使用ATAM
1
软件体系结构的质量属性
Quality Characteristics for Software Architecture 魏海芳 2012/9/23
软件体系结构的质量属性 2012/9/23
Functionality
Reliablity
Suitability
Maturity
Accuracy
Fault tolerance
软件体系结构的质量属性 2012/9/23
7
2 概念与方法
软件体系结构的质量 功能性需求是影响体系结构设计的核心,实际上大量 的影响因素还包含在质量需求中。 但是标准的OOA和OOD中,没有一个清晰的指导方法 捕获这些需求,体系结构的设计也不是一个独立的过 程,而是作为细化迭代的一个小块穿插在复杂的功能 设计中,这就使得质量需求更加难以捕获了。
/通用格式/通用格式/通用格式/通用格式 /通用格式/通用格式/通用格式/通用格式
注意 实际上更变的副作用从设计阶段就初现端倪。
软件体系结构的质量属性 2012/9/23
5
1 即将探讨的问题
启发 软件的质量问题暗示了设计缺陷或者从设计 转化到机器代码的过程中产生的错误。
关注前者(即软件体系结构),是否可以用高 质量的设计来提高最终产品的质量?
软件体系结构的质量属性 2012/9/23
13
2 概念与方法
关于ISO9126-1质量模型 ISO9126-1广泛用于产品质量评估当中,作为评估质量 的一个State-of-art标准。
ISO9126-1包含六个高度独立的质量特性,质量特性在 开发的各个阶段作为外部确认和内部审查的目标,一旦 获得可测量的实体,就按照图中所示的过程精化。
软件体系结构的质量属性 2012/9/23
ห้องสมุดไป่ตู้
2 概念与方法
基于ISO9126-1建立体系结构质量模型 模型结构和ATAM类似,基于ISO9126-1构建。
11
什么是ISO9126-1标准? Software Quality Characteristics 更多资料可参阅: ISO/IEC 9126 in practice: What do we need to know?
注意 工程中的构件的复用是因为工程师只想集中精力做设计中真正创新的部分
软件体系结构的质量属性 2012/9/23
4
1 即将探讨的问题
更直观的表象:失效曲线 来自于设计或生产的缺陷与时间的函数关系。
硬件失效曲线图
初期 失 效 率
后期磨损
软件失效曲线图
变更副作用
失 效
实际曲线
率
理想曲线
时间(年)
时间(年)
Changeability
Installability
Operablility
Compliance
Stability
Co-exsitence
Security
Compliance
Compliance
Testability
Replaceability
Compliance
Compliance
Compliance
Interoperability
Recoverability
Usablity
Efficiency
Maintianabli ty
Portablility
Understandability
Time behavior
Analysability
Adaptability
Learn ability
Resource behavior
2
内容
• 即将探讨的问题 • 概念与方法 • 案例 • 个人体会
软件体系结构的质量属性 2012/9/23
3
1 即将探讨的问题
软件体系结构究竟如何定义? 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止 还没有一个被大家所公认的定义。
为 何 不 可 照 搬 建 筑 工 程 的 Architecture 来 解 决 软 件 工 程 里 的 Architecture? 软件工程的确在朝着工程学科发展的一般模式靠拢,但是大规模的复用 才刚刚开始尝试。
工具 方法 过程 质量关注点
软件工程层次图
软件体系结构的质量属性 2012/9/23
6
1 即将探讨的问题
在设计阶段评估体系结构 对于投资人:将赌注提前放在赢家 对于用户:保证系统不偏离 对于架构师:用一种好的方法验证经验
我们需要一种方法,以便让我们评估每个候选的体系结构 ,以确定哪种体系结构最适合解决问题。
characteristic
subcharacteristic
attribute
特性-子特性-属性-度量 分解过程
metric
软件体系结构的质量属性 2012/9/23
14
2 概念与方法
ISO9126-1质量模型框架 为了在开发中监控质量,外部的质量属性通常转换为中 间产品的需求,这个过程实际上无章可循。 所以提出ISO9126-1的标准
软件体系结构的质量属性 2012/9/23
12
2 概念与方法
关于ISO9126-1质量模型 根据ISO9126-1,质量被描述为一组特性,用于评估其 满足需求(显性和隐性)的能力。 从用户角度:最终产品的质量 从开发人员角度:不同开发人员提供的中间产品的质量 从客户角度:市场的需求
注意 作为开发人员通常只考虑前两项
软件体系结构的质量属性 2012/9/23
10
2 概念与方法
体系结构的权衡分析方法(ATAM)还是存在问题 ATAM使用效用树来将质量特性划分主次,但是这个效用树如何达 到?为什么只有一层?甚至连质量特性的定义也不是很清晰。 http://www.blogjava.net/bwlee/articles/23262.html 还有其他改进的方法吗?
软件体系结构的质量属性 2012/9/23
8
2 概念与方法
解决问题的途径 建立一种清晰的,可重用的框架来评估体系结 构的质量,提炼出属性层和测量项,应用于评 估当中。
采用分解的方法评估
软件体系结构的质量属性 2012/9/23
9
2 概念与方法
体系结构的权衡分析方法 Architecture Tradeoff Analysis Method(ATAM)
注意 上述步骤只是一次迭代,基于第5步和第6步的结果,某些候选体 系结构被删除,其他可进一步细化再使用ATAM
1
软件体系结构的质量属性
Quality Characteristics for Software Architecture 魏海芳 2012/9/23
软件体系结构的质量属性 2012/9/23
Functionality
Reliablity
Suitability
Maturity
Accuracy
Fault tolerance
软件体系结构的质量属性 2012/9/23
7
2 概念与方法
软件体系结构的质量 功能性需求是影响体系结构设计的核心,实际上大量 的影响因素还包含在质量需求中。 但是标准的OOA和OOD中,没有一个清晰的指导方法 捕获这些需求,体系结构的设计也不是一个独立的过 程,而是作为细化迭代的一个小块穿插在复杂的功能 设计中,这就使得质量需求更加难以捕获了。
/通用格式/通用格式/通用格式/通用格式 /通用格式/通用格式/通用格式/通用格式
注意 实际上更变的副作用从设计阶段就初现端倪。
软件体系结构的质量属性 2012/9/23
5
1 即将探讨的问题
启发 软件的质量问题暗示了设计缺陷或者从设计 转化到机器代码的过程中产生的错误。
关注前者(即软件体系结构),是否可以用高 质量的设计来提高最终产品的质量?
软件体系结构的质量属性 2012/9/23
13
2 概念与方法
关于ISO9126-1质量模型 ISO9126-1广泛用于产品质量评估当中,作为评估质量 的一个State-of-art标准。
ISO9126-1包含六个高度独立的质量特性,质量特性在 开发的各个阶段作为外部确认和内部审查的目标,一旦 获得可测量的实体,就按照图中所示的过程精化。
软件体系结构的质量属性 2012/9/23
ห้องสมุดไป่ตู้
2 概念与方法
基于ISO9126-1建立体系结构质量模型 模型结构和ATAM类似,基于ISO9126-1构建。
11
什么是ISO9126-1标准? Software Quality Characteristics 更多资料可参阅: ISO/IEC 9126 in practice: What do we need to know?
注意 工程中的构件的复用是因为工程师只想集中精力做设计中真正创新的部分
软件体系结构的质量属性 2012/9/23
4
1 即将探讨的问题
更直观的表象:失效曲线 来自于设计或生产的缺陷与时间的函数关系。
硬件失效曲线图
初期 失 效 率
后期磨损
软件失效曲线图
变更副作用
失 效
实际曲线
率
理想曲线
时间(年)
时间(年)
Changeability
Installability
Operablility
Compliance
Stability
Co-exsitence
Security
Compliance
Compliance
Testability
Replaceability
Compliance
Compliance
Compliance
Interoperability
Recoverability
Usablity
Efficiency
Maintianabli ty
Portablility
Understandability
Time behavior
Analysability
Adaptability
Learn ability
Resource behavior
2
内容
• 即将探讨的问题 • 概念与方法 • 案例 • 个人体会
软件体系结构的质量属性 2012/9/23
3
1 即将探讨的问题
软件体系结构究竟如何定义? 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止 还没有一个被大家所公认的定义。
为 何 不 可 照 搬 建 筑 工 程 的 Architecture 来 解 决 软 件 工 程 里 的 Architecture? 软件工程的确在朝着工程学科发展的一般模式靠拢,但是大规模的复用 才刚刚开始尝试。
工具 方法 过程 质量关注点
软件工程层次图
软件体系结构的质量属性 2012/9/23
6
1 即将探讨的问题
在设计阶段评估体系结构 对于投资人:将赌注提前放在赢家 对于用户:保证系统不偏离 对于架构师:用一种好的方法验证经验
我们需要一种方法,以便让我们评估每个候选的体系结构 ,以确定哪种体系结构最适合解决问题。
characteristic
subcharacteristic
attribute
特性-子特性-属性-度量 分解过程
metric
软件体系结构的质量属性 2012/9/23
14
2 概念与方法
ISO9126-1质量模型框架 为了在开发中监控质量,外部的质量属性通常转换为中 间产品的需求,这个过程实际上无章可循。 所以提出ISO9126-1的标准
软件体系结构的质量属性 2012/9/23
12
2 概念与方法
关于ISO9126-1质量模型 根据ISO9126-1,质量被描述为一组特性,用于评估其 满足需求(显性和隐性)的能力。 从用户角度:最终产品的质量 从开发人员角度:不同开发人员提供的中间产品的质量 从客户角度:市场的需求
注意 作为开发人员通常只考虑前两项
软件体系结构的质量属性 2012/9/23
10
2 概念与方法
体系结构的权衡分析方法(ATAM)还是存在问题 ATAM使用效用树来将质量特性划分主次,但是这个效用树如何达 到?为什么只有一层?甚至连质量特性的定义也不是很清晰。 http://www.blogjava.net/bwlee/articles/23262.html 还有其他改进的方法吗?
软件体系结构的质量属性 2012/9/23
8
2 概念与方法
解决问题的途径 建立一种清晰的,可重用的框架来评估体系结 构的质量,提炼出属性层和测量项,应用于评 估当中。
采用分解的方法评估
软件体系结构的质量属性 2012/9/23
9
2 概念与方法
体系结构的权衡分析方法 Architecture Tradeoff Analysis Method(ATAM)