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