2011年软考软件测评师测试技术辅导(11)

来源:软件水平考试    发布时间:2012-11-05    软件水平考试视频    评论

  软件测试工作量估算之功能点估算法

  从上个世纪70年代开始,一些软件企业就开始引入“功能点分析算法”,来评估软件功能的规模,然后便可以对软件开发的成本和工期,进行精确的度量,也可以对开发团队的生产率进行考核评估。半个世纪以来,很多种不同的功能点算法模型被建立起来,Mk II功能点算法是其中一种比较常用的模型。

  随着淘宝网站的高速发展,淘宝开发团队规模也不断增大,于是必然要面对管理问题。人数的增多必然带来管理层级的增多,这样很容易出现管理结构的臃肿,管理成本增高。如果我们引入一种简单而且科学的工作度量模型,让每个人每个团队的工作质量和效率用数字来说话,便可以促进管理结构的扁平,简化管理过程,每个管理者可以管理更多的人,并且对下属的工作了如指掌。

  功能点算法就是为了解决如何度量工作效率的问题,而工作质量主要是依靠分析各种Bug数据,我们在别的文章里讨论。

  首先我们讲一下MVC模型,这是目前WEB开发的一种非常流行的软件架构模式。它把WEB应用程序定义为3个部分,每个部分负责完成特定的任务:

  Model 模型

  View 视图

  Controller 控制器

  Model主要与数据库交互,把数据表转换成对象,并且实现基本的数据读写逻辑,比如在淘宝网,商品就是一个Model。View负责实现界面的设计,我们浏览网页看到的WEB界面控件,比如按钮、文本框、GRID都是在View中定义的,设计View主要是用Html和JS。用户在View层进行的各种操作(比如点击按钮),就会启动Controller里的函数,主要的业务逻辑代码,都写在Controller里了,其实也就是对各种Model进行增删改查,比如购买一个商品。

  关于MVC的更多详细说明请参考维基百科。

  接下来我们介绍MkII功能点算法,淘宝测试选择MkII的主要原因是,它的算法和MVC模式非常的吻合,可以说是黄金搭档。

  MkII功能点算法是这样:先要给各个功能模块划分逻辑事务,然后针对每个逻辑事务,分析输入DET(Data Element Type)和输出DET的数量,以及关联的实体类型数量,再根据一个算法公式,计算出功能点指数:

  功能点=输入DET×0.58+实体类型×1.66+输出DET×0.26

  逻辑事务指用户在WEB应用程序中的原子操作。很多开发团队都会设计UseCase,一般来说一个UC对应一个逻辑事务。注意:逻辑事务一定是记录用户行为的,而不是程序内部的处理逻辑。不过在实际的分析中,我们发现逻辑事务的个数,往往要大于UC的个数,这是正常的,主要因为很多UC包含的信息很多。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答