快速学习COSMIC方法之十三:如何识别读和写?

在实践中识别读和写是比较简单的,出错的概率比较小。

读和写都是被度量的软件与存储介质之间的数据交互动作。读是从持久存储介质移动数据到功能处理内部,写是从功能处理移动数据到存储介质,二者的方向是相反的。

在识别读和写时,要注意以下几点:

1 每个读或写移动的是一个兴趣对象的一个数据组。

如果是移动的多个兴趣对象的数据组,则需要识别为多个读或写。

如果是一个兴趣对象的不同数据组,也是要识别为多个读或写。

如果一个兴趣对象的相同数据组被重复读或写多次,也是识别为一个读或写。如在一个外汇交易的软件中,在一个功能中需要每60秒读取一次美元汇率,此时,就只能识别为一个读。

2 读和输入不要混淆了,写和输出不要混淆了。

读是从持久存储介质移动数据到功能处理中。输入是从功能用户移动数据到功能处理中。

写是从功能处理移动数据到存储介质中,输出是从功能处理移动数据到功能用户处。

只要不是把功能用户与持久存储介质搞混了,就不会发生上边的误解。

3 对临时数据的读或写不计算功能点。

如果读或写的不是兴趣对象,而是由于实现的需要而读或写一些临时数据,则是不计算功能点的。这些临时数据不是功能用户感兴趣的对象,不是从需求中识别出来的。

案例:在一个登录功能中,如果密码输入错误5次,就锁定账号。软件内部需要记录错误次数,但登录功能完成后,此次数是不需要保存留待后续其他功能使用的。则这里的次数,是临时数据,虽然运行中是要存储的,但是不识别为写。

4 读请求不要单独计算功能点。

如果要从持久存储介质读取数据,我们需要发出一个读的命令,然后获得需要的数据。此时只计算为一个读的功能点,不能为读请求计算单独的功能点。

如果功能处理是从功能用户处获得数据,需要通知功能用户发送什么具体的数据,此时是需要有一个输出,然后再计算一个输入的,这种情况是计算两个功能点。如果不要通知功能用户发送什么数据进来,而是功能用户知道该发哪些数据,此时就只计算为一个输入的功能点。所以,如果不把持久存储介质识别为功能用户,就不会识别错有关读的功能点。

5 删除一个数据组是一个写。

这个符合我们的自然常识,不需要多解释了。

猜你喜欢

转载自blog.csdn.net/dylanren/article/details/79580864