Page 71 - 《软件学报》2020年第11期
P. 71

康燕妮  等:软件需求变更管理的系统动力学仿真建模                                                       3387


                 (如图 7(b)所示),以分析需求变更对代码行造成的影响,即对软件规模大小造成的影响.由于 commit 提交的内容
                 并不都与 issue 有关,因此,为了更好地分析需求变更对 commit 和代码行的影响,模型中将 commit 提交的有关内
                 容划分为与需求变更有关的 commit 提交(issue commits)、与需求变更无关的 commit 提交(no issue commits)以
                 及与 bug 有关的 commit 提交(bug commits).同样,将与代码行变更有关内容划分为与需求变更有关的代码行变
                 化(code issue lines)、需求变更无关的代码行变化(code no issue lines)以及与 bug 有关的代码行变化(code bug
                 lines)这 3 类.
                    在该子系统中,需求变更代码总行数(code issue lines)表示与需求变更有关的代码总行数,单位为 line,计算
                 公式如(6)所示.
                                Code issue lines=INTEG(Add issue lines rate−Delete issue lines rate,0)  (6)
                    项目代码总行数(total code lines)是需求变更有关的代码行数、与需求变更无关的代码行数以及与 bug 代
                 码有关的代码行数之和,单位为 line,计算公式如(7)所示.
                                 Total code lines=Code issue lines+Code no issue lines+Code bug lines  (7)
                    与需求变更有关的代码百分比(percent of issue code lines),单位为 Dmnl,计算公式如(8)所示.
                      Percent of issue code lines=IF THEN ELSE (Total code lines≠0,Code issue lines/Total code lines,0)  (8)
                 1.3.3    质量管理子系统
                    软件质量是软件成功与否的重要标志.需求变更使得软件的代码发生变更,代码的变更有可能导致 bug 产
                 生,因而影响软件的质量.作为重点分析的目标,软件质量管理单独设计为一个子系统,详细反映需求变更对软
                 件质量带来的影响,如图 8 所示.
























                                               Fig.8   Quality assurance subsystem
                                                   图 8   质量保证子系统
                    软件质量用软件缺陷率来表示,等于 bug 总数量除以代码总行数,计算公式如(9)所示.
                                                )"
                          "Software quality (defect rate =                                 ⎫
                                                                                           ⎬          (9)
                          IF THEN ELSE(Total code lines ≠  0,TOTAL number of bugs  /Total code lines ×  1000,0) ⎭
                    评审有效性(review effectiveness)表示对需求变更进行评审,可以减少 bug 报告率,单位为 Dmnl,计算公式如
                 (10)所示.
                                     Review effectiveness=RANDOM NORMAL(0,1,0.05,0.1,0)              (10)
                 1.3.4    进度计划与控制子系统
                    进度计划与控制子系统的功能是对需求变更引起的工作量进行统计,并根据项目的进度压力以及人员的
   66   67   68   69   70   71   72   73   74   75   76