第四章 CRP模型
发中,都是在该模型的基础上进行扩展的。
4.1.2 最后用例图
通过几次迭代,在新的需求的增加下和对系统的进一步理解,逐步完善了排课管理系统的用例模型,下面给出的用例图是当前排课系统的最新的用例模型:
图3 排课管理用例图
上面给出的排课管理用例图包括了排课管理子系统中的全部角
17
第四章 CRP模型
色和用例,在实际的UML模型中,为了系统模型的清晰,一个用例模型可以使用好几个用例图来表示。在排课管理的实际建模中,我使用了三个用例图来表示用例模型,这里为了表示方便和节约篇幅,将三个用例图合并成一个。
这里给出的用例模型是当前迭代中进行的,并不表示该模型是最优最全的,模型会随着迭代开发的不断深入而不断优化和完善。
4.1.3 用例描述
上面给出了系统的用例模型,对于用例图中的每个用例,只是给
出了用例的名字,而没有给出该用例的描述与说明。在建模时,必须给出每个用例的说明,描述该用例所完成的功能,以及完成该用例功能的步骤。在对CRP的用例描述中,我选了UML中的活动图来表示,当然,对用例的描述也可以使用用例说明文档来表示。为了说明如何使用活动图来表示一个用例的行为,在此给出“自动排课”用例的活动图,如下所示:
18
第四章 CRP模型
图4 自动排课活动图
上面的活动图详细地描述了自动排课用例在实际的执行的时候,
它应该有哪些步骤,包括了它成功之行得到用户期望的结果和不成功执行所走的步骤。在使用活动图对自动排课用例进行描述的步骤中,有些活动可能需要优化,包括增加一些活动或者合并一些步骤,这些都会随着迭代开发的不断进行而进行优化。
19
第四章 CRP模型
4.2 分析模型
RRUP的第3步,确定了在建立分析模型开始过程中应该做的工
作。分析模型的创建在整个项目的开发中是至关重要的,因为,这是一个将用例模型转化成系统中应该存在的类的阶段,是将系统功能用类如何实现的阶段。整个项目开发的后面工作,都是在分析阶段所完成的分析模型的基础上进行的,所以,在项目的开发过程中,要确保该阶段工作的质量,严格完成该阶段应该完成的各种UML图。
在这个阶段,找出排课管理系统中涉及的主要的类,并并且结合用例模型中的用例,将各个类与用例有机结合起来。对系统中的类,建立相应的类图来表示各个类之间的关系。而如何让用例与这些类进行结合,则需要建立相应的序列图/协作图来进行建模。
分析模型的建立,并不是一个或几个类图所能实现了,为了对一个系统进行充分建模,对于不同的项目可以选用不同的建模元素和建模机制。在对排课系统的建模中,选择了类图和序列图来构建其对应的分析模型。
4.2.1 分析阶段类图
在分析模型中的给出的类图,并不需要为每个类详细定义方法和属性,在这个阶段的类图,主要反映的是系统中应该有的类和各个类之间的关系;当然,对于一些非常重要的方法和属性,特别是反映各个类之间的关系的方法和属性,在此阶段可以给出定义。
在排课管理系统的分析模型中,通过对排课系统的分析和几次迭代,找出了排课管理系统中涉及的类,并给出了如下的类图和各个类之间的关系:
20

