系统分析师(System Analyst)的处境相当辛苦,他们往往站在使用者与开发人员的中间,做为两者之间的沟通桥梁。系统分析师一方面需要向使用者搜集并厘清需求(Requirements),另一头又得急忙向开发人员提出清晰且明确的需求。

在专案进行期间,系统分析师除了得请神明保佑自己最好别误解或遗漏需求外,还得面对使用者变更需求的反复性格,以及开发人员不愿因需求变动而做白工的强硬态度。这一切现象让系统分析师心力交瘁,焦头烂额。

在OO(Object-Oriented)与UML(Unified Modeling Language)成了挡不住的浪潮之后,程序员(Programmer)大量使用C++、Java等等的OO程式语言,同时也进一步带动设计师(System Designer)使用UML来表达关于OO设计。所以,系分文件传到设计师手中之后的第一件事情,便是将非OO文件转成OO的UML图,随后才能进行复杂的设计,并且产出各式的UML图,交由程序员(Programmer)按图编码。

然而,非OO的需求文件转成OO的UML图,不仅缺乏效率又错误百出。许多公司开始意识到这样的问题,纷纷要求系统分析师学习OO概念,并且采用UML编写系分文件。如此一来,OO概念从分析开始,经由设计,一路贯穿到实作,沟通零误差。

UML是一套用来表达OO分析设计的国际标准语言,从1997年发展至今,吸引了相当多的爱用者,也发展出各式付费或免费的UML工具。挑选一套UML工具,做为系统分析师、设计师和程序员的工作平台,有助于提高工作效率。系统分析师产出的UML档案,可以交由设计师添加设计细节,最后再交由程序员按图编码。