一个定义良好且管理良好的过程是区别成效卓著的项目和不成功项目之间的重要指标。“统一软件开发过程”正是我们在软件开发上面临的难题的解决之道。第一点也是最重要的一点是,这个“统一过程”是软件开发过程。软件开发过程是将用户的需求转化为一个软件系统的一系列活动的总称(见图一)。然而,“统一过程”不仅仅是一个过程。它是一个通用过程框架,可以应付种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。
“统一过程”是基于组件的,这意味着利用它开发的软件系统是由组件构成的,组件之间通过定义良好的接口相互联系 。
在准备软件统的所有蓝图的时候,“统一过程”使用的是“uml”。事实上,UML 是“统一过程”的有机组成部分——它们是被同步开发的
然而,真正使“统一过程”与众不同的方面可以用三个句话来表达:它是用例驱动的、以基本架构为中心的、迭代式和增量性的。正是这些特征使得“统一过程”卓尔不群。开发软件系统的目的是要为该软件系统的用户服务。因此,要创建一个成功的软件系统,我们必须明白其潜在用户需要什么 。
“用户”这个术语所指并不仅仅局限于人类用户,还包括其他系统。在这种意义上,“用户”这个术语代表与利用“统一过程”开发出来的系统发生交互的某个人或者某件东西(例如在所要开发的系统之外的另一个系统)。交互的一个例子是使用自动取款机的一个人。他/ 她插入塑料磁卡,回答机器显示器上提出的问题,然后就得到了一笔现金。在响应用户的磁卡和回答时,系统完成一系列的动作,这个动作序列为用户提供了一个有意义的结果,也就是提取了现金。
这个交互就是一个“用例”。一个用例就是系统中向用户提供一个有价值的结果的某项功能。用例捕捉的是功能性需求。所有用例结合起来就构成了“用例模型”,该模型描述系统的全部功能。这个模型取代了系统的传统的功能规范说明。一个功能规范说明可以描述成对这个问题的回答:需要该系统做什么?而用例战略则可以通过在该问题中添加几个字来描述:需要该系统为每个用户每个用户每个用户每个用户做什么?这几个字有着重大意义。它们迫使我们从用户的利益角度出发进行考虑,而不仅仅是考虑系统应当具有哪些良好功能 。 只有熟练掌握这些要领,才能充分提高软件的运用价值,为用户创造更多利益。