欢迎来到天天文库
浏览记录
ID:59013834
大小:209.50 KB
页数:37页
时间:2020-09-26
《第二章-软件体系结构建模ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件体系结构软件体系结构建模郑州大学软件学院赵哲复习软件体系结构概论软件危机构件与软件重用软件体系结构的兴起和发展软件体系结构的应用现状本章主要内容软件体系结构建模概述4+1视图模型软件体系结构建模概述建模modeling:建立系统模型的过程软件体系结构建模:如何对软件体系结构建立系统模型根据建模的侧重点不同可将软件体系结构模型分为5类软件体系结构模型的分类结构模型(骨头拆分)框架模型(骨骼)动态模型(时序图、状态图和活动图来,与操作时间或顺序有关)过程模型(步骤、过程)功能模型(层次)P31一点延伸架构要涵盖的内容和决
2、策太多了,超过了人脑“一蹴而就”的能力范围,因此采用“分而治之”的办法从不同视角分别设计;同时,也为软件架构的理解、交流和归档提供了方便。4+1视图模型P32以上5种模型各有所长,将5种模型有机的结合在一起,形成一个完整的模型来刻画软件体系结构更为合适。4+1模型Kruchten在1995年提出了“4+1”的视图模型“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。4+1视图模型逻
3、辑视图进程视图开发视图物理视图最终用户:功能需求场景编程人员:软件管理系统集成人员:性能可扩充性、吞吐量等系统工程人员:系统拓扑、安装、通信等4+1逻辑视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象可以用来进行功能分析可用作标识在整个系统的各个不同部分的通用机制逻辑视图构件实例继承使用包含,聚集关联类层次参数化类类服务类连接件连接件关联:一个类的存在不是孤立的。与其他类以不同的方式合作,共同完成某些系统功能。有关某种意义的合作,要由附加在横线之上的短语来说明。连接
4、件包含:实心圆表示整体,另一端表示部分。实心圆包含另一端。使用:空心圆表示who,另一端表示使用what。继承:箭头端表示基类,另一端表示子类。子类指向基类。逻辑视图种要注意的问题保持单一的、内聚的对象模型内聚模块内部各成分的关联程度对象模型对谁做几个逻辑上相关的功能(或其他方面)放在同一个模块中。ACS体系结构逻辑视图空中交通逻辑视图开发视图开发视图DevelopmentView也称模块视图ModuleView主要侧重软件模块的组织和管理,为编程人员服务。软件可以通过程序库或子程序进行组织,这样就可以由不同的人进行开发
5、开发视图开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。开发视图开发视图在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。设计时要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变时,所做的改动最小。开发视图所用的风格通常是层次结构风格。开发视图进程视图
6、进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。系统性能、可用性进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图设计:进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。进程视图进程视图物理视图物理视图PhysicalVie
7、w主要考虑如何把软件映射到硬件上通常要考虑到系统性能、规模、可靠性等物理视图ACS系统的物理视图场景场景Scenarios可以看做重要系统活动的抽象它使4个视图有机联系在一起。场景是最重要的需求抽象开发体系结构时,可以帮助设计者找到体系结构的构件和它们之间的作用关系。场景可以用文本表示,也可以用图形表示场景图4+1总汇郑州大学软件学院赵哲设计思想逻辑视图和开发视图为静态结构进程视图和物理视图为动态结构管理系统侧重逻辑视图和开发视图实时控制系统侧重进程视图和物理视图软件过程需求分析建立体系结构测试实现设计郑州大学软件学院赵
8、哲需求分析与用户沟通由不同代表组成的小组:分析人员、客户、设计人员、测试人员等对需求进行审查建立体系结构由体系结构设计师对整个系统进行分析选择一个合适的体系结构风格设计、实现、测试CodingTesting
此文档下载收益归作者所有