计算机软件开发控制程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发控制程序
1目的
建立并实施计算机软件(以下简称:软件)开发的工程化管理,确保软件质量达到规定的质量特性要求,满足用户、市场需要,符合相关的法律法规, 并确保设计、生产和管理工作的正常进行。
2适用范围
适用于本公司研制开发的所有软件产品。
3术语
本文术语采用GB/T11457-1995中有关的术语定义。
4职责
4.1市场分部/商务部门:负责进行市场调查,了解客户需求,寻找产品项目,发现目标客户;经筛选合格的市场调查项目, 参与组织项目立项、项目技术交流;购买招标文件、投标文件制作、合同草案拟稿; 协助研发技术人员进行可行性研究和方案制作; 参与投标项目评审、合同评审。
4.2产品研发部门经理: 负责组织项目立项,项目评审、合同评审;任命项目经理;负责软件研制、生产过程中的技术管理与质量控制;在分管的权限范围内对软件产品实现过程监控和协调。
4.3项目经理:参与项目评审和合同评审;负责组建项目组;按设计规范组织软件设计开发项目的策划、实施和过程控制,组织项目各阶段设计评审; 项目组软件设计师负责软件产品设计开发、安装调试、防病毒、用户培训和产品维护。
4.4生产质量分部: 负责软件研制、生产过程中质量监督与管理;负责软件产品的贮存管理和保密工作; 负责软件文件标准化检查; 负责软件文档的归档管理和数据备份工作。
4.5总工程师:负责开发项目总体协调,组织对关键技术开展预研和攻关;批准开发要求或立项计划,提供必要的资源配置;负责审批软件设计文件和生产文件,做好研制、生产阶段的质量控制,并组织开展软件工程必须的各项培训。
5工作程序
5.1软件工程化管理
5.1.1软件开发以项目为单位进行。项目经理对开发软件的质量负责。
5.1.2软件开发应以设计任务书的形式明确其技术要求、应交付的文档清单、可靠性、安全性要求、测试要求、验收标准等。
5.1.3软件开发应纳入产品研制计划,对软件研制进度、经费予以安排和保证。
5.1.4软件开发从任命项目经理、组建项目组开始,在充分了解任务书各项技术要求后,按需求分析、软件系统设计与软件实现、软件测试和系统测试、软件生产与验收鉴定、运行维护等程序实施。大型软件的系统设计需按系统概要设计和系统详细设计两步进行。
5.1.5在产品开发各阶段结束时,应组织有关软件专家对软件进行独立的设计评审,对软件是否满足设计任务书要求作出评价。评审合格后方可进行下一步的开发工作。
5.1.6 软件开发流程图
5.1.7 软件文档
在软件开发的每一个阶段都必须编制相应的文档,作为软件开发过程中的重要文字依据,同时也是开发阶段节点完成任务和转阶段的重要标志。软件文档的管理执行QJ1912-99标准。
为保证软件的实现满足要求,应至少需要下列文档:软件立项可行性报告、软件需求规格说明书、软件设计说明书、软件测试计划、软件测试报告、用户手册、源程序清单、项目实施计划、项目开发总结等。
软件文档的内容要求按GB8567-88《计算机软件产品开发文件编制指南》执行,软件文档的标准化要求、完整性要求按QJ1912-99执行。
软件任务书、技术说明书等重要文档中,应有质量、性能指标、可靠性等特性的要求。
软件文档的签署及职责按QJ1714.9A—98和QJ1912.4—99等有关规定执行。
软件文档编写、签署完毕后,由生产质量分部进行统一归档存贮。执行航天总公司QJ1912.6-99标准。
5.2 软件开发各阶段质量控制
5.2.1 软件立项阶段
研发部门经理根据市场部门或公司提供的合同、技术方案、开发任务书,对开发过程进行分析和策划。在每个软件开发前,均应由研发部门经理或指定项目经理进行该项目详细的可行性研究,分析待开发软件的主要研究内容和技术途径,存在的技术关键和市场风险等,完成《项目立项可行性研究报告》,供公司领导召开专家评审会对项目的可行性进行立项决策。立项通过后,下达项目任务书,编制项目开发计划。
5.2.2 软件设计阶段
5.2.2.1 设计开发项目组织策划
5.2.2.1.1 由研发部门经理根据开发要求任命项目经理、组建研发项目组,确定项目组的成员和组织结构及技术要求、培训要求、资源配置等。
5.2.2.1.2项目经理根据项目任务书,完成《开发项目计划书》。并在部门经理的组织下,进行评审,递交总工程师批准确认。
5.2.2.2 设计开发阶段
5.2.2.2.1 软件开发过程中涉及需求分析、系统设计(含概要设计和详细设计)、代码编写、软件测试5个阶段,允许在项目策划阶段,根据项目的规模和要求,对软件开发过程进行合并或删减,如允许在中小型软件开发时,对系统设计中概要设计和详细设计进行合并。
5.2.2.2.2 各阶段应完成的文档编写。
5.2.2.2.3. 各阶段完成设计后,根据开发计划应组织对产品进行阶段评审。阶段评审由总工程师主持,生产质量分部组织,公司专家组成员参与,评审合格后方可进行下一步的开发工作。评审内容为:软件设计是否体现了软件需求说明,软件功能和性能是否达到了设计任务书规定的指标;软件接口设计的协调性和运行环境的恰当性、模块设计的正确性、完整性等。
根据软件设计的不同开发阶段,进行相应的软件系统分析与评审、软件需求评审、软件系统设计与软件实现评审、软件测试评审等。
5.2.3 软件测试阶段
5.2.3.1软件测试阶段一般分为编码测试、单元测试、组装(集成)测试、系统测试。测试过程的选择、测试方法、要求和通过条件等因素由项目组根据软件项目的规模进行确定,并依据计划组织评定,进行确认。
5.2.3.2项目工程师在每个模块完成后,均应进行详细的模块测试,确认模块的开发满足设计文档中的功能和接口要求;
5.2.3.3软件在所有模块均开发完成后,应进行集成测试,由项目经理根据项目任务编制《测试计划》,根据被测试特性,设计测试用例的结构,确定每一个测试用例的执行方式(手工、自动或半自动)、输入、期待的输出等。必要时可由项目经理组织,在设计概要设计和详细设计阶段编写测试说明书,用于指导测试工作。
5.2.3.4由部门经理组织相关人员对《测试计划》进行评审,评审应考虑测试环境的现状、测试人员状况、测试工具和测试软件等因素。《测试计划》评审通过后,项目组应先进行内部测试。
5.2.3.5 项目组对软件内部测试通过后,应提请公司生产质量分部对软件进行测试;项目组应建立测试环境,准备测试数据,并协助测试人员执行测试用例,详细记录测试结果。测试完成后,生产质量分部应完成《测试报告》。
软件测试控制按SSNC-QP824-2《软件产品测试控制程序》执行。
5.2.4 软件验收评审阶段
5.2.4.1软件产品在正式交付/使用前应进行验收评审,以确保软件产品在目标环境下满足规定和预期的用途。验收评审由生产质量分部组织,总工程师主持,项目组成员、公司专家组、用户方参加。
5.2.4.2软件验收确认内容:
a.软件产品在目标环境下满足规定用途的功能、性能、使用要求的确认。
b.软件产品的依从性、可操作性、容错性、及其替换性能等预期性能的确认。
c.软件系统的易用性、可靠性、保密性和安全性、易恢复性及其易维护性的确认。
d.模拟用户现场的综合测试或选用用户的工作实例进行试验。得到用户方的认可,或取得验收报告。
e.各阶段产生的文件记录是否完整,资料是否齐全、计划执行过程是否有