软件需求分析报告-(完整版)
目录
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
I
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 附录A 软件需求分析报告文档模板 .......................................................................................... 9 附录B 软件概要设计报告文档模板 ........................................................................................ 21 附录C 软件详细设计报告文档模板 ........................................................................................ 33 附录D 软件数据库设计报告文档模板 .................................................................................... 43 附录E 软件测试(验收)大纲 ...................................................................... 错误!未定义书签。5
II
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)等。
1
2.3 软件项目的开发实施过程管理要求
2.3.1 软件项目实施过程总体要求
(一)开发者提交软件开发工作大纲,交通局组织专家组对工作大纲进行评审,并提出整改意见。
(二)通过评审后,开发者根据整改意见完善工作大纲,经过交通局认可后组织项目组进行软件开发。软件开发工作按照需求分析、概要设计、详细设计、编码、测试等几个阶段进行,在开发过程中,开发者需分阶段提交相关文档。
(三)在软件开发工作完成后,开发者应向交通局提交完整的软件文档,交通局组织验收组对软件进行验收审查。 2.3.2 软件项目实施变更要求
在开发过程中,需求或设计不可避免地需要发生变更,相关变更必须经过交通局书面同 意方可进行。在需求或设计发生变更时,需要对原有文档进行修改,并提供完整的变更记录, 以使变更处于可控制的状态。变更单如下表所示:
表 2-1 变更单
需求变更申请 申请变更的需求文档 变更的内客及其理由 评估需求变更将对 项目造成的影响 申请人签字 项目经理签字 输入名称,版本,日期等信息 变更申请的审批意见 审批意见: 签字 日期
客户签字 (合同项目) 审批意见: 签字 日期
更改需求文档 变更后的 需求文档 更改人签字 需求评审小组签字 变更结束 项目经理签字 签字 日期 2.3.3 软件项目实施里程碑控制
交通局将分四个阶段进行把关,召开专家审查会。 (一) 需求分析(结合原型进行审查)确认; (二) 概要设计+数据库设计;
2
输入名称,版本,完成日期等信息 重新评审需求文档 评审意见: 签字 日期
(三) 预验收(试运行后); (四) 正式验收(推广使用后)。
3. 软件开发
合同签订以后,项目承担单位即可组织项目组进行软件开发工作。软件开发必须严格按照软件工程的要求进行。开发过程包括开发者的活动和任务。此过程由软件需求分析、概要设计、详细设计、编码、测试、验收、鉴定等活动组成。
3.1 软件的需求分析
3.1.1 需求分析
首先,开发者和交通局应共同对交通局的应用需求作充分的调研,提交完整的需求分析 报告。在需求分析报告中必须描述的基本问题是:功能、性能、强加于实现的设计限制、属 性、外部接口。应当避免把设计或项目需求写入需求分析报告中。它必须说明由软件获得的 结果,而不是获得这些结果的手段。
软件需求可以用若干种方法来表达,如通过输入、输出说明;使用代表性的例子;用规范化的模型。开发者应尽可能地使用模型的方式,因为这是表达复杂需求的精确和有效的方法。比如用统一建模语言(UML)来描述需求。
编写需求分析报告的要求 a.无歧义性
对最终产品的每一个特性用某一术语描述;若某一术语在某一特殊的行文中使用时具有多种含义,那么应对该术语的每种含义做出解释并指出其适用场合。
b.完整性
需求分析报告应该包括全部有意义的需求,无论是关系到功能的、性能的、设计约束的、还是关系到外部接口方面的需求;对所有可能出现的输入数据的响应予以定义,要对合法和非合法的输入值的响应做出规定;填写全部插图、表、图示标记等;定义全部术语和度量单位。
c.可验证性
需求分析报告描述的每一个需求应是可以验证的。可以通过一个有限处理过程来检查软件产品是否满足需求。
d.一致性
在需求分析报告中的各个需求的描述不能互相矛盾。 e.可修改性
需求分析报告应具有一个有条不紊、易于使用的内容组织;没有冗余,即同一需求不能在需求分析报告中出现多次。
f.可追踪性
每一个需求的源流必须清晰,在进一步产生和改变文件编制时,可以方便地引证每一个需求。
g.运行和维护阶段的可使用性
需求分析报告必须满足运行和维护阶段的需要。在需求分析报告要写明功能的来源和目的。
3