欢迎来到天天文库
浏览记录
ID:36198444
大小:654.81 KB
页数:41页
时间:2019-05-07
《kruchten的41模型描述软件体系结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、五、软件体系结构形式化方法课外阅读9/20/20211©liqianmu@126.comKruchten的4+1模型描述软件体系结构本章参考PhilippeKruchten——《ArchitecturalBlueprints—The“4+1”ViewModelofSoftwareArchitecture》9/20/20212©liqianmu@126.com假定你是ModuleDesigner你最近加盟一家公司,并被安排在一个新项目的开发组中。虽然你富有经验,但是对此项目所涉及的领域还是一个新手。系统的高层体系结构设计已经完成。你的老板(项目经理)让你预计你将要完成的
2、几个模块的开发时间。你怎么办?9/20/20213©liqianmu@126.com假定你是ModuleDesigner你来开发A2和A3,怎么开始?9/20/20214©liqianmu@126.com假定你是Consultant(顾问)你是一个请来的顾问,对一个体系结构设计进行评估。Modifiability和Performance是重要的体系结构质量因素。你会询问什么样的信息?9/20/20215©liqianmu@126.com假定你是Consultant(顾问)面对这样的图,你会有什么反应?9/20/20216©liqianmu@126.com假定你是Cons
3、ultant(顾问)面对这样的图,你会有什么反应?9/20/20217©liqianmu@126.com体系结构描述方法软件开发过程中各种角色之间交流设计思想的媒介进行上层分析的基础。此基础上可以验证体系结构设计方案,精炼或改变必要的方案让别人理解系统的第一手资料9/20/20218©liqianmu@126.com与ModuleDesigner交流基本想法是什么?我该做什么(如,实现哪些需求)?我该在哪做(如,这项功能实现在哪里)?我和谁交互?接口是什么?有什么可以重用的代码?必须遵从什么约定(质量目标、旧体系/接口、预算等)?有哪些硬性规定(设计、接口、约束等)?9
4、/20/20219©liqianmu@126.com与顾问交流体系结构的必要需求(drivingrequirement)是什么(如,performance,availability,security,modifiability,interoperability)?各种体系结构视图是如何描述的?抽象出来什么?功能怎样分解?功能怎样分配?使用什么硬件以及软件怎样布置在硬件上?采用了哪些体系结构风格?9/20/202110©liqianmu@126.com这是什么?9/20/202111©liqianmu@126.com上图的毛病很多事情没有说:组件类型连接件类型圆圈和箭头代
5、表什么?这种布局的意义是什么?为什么CP要放在上层?只画出方框和线条不是体系结构,只是体系结构的开始9/20/202112©liqianmu@126.com好的体系结构描述的必要元素需求陈述商业环境、产品的背景、领域描述环境必须和什么系统交互、外部接口使用体系结构图用恰当的线框简洁的说明9/20/202113©liqianmu@126.com好的体系结构描述的必要元素考虑实现时的限制但是仅在它们能影响体系结构设计的范围内被限定的下层结构、处理器需求通常包含其他结构图体系结构设计的原理它怎样去符合需求与约束其他的设计9/20/202114©liqianmu@126.com
6、其他方面风格/产品线问题设计可变的尺度体系结构的那个方面必须不被改变?管理问题暗含开发团队的组织结构体系结构评审情况其他设计问题代码重用、标准的运用风险分析运作、管理和维护9/20/202115©liqianmu@126.com好描述线和框有不同的形状/颜色,并有图例说明用表格总结方案选择等等各种问题图并不试图去表达很多信息:把信息分散到需要表达它的各个视图中每个体系结构视图必须在一页内完成清晰地区分出哪些是体系结构视图,哪些不是9/20/202116©liqianmu@126.com坏描述所有的线看起来都一样箭头不代表任何涵义箭头代表很多涵义实现与文档冲突没有图例太多
7、的必要需求9/20/202117©liqianmu@126.com视图系统需要多种视图来描述其中的一小部分是描述体系结构的运行时视图/动态视图(组件和连接件)在高层分解成组件和连接件代码视图模块关联和依赖使用/调用/和…共享数据文件和目录、工程和编译文件、版本控制物理视图把计算单元分配到各个进程或处理器9/20/202118©liqianmu@126.com阅读PhilippeKruchten,ArchitecturalBlueprints—The“4+1”ViewModelofSoftwareArchitecture,IEEESoftw
此文档下载收益归作者所有