用CRC模型来确定需求

简介:

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建模,就根据项目、企业、客户自身存在和所需的条件而定了。
本文转自BlogJava 新浪blog的博客,原文链接: 用CRC模型来确定需求,如需转载请自行联系原博主。

相关文章
|
机器学习/深度学习 IDE 开发工具
超越笔记本:JupyterLab 的功能扩展
【8月更文第29天】随着数据科学和机器学习的发展,交互式计算环境的需求也日益增长。Jupyter Notebook 作为这一领域的领头羊,已经得到了广泛的应用。然而,为了满足更加复杂的工作流需求,Jupyter 开发者们推出了 JupyterLab —— 一个下一代的交互式计算环境。本文将探讨 JupyterLab 相对于传统 Jupyter Notebook 的增强功能,并通过具体示例展示这些新特性如何提升工作效率。
620 1
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
841 59
|
Kubernetes 测试技术 持续交付
C# 一分钟浅谈:集成测试与系统测试
【10月更文挑战第19天】本文详细介绍了集成测试和系统测试的概念、目的及其在软件开发中的重要性。通过分析常见问题和易错点,结合代码示例,探讨了如何通过代码规范、自动化测试和持续集成等方法提高测试效果,确保软件质量和可靠性。
648 1
|
JSON 前端开发 JavaScript
优雅!Spring Boot 3.3 实现职责链模式,轻松应对电商订单流程
本文介绍如何使用 Spring Boot 3.3 实现职责链模式,优化电商订单处理流程。通过将订单处理的各个环节(如库存校验、优惠券核验、支付处理等)封装为独立的处理器,并通过职责链将这些处理器串联起来,实现了代码的解耦和灵活扩展。具体实现包括订单请求类 `OrderRequest`、抽象处理器类 `OrderHandler`、具体处理器实现(如 `OrderValidationHandler`、`VerifyCouponHandler` 等)、以及初始化职责链的配置类 `OrderChainConfig`。
|
数据可视化 Python
PYTHON贝叶斯推断计算:用BETA先验分布推断概率和可视化案例
PYTHON贝叶斯推断计算:用BETA先验分布推断概率和可视化案例
|
开发框架 Java .NET
闪速码短信Python接口SDK
闪速码短信Python接口SDK
333 4
|
并行计算 PyTorch 算法框架/工具
pytorch的安装步骤
pytorch的安装步骤
415 6
|
Unix Shell 开发工具
环境搭建 | MuMu模拟器 - Window10/11 系列
环境搭建 | MuMu模拟器 - Window10/11 系列
1084 0