软件开发与维护管理规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发与维护管理规范
1 目的通过规范软件的开发与维护过程,达到提高软件质量,降低维护成本的目的。
2 范围适用于新产品的软件开发设计以及定型产品的改进升级。
3 职责与权限
研发中心负责:
a)编制软件开发过程的实施、协调和控制工作;
b)编制各阶段的技术文件;
c)组织软件的测试、验收、升级和维护工作。
各部门参与软件开发过程中有关的设计评审。
4 内容
软件项目的开发实施过程管理要求
软件项目实施过程总体要求
本部分主要要求工程师制定软件开发工作计划,对过程进行控制,一般包括以下的内容。a) 工程师提交软件开发工作大纲,项目组织者对工作大纲进行评审,并提出整改意见。
b)通过评审后,工程师根据整改意见完善工作大纲,经过项目经理认可后组织项目组进行
软件开发。软件开发工作按照需求分析、概要设计、详细设计、编码、测试等几个阶段进行,在开发过程中,工程师需分阶段提交相关文档。
c)在软件开发工作完成后,工程师应向项目组提交完整的软件文档,相关人员组织验收组对软件进行验收审查。
软件项目实施变更要求在开发过程中,需求或设计不可避免地需要发生变更,相关变更必须提交《软件变更申请》经过项目组书面同意方可进行。在需求或设计发生变更时,需要对原有文档进行修改,并提供完整的变更记录,以使变更处于可控制的状态。
软件项目实施里程碑控制本部分主要对软件开发过程中的重要节点进行控制。项目组将分四个阶段进行把关,召开审查会。
a)需求分析(结合原型进行审查)确认;
b)概要设计+数据库设计;
c)预验收(样机测试时);
d)正式验收(产品定型后)。
软件开发
软件开发必须严格按照软件工程的要求进行。开发过程包括工程师的活动和任务。此过程由软件需求分析、概要设计、详细设计、编码、测试、验收、鉴定等活动组成。
软件的需求分析
需求分析
需求分析要求开发人员准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约《软件需求规格说明书》的过程。
在《软件需求规格说明书》必须描述的基本问题是:功能、性能、强加于实现的设计限制、属性、外部接口。
需求报告评审在软件需求分析工作完成后,软件工程师应向项目组提交《软件需求规格说明书》。项目组组织有关人员(系统客户和系统开发人员等)对需求进行评审,以决定软件需求是否完善和恰当。项目组严格验证这些需求的正确性,一般从一致性,完整性,现实性,有效性四个方面进行验证。评审完成后,就可以进入软件的设计阶段。
软件的概要设计
概要设计
概要设计也称为系统设计,需要确定软件的总体结构,应该由哪些模块组成,以及模块与模块之间的接口关系,软件系统主要的数据结构和出错处理设计等,同时还要制定测试方案,形成概要设计说明书,为软件的详细设计提供基础。在概要设计时一般从以下几方面来考虑,遵循以下的流程。
概要设计和需求分析、详细设计之间的关系和区别需求分析不涉及具体的技术实现,而概要设计注重于从宏观上和框架上来描述采用何种技术手段、方法来实现这些需求。详细设计相对概要设计更注重于微观上和框架内的设计,是编码的依据。概要设计是指导详细设计的依据。
概要设计的评审
在软件概要设计工作完成后,软件工程师应向项目组提交《软件概要设计》。评审通过后,即可进入详细设
计阶段。
软件的详细设计详细设计
在概要设计的基础上,工程师需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。
特例如果软件系统比较简单,层次较少,可以不必进行专门的详细设计,而和概要设计结合起来。
数据库设计
如果软件产品需要使用到数据库,软件的详细设计应包括对数据库的设计。数据库设计应在
软件的需求分析、软件概要设计完成之后、详细设计的其它工作之前进行,编写《数据库设
计说明书》。
详细设计的评审
在软件详细设计完成后,软件工程师应向项目组提交《数据库设计说明书》和《软件详细设
计说明书》。评审通过后,即可进入软件编码阶段。
软件的编码
软件编码
在软件编码阶段,工程师根据《软件详细设计说明书》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
作为软件工程中的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量。但程序设计语言的选择以及编码风格也对程序的可靠性,可读性,可测试性和可维护性产生深远的影响。
编程规范及要求
为了提高编程实现的质量,软件的程序设计必须遵照国家颁布的相关编程规范。主要内容包括:规范化的程序内部文档、数据结构的详细说明、清晰的语句结构、编码规范。编码规范的内容包括命名规范、界面规范、提示及帮助信息规范、热键定义等。在软件编码的同时应进行单元测试。
软件的测试
软件测试流程如下。
a)制定《测试方案》
根据《软件需求规格说明书》和软件的详细设计制定《测试方案》。
b)制定《测试用例》设计
是以发现错误为目的而精心设计的一组测试数据,测试用例={输入数据+期望结构}。测试
用例将用于之后的测试。
c)编写《测试报告》。
软件的鉴定验收
软件的鉴定验收
在软件开发完成后,为了确保软件是按照需求分析的要求进行开发的,保证软件产品的质量,需要对软件产品进行鉴定验收。
验收具体内容
验收内容应该包括:文档检查、软件一致性检查、软件系统测试与测试结果评审等几项工作。文档检查检查工程师提交的文档必须齐全,质量是否过关。验收需要对软件代码进行检查,以确保其符合规范,并检查其一致性。
软件升级
优化系统