前 言
本书有两大特色,第一个特色:我假想开发一套基金交易系统,以此做为贯穿每一个分析步骤的仿真案例。特别地,我仿真了SA与客户之间的对话,以此展示出SA在访谈当下会有什么样的提问,以及有什么样的思考,最后又画出了什么样的UML图。
SA的提问及思考的部分是我参与项目及教学的多年经验积累。我参与过的大部分项目都需要对项目成员进行边教边做的项目训练,为了能够在最短的时间内把这些成员训练好,让他们可以立即参与项目,除了基本的理论知识外,更多时候,我传授给他们的其实是实务上的提问技巧,同时也会告诉他们我是如何思考的。这样一来,他们不仅在不耽误太多项目时间的情况下学到UML,而且更能够应付项目工作。
当然,我的提问与思考绝非应用及学习UML的唯一方法,也不会是最正确或迅速的方法。同时,在项目时间紧迫的情况下,项目成员对UML的认知和体会绝对会有所局限。而我所做的这一切,无非是想让项目成员可以有比较低的门槛,对于在项目上应用UML可以有小小的成功经验。因为我十分相信,有了这样的正面的、成功的项目经验,将有助于点燃项目成员日后愿意花更多的时间和精力去深入学习、体会及应用UML。
第二个特色:我将分析步骤编号成CIM-1~3、PIM-1~4,一共七个分析步骤,这样的编号是我从研究DoDAF(美国国防部系统架构框架)所得来的灵感。这样做的一个主因是,在应用UML图时,同一款UML图可以有不同的用途,而初学者经常会有所混淆。
最常见的例子是,使用案例图(use case diagram)可以用来表达企业流程,也可以用来表达系统服务;如果在项目中,既进行企业流程的分析,又作系统服务的分析的话,我发现UML的初学者经常会对此产生困扰—为什么同样是使用案例图,但是一张叫做企业用例图(business use case diagram),但另一张却又叫做系统用例图(system use case diagram)。
为了降低这种困扰,我试着不以UML图为主,而是以分析设计步骤为主,告诉成员每一个步骤的重点是什么,以及采用的UML图?以此来降低UML初学者的学习门槛,同时也大幅节省了项目成员教育训练的时间。而且有了这样的思维,项目成员也可以认知到,UML图并不是非用不可的关键,每一个分析步骤所要呈现的观点才是真正的重点,所以日后有更好的技术时,当然可以将任何一款UML图取而代之。
此外,在进行项目时,一开始就可以评估哪几个分析步骤一定要做,哪几个分析步骤可以视情况添加,这样有助于时间的评估,也有助于经费的预算。项目成员也会很清楚地知道现在做到了哪个步骤,接下来会进行哪个步骤,以及步骤之间的相关性。再者,可以将每一个分析步骤视为一个组件,尝试不同的排列组合,当然这个部分需要顾问的配合才能为项目打造出剪裁合宜的开发流程。
本书预设的读者 本书着重介绍UML的精华概念,删去琐碎且少用的概念,强调UML的实务性。相当有助于UML初学者大步跨过UML理论泥沼,UML现学现卖、立即上手。
再者,本书也非常适合熟知UML,或者一知半解却不知如何将UML应用于实务中的读者,书中提到非常多UML实务应用上的诀窍,可以让这类读者迅速脱离菜鸟生涯。
至于,学校学生就更适合读这本书了,这样可以缩短理论和实务的落差,尽快适用实务,to make more money!
本书结构
本书首先在第1章介绍UML的核心概念;然后在第2章中将分析的七大步骤浓缩成一个案例;随后在第3~9章分别详细研究七大步骤,并且在第10章中汇总整个范例;第11章则试着将七大步骤用于嵌入式系统开发。
第1章主要介绍UML,并且讲述重要的UML概念,奠定UML及对象导向(Object-Oriented)基础。同时,这章也会提到MDA(Model-Driven Architecture)概念,看看它与UML两者搭配造成的新潮流。
第2章主要将本书提到的分析七步骤浓缩成一章,让您可以先睹为快,只要花费一会儿的功夫就可以知道整本书的重点。
第3~9章贯穿基金系统范例,从头到尾细腻地讲述分析七大步骤,同时还会包含UML实务应用上的时机、诀窍、产出以及UML免费工具—StarUML的操作。
第10章归纳汇总出完整的基金系统范例,将分布在第3~9章的拼图一次展现,让您可以看到整个范例的全貌。
第11章特别将书中提到的分析七步骤用于嵌入式系统,示范本书在不同领域的应用。
| 回书目 下一节 |