CRC卡


CRC卡

文章插图
CRC卡在CRC建模中,用户、设计者、开发人员都有参与,完成对整个面向对象工程的设计 。
CRC卡是一个标準索引卡集合,每一张卡片表示一个类 。
【CRC卡】类名在最上方,类的职责在左侧,类的协作关係放在右侧 。
基本介绍中文名:CRC卡
外文名:Class-Responsibility-Collaborator
解释:比较流行的面向对象分析建模方法
分类:类名、类的职责、类的协作关係
类 代表一系列对象的集合,这些对象是对系统设计的抽象建模,可以是一个人、一件物品等等,类名写在整个CRC卡的最上方 。职责 包括这个类对自身信息的了解,以及这些信息将如何运用 。诸如,一个人,他知道他的电话号码、地址、性别等属性,并且他知道他可以说话、行走的行为能力 。这个部分在CRC卡的左边 。协作 指代另一个类,我们通过这个类获取我们想要的信息或者相关操作 。这个部分在CRC卡的右边 。CRC卡片的背面往往记载着这个类的详细描述和在CEC设计中的一些注意事项 。Definition : One common way of checking for a good design andguiding its refinement is to use CRC cards.CRC stands for Classes, Responsibilities, Collaborations. 类名,类的职责,类的协作关係Although CRC is not part of UML, they add some very useful insights throughout a development.Creating CRC Cards 建立一个CRS卡The name of a class, at the top 类名在最上方The responsibilities of the class, on the left-hand side 类的职责在左侧The collaborators of the class, which help to carry outeach responsibility, on the right-hand side of the card.类的协作关係放在右侧In general there should be one or two responsibilities perclass and usually no more than four. Too manyresponsibilities often signals low cohesion (i.e., a badlevel of abstraction) in the system.
Too many collaborators can signify high coupling in thesystem (the class is connected to too many other classes).Since we aim to have systems with high cohesion and lowcoupling, we should aim to find a compromise betweenthese values which is still conceptually sound.讲求高内聚低耦合
耦合性:也称块间联繫 。指软体系统结构中各模组间相互联繫紧密程度的一种度量 。模组之间联繫越紧密,其耦合性就越强,模组的独立性则越差 。模组间耦合高低取决于模组间接口的複杂性、调用的方式及传递的信息内聚性:又称块内联繫 。指模组的功能强度的度量,即一个模组内部各个元素彼此结合的紧密程度的度量 。若一个模组内各元素(语名之间、程式段之间)联繫的越紧密,则它的内聚性就越高 。所谓高内聚是指一个软体模组是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则 。耦合:一个软体结构内不同模组之间互连程度的度量 。一个完整的系统,模组与模组之间,儘可能的使其独立存在 。也就是说,让每个模组,儘可能的独立完成某个特定的子功能 。模组与模组之间的接口,儘量的少而简单 。如果某两个模组间的关係比较複杂的话,最好首先考虑进一步的模组划分 。这样有利于修改和组合 。