视图是UML建模中另一个非常重要的概念。视图用于组织UML元素,表达出模型某一方面的含义。

视图的准确应用是建立好模型的一个重要组成部分。视图的应用看上去似乎并不复杂,

但是实际工作中很多人并不知道应该在什么地方应用视图、应用哪一种视图、总共需要哪些视图。例如想要绘制流程图时,到底是用活动图还是交互图呢?


现实世界中的每一个事物都有很多种不同的属性,每个属性(或者说方面)都属于这个事物并且仅能够表达这个事物的一个部分。

人们认识这样一件事物的时候,只有在了解了很多方面后才能够对这个事物真正理解。在生活中这样的例子比比皆是。

例如一辆汽车,人们需要了解它的大小、重量、外观、性能、安全等才会决定是否购买。

上述的每个属性都是这辆汽车的一个视图,每个视图都向观察者展示了目标对象的一个方面。只有将必要的方面都用视图展示出来了,观察者才会真正理解这个事物。


但是很多时候,仅仅给出所有属性的视图并不足够,观察者会抱怨视图表达的信息不是很清晰,

希望从更多角度来查看事物的信息。这就引出了视图中另一个被很多人忽视的重要概念:视角。

视角是人们观察事物的角度。不同的人或者同一个人出于不同的目的会对同一个信息从不同的角度来审视和评估。

视角是针对每一个视图来说的,不同的视角展示了同样信息的不同认知角度以便于理解。例如,我们刚刚说过对汽车而言,

外观是汽车属性的一部分,那么外观是不是一个视图就足够了呢?不是的,同样是查看外观,人们有时候从前面看汽车的前脸长什么样,

有时候从侧面看车身流线长什么样,有时候从后面看尾箱长什么样。每一个不同的观察角度都展示了整体信息的一个部分,这个部分也满足了观察者的某一个审视要求。


一方面,从信息的展示角度来说,恰当的视角可以让观察者更容易抓住信息的本质;另一方面,从观察者角度说,

观察者只会关心信息中他感兴趣的那一部分视角,其他视角的信息对他是没有多少用处的。

因此在展示信息时选择恰当的视角并展示适当的观察者是十分重要的。就拿汽车来说,放在网络上供查看的照片中,

关心汽车流线的观察者会选择侧面视角照片来观看;关心内饰的,会选择车内视角的照片来观看。

虽然底盘也是汽车外观的一个有效视角,但大众并不会关心底盘长什么样。底盘这个视角提供给做汽车评估的专业人士可能才是合适的。


回到建模工作中来,建立模型的目的是向相关的人(干系人)展示将要生产的软件产品,

一个软件产品也和汽车一样,有着很多个不同的方面。只有把这些方面都描述清楚,

用很多个不同的视图来展示软件这些不同的方面----静态的、动态的、结构性的、逻辑性的等----才能够说建立一个完整的模型。

为了说明这些不同的方面,UML里定义了用例图、对象图、类图、包图、活动图等不同的视图。

这些视图从不同的方面描述了一个软件的结构和组成,所有这些视图的集合表达了一个软件的完整定义。

所以,建模最主要的工作就是为软件绘制那些表达软件含义的视图来完整地表达软件的含义。


同时,由于软件的干系人很多,有客户、系统分析员、架构师、设计师、开发人员、测试人员、项目经理等,

他们对同样信息的审视角度是不同的。即便是客户,普通业务员和经理要求的视角也不尽相同,例如针对同一个业务模块,

经理更关心整体业务流程,业务员更关心表单填写。因此建模的另一项重要工作就是为不同的干系人展示他们所关心的那部分视角。

比方说用例图,到底是按业务部门划分呢?还是按业务流程划分呢?是按业务人员划分呢?还是按业务模块划分呢?

这里仍然需要一定的思考,如果视角选择错误,就很有可能带来信息的缺失和误解。

如果把一个按跨部门业务流程划分的用例图展示给一个普通的业务人员来看,就不得不另外费劲向他解释那些他不熟悉的业务,

而且可能由于他并不完全理解整个业务,又给你提供了错误的反馈。错误的选择视角既费力又不讨好,常常导致需求改来改去难以确定。

所以抱怨客户总是提出相互矛盾需求的分析员们,请先思考一下你是否向正确的客户询问了正确的问题,并且给他看了正确视角的内容。


下面是小编整理的UML基础与应用课程目录:


西安电子科技大学内部课程_UML基础与应用视频教程

西安电子科技大学内部课程_UML基础与应用视频教程

西安电子科技大学内部课程_UML基础与应用视频教程


计算机建模语言教学视频截图:

西安电子科技大学内部课程_UML基础与应用视频教程

西安电子科技大学内部课程_UML基础与应用视频教程下载地址
计算机建模语言教学课程
百度网盘 / 课程大小:0.00字节
提取码:**** (购买后可见)
下载
评论下
  • 顺带评个分
提交
返回顶部