如何用CRC模型来确定需求
来源:互联网 发布:手机淘宝搜索不到宝贝 编辑:程序博客网 时间:2024/05/03 23:40
作者:♀泓峥萧瑟♂ 转摘自51CMM.COM
CRC(Class-Responsibility-Collaborator)卡建模是一种简单且有效的面向对象的分析技术。在一个OO(面向对象)开发项目中,包括用户、系统分析员和开发者在建模和设计过程中经常应用CRC卡建模,使整个开发团队普遍的理解形成一致。
它由三部分组成:
1. 类(Class)
2. 职责(Responsibility)
3. 协作(Collaborator)
一个类代表许多类似的对象。而对象是系统模型化中关注的事物。他们可以是一个人、地方、事情、或任何对系统有重要性的概念。类名一般列在CRC卡的顶部。
职责是类需要知道或做的任何事物。这些职责是类自身所知的知识,或类在执行时所需的知识。
协作是指为获取消息,或协助执行活动的其他类。在特定情形下,与指定的类按一个设想共同完成一个(或许多)步骤。协作的类顺着CRC卡的右边排列。
CRC 模型是CRC卡的集合,它代表一个应用域或问题域的全部或一部分。CRC模型是最普遍的用户,其中的白皮书地址是用于收集和定义一个面向对象应用的用户需 求。图中展示了一个航运/存货控制系统的CRC模型例子,展示的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建模,就根据项目、企业、客户自身存在和所需的条件而定了
- 如何用CRC模型来确定需求
- 如何用CRC模型来确定需求
- 如何用IM来营销?
- 如何用模型分析中国经济?
- 【操作系统】如何用程序确定当前系统的存储模式
- 如何用正则表达式来表示中文?
- 如何用CRegKey类来操作注册表
- 如何用函数来重新启动WIN2000
- 如何用Perl来获取主机地址?
- 如何用link方式来安装插件
- 如何用IIS来实现OTA下载
- 如何用C#来部署数据库
- 如何用C#来部署数据库续
- 如何用C#来部署数据库
- 如何用Visual C#来做组件
- 如何用ResourceBundle来读取配置文件
- 如何用link方式来安装插件
- 如何用CRegKey类来操作注册表
- DataGrid Bind Checkbox....
- 仙四遐想
- 阴阳鱼
- C#下实现动态系统托盘图标
- 实现udp打洞的代码
- 如何用CRC模型来确定需求
- Struts 1 学习笔记-2-2(Struts标签的测试用例)
- 搞笑的某论坛注册协议
- sql常用语句,举例
- Vista 虚拟光驱解决方案之 Alcohol
- iphone VS Android ?
- 阴阳鱼之周期性振幅,与面积
- 代理蠕虫新变种 利用常用工具下载新病毒
- 禁止ie弹出alert窗口