曹俊 李祉恒 姜宇东
摘 要:随着软件项目的规模和复杂性越来越大,软件项目管理的难度也在不断的增加,软件项目开发时间的超期、开发成本超支、软件缺陷过多、软件质量不高、软件运行不稳定甚至软件项目的失败等等,严重影响了软件行业的发展。本项目就是要在软件项目开发的过程中,对软件项目的质量、缺陷、Bug、人员、沟通、管理、支持、测试等多个方面对软件项目进行评估和评价,并通过数学模型诊断软件项目的健康状况,并进行有效的预警控制,辅助软件项目的管理。
关键词:软件项目健康跟踪;健康状态;软件质量;CMMI
中图分类号:TP315 文献标志码:A 文章编号:2095-2945(2020)22-0049-03
Abstract: With the increasing scale and complexity of software projects, the difficulty of software project management is also increasing. The development of software industry is seriously affected by the over time of software project development, over expenditure of development cost, too many software defects, low quality of software, unstable operation of software and even failure of software projects. This project is to evaluate and evaluate the quality, defect, bug, personnel, communication, management, support, test and other aspects of the software project in the process of software project development, diagnose the health status of the software project through mathematical model, carry out effective early warning control and assist the management of the software project.
Keywords: software project health tracking; health status; software quality; CMMI
1 系统概述
随着软件行业迅速发展,软件的功能也从简单、单一向复杂、综合方向发展。由于软件功能的复杂化、综合化,加之缺乏对软件及整个开发过程管理的配套体系,暴露出了许多软件的质量问题[1]。软件项目的开发当中总是存在这样或那样的不确定性,导致软件开发过程中必然存在质量缺陷。如何在成本和进度允许的情况下提高软件开发效率和软件质量是本系统开发的意义所在[2]。
2 系统设计
2.1 系统整体结构设计
对于软件项目在开发过程中不同的阶段可以实施不同的评测手段和方法,以此帮助项目进行优化和管理,提高项目的竞争力,减少项目失败的可能性,提高项目完成度,以此提高项目公司的项目在市场上的竞争力并减少失败所需的成本[3]。软件项目健康跟踪控制管理系统的整体功能設计如图1所示。
2.2 评价模型设计
本系统会根据四项标准进行评估,一是项目的进度;二是项目对于资源的利用程度,资源包括高级人员和低级人员的投入,资金的投入,项目完成大致需要的时间等来进行评定;三是缺陷评估项目在上市之前进行的数据测试,发现bug,bug对于项目的干扰程度,是否会真正的影响到项目的发售以及对bug的处理程度;四是沟通程度,该项目是否与客户进行过协商探讨,项目开发时,开发人员的内部沟通,工作人员合作是否顺利以及老板和员工之间的商讨包括资金人员构成等方面[4]。
这四项的评定最后会定型为一个质量指标模型,如图2所示,并根据表1的具体评价权重计算项目健康分数,而分数的来源于项目的评估人,评估人包括,开发人员,商业合作的客户,以及公司的老板,每个人都会对这四项标准进行打分之后会有一个结算系统,结算会根据评估人所处的位置不同进行百分比至结算,在某一方面涉及的越深折算的百分比会越高。结算之后的分数在进行分级,分为健康级,亚健康级,轻微病症级,重病症级。
2.3 系统数据库设计
根据系统的需求,进行系统的数据设计,本系统使用的数据包括静态的数据,即可以在数据库里面直接存储的数据,还有一部分是动态数据,即需要采用XML文件进行储存的数据。本系统静态数据库部分数据库实体关系如图3所示。
系统的动态数据采用XML文件的格式进行数据存储, XML文件结构描述:
< project_attribute> project_attribute>项目状态下的属性。