软考|架构|考前知识点|质量属性|软件可靠性系统质量属性与架构评估
质量属性概念:软件系统的质量就是软件系统与明确地和隐含地定义的需求相一致的程度。开发期质量属性
1.易理解性
2.可扩展性
3.可重用性
4.可测试性
5.可维护性
6.可移植性
运行期质量属性
1.性能
2.安全性
3.可伸缩性
4.互操作性
5.可靠性
6.可用性
7.鲁棒性
面向架构评估的质量属性
1.性能
2.可靠性 (容错、健壮性)
3.可用性
4.安全性
5.可修改性(可维护性、可扩展性、结构重组、可移植性)
6.功能性
7.可变性
8.互操作行。
质量属性场景描述
1.刺激源
2.刺激
3.环境
4.制品
5.响应
6.响应度量
系统架构评估
系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。他利用数据或逻辑分析技术,针对系统的一致性、正确性、质量属性、规划结果等不同方面,提供描述性、预测性和指令性的结果。1.基于问卷调查或检查表的方法。
2.基于场景的评估方法
3.基于度量的评估方法
敏感点:Sensitivity 权衡点(Tradeoff Point场景开发、架构描述、单个场景品谷、场景交互和总体评估ATAM主要关注4类质量属性:性能、安全性、可修改行、和可用性1.整理场景
2.对场景进行求精
3.确定场景的优先级
4.分配效用
5.架构策略设计哪些质量属性以及响应级别,形成策略、场景、响应级别的对应关系
6.使用内插法确定“期望的”质量属性响应级别的效用。
7.计算各架构策略的总收益。
8.根据受成本限制影响的ROI选择架构策略。
ATAM工作阶段:1.演示、调查和分析、测试和报告ATM描述和介绍阶段、 调查和分析阶段、测试阶段、报告阶段。软件可靠性基础知识
保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠控制。在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的缺陷函数;系统输入将确定是否会遇到已存在的缺陷。可靠性测试的目的:1.发现软件系统在需求、设计、编码、测试和实施等方面的各种缺陷。2.为软件的使用和维护提供可靠性数据。3 确认软件是否达到可靠性的定量要求。运行剖面(环境),一样的软件在不同的运行剖面下,其可靠性的表现是不一样的。2 软件规模3 软件内部结构4软件的开发方法和开发环境5软件的可靠性投入。软件可靠性模型:模型假设、性能度量、参数估计方法、数据要求。三类假设:1.代表性假设、2 独立性假设 3 相同性假设一个好的软件可靠性模型应该具如下重要特征:1 基于可靠的假设 2 简单 3 计算一些有用的量 4 给出未来失效行为的好的映射 5 可广泛应用。软件可靠性管理
需求分析阶段:1确定软件的可靠性目标2 分析可能影响可靠性的因素 3 确定可靠性的验收标准 4 制定可靠性管理框架 5 制定可靠性文档编写规范6制定可考星活动初步计划 7确定可靠性数据收集规范概要设计阶段:1确定可靠性度量2 制定详细的可靠性验收方案 3 可靠性设计 4收集可靠性数据5调整可靠性活动计划6明确后续阶段的可靠性活动的详细计划 7编制可靠性文档详细设计阶段 1 可靠性设计 2 可靠性预测 3 调整可靠性活动计划 4 搜集可靠性数据 5 明确后续阶段的可靠性活动的详细计划 6 编制可靠性文档编码阶段 1 可靠性测试(含与单元测试)2 排错 3 调整可靠性活动计划 4收集可靠性数据 5 明确后续阶段的可靠性活动的详细计划 6编制可靠性文档。测试阶段:1 可靠性测试(含于集成测试、系统测试)2 排错 3 可靠性建模 4 可靠性评价 5 调整可靠性互动计划 6 搜集可靠性数据 7 明确后续阶段的可靠性活动的详细计划 8 编制可靠性文档1)可靠性测试(含于验收测试)2 排错 3 收集可靠性数据4 调整可靠性模型5 可靠性评价 6 编制可靠性文档软件可靠性设计技术 1 容错设计、检错设计和降低复杂度设计。系统配置技术
双击热备:双击热备模式、双机互备、双机双工(web服务器或ftp采用次种方式)软件可靠性测试:可靠性目标的确定、运行剖面的开发、可靠性测试用例的设计、可靠性测试实施、测试结果的分析。