全部博文(584)
分类: 嵌入式
2011-02-20 15:23:05
2.1 视 图
给复杂的系统建模是一件困难和耗时的事情。从理想化的角度来说,整个系统像是一张画图,这张图画清晰而又直观地描述了系统的结构和功能,既易于理解又易于交流。但事实上要画出这张图画几乎是不可能的,因为,一个简单的图画并不能完全反映出系统中需要的所有信息。
描述一个系统涉及到该系统的许多方面,比如功能性方面(它包括静态结构和动态交互)非功能性方面(定时需求、可靠性、展开性等)和组织管理方面(工作组、映射、代码模块等)。
完
整地描述系统,通常的做法是用一组视图反映系统的各个方面,每个视图代表完整系统描述中的一个抽象,显示这个系统中的一个特定的方面。每个视图由一组图构
成,图中包含了强调系统中某一方面的信息。视图与视图之间有时会产生轻微的重叠,从而使得一个图实际上可能是多个视图的一个组成部分。如果用不同的视图观
察系统,每次只集中地观察系统的一个方面。视图中的图应该简单,易于交流,且与其他的图(图用图形符号表示,图符号代表系统中的模型元素)和视图有关联关
系。
UML中的视图包括:用例视图(Use-case view)、逻辑视图(Logical view)、组件视图(Component
view)、并发视图(Concurrency View)、展开视图(Deployment
View)等五种。能够使用的其他视图还有静态——动态视图、逻辑——物理视图、工作流程(workflow)等视图,但UML
语言中并不使用这些视图,它们是UML 语言的设计者意识中的视图,因此在未来的大多数CASE 工具中有可能包含这些视图。
当用户选择一个
CASE
工具作图(diagram)的时候,一定要保证该工具能够容易地从一个视图导航(navigate)到另一个视图。另外为了看清楚一个功能在图中是怎样工
作的,该工具也应该具备方便地切换至用例视图或展开视图的长处,因为用例视图下可以看到该功能是怎样被外部用户描述的,展开视图下可以看到物理结构中该功
能是怎样分布的(即确定在哪台计算机中得到该功能)。
2.1.1 用例视图
用例视图(Use-case view)用于描述系统应该具有的功能集。它是从系统的外部用户角度出发对系统的抽象表示。
用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活,为用户或另一个系统提供服务,实现用户或另一个系统与系统的交互。系统实现的最终目标是提供用例视图中描述的功能。
用例视图中可以包含若干个用例(use-case)用例用来表示系统能够提供的功能(系统用法),一个用例是系统用法(功能请求)的一个通用描述。
用例视图是其他视图的核心和基础。其他视图的构造和发展依赖于用例视图中所描述的内容。因为系统的最终目标是提供用例视图中描述的功能,同时附带一些非功能性的性质,因此用例视图影响着所有其他的视图。
用例视图还可用于测试系统是否满足用户的需求和验证系统的有效性。用例视图主要为用户、设计人员、开发人员和测试人员而设置。用例视图静态地描述系统功能,为了动态地观察系统功能,偶尔也用活动图activity diagram 描述。
2.1.2 逻辑视图
用例视图只考虑系统应提供什么样的功能,对这些功能的内部运作情况不予考虑,为了揭示系统内部的设计和协作状况,要使用逻辑视图描述系统。
逻
辑视图(Logical
view)用来显示系统内部的功能是怎样设计的,它利用系统的静态结构和动态行为来刻画系统功能。静态结构描述类、对象和它们之间的关系等。动态行为主要
描述对象之间的动态协作,当对象之间彼此发送消息给给定的函数时产生动态协作,一致性(persistence)和并发性(concurrency)等性
质,以及接口和类的内部结构都要在逻辑视图中定义。
静态结构在类图和对象图中描述,动态建模用状态图、序列图、协作图和活动图描述。
2.1.3 组件视图
组件视图(Component view)用来显示代码组件的组织方式。它描述了实现模块
(implementation module)和它们之间的依赖关系。
组件视图由组件图构成,组件是代码模块,不同类型的代码模块形成不同的组件,组件按照一定的结构和依赖关系呈现。组件的附加信息(比如,为组件分配资源)或其他管理信息(比如,进展工作的进展报告)也可以加入到组件视图中。组件视图主要供开发者使用。
2.1.4 并发视图
并发视图Concurrency View 用来显示系统的并发工作状况。并发视图将系统划分
为进程和处理机方式,通过划分引入并发机制,利用并发高效地使用资源并行执行和处理异步事件。除了划分系统为并发执行的控制线程外,并发视图还必须处理通信和这些线程之间的同步问题。并发视图所描述的方面属于系统中的非功能性质方面。
并发视图供系统开发者和集成者(integrator)使用它由动态图(状态图、序列图、协作图、活动图和执行图(组件图、展开图)构成。
2.1.5 展开视图
展
开视图(Deployment
View)用来显示系统的物理架构,即系统的物理展开。比如,计算机和设备以及它们之间的联接方式。其中计算机和设备称为结点(node)它由展开图表
示。展开视图还包括一个映射,该映射显示在物理架构中组件是怎样展开的。比如,在每台计算机上哪一个程序或对象在运行。
展开视图提供给开发者、集成者和测试者。