1软件开发实施方案系统开发严格按照软件工程的方法进行组织,系统的开发过程按照需求分析、系统分析与设计要求、系统编码、系统测试几个过程有序推进。下表所示系统开发流程图,采用原型及迭代方式开发,根据用户需求持续改进,直到最终用户确认满意。开发流程总述精品文档,你值得期待1.1如下图示流程定义了我公司内部的软件开发过程,以指导和规范软件项目中开发过程的定义和相应的实施。该过程可划分为一系列子过程,包括:软件需求分析、设计、编码、测试、验收、维护,每个子过程又由一系列任务和活动组成,如设计过程又可分为结构设计和详细设计。但是在实际开发项目中,情况仍然会是千变万化的,因此我们也并不是一成不变的死板执行一个僵化的工作流程,我们的原则是在一个规范流程的指导和约束下,根据具体工程项目的实际要求,为每一个项目评估并制定真正能够最好的满足该项目要求的开发流程。图1.1-1软件开发流程总图软件需求分析《软件需求规格说明书》(初稿)《系统测试计划》《系统测试案例》(初稿)《用户手册》(概要)《追溯表一》结构设计《结构设计说明书》(初稿)《集成测试计划》《集成测试案例》(初稿)《用户手册》(初稿)《追溯表一》评审通过N:改进《结构设计说明书》《集成测试计划》《集成测试案例》《个人评审记录》《评审报告》详细设计《详细设计说明书》(初稿)《单元测试计划》《单元测试案例》(初稿)《用户手册》(修改稿)《追溯表一》Y评审通过N:改进《详细设计说明书》《单元测试计划》《单元测试案例》《用户手册》(修改稿)《个人评审记录》《评审报告》同行评审通过Y《软件需求规格说明书》《系统测试计划》《系统测试案例》《个人评审记录》《评审报告》编码源代码、源代码文件清单《单元测试报告》(经过审批)《软件问题状态登记表》《软件问题报告单》集成测试《集成工作单》《集成测试工作单》《集成测试报告》(经过审批)《软件问题状态登记表》《软件问题报告单》集成的软件系统系统测试《系统测试报告》(经过审批)《软件问题状态登记表》《软件问题报告单》《系统管理员使用说明书》(经过审批)《安装手册》(经过审批)《用户手册》(经过审批软件系统(系统测试通过)YN:改进开始结束验收维护验收测试报告《软件问题报告单》《软件问题状态登记表》验收报告可交付产品《软件需求规格说明书》(升级版)《客户需求登记表》《客户需求统计表》《设计说明书》(升级版)《软件问题报告单》《软件问题状态登记表》《软件维护实施计划》维护后的软件系统在应用系统软件开发项目中,我们仍将遵循这一思想,这一点将在随后的项目开发实施计划部分有具体的体现,在这里和下面的相关章节中,我们仍将围绕着这个完整的开发流程来分析说明,以此来阐明我们对项目开发的完整过程管理思想和相关实践。下面我们对这个软件开发工作流程进行简要地分解说明。1.2软件需求分析(1)概述由于应用系统与众多相关应用软件需要进行交互,因此需要先对这些应用系统进行分别梳理,充分做好需求调研工作,编写经项目单位认可并评审通过的《系统需求规格说明书》。软件需求分析是按照项目定义的软件开发过程,根据系统分配给软件的需求(见《系统需求规格说明书》),进行软件质量特性规格说明的过程。该过程包括进一步明确软件运行环境,明确对软件的功能、性能和数据要求,以及软件与硬件、软件与软件之间的接口要求等,并对软件需求进行验证和文档化,即完成对软件需求的分析与规格定义。本元素在整个过程中的位置如下图所示:图示:软件需求分析在软件开发过程中的位置(2)入口准则和出口准则1)入口准则要素判断准则客户需求(《系统需求规格说明书》)已由CCB批准为基线已进入配置库2)出口准则要素判断准则软件需求规格说明书已经过审查已批准为基线已进入配置库系统测试计划已经过审查已获得批准已进入配置库系统测试案例用户手册(概要)已编写追溯表一已填写(3)评审评审《软件需求规格说明书》,具体评审过程见《评审程序文件》,对软件需求的评审准则包括:●系统需求和系统设计的可追溯性;●与系统需求的一致性;●内部一致性;●可测试性;●软件设计的可行性;●运作和维护的可行性。对软件需求中的问题,与系统工程组或客户一起确定和审查,根据审查结果对软件需求进行适当的修改,必要时按基线变更控制的要求对客户需求进行相应的修改。对软件需求规格说明书进行同行评审。审查、批准软件需求规格说明书。将软件需求规格说明书置于配置管理之下。(4)工作产品●《软件需求规格说明书》●《系统测试计划》●《系统测试案例》●《用户手册》●《追溯表》(5)职责●项目经理:负责组建软件需求分析组;确定是否需要对有关人员进行培训;负责软件需求规格说明书的审查和批准。●软件需求分析组:软件需求分析的主要承担者,负责完成本过程元素要求产生的所有工作产品。●系统测试负责人:负责组织软件系统测试组对软件需求进行分析,审查软件需求的可测试性;参与软件需求规格说明书的审查和批准。●质量保证人员:参与工作产品的审查,统计缺陷,并对软件需求分析过程进行审计。●系统开发组:配合处理涉及客户需求的软件需求问题。●客户:必要时参与软件需求规格说明书的审查和批准。1.3结构设计(1)概述结构设计是指按照《软件需求规格说明书》,设计软件系统的体系结构,即模块结构,定义每个模块的主要功能和模块之间的联系(即接口),并确定软件系统的数据体系结构。本元素在整个过程中的位置如下图所示:图示:软件需求分析在软件开发过程中的位置图(2)入口准则和出口准则1)入口准则要素判断准则软件需求规格说明书经过审查审查获得批准进入配置库2)出口准则要素判断准则结构设计说明书经过审查审查获得批准进入配置库集成测试计划集成测试案例用户手册(初稿)已完善追溯表一(3)评审●对《结构设计说明书》和《集成测试计划》进行同行评审。●对结构设计中的问题,与软件需求分析人员一起确定和审查,并对结构设计进行适当的更改。●审查、批准《结构设计说明书》,必要时,对其进行设计评审。●将《结构设计说明书》、《集成测试计划》和《集成测试案例》置于配置管理之下。(4)工作产品●《结构设计说明书》●《集成测试计划》●《集成测试案例》●《用户手册》●《追溯表》(5)职责1)项目经理负责选择合适的设计人员,组建结构设计工作组;负责《结构设计说明书》和《集成测试计划》的审查和批准。2)结构设计人员结构设计阶段工作的主要承担者,负责完成本过程元素产生的所有工作产品。3)系统分析员配合处理涉及软件需求的问题。4)系统开发负责人负责组织系统工程组对结构设计进行分析,审查结构设计的可测试性;负责协调处理涉及软件需求的问题;参与《结构设计说明书》和《集成测试计划》的审查和批准。5)软件测试负责人负责组织软件测试组对结构设计进行分析,审查结构设计的可测试性;参与《结构设计说明书》和《集成测试计划》的审查和批准。1.4详细设计(1)概述详细设计是根据《结构设计说明书》进行模块设计,将结构设计所获得的模块按照单元、程序、规程的顺序逐步细化。详细定义各个单元的数据结构、程序的实现算法以及程序、单元、模块之间的接口等,作为以后编码工作的依据。本元素在整个过程中的位置如下图所示:图示:详细设计在软件开发过程中的位置(2)入口准则和出口准则1)入口准则要素判断准则结构设计说明书经过审查审查获得批准进入配置库2)出口准则要素判断准则要素判断准则详细设计说明书经过审查审查获得批准进入配置库(3)评审对《详细设计说明书》和《单元测试计划》可进行走查或(和)同行评审;对详细设计中的问题,与结构设计人员一起确定和审查,并对详细设计做出适当的更改;审查、批准《详细设计说明书》,必要时,对其进行设计评审;将《详细设计说明书》和《单元测试计划》置于配置管理之下。(4)工作产品●《详细设计说明书》●《单元测试计划》●《单元测试案例》●《用户手册》●《追溯表》(5)职责1)项目经理负责选择合适的设计人员,组建详细设计组;负责《详细设计说明书》和《单元测试计划》的审查和批准。2)详细设计人员详细设计阶段工作的主要承担者。负责完成本过程元素产生的所有工作产品。3)系统分析员配合处理涉及软件需求的问题。4)系统开发负责人负责组织系统工程组对详细设计进行分析,审查详细设计的可测试性;负责协调处理涉及软件需求的问题;参与《详细设计说明书》和《单元测试计划》的审查和批准。5)软件测试负责人负责组织软件测试组对详细设计进行分析,审查详细设计的可测试性;参与《详细设计说明书》和《单元测试计划》的审查和批准。1.5编码(1)概述编码阶段主要完成的工作是根据详细设计说明书编写程序源代码,包括必要的数据文件,并进行单元测试,单元测试的内容包括模块内程序的逻辑、功能、参数传递、变量引用、出错处理等方面。本元素在整个过程中的位置如下图所示:图示:编码阶段在软件开发过程中的位置(2)入口准则和出口准则1)入口准则要素判断准则详细设计说明书单元测试计划经过审查获得批准进入配置库2)出口准则要素判断准则源代码文件源代码文件清单源代码文件获得批准源代码文件进入配置库的源代码区单元测试报告提交测试负责人软件问题报告单提交问题管理渠道(3)评审对源代码文件进行同行评审,主要的方法为对照详细设计说明书对代码进行查阅,也可根据编程者的经验或程序的难度、重要程度,选择走查评审方式,但目的都是发现程序存在的问题。(4)工作产品●源代码文件●《单元测试报告》●《软件问题报告单》●《软件问题状态登记表》(5)职责1)项目经理建立编码组、测试组或相应岗位,并进行必要的培训;跟踪进度和问题解决状态;对提交的源代码进行批准(或指定负责人进行批准工作)。2)程序员编写程序代码;测试程序代码;修改程序代码;提交工作产品,批准后将其导入配置区的源码库。3)单元测试人员测试源代码;提交测试报告和软件问题报告单。4)评审人员对指定源代码文件进行阅读,发现缺陷和问题,填写评审报告。1.6模块集成测试(1)概述集成测试阶段主要完成的工作是集成和集成测试。集成是参考结构设计说明书并根据详细说明书中规定的系统集成方案将不同的经测试的程序单元进行构造,并逐步构造成一个完整的软件产品的过程;集成测试则是在集成完成之后,对各单元、模块之间接口的正确性和集成后功能的正确性进行验证。对于大型软件,集成测试可以采取分步进行的方法,可以先对各子系统进行集成测试,然后在子系统之间进行集成测试。本元素在整个过程中的位置如下图所示:图示:集成测试在软件开发过程中的位置(2)入口准则和出口准则1)入口准则要素判断准则结构设计说明书详细设计说明书集成测试计划源代码文件经过审查获得批准进入配置库2)出口准则要素判断准则集成的软件系统(完整的源代码和目标代码)获得批准进入配置库集成测试报告提交集成测试负责人软件问题报告单已进入软件问题管理流程(3)审查阶段核查集成状态和结果,并进行批准;批准后,将目标程序和程序清单进入目标代码库。(4)工作产品●集成后的系统目标代码(包括文件清单),及相应的源代码(包括文件清单)●集成测试报告●《软件问题报告单》●《软件问题状态登记表》●《集成工作单》●《集成测试工作单》(5)职责●项目经理:建立集成组、集成测试组或相应岗位,并进行必要的培训;跟踪进度和问题解决状态;对集成后的系统目标码进行批准(或指定负责人进行批准工作)。●集成负责人员:负责集成过程的实施。●集成人员:负责环境构建,集成的过程操作,并将集成后的目标代码提交批准。●程序员、设计人员:修改源码或设计,解决集成过程中出现的与源码有关的问题。●测试人员:测试系统目标码,将测试报告和软件问题报告单提交测试负责人。1.7系统测试(1)概述系统测试的主要任务是从系统需求的角度对系统运行的正确性和性能进行验证。系统测试的依据为系统测试计划。本元素在整个过程中的位置如下图所示:图示:系统测试在软件开发过程中的位置(2)入口准则和出口准则1)入口准则要素判断准则系统需求经过审查要素判断准则系统的目标代码系统测试计划获得批准进入配置库用户手册编写完成2)出口准则要素判断准则系统测试报告软件问题报告单获得批准(3)工作产品