使用 UML 对系统进行建模
面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、
设计和实现方面都有着很大的区别。UML 是 OOA 和 OOD 的常用工具。使用 UML 来构建
软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。这些模型
包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的
实现模型。当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的
质量。
使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。然我,我们经
常会发现,在实际的开发过程中,很多开发人员虽然能够理解 UML 的所有图形,却仍然不
能得心应手的使用 UML 来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方
法,而不清楚如何使用 UML 来建立系统的这些模型,不清楚分析和设计的区别,以及他们
之间的转化。
应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。应用软件
的制造过程,按照 UML 的方法,就是建立这一些列模型的过程。本文将就一个图书馆系统,
说明如何使用 UML 来对系统进行这一系列的建模。
关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图
书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。当然,图书馆管理员也可以
对图书进行管理。为了简化系统,我们没有把图书馆中的人员作细分。
之所以采用这个相对简单案例,是因为很多人都对图书馆系统有很强的感性认识,这样,
读者不需要花很多的时间来理解系统包含的业务知识。同时,也因为本文只是对使用 UML
的过程做一个探讨,着眼于使用 UML 进行建模的过程,说明各个层次的模型之间的区别和
联系,展示系统演进的过程,而不会深入 UML 的细节方面。对于更加复杂的系统,其分析
和设计的方法是相通的,可以举一反三。
用例模型——系统需求的获取
用例模型定义系统做什么,是用来获取系统需求的有效手段。用例模型由“角色”和
“用例”组成。我们在构建一个用例的时候,通常要做的第一件事情是识别角色,或者说,
参与者。然后我们我们需要识别系统为参与者提供的服务,或者说,参与者的行为,也就是
用例。最后,我们确定角色和用例之间的关系。在这个图书馆系统中,我们可以识别出的角
色有学生和图书管理员。整个用例模型包含的用例有:借书、还书、查阅图书、预订图书,
以及图书维护。用例模型可以用用例图表示如下:
评论0