软件项目研制报告.docx
《软件项目研制报告.docx》由会员分享,可在线阅读,更多相关《软件项目研制报告.docx(13页珍藏版)》请在冰豆网上搜索。
![软件项目研制报告.docx](https://file1.bdocx.com/fileroot1/2023-2/4/d39d23a8-f19a-4a3f-80b0-4a5c49da9cf8/d39d23a8-f19a-4a3f-80b0-4a5c49da9cf81.gif)
软件项目研制报告
软件项目研制报告
软件研发报告
1・范围3
2.总体要求3
2・1总体功能要求3
2・2软件开发平台要求
2.3软件项目的开发实施过程管理要求
2.3./软件项目实施过程总体要求.
2.3.2软件项目实施里程碑控制.
3・软件开发
3・1软件的需求分析6
3・“需求分析.6
3./.2需求分析报告的编制者.8
3・/・3需求报告评审.8
3」・4需求报告格式8
3.2软件的概要设计9
32/概要设计.9
322编写糠要设计的要求.9
323概要设计报告的编写者.10
3.2.J概要设计和需求分析、详细设计Z间的关系和区别.10
3.2.5概要设计的评审.10
326概要设计格式10
3.3软件的详细设计11
3・3丿详细设计.11
3・3・2特例.11
3.3.3详细设计的要求.11
3.3.J数据库设计.12
3.3.5详细设计的评审.12
3.3.6详细设计格式13
3.4软件的编码13
341软件编码.13
3・4・2软件编码的要求.13
343编码的评审.14
344编程规范及要求.14
3.5软件的测试14
3・5」软件测试14
3・5・2测试计划.15
3.6软件的交付准备16
3.6」交付清取16
3.7软件的鉴定验收16
3・7」软件的鉴定验收.16
3.7.2验收人员.17
3・7・3验收具体内容17
374软件验收测试大纲.18
3.8培训18
3.&1系统应用培训.18
3・&2系统管理的培训(可选)18
1•范围
本报告用于指导软件开发者为山西电力科学研究所开发软件项目的过程,通过规范软件项目承担单位的开发过程达到提高软件质量,降低维护成本的目的。
开发者应根据本指南进行软件开发和编制软件开发文档。
本指南是对软件项目承担单位的基本要求。
2.总体要求2.1总体功能要求
网络应用环境以Internet技术为核心。
开发者在充分分析需求的基础上,选择采用B/S结构。
软件系统的数据库依照山西电力科学研究
所信息化数据库的建设规范进行设计和建设O
本指南中没有规定开发者釆用何种具体的软件工程开发方法,开发者可根据项目具体特点、自身擅长来选择采用面向过程的方法、面向对象的方法或面向数据的方法,但建议开发商使用面向对象软件工程的方法。
2.2软件开发平台要求
开发者开发的软件必须能够在山西电力科学研究所规定的软件平台上正常运行。
目前软件平台为:
数据库管理系统:
SQLServer2005以上版本
服务器:
Tomcat6.0以上版本
运行环境:
JDK1.5以上版本
网络架构:
完全支持TCP/IP协议
开发工具或技术体系:
为保证软件的上下兼容性,开发者应选择比较通用的开发工具的较新版本进行开发,如Eclipse>MyEclipse等。
2.3软件项目的开发实施过程管理要求
2.3.1软件项目实施过程总体要求
(一)开发者提交软件开发工作大纲,山西电力研究所组织专家组对工作大纲进行评审,并提出整改意见。
(二)通过评审后,开发者根据整改意见完善工作大纲,经过山西电力科学研究所认可后组织项目组进行软件开发。
软件开发在开发过程中,开发者需分阶段提交相关文档。
(三)在软件开发工作完成后,开发者应向山西电力科学研究所提交完整的软件文档,山西电力科学研究所组织验收组对软件进行验收审查。
2.3.2软件项目实施里程碑控制
山西电力科学研究所将分四个阶段进行把
关,召开专家审查会。
(-)需求分析(结合原型进行审查)确认;
(二)概要设计、数据库设计;
(三)预验收(试运行后);
(四)正式验收(推广使用后)。
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概要设计
在山西电力科学研究所和开发者双方认可
的需求分析基础上,开发者进行下一一步的工作。
首先,开发者需要对软件系统进行概要设计,即系统设计。
概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
322编写概要设计的要求
概要设计的要求应该与需求分析报告所描
述的需求一致。
同时,概要设计的各项要求之间也应该一致。
b.合理性
概要设计所提出的设计方法和标准应该是合理的、恰当的。
C.可追踪性
对概要设计所提出的各项要求应该可以得到它的清晰的源流,即在需求分析报告客户有明确的需求描述。
d.可行性根据概要设计进行详细设计、操作和维护应
该是可行的。
3.2.3概要设计报告的编写者
概要设计报告由开发者根据需求分析报告的要求进行编写。
3.2.4概要设计和需求分析、详细设计之间的关系和区别
需求分析不涉及具体的技术实现,而概要
设计注重于从宏观上和框架上来描述釆用何种技术手段、方法来实现这些需求。
详细设计相对概要设计更注重于微观上和框架内的设计,是编码的依据。
概要设计是指导详细设计的依据。
325概要设计的评审
在软件概要设计工作完成后,软件开发者应
向交通提交软件系统概要设计报告。
在山西电力科学研究所对概要设计报告评审通过后,即可进入详细设计阶段。
3.2.6概要设计格式
软件系统概要设计报告需按一定的格式进
行编写。
3.3软件的详细设计
3.3.1详细设计
在概要设计的基础上,开发者需要进行软件系统的详细设计。
在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。
应当保证软件的需求完全分配给整个软件。
详细设计应当足够详细,能够根据详细设计报告进行编码。
3.3.2特例
如果软件系统比较简单,层次较少,可以不
必进行专门的详细设计,而和概要设计结合起来。
3.3.3详细设计的要求
a.—致性详细设计的要求应该与需求分析报告所描
述的需求、与概要设计一致。
同时,详细设计的各项要求之间也应该是一致的。
b.合理性
详细设计所提出的设计方法和标准应该是合理的、恰当的。
C.可追踪性
对详细设计所提出的各项要求应该可以得
到它的清晰的源流,即可在需求分析报告、概要设计报告中有明确的需求描述。
d・可行性根据详细设计进行编码、测试、操作和维护
应该是可行的。
3.3.4数据库设计
如果软件产品需要使用到数据库,软件的详
细设计应包括对数据库的设计。
数据库设计应在软件的需求分析、概要设计完成之后、详细设计的其它工作之前进行。
在进行数据库设计时,应当按照山西电力科学研究所制定的《山西电力科学研究所信息化数据库建设规范》要求进行。
3.3.5详细设计的评审
在软件详细设计完成后,软件开发者应向山
西电力科学研究所提交《软件系统数据库设计报告》和《软件系统详细设计报告》。
在山西电力科学研究所对《软件系统数据库设计报告》、《软件系统详细设计报告》评审通过后,即可进入软件编码阶段。
3.3.6详细设计格式
《软件系统详细设计报告》、《软件系统数据
库设计报告》需按一定的格式进行编写,
体的《软件系统详细设计报告》文档编写模板和
请见附录6附录D。
3.4软件的编码
3.4.1软件编码
在软件编码阶段,开发者根据软件系统详细设计报告中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
3.4.2软件编码的要求
a.模块化编码
b.代码可读性
c.可维护性
d.
模块接口标准化
e.注释的应用
3.4.3编码的评审
为了尽早发现软件中的障碍,提高软件产品的质量,开发者在编码的过程中应该强调代码评审工作。
将代码评审报告作为文档的一部分,提交给山西电力科学研究所。
3.4.4编程规范及要求
为了提高编程实现的质量,软件的程序设计
必须遵照国家颁布的相关编程规范。
主要内容包括:
规范化的程序内部文档、数据结构的详细说明、清晰的语句结构、编码规范。
编码规范的内容包括命名规范、界面规范、提示及帮助信息规范、热键定义等。
其中数据库部分应遵守山西电力科学研究所信息化数据库建设规范的要求。
在软件编码的同时应进行单元测试。
3.5软件的测试
3.5.1软件测试
为了尽早发现软件产品中的错误,从而达到
提高软件质量、降低软件维护的费用,开发者应在编码过程中对各个模块的程序代码进行单元测试,系统集成时进行集成测试,系统集成完成
后对整个软件进行系统测试。
单元测试是在软件开发过程中针对程序模块进行正确性检验。
集成
测试是在单元测试的基础上,将所有模块按照设计要求组装成系统或子系统,对模块组装过程和模块接口进行正确性检验。
软件系统测试不仅是看,也是对软件开发设计的再确认。
进行软件系统测试工作时。
测试主要包括界面测试、可用性测试、功能测试、稳定性(强度)测试、性能测试.强壮性(恢复)测试、逻辑性测试、破坏性测试、安全性测试等。
开发者针对单元测试,集成测试,系统测试分别制定测试计划。
集成测试需要根据需求分析报告和概要设计制作测试用例,并须经过评审。
软件测试按照测试计划、需求分析报告的要求进行,最后形成软件测试报告。
3.5.2测试计划
在软件编码开始之前,开发者应向山西电力
科学研究所提交测试计划,在软件交付时,开发者应向山西电力科学研究所提交软件测试报告,以确保开发者的软件得到了充分的测试。
开发的软件必须经过充分的测试证明其符合设计要求、
运行稳定、安全可用方可交付山西电力科学研究所。
3.6软件的交付准备
3.6.1交付清单
在软件测试证明软件达到要求后,软件开发者应向山西电力科学研究所提交开发的目标安装程序、数据库的数据字典、需求报告、设计报告、测试报告等双方合同约定的产物。
详细给用户说明安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。
包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
3.7软件的鉴定验收
3.7.1软件的鉴定验收
在软件开发完成后,为了确保软件是按照需
求分析的要求进行开发的,保证软件产品的质期交付软件后,由山西电力科学研究所负责确定具体的鉴定验收日期。
3.7.2验收人员
由山西电力科学研究所组织具有一定的分析、设计、编程和软件测试经验的验收组长和其他专业人员组成,负责整个验收的计划、组织工作。
3.7.3验收具体内容
验收内容应该包括:
合法性检査、文档检査、
软件一致性检查、软件系统测试与测试结果评审等几项工作。
合法性检查检查软件开发工具是否合法、使
用的函数库、控件、组件是否有合法的发布许可。
文档检査检査开发者提交的文档必须齐全,
质量是否过关。
需要开发者提供的文档包括:
项目实施计划;
软件测试计划(含测试用例);
软件测试报告;
项目实施报告;
此外,验收组可以根据需要对其它文档(如软件配置计划、项目进展报表、阶段评审报
表等)进行检查。
文档的质量根据完备性、正确性、简明性、可追踪性、自说明性、规范件等方面进行踪合评
定。
验收需要对软件代码进行检査,以确保其符
合规范,并检查其一致性。
3.7.4软件验收测试大纲
在软件进行鉴定验收前,开发者需按照一定
的格式编写《软件测试报告》。
3.8培训
3・&1系统应用培训
主要培训内容包括:
系统操作使用、业务管
理流程。
培训对象:
应用操作人员。
3・8・2系统管理的培训(可选)
主要培训内容包括:
系统安装、调试、维护;
系统管理。
培训对象:
系统管理人员。