- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? liqianmu@126.com 五、软件体系结构形式化方法 课外阅读 Kruchten的4+1模型描述软件体系结构 本章参考Philippe Kruchten —— 《Architectural Blueprints—The “4+1” View Model of Software Architecture》 假定你是Module Designer 你最近加盟一家公司,并被安排在一个新项目的开发组中。虽然你富有经验,但是对此项目所涉及的领域还是一个新手。系统的高层体系结构设计已经完成。 你的老板(项目经理)让你预计你将要完成的几个模块的开发时间。 你怎么办? 假定你是Module Designer 你来开发A2和A3,怎么开始? 假定你是Consultant(顾问) 你是一个请来的顾问,对一个体系结构设计进行评估。Modifiability和Performance是重要的体系结构质量因素。 你会询问什么样的信息? 假定你是Consultant(顾问) 面对这样的图,你会有什么反应? 假定你是Consultant(顾问) 面对这样的图,你会有什么反应? 体系结构描述方法 软件开发过程中各种角色之间交流设计思想的媒介 进行上层分析的基础。此基础上可以验证体系结构设计方案,精炼或改变必要的方案 让别人理解系统的第一手资料 与Module Designer交流 基本想法是什么? 我该做什么 (如,实现哪些需求) ? 我该在哪做 (如,这项功能实现在哪里) ? 我和谁交互?接口是什么? 有什么可以重用的代码? 必须遵从什么约定(质量目标、旧体系/接口、预算等)? 有哪些硬性规定(设计、接口、约束等)? 与顾问交流 体系结构的必要需求(driving requirement)是什么(如,performance, availability, security, modifiability, interoperability)? 各种体系结构视图是如何描述的? 抽象出来什么? 功能怎样分解? 功能怎样分配? 使用什么硬件以及软件怎样布置在硬件上? 采用了哪些体系结构风格? 这是什么? 上图的毛病 很多事情没有说: 组件类型 连接件类型 圆圈和箭头代表什么? 这种布局的意义是什么? 为什么CP要放在上层? 只画出方框和线条不是体系结构,只是体系结构的开始 好的体系结构描述的必要元素 需求陈述 商业环境、产品的背景、领域 描述环境 必须和什么系统交互、外部接口 使用体系结构图 用恰当的线框 简洁的说明 好的体系结构描述的必要元素 考虑实现时的限制 但是仅在它们能影响体系结构设计的范围内 被限定的下层结构、处理器需求 通常包含其他结构图 体系结构设计的原理 它怎样去符合需求与约束 其他的设计 其他方面 风格/产品线问题 设计可变的尺度 体系结构的那个方面必须不被改变? 管理问题 暗含开发团队的组织结构 体系结构评审情况 其他设计问题 代码重用、标准的运用 风险分析 运作、管理和维护 好描述 线和框有不同的形状/颜色,并有图例说明 用表格总结方案选择等等各种问题 图并不试图去表达很多信息:把信息分散到需要表达它的各个视图中 每个体系结构视图必须在一页内完成 清晰地区分出哪些是体系结构视图,哪些不是 坏描述 所有的线看起来都一样 箭头不代表任何涵义 箭头代表很多涵义 实现与文档冲突 没有图例 太多的必要需求 视图 系统需要多种视图来描述 其中的一小部分是描述体系结构的 运行时视图/动态视图(组件和连接件) 在高层分解成组件和连接件 代码视图 模块关联和依赖 使用/调用/和…共享数据 文件和目录、工程和编译文件、版本控制 物理视图 把计算单元分配到各个进程或处理器 阅读 Philippe Kruchten, Architectural Blueprints—The “4+1” View Model of Software Architecture, IEEE Software 12 (6), 1995, pp. 42-50 Release 6A Segment/Design Specification for the ECS Project, Section 4.4. NASA Report 305-CD-600-001, pages 4-160-185. March 2001 /waisdata/toc/coc.html 3.1 “4十1”模型 Rational公司的Philippe Kruchten在1995年提出了用于体系结构描述的“4十l”模型。该模型建立在体系结构的Perry&Wolf定义和Berry Boehm定义的基础上。 该模型采用多视图模型的方法描述软件体系结构。为了最终能够处理富于挑战性的、大
文档评论(0)