公共子系统和单独的CSCI的软件规模是每月跟踪的,而且直接从进化的度量元文件中导出。从最初的合同投标(150000SLOC)到已交付的产品(355000SLOC),总的代码量有大量的增长,而软件开发的预算却没有实质性的增加。造成这种等级的代码增长有两个原因:
  1.在第8个月左右变更了统计代码行的方法,以便在估计工程工作量时提供更好的平衡并与Ada COCOMO包含的统计方法一致。
  2.开发了几个自动化的代码生成工具,这些工具会输出冗长的具有少数人工生成的输入行的源代码。这些工具用来直接生成显示格式、消息确认过程和套接口/环路簿记函数。它们相当于大约14000SLOC的工具,这些工具需要另外的20000行的输入数据文件。这些工具的输出是大约200000SLOC的可操作软件。总的来说,这些代码生成工具产生了大约5倍左右的投资回报。
  SLOC增长的主要原因是统计规则的变更。合同授予时,采用的是简单的分号统计。这种方法转换为如下所示的统计规程,该规程由一个被项目所有人员使用的简单工具实现:
  •在一个Ada规格说明部分,每个回车换行作为一个SLOC计算。4个编码标准使SLOC计算变得一致:
  1.子程序声明的每个参数被列在一个独立的行上。与一个子程序接口设计有关的工作量通常与参数的数量成正比。
  2.对于每个定制的枚举类型(比如套接口名字和系统状态)和记录类型,每个枚举或域被列在单独的行上。定制类型通常包括定制的设计和工程,起导致了SLOC数量的增长。
  3.对于预定义的枚举类型(比如键盘按键和指南针方向),在不是可读性的情况下枚举被尽可能列在最少数目的行上。这些类型一般不要求定制工程。
  4.复合对象(比如记录和数组)的初始化按每行一个分支列出。这些赋值中的每一个代表了一个定制的语句;一个“others”子句通常用作非定制的赋值。
  •在Ada体内,每个分号统计为一个SLOC。类属实例的每个类属参数统计为一行。
  与可执行(体)设计相比,这个定义更注重陈述性(规格说明)设计。尽管这个定义引起了许多激烈的争论,但无论是在项目内还是项目外,它都起着相当好的作用。定义是否完美并不太重要,非常重要的是有一致的、适当的定义。
  两个构件引发了SLOC定义的变更。首先,在SSV中的SAS包包含一个网络定义,该定义由所有的进程定义、任务定义、套接口定义和套接口连接组成。这些包包括许多记录定义、定制的枚举类型以及在规格说明部分的记录和数组域的初始化。这些元素的源代码由50000多个回车换行组成,但只有几百个分号。由于包含这些包的工程工作量更像是与50000SLOC相关的工作量,因此需要进行变更。类似地,第2个构件是系统全局消息类型,这些包大约有300个不同的代表SAS对象之间大量数据交换的记录类型。

★关于WorkWin公司电脑监控软件★

WorkWin的使命是打造Work用途的Windows 电脑系统,有效规范员工上网行为,让老板知道员工每天在做什么(监控包括屏幕、上网在内的一举一动),限制员工不能做什么(禁止网购、游戏、优盘等)。

WorkWin基于纯软件设计,非常容易使用,无需添加或改动任何硬件,使用一台管理机监控全部员工机电脑。历经南京网亚十余年精心打造,此时此刻每天都有成千上万企业电脑正在运行WorkWin,选择WorkWin选择“赢”。

WorkWin介绍

WorkWin监控首页 短视频讲解 下载免费试用版

版权所有,南京网亚计算机有限公司 。本文链接地址: 软件规模的进化过程