OO是一种较为直觉的设计思维,在设计软件时,让软件世界里的程式物件对应真实世界里的具体事物,以此来模拟真实世界的运作情况。观察真实世界可以发现,真实世界由各式各样的事物所组成,每种事物都有它特有的结构和行为,而且在联系起不同事物之后,还能够展现出丰富多元的能力。所以,OO软件也由各式各样的软件物件所组成,并且合力提供多样化的服务,以此参与企业运作过程。

OO概念是UML的基础,也就是说,系统分析师在学习使用UML的同时,其实就是在应用OO概念。换个角度来看,UML与OO两者互为表里,系统分析师脑子里运用的是OO概念,但是表达出来的需求文件内容,却是使用UML图。

UML最大的特色,在于它是个图形语言,因此享有图形思考与表达的优势。所以在本书里,我们除了要求系统分析师在编写需求文件时,须以UML图为主,文字为辅外,还要求系统分析师在访谈及讨论会议期间,皆须以UML图引导整个会议进行,并且以产出UML图为其会议结果。

想像一下,系统分析师带着安装了UML工具的笔记型电脑,到使用者或领域专家的办公处所进行访谈,访谈的产出就是UML图。系统分析师启动UML工具的同时,就是访谈的开始。系统分析师开始动手绘制第一张UML图,也同步开始请教使用者各项问题,一边绘图一边跟使用者澄清认知,以便完成UML图。依循这样的过程,产出一张又一张的UML图。当这些UML图都绘制并且经过确认之后,系统分析师打印UML图交给使用者,并且将UML档案传回给公司,完成此次访谈会议。

在访谈记录正式成为需求文件期间,使用者有任何补充,或者系统分析师有任何疑问,都切记以手上的UML图为讨论依据。同样地,系统分析师提交文件给设计师之后,如果设计师有任何疑问,需要开讨论会议的话,也必须以UML图为讨论依据,没有准备好UML图,不浪费时间开无谓的讨论会议,与会人员没有修正UML图,讨论会议不算结束。

在了解OO与UML的相关性之后,接下来我们会介绍几项重要的OO概念,当然它们同时也是UML里的重要概念。