5软件项目管理办法为提高******(局)公司应用性主体软件的应用效果,推动数字化烟草建设,提高卷烟上水平,进一步规范******(局)公司软件开发行为,避免重复开发、资源浪费,保证软件开发的水平与效率,特制定本办法。一、总则(一)本办法适应于******(局)公司各项软件开发管理工作。(二)本办法的宗旨为,通过科学管理和激励机制、调动各级技术人员的积极性和创造性,推动******信息化进程,达到既提高实际工作效率,又锻炼技术队伍的双重目的。(三)本办法将根据******公司信息化工作的进程和软件技术的发展不断修改和完善。二、软件开发原则(一)业务原则1、对总局、省局开发的业务系统,通过版本升级和补丁程序进行业务功能的不断完善,只进行提高系统数据利用率和延伸功能的软件开发。2、市以下单位业务系统的开发,主要是针对主体业务软件进行补充性与辅助性的开发,弥补现有主体业务软件存在的缺陷,扩充系统功能及提高数据的利用率。3、不允许对已有系统、已有功能、总局及省局已开发和将要开发的项目进行重复开发;不允许开发与主体业务软件相矛盾的项目;不允许开发大型业务应用系统。(二)技术原则提倡紧跟软件技术发展趋势,特别是紧跟总局和省局的软件主流技术进行项目开发。现阶段,尽量采用B/S模式,大型数据库统一采用Oracle。(三)数据结构原则1、对国家局和省局开发系统的功能扩充,一般要保持原有系统数据结构的不变性。对不改变数据结构无法实现项目功能的情况,只能重新创建新的结构,导入数据,独立于原有的系统。使原系统的升级对开发项目的影响降到最低。2、对总局和省局开发系统的二次开发,应独立建库,与原有系统分开,结构可保持一致。(四)代码规范原则1、项目开发应首先采用国家制定的代码标准。2、烟草行业相关代码,应参照总局相关主体软件,保持代码的一致性。3、尽量减少自定义代码的使用。(五)自主开发原则软件项目开发工作应采用自主原则,未经省局和公司领导批准严禁任何单位与外单位联合进行软件开发活动。三、软件开发的立项(一)立项审批管理1、软件开发项目必须报批省局,公司领导审批,经公司领导批准,并立项后方可进行。2、软件开发项目要统一参加企管部组织的项目评审(二)立项要求1、软件开发项目应建立在本级业务部门业务需求的基础上,形成《业务需求说明书》,并报市局相关业务部门审批。经业务部门认可后,根据《业务需求说明书》,形成《项目总体设计说明书》报市局审批立项。2、对于特定项目,如业务需求非常明确、系统结构比较简单、本单位又特别急需的项目开发,可直接形成《项目总体设计说明书》报省局和公司领导审批立项。3、《项目总体设计说明书》应包括的主要内容有:(1)业务需求、需求缓急程度及业务部门的批示。(2)系统功能。(3)系统总体结构。(4)资金和设备需求。(5)技术实现模式。(6)技术难度和技术可行性分析。(7)开发周期。(8)项目推广远景。(9)其他事项。四、软件开发的过程管理现代软件开发项目的过程管理是一项专门的管理科学,有着许多成熟的经验与方法。结合烟草行业应用及系统软件开发项目的主要特点,特提出下列软件开发过程管理应普遍遵循的规则。(一)需求分析阶段。需求分析是软件开发的首要环节。由业务和技术部门共同参与,认真分析、理解相关的业务管理流程及要求,使需求分析符合实际,最终应形成《业务需求说明书》。(二)总体设计阶段。总体设计要完成的工作在上一节已经明确,这里不再重复。(三)概要设计阶段。概要设计的主要目的是分解、细化系统,主要内容有:列出所需要的模块,明确各模块的功能,模块之间的调用参数及模块的测试计划,根据业务需求完成的数据结构设计、包括数据库设计。概要设计完成后,应提交《概要设计说明书》、《数据结构及数据库设计说明书》、《模块测试计划说明书》。(四)详细设计阶段。详细设计在概要设计的基础上进行。详细设计的内容包括:1、制定统一的程序编码规范。程序编码规范是详细设计阶段的指导性文档,主要确定程序代码编写的统一要求和显示界面的模板或统一风格。2、制定系统统一的命名规范。主要包括模块、变量、函数、数据库、数据表、视图、临时表、字段、页面等各类对象的命名规则。3、按照程序编码规范编写程序代码。(1)程序描述,程序功能、输入项、输出项、算法、流程逻辑、注释等。(2)程序编码,编码风格,缩进风格等。(3)前台界面,显示风格的统一。4、详细设计完成后,应形成系统《详细设计说明书》。(五)软件测试阶段。1、软件测试是保证软件质量的重要工作环节。测试前要详细制定《测试计划》(在概要设计阶段制定);测试中首先进行功能测试,采取交叉工作方式,互相测试,记录测试中发现的问题及解决情况。再进行软件的压力测试、试运行测试等工作。测试完成后,形成《测试报告说明书》。2、在系统测试的同时,开发团队同时应形成系统的《安装说明书》、《使用说明书》。(六)文档汇总1、文档是项目管理的手段,也是软件开发的成果,是软件维护、推广的重要依据。项目开发结束,必须形成三份文档:《安装说明书》、《使用说明书》、《技术说明书》。2、《安装说明书》说明系统安装环境、安装方法、初始设置等。3、《使用说明书》说明系统使用方法、常见故障及解决、典型案例实现等,是针对一般人员的使用指南。4、《技术说明书》是完整的技术文档。主要由需求分析、总体设计、概要设计、详细设计、数据字典、命名规范、编程规范等内容整合而成,是针对专业技术人员的技术参考文档。5、源代码,作为技术资料的一部分,在整个开发过程中,不断整理打包,并按打包的时间或版本归档保管。五、项目的试用(一)项目开发完成后,开发单位与信息中心应积极组织项目在本单位的试用,项目的试用期应根据项目的复杂程度、推广缓急程度不同而定,一般试用期最短不低于2个月,最长不超过1年。(二)试用期间,开发团队应与业务部门和软件使用人员保持紧密联系,充分听取对软件的修改意见,并及时解决试用中遇到的问题,不断完善软件功能。(三)试用完成后,应对《安装说明书》、《使用说明书》、《技术说明书》等文档进行重新整理,对源代码进行重新打包,保证文档和源代码与最新的软件版本保持一致。六、项目的归档管理(一)项目归档管理是指对本级所有开发项目的所有文档和源代码按项目的版本进行分类保存,供今后的再开发、复用、学习等技术活动使用和借鉴。(二)归档保存建议采用按开发单位、项目名称、版本分类归档。(三)分类归档内容为开发过程中的各类电子文档、源代码、后台数据结构、前后台安装程序等。(四)平时应及时做好每个项目的归档管理工作,年终将本年度归档管理内容刻成光盘,永久保存。九、附则本办法自下发之日开始执行,由市烟草公司信息中心负责解释。