05-软件体系结构与架构技术解决方案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2架构是系统关键质量属性的描述 2.2.1为什么要确定架构的关键质量目标 人之所以痛苦,很多时候是因为追求错误东西。 架构设计之初,要是制定了错误的质量属性目标(包括遗漏重要的质量属性),将面临的痛苦可能是客户不满、项目返工、同事抱怨…… 2.2.1为什么要确定架构的关键质量目标 确定关键质量着重完成如下两项任务: 根据系统所在领域的特点及系统的规模等因素,确定架构设计重点支持那些质量属性(例如重点支持高性能、可扩展性)。 分析上述质量之间的约束关系,第一时间指定权衡折中的具体策略(例如明确高性能是第一位的,可扩展性与高性能相矛盾时应照顾高性能要求) 2.2.2 软件系统的关键质量属性需求 功能需求是描述一个产品或项目该做什么, 该提供什么功能 除此之外…… 2.2.2 软件系统的关键质量属性需求 用质量属性的选择帮助确定项目的需求范围  利用质量标准的互相对立和制约因素来决定开发工作的侧重点和优先权   对客户重要的质量标志 对开发者重要的质量标志 可靠性 效率性 灵活 性 完整性 兼容性 可维护性 多用转换性 稳定性 重复使用性 健全性 可测性 可用性 可靠性 (Availability) + + 效率性 (Efficiency) - - - - - - - - 灵活性 (Flexibility) - - + + + + 完整性 (Integrity) - - - - - 兼容性 (Interoperability) - + - + 可维护性 (Maintainability) + - + + + 多用转换性 (Portability) - + + - + + - 稳定性 (Reliability) + - + + + + + 重复使用性 (Reusability) - + - + + + - + 健全性 (Robustness) + - + + 可测性 (Testability) + - + + + + 可用性 (Usability)  - + - 影响构架的关键需求 影响构架的关键需求 软件构架师所考虑的设计需求 与系统设计本身直接有关的设计需求: 概念完整性 理解正确性 设计完备性 可构建性 高质量软件系统设计的质量需求: 用户需求目标的适应性 可维护性、可移植性、可测试性、可追踪性、正确性、健壮性(鲁棒性)、 软件构架的质量要素 运行期质量要素: 功能 性能 安全性 易用性 持续可用性 可伸缩性 互操作性 可靠性 健壮性 开发期质量要素: 易理解性 可扩展性 可重用性 可修改性 可移植性 可集成性 可测试性 最终系统设计方案 用户功能需求 用户性能需求 用户质量需求 系统模式应用要求 构件框架复用要求 产品体系结构要求 决定软件构架的关键需求 1985年,国际标准化组织(ISO)建议,软件质量度量模型由三层组成。高层称软件质量需求评价准则(SQRC),中层称软件质量设计评价准则(SQDC),低层称软件质量度量评价准则(SQMC)。分别对应McCall等人的要素、评价准则和度量。ISO认为应对高层和中层建立国际标准,以便在国际范围内推广应用软件质量管理,而低层可由各使用单位自行制定。ISO高层由8个要素组成、中层由23个评价准则组成。 高层的8个要素为左表的行,中层的23个准则为下表的列。它们之间的关系如左表所示。 软件质量设计评价准则(SQDC) 软件质量需求评价准则(SQRC) 系统设计非功能质量需求的例子 银行信用卡客户服务系统:可扩展性 当前系统支持的信用卡信息发送方式: 打印并邮寄、传真 Email 可预见未来应支持的信用卡信息发送方式: 手机短信 PDA消息 当前系统支持的信用卡信息发送内容: 信用卡对帐单 信用卡透支催收单 可预见未来应支持的信用卡信息发送内容: 新业务宣传信息 促销活动信息 功能性:系统完成所期望工作的能力 实现功能的方法 没有内部模块/部件的职责划分,没有配合与协作,也可以实现系统功能,但是…… 具有良好系统构架设计的系统必须…… 如果既要实现功能,又具有良好的构架设计,满足关键需求,则系统设计将: 仔细地划分模块的功能 设计良好的模块间连接与关联关系 2.2.3 关键质量属性需求与系统功能的正交性 易用性: 架构设计无关:界面表示直观、操作简便 架构设计有关: 是否允许取消、撤销操作 是否可重用以前输入的数据 是否有多层次的输入支持和帮助 系统性能: 架构设计无关:算法的好坏 架构设计有关: 组件之间通信的瓶颈制约 分配给组件的功能的合理性 组件完成功能所需要的共享资源的情况 2.2.3 关键质量属性需求与系统功能的正交性 可修改性 架构设计无关:可读性好的注释和编码规范 架构设计有关: 逻辑独立 接口简单 变更

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档