注意区分类图和对象图。对象图标记的是对象名,命名形式 对象名:类名,或者:类名。这里没有出现冒号,表示的是类图。
对象图(object diagram)。
对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
类图(class diagram)。
类图描述一组类、接口、协作和它们之间的关系。
在O0系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。本题第二空选择D选项。因为,本题中的类图是逻辑视图建模的经典工具,而逻辑视图是从用户视角看问题。【注:本题存在一定争议,若以后再次考查,建议选择用户视图】
4+1"视图模型从五个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,五个视图结合在一起才能反映软件架构的全部内容。
(1)逻辑视图。
逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成-系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在O0技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,在设计中要注意保持一个单一的、内聚的对象模型贯穿整个系统。
(2)开发视图,
开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重干软件模块的组织和管理。开发视图要考虑软件内部的需求,例如,软件开发的容易性、软件的复用性和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统I/0关系的型图和子系统图来描述。
(3)进程视图。
进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。讲程视图强调并发性,分布性,系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
(4)物理视图,
物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应干系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小
(5)场景视图。
场景视图可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景视图是最重要的需求抽象。场录视图对应UML中的用例视图。在开发软件架构时,它可以帮助架构设计师找到构件及其相互关系,同时,架构设计师也可以用场景来分析一个特定的视图,或描述不同视图的构件之间是如何相互作用的。场景视图可以用文本表示,也可以用图形表示。