您的位置:首页 > 其它

快速学习COSMIC方法之九:如何识别兴趣对象?

2018-01-19 14:14 344 查看
兴趣对象是COSMIC方法中一个关键的概念。它影响了我们识别的功能点的多少。兴趣对象是描述中在功能需求中的、功能用户感兴趣的事物,它可以是一个具体的东西,也可以是一个抽象的概念,系统一定要对它执行输入、输出、读或写的动作。 在COSMIC中对兴趣对象有明确的定义,识别兴趣对象的规则也有定义。结合度量手册与其他指南,结合我的实践经验,总结了如下的实用性规则,供大家参考:1兴趣对象一定是来自于功能需求的,是需求中提到的,而不是实现时开发人员基于技术的需求而临时存储或处理的数据。比如临时表、临时变量、系统界面中软件开发商的信息,这些都不是兴趣对象,也就是对这些信息的处理都不计算功能点。2兴趣对象未必一定要存储到硬盘上或其他介质中,即兴趣对象未必一定要在系统中读或写,它也可以只有输入或只有输出,比如在查询功能中的查询条件,就是一个兴趣对象,他可能只有输入的数据移动。3不同的兴趣对象代表了不同的事物或概念。比如人和车就是不同的事物。4在一个系统中,具有不同属性的事物是不同的兴趣对象。5在一个系统中,具有不同发生频率的事物是不同的兴趣对象。6在一个系统中,具有不同的关键字的事物是不同的兴趣对象。


我们可以通过如下的例子,加深对上面的规则的理解:例1:录入人员的如下信息:人名,身份证号,性别,车牌号。此时是识别为几个兴趣对象呢?应该只有一个兴趣对象:人员,它的属性包括人名,身份证号,性别,车牌号。车牌号不应该被识别为一个单独的兴趣对象,它只是人员的一个属性!所以此需求的功能点为:


例2:录入如下的信息:人名,身份证号,性别,车牌号,车的发动机号,车的品牌。一个人最多拥有一部车。
此时是识别为几个兴趣对象呢?应该是两个兴趣对象:人员(人名,身份证号,性别,车牌号)车(车牌号,车的发动机号,车的品牌)根据前面的规则3与规则4,此时人和车是两个不同的兴趣对象,他们具有不同的属性,有不同的关键字,虽然他们在本需求中是一对一的关系。不能认为车的发动机号,车的品牌是人的属性。所以此需求的功能点为:



例3:
录入如下的信息:人名,性别,车牌号,发动机号,品牌。但是一个人可以拥有多部车。 此时是识别为几个兴趣对象呢?还应该是两个兴趣对象:人员(人名,身份证号,性别)车(车牌号,车的发动机号,车的品牌,车主的身份证号)根据前面的规则5,一个人拥有多部车,人与车是单独的兴趣对象。所以此需求的功能点为:



例4:录入如下的信息:人名,性别,车牌号,车的发动机号,车的品牌。但是一个人可以拥有多部车,一部车可以属于多个人拥有,比如一家人,都可以认为是车的主人,一家人可以有多部车。 此时是识别为几个兴趣对象呢?应该是三个兴趣对象:人员(人名,身份证号,性别)车(车牌号,车的发动机号,车的品牌)人与车的对应关系(车牌号,身份证号) 根据前面的规则5,一个人拥有多部车,人与车之间对应关系是单独的兴趣对象,而人与车的关系,有自己独立的关键字,所以应该识别为单独的一个兴趣对象,并且,人、车,人与车的对应关系,他们三者发生的频率也是不同的。所以此需求的功能点为:


 上述的这个例子仅仅是一个示例,现实中的需求可能不是这样的,因为维护上述的关系很可能是不同的功能处理。
例5: 查询在人员数据库中所有年龄超过x的员工
在此需求中,根据规则2,查询条件是一个单独的兴趣对象,它只有会被输入,不会被存储,而人员信息是另外一个兴趣对象。此需求的功能点为:



在商业应用软件中,每个兴趣对象通常有多个属性,而在嵌入式实时系统中,很可能一个兴趣对象只有一个属性: 例6: 人可以通过遥控器可以控制空调的温度大小。
此时,目标温度是一个兴趣对象,其属性只有一个,即温度值。
此时在区分目标温度是否是是一个单独的兴趣对象时,要根据规则3来判定。兴趣对象并不意味着要求要采用面向对象的方法,这里的兴趣对象与面向对象方法中的对象不能画等号。采用结构化开发方法或其他任何开发方法都可以使用COSMIC方法计算功能点。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息