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