UML软件工程组织

如何用CRC模型来确定需求
作者:♀泓峥萧瑟♂ 转摘自51CMM.COM
CRC(Class-Responsibility-Collaborator)卡建模是一种简单且有效的面向对象的分析技术。在一个OO(面向对象)开发项目中,包括用户、系统分析员和开发者在建模和设计过程中经常应用CRC卡建模,使整个开发团队普遍的理解形成一致。
它由三部分组成:
1. 类(Class)
2. 职责(Responsibility)
3. 协作(Collaborator)
一个类代表许多类似的对象。而对象是系统模型化中关注的事物。他们可以是一个人、地方、事情、或任何对系统有重要性的概念。类名一般列在CRC卡的顶部。
职责是类需要知道或做的任何事物。这些职责是类自身所知的知识,或类在执行时所需的知识。
协作是指为获取消息,或协助执行活动的其他类。在特定情形下,与指定的类按一个设想共同完成一个(或许多)步骤。协作的类顺着CRC卡的右边排列。 
CRC模型是CRC卡的集合,它代表一个应用域或问题域的全部或一部分。CRC模型是最普遍的用户,其中的白皮书地址是用于收集和定义一个面向对象应用的用户需求。图中展示了一个航运/存货控制系统的CRC模型例子,展示的CRC卡将被放在一张书桌或工作桌上。注意卡的放置:相互协作的卡是彼此接近的,无关系的卡不能放在附近。




下面我们来谈谈如何创造一个CRC模型的?有六个步骤:
1、 CRC模型组一起加入(模型组包括相关的客户领域人员、设计者、记录员、系统分析员等)。
2、 安排模型房间。
3、 进行集体自由讨论
内容根据此CRC模型的系统目标进行,如系统是为谁开发的?那些商业业务需要这个系统的何种支持?工作时需要什么信息?……总之尽量按能达到系统要求实现的目标进行,包括进行活动时对资源、条件、活动及人员的要求。
4、 讲解CRC模型技术(完成集体讨论后,设计者将描述CRC模型过程。通常需要花费十至十五分钟,该过程包括创造几个CRC卡范例,范例参考上图)。
5、 重复地执行CRC模型步骤。
6、 执行用例情景试验
用户情景试验是一个任务过程模式,其中用户们将积极地参与以保证需求是准确的。基本的思想是一组商业领域专家(也就是客户方),设计者,系统分析员一步步通过一系列的用例证实CRC模能准确地反映出用户的需求。
其实说白了,CRC模型就是一种沟通方式,客户方与开发方如何通过这种有效的、易实现、易操作的方式建立一个能描述准确的、双方达成共识的系统需求。CRC建模因为用户积极参与到模型的定义中,他们对工作的满意度就会增加,并与开发者们并肩创造这个CRC模型,通过这个一连串的模型卡,双方对待建的系统需求目标达成共识。当然CRC模型也存在一定的缺点,CRC模型只是一个面向对象应用的用户需求定义的一部分。你也应该考虑到用例,原型,和正式的需求文档。是否要使用CRC建模,就根据项目、企业、客户自身存在和所需的条件而定了


版权所有:UML软件工程组织