软件项⽬开发各阶段⽂档模板(参考)
⽬录
1. 范围 (1)
2. 总体要求 (1)
2.1 总体功能要求 (1)
2.2 软件开发平台要求 (1)
2.3 软件项⽬的开发实施过程管理要求 (2)
2.3.1 软件项⽬实施过程总体要求 (2)
2.3.2 软件项⽬实施变更要求 (2)
2.3.3 软件项⽬实施⾥程碑控制 (2)
3. 软件开发 (3)
3.1 软件的需求分析 (3)
3.1.1 需求分析 (3)
3.1.2 需求分析报告的编制者 (4)
3.1.3 需求报告评审 (4)
3.1.4 需求报告格式 (4)
3.2 软件的概要设计 (4)
3.2.1 概要设计 (4)
3.2.2 编写概要设计的要求 (4)
3.2.3 概要设计报告的编写者 (4)
3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (4)
3.2.5 概要设计的评审 (4)
3.2.6 概要设计格式 (4)
3.3 软件的详细设计 (5)
3.3.1 详细设计 (5)
3.3.2 特例 (5)
3.3.3 详细设计的要求 (5)
3.3.4 数据库设计 (5)
3.3.5 详细设计的评审 (5)
3.3.6 详细设计格式 (5)
3.4 软件的编码 (5)
3.4.1 软件编码 (5)
数据库设计说明书的目的
3.4.2 软件编码的要求 (5)
3.4.3 编码的评审 (6)
3.4.4 编程规范及要求 (6)
3.5 软件的测试 (6)
3.5.1 软件测试 (6)
3.5.2 测试计划 (6)
3.6 软件的交付准备 (6)
3.6.1 交付清单 (6)
3.7 软件的鉴定验收 (7)
3.7.1 软件的鉴定验收 (7)
3.7.2 验收⼈员 (7)
3.7.3 验收具体内容 (7)
3.7.4 软件验收测试⼤纲 (7)
3.8 培训 (7)
3.8.1 系统应⽤培训 (7)
3.8.2 系统管理的培训(可选) (8)
(9)
(21)
(33)
(43)
(55)
1. 范围
本指南⽤于指导软件开发者为南京市交通局开发软件项⽬的过程,通过规范软件项⽬承担单位的开发过
程达到提⾼软件质量,降低维护成本的⽬的。开发者应根据本指南进⾏软件开发和编制软件开发⽂档。本指南是对软件项⽬承担单位的基本要求。在本指南的附录A⾄E中提供了⽂档的编写模板供开发者参考,在进⾏具体软件开发时,开发者可根据实际情况采编写,但必须提供双⽅约定的⽂档,⽂档中约定的内容必须描述清楚。
2. 总体要求
2.1 总体功能要求
⽹络应⽤环境以Internet/Intranet技术为核⼼。
开发者应在充分分析需求的基础上,选择采⽤B/S结构或者C/S结构。
软件系统的数据库应依照《南京市交通局信息化数据库建设规范》进⾏设计和建设。
本指南中没有规定开发者采⽤何种具体的软件⼯程开发⽅法,开发者可根据项⽬具体特点、⾃⾝擅长来选择采⽤⾯向过程的⽅法、⾯向对象的⽅法或⾯向数据的⽅法,但建议开发商使⽤⾯向对象软件⼯程的⽅法,如:采⽤⽬前被⼴泛使⽤的RUP(Rational Unified Process)⽅法来进⾏分析、设计和开发。
2.2 软件开发平台要求
开发者开发的软件必须能够在南京市交通局规定的软件平台上正常运⾏。⽬前软件平台为:
数据库管理系统:
Oracle 9i以上版本
中间件(应⽤服务器)系统:
IBM WebSphere
OA系统:
Lotus Domino/Notes
⽹络架构:
完全⽀持TCP/IP协议
开发⼯具或技术体系:
为保证软件的上下兼容性,开发者应选择⽐较通⽤的开发⼯具的较新版本进⾏开发,如Microsoft Visual Studio.Net,Borland Delphi,C++ Builder, 或J2EE(Java2 P1atform Enterprise Edition)等。
2.3 软件项⽬的开发实施过程管理要求
2.3.1 软件项⽬实施过程总体要求
(⼀)开发者提交软件开发⼯作⼤纲,交通局组织专家组对⼯作⼤纲进⾏评审,并提出整改意见。
(⼆)通过评审后,开发者根据整改意见完善⼯作⼤纲,经过交通局认可后组织项⽬组进⾏软件开发。软件开发⼯作按照需求分析、概要设计、详细设计、编码、测试等⼏个阶段进⾏,在开发过程中,开发者需分阶段提交相关⽂档。
(三)在软件开发⼯作完成后,开发者应向交通局提交完整的软件⽂档,交通局组织验收组对软件进⾏验收审查。
2.3.2 软件项⽬实施变更要求
在开发过程中,需求或设计不可避免地需要发⽣变更,相关变更必须经过交通局书⾯同意⽅可进⾏。在需求或设计发⽣变更时,需要对原有⽂档进⾏修改,并提供完整的变更记录,以使变更处于可控制的状态。变更单如下表所⽰:
表 2-1 变更单
需求变更申请
申请变更的需求⽂档输⼊名称,版本,⽇期等信息
变更的内客及其理由
评估需求变更将对
项⽬造成的影响
申请⼈签字
变更申请的审批意见
审批意见:
项⽬经理签字
签字⽇期
审批意见:
客户签字
(合同项⽬)
签字⽇期
更改需求⽂档
输⼊名称,版本,完成⽇期等信息
变更后的
需求⽂档
更改⼈签字
重新评审需求⽂档
评审意见:
需求评审⼩组签字
签字⽇期
变更结束
项⽬经理签字签字⽇期
2.3.3 软件项⽬实施⾥程碑控制
交通局将分四个阶段进⾏把关,召开专家审查会。
(⼀)需求分析(结合原型进⾏审查)确认;
(⼆)概要设计+数据库设计;
(三)预验收(试运⾏后);
(四)正式验收(推⼴使⽤后)。
3. 软件开发
合同签订以后,项⽬承担单位即可组织项⽬组进⾏软件开发⼯作。软件开发必须严格按照软件⼯程的要
求进⾏。开发过程包括开发者的活动和任务。此过程由软件需求分析、概要设计、详细设计、编码、测试、验收、鉴定等活动组成。
3.1 软件的需求分析
3.1.1 需求分析
⾸先,开发者和交通局应共同对交通局的应⽤需求作充分的调研,提交完整的需求分析报告。在需求分析报告中必须描述的基本问题是:功能、性能、强加于实现的设计限制、属性、外部接⼝。应当避免把设计或项⽬需求写⼊需求分析报告中。它必须说明由软件获得的结果,⽽不是获得这些结果的⼿段。
软件需求可以⽤若⼲种⽅法来表达,如通过输⼊、输出说明;使⽤代表性的例⼦;⽤规范化的模型。开发者应尽可能地使⽤模型的⽅式,因为这是表达复杂需求的精确和有效的⽅法。⽐如⽤统⼀建模语⾔(UML)来描述需求。
编写需求分析报告的要求
a.⽆歧义性
对最终产品的每⼀个特性⽤某⼀术语描述;若某⼀术语在某⼀特殊的⾏⽂中使⽤时具有多种含义,那么应对该术语的每种含义做出解释并指出其适⽤场合。
b.完整性
需求分析报告应该包括全部有意义的需求,⽆论是关系到功能的、性能的、设计约束的、还是关系到外部接⼝⽅⾯的需求;对所有可能出现的输⼊数据的响应予以定义,要对合法和⾮合法的输⼊值的响应做出规定;填写全部插图、表、图⽰标记等;定义全部术语和度量单位。
c.可验证性
需求分析报告描述的每⼀个需求应是可以验证的。可以通过⼀个有限处理过程来检查软件产品是否满⾜需求。
d.⼀致性
在需求分析报告中的各个需求的描述不能互相⽭盾。
e.可修改性
需求分析报告应具有⼀个有条不紊、易于使⽤的内容组织;没有冗余,即同⼀需求不能在需求分析报告中出现多次。
f.可追踪性
每⼀个需求的源流必须清晰,在进⼀步产⽣和改变⽂件编制时,可以⽅便地引证每⼀个需求。
g.运⾏和维护阶段的可使⽤性
需求分析报告必须满⾜运⾏和维护阶段的需要。在需求分析报告要写明功能的来源和⽬的。
3.1.2 需求分析报告的编制者
需求分析报告应由交通局和开发者双⽅共同完成。其中:交通局负责根据实际需要提出希望软件实现的功能;软件开发者根据交通局提出的性能需求,结合软件开发编写需求分析。
3.1.3 需求报告评审
在软件需求分析⼯作完成后,软件开发者应向交通局提交《软件需求分析报告》。交通局组织有关⼈员对需求进⾏评审,以决定软件需求是否完善和恰当。评审完成后,就可以进⼊软件的设计阶段。
3.1.4 需求报告格式
《软件需求分析报告》需按⼀定的格式进⾏编写,具体的《软件需求分析报告》⽂档编写模板请见附录A。
3.2 软件的概要设计
3.2.1 概要设计
在交通局和开发者双⽅认可的《需求分析报告》基础上,开发者进⾏下——步的⼯作。⾸先,开发者需要对软件系统进⾏概要设计,即系统设计。概要设计需要对软件系统的设计进⾏考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接⼝设计、运⾏设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
3.2.2 编写概要设计的要求
a.⼀致性
概要设计的要求应该与需求分析报告所描述的需求⼀致。同时,概要设计的各项要求之间也应该⼀致。
b.合理性
概要设计所提出的设计⽅法和标准应该是合理的、恰当的。
c.可追踪性
对概要设计所提出的各项要求应该可以得到它的清晰的源流,即在需求分析报告客户有明确的需求描述。
d.可⾏性
根据概要设计进⾏详细设计、操作和维护应该是可⾏的。
3.2.3 概要设计报告的编写者
概要设计报告由开发者根据需求分析报告的要求进⾏编写。
3.2.4 概要设计和需求分析、详细设计之间的关系和区别
需求分析不涉及具体的技术实现,⽽概要设计注重于从宏观上和框架上来描述采⽤何种技术⼿段、⽅法来实现这些需求。详细设计相对概要设计更注重于微观上和框架内的设计,是编码的依据。概要设计是指导详细设计的依据。
3.2.5 概要设计的评审
在软件概要设计⼯作完成后,软件开发者应向交通提交《软件系统概要设计报告》。在交通局对《概要设计报告》评审通过后,即可进⼊详细设计阶段。
3.2.6 概要设计格式
《软件系统概要设计报告》需按⼀定的格式进⾏编写,具体的《软件系统概要设计报告》⽂档编写模板请见附录B。
3.3 软件的详细设计
3.3.1 详细设计
在概要设计的基础上,开发者需要进⾏软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调⽤关系,需要说明软件系统各个层次中的每⼀个程序(每个模块或⼦程序)的设计考虑,以便进⾏编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当⾜够详细,能够根据详细设计报告进⾏编码。
3.3.2 特例
如果软件系统⽐较简单,层次较少,可以不必进⾏专门的详细设计,⽽和概要设计结合起来。
3.3.3 详细设计的要求
a.⼀致性
详细设计的要求应该与需求分析报告所描述的需求、与概要设计⼀致。同时,详细设计的各项要求之间也应该是⼀致的。
b.合理性
详细设计所提出的设计⽅法和标准应该是合理的、恰当的。
c.可追踪性
对详细设计所提出的各项要求应该可以得到它的清晰的源流,即可在需求分析报告、概要设计报告中有明确的需求描述。
d.可⾏性
根据详细设计进⾏编码、测试、操作和维护应该是可⾏的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。