软件需求分析报告模板完整版文档格式.docx
《软件需求分析报告模板完整版文档格式.docx》由会员分享,可在线阅读,更多相关《软件需求分析报告模板完整版文档格式.docx(60页珍藏版)》请在冰豆网上搜索。
开发者开发的软件必须能够在##市交通局规定的软件平台上正常运行.目前软件平台为:
数据库管理系统:
Oracle9i以上版本
中间件<
应用服务器>
系统:
IBMWebSphere
OA系统:
LotusDomino/Notes
网络架构:
完全支持TCP/IP协议
开发工具或技术体系:
为保证软件的上下兼容性,开发者应选择比较通用的开发工具的较新版本进行开发,如MicrosoftVisualStudio.Net,BorlandDelphi,C++Builder,或J2EE<
Java2P1atformEnterpriseEdition>
等.
2.3软件项目的开发实施过程管理要求
2.3.1软件项目实施过程总体要求
(一)开发者提交软件开发工作大纲,交通局组织专家组对工作大纲进行评审,并提出整改意见.
(二)通过评审后,开发者根据整改意见完善工作大纲,经过交通局认可后组织项目组进行软件开发.软件开发工作按照需求分析、概要设计、详细设计、编码、测试等几个阶段进行,在开发过程中,开发者需分阶段提交相关文档.
(三)在软件开发工作完成后,开发者应向交通局提交完整的软件文档,交通局组织验收组对软件进行验收审查.
2.3.2软件项目实施变更要求
在开发过程中,需求或设计不可避免地需要发生变更,相关变更必须经过交通局书面同意方可进行.在需求或设计发生变更时,需要对原有文档进行修改,并提供完整的变更记录,以使变更处于可控制的状态.变更单如下表所示:
表2-1变更单
需求变更申请
申请变更的需求文档
输入名称,版本,日期等信息
变更的内客与其理由
评估需求变更将对
项目造成的影响
申请人签字
变更申请的审批意见
项目经理签字
审批意见:
签字日期
客户签字
<
合同项目>
签字日期
更改需求文档
变更后的
需求文档
输入名称,版本,完成日期等信息
更改人签字
重新评审需求文档
需求评审小组签字
评审意见:
变更结束
2.3.3软件项目实施里程碑控制
交通局将分四个阶段进行把关,召开专家审查会.
(四)需求分析〔结合原型进行审查〕确认;
(五)概要设计+数据库设计;
(六)预验收〔试运行后〕;
(七)正式验收〔推广使用后〕.
3.软件开发
合同签订以后,项目承担单位即可组织项目组进行软件开发工作.软件开发必须严格按照软件工程的要求进行.开发过程包括开发者的活动和任务.此过程由软件需求分析、概要设计、详细设计、编码、测试、验收、鉴定等活动组成.
3.1软件的需求分析
3.1.1需求分析
首先,开发者和交通局应共同对交通局的应用需求作充分的调研,提交完整的需求分析报告.在需求分析报告中必须描述的基本问题是:
功能、性能、强加于实现的设计限制、属性、外部接口.应当避免把设计或项目需求写入需求分析报告中.它必须说明由软件获得的结果,而不是获得这些结果的手段.
软件需求可以用若干种方法来表达,如通过输入、输出说明;
使用代表性的例子;
用规X化的模型.开发者应尽可能地使用模型的方式,因为这是表达复杂需求的精确和有效的方法.比如用统一建模语言〔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详细设计的要求
详细设计的要求应该与需求分析报告所描述的需求、与概要设计一致.同时,详细设计的各项要求之间也应该是一致的.
详细设计所提出的设计方法和标准应该是合理的、恰当的.
对详细设计所提出的各项要求应该可以得到它的清晰的源流,即可在需求分析报告、概要设计报告中有明确的需求描述.
根据详细设计进行编码、测试、操作和维护应该是可行的.
3.3.4数据库设计
如果软件产品需要使用到数据库,软件的详细设计应包括对数据库的设计.数据库设计应在软件的需求分析、概要设计完成之后、详细设计的其它工作之前进行.在进行数据库设计时,应当按照交通局制定的《##市交通局信息化数据库建设规X》要求进行.
3.3.5详细设计的评审
在软件详细设计完成后,软件开发者应向交通局提交《软件系统数据库设计报告》和《软件系统详细设计报告》.在交通局对《软件系统数据库设计报告》、《软件系统详细设计报告》评审通过后,即可进入软件编码阶段.
3.3.6详细设计格式
《软件系统详细设计报告》、《软件系统数据库设计报告》需按一定的格式进行编写,具体的《软件系统详细设计报告》文档编写模板和《软件系统数据库设计报告》文档编写模板请见附录C、附录D.
3.4软件的编码
3.4.1软件编码
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求.
3.4.2软件编码的要求
a.模块化编码
b.代码可读性
c.可维护性
d.模块接口标准化
e.界面风格统一
e.注释的应用
3.4.3编码的评审
为了尽早发现软件中的障碍,提高软件产品的质量,开发者在编码的过程中应该强调代码评审工作.将代码评审报告作为文档的一部分,提交给交通局.
3.4.4编程规X与要求
为了提高编程实现的质量,软件的程序设计必须遵照国家颁布的相关编程规X.
主要内容包括:
规X化的程序内部文档、数据结构的详细说明、清晰的语句结构、编码规X.编码规X的内容包括命名规X、界面规X、提示与帮助信息规X、热键定义等.
其中数据库部分应遵守《##市交通局信息化数据库建设规X》的要求.
在软件编码的同时应进行单元测试.
3.5软件的测试
3.5.1软件测试
为了尽早发现软件产品中的错误,从而达到提高软件质量、降低软件维护的费用,开发者应在编码过程中对各个模块的程序代码进行单元测试,系统集成时进行集成测试,系统集成完成后对整个软件进行系统测试.单元测试是在软件开发过程中针对程序模块进行正确性检验.集成测试是在单元测试的基础上,将所有模块按照设计要求组装成系统或子系统,对模块组装过程和模块接口进行正确性检验.软件系统测试不仅是检测软件的整体行为表现,从另一个侧面看,也是对软件开发设计的再确认.进行软件系统测试工作时.测试主要包括界面测试、可用性测试、功能测试、稳定性<
强度>
测试、性能测试、强