软件需求分析报告
更新时间:2024-05-09 07:51:01 阅读量: 综合文库 文档下载
文档编号: 编 撰: [ ] Draft [√] Released 编撰日期: [ ]Modifying 保密级别: 文档版本:
文档状态: 1.0.0
项目名称
(The English Name)
软件需求分析报告
XXX项目组
修订表
编号 1 2 3 4 5
生成版本 修订人 修订章节与内容 修订日期 PAGE 2 OF 19
审批记录 版本 1.0.0
审批人 审批意见 审批日期
PAGE 3 OF 19
目 录
1. 引言............................................................................................................................................................................................... 5 2. 系统概述...................................................................................................................................................................................... 6 3. 功能性需求分类 ........................................................................................................................................................................ 8
3.1.1 具体功能1 .............................................................................................................. 11 3.1.2 具体功能2 ............................................................................................................ 11
4. 产品的非功能性需求 ............................................................................................................................................................. 11 附录A:需求确认 ..................................................................................................................................................................... 18
A 软件需求分析报告文档模板 ..................................................................9 附录B 软件概要设计报告文档模板 .......................................................... 21 附录C 软件详细设计报告文档模板附录
附录D 软件数据库设计报告文档模板 ....................................................... 43
附录E 软件测试(验收)大纲
PAGE 4 OF 19
1 引言
系统的主要任务是将农业生产过程中涉及到的各种信息进行管理。通过系统,信息员可以将各种信息保存在服务器数据库中,也可以通过对数据库的访问来获得所需信息。并进行统计分析,为决策提供详实的数据依据。同时,可以减少信息浪费、冗余,提高信息利用率,提高信息员工作效率,规范工作流程。
系统开发主要分以下几个阶段:
第一阶段:需求分析。与相关人员进行交流,了解系统的主要功能需求以及获取相关资料,整理编写《系统需求说明书》。同时进行程序设计规范和界面框架的设计。
第二阶段:系统设计与具体设计。在该阶段主要根据《需求分析说明书》以及各种资料进行数据库设计和对系统进行模块化,规定各模块之间的接口以及各模块应实现的功能。然后对系统模块进行详细设计,填写功能模块表。
第三阶段:编程开发。编程实现每个功能模块并且对模块功能进行测试,完成系统源代码。 第四阶段:系统测试。组合各模块,对整个系统功能进行测试。
第五阶段:系统安装调试。实地安装系统及设备并且进行调试。对该系统主要进行服务器的安装配臵和调试,并且对网络进行相关配臵。
1.1 适用范围
【说明:
a. 待开发的软件系统的名称;
b. 说明软件将干什么,如果需要的话,还要说明软件产品不干什么;
c. 说明软件与其他系统的接口,本系统要完成什么,不完成什么,要实现的系统功能,需要其他系统提供什么,本系统需要为其他系统提供什么。】
本指南用于指导软件开发者为宁夏农林科学院农业科技信息研究所开发软件项目的过程,通过规范软件项目承担单位的开发过程达到提高软件质量,降低维护成本的目的。开发者应根据本指南进行软件开发和编制软件开发文档。本指南是对软件项目承担单位的基本要求。在本指南的附录A至E中提供了文档的编写模板供开发者参考,在进行具体软件开发时,开发者可根据实际情况采、编、写,但必须提供双方约定的文档,文档中约定的内容必须描述清楚。
1.2 参考资料
资料名称[标识符] 出 版 单 位 作 者 日 期 PAGE 5 OF 19
1.3 术语和缩略语
术语、缩略语 解 释 2. 系统概述
2.1 产品描述
【叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张结构图来说明该系统的组成和本产品同其他各部分的联系和接口。】
网络应用环境以Internet/Intranet技术为核心。
开发者应在充分分析需求的基础上,选择采用B/S结构或者C/S结构。 软件系统的数据库应依照《南京市信息化数据库建设规范》进行设计和建设。
本指南中没有规定开发者采用何种具体的软件工程开发方法,开发者可根据项目具体特点、自身擅长来选择采用面向过程的方法、面向对象的方法或面向数据的方法,但建议开发 商使用面向对象软件工程的方法,如:采用目前被广泛使用的RUP(Rational Unified Process)方法来进行分析、设计和开发。
注:结构图是用来描述系统的总体结构以及系统内部个部分之间的联系,它以树型结构来表示。 例如:
销售管理 销售汇总统计 定单管理 合同管理 档案管理 合同统计 生成利润表 审核销售合同生成合同统计表单输入订生成销售报表订单审核制定合同销售受款单销售出库申请单生成挡案生成客户报表 PAGE 6 OF 19
2.2 产品功能
【本条是为将要完成的软件功能提供一个摘要。
有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,可以使用以下任意一种方法来进行说明:
a. b.
编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人都可以理解; 用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记这样的图不是产品设计
时所需求的,而只是一种有效的解释性的工具。】
系统是基于浏览器/服务器(B/S)模式的信息管理系统。用户通过Internet浏览器方式对信息进行录入、管理、查询和统计。系统结构如图1所示:
c.
d.
e.
图1:系统结构图
由于该系统为大型系统,用户分散,所以Web服务器,应用程序服务器和数据库服务器不
能在同一台服务器上部署。
f.
该科技管理系统由Web应用程序和数据库组成。数据库负责存储和管理所有信息。Web
应用程序负责向用户提供友好的用户界面,安全而简单的数据访问方式,使用户能够方便快捷地访问数据库,对数据进行操作。
PAGE 7 OF 19
2.3 一般约束
【本条对设计系统时限制开发者选择的其他一些项作一般性描述。而这些项将限定开发者在设计系统时的任选项。这些包括:
a. 管理方针; b. 硬件的限制; c. 并行操作; d. 通信协议;
安全和保密方面的考虑。】
3. 功能性需求分类 功能性需求分类方法:
【数据流程分析:数据流程分析主要包括对信息的流动,变换,存贮等的分析。其目的是尽量发现数据流动中存在的问题,并找出加以解决的方法,优化数据流程。数据流程图是一种全面的描述系统数据流程的主要工具,他是一组符号来描述整个系统中信息的全貌,综合地反映信息在系统中的流动,处理和存贮情况。
绘制数据流程图常用的以下符号:
外部实体,本系统或子系统以外的人或单位
数据流,一组确定的数据组成
处理过程,表示对数据的加工处理,把它输入的数据流转化为输出的数据流
结构存储,是数据的仓库,表示系统产生的数据存放的地方
例如:
PAGE 8 OF 19
仓库员事物定货系统定货报表采购员 】
【UML的模型图 UML 的模型图能够将被建模的系统的某一个方面的某一部分以图形的方式表示出来,不同的视图通过将多个不同的模型图有机组合在一起就能够描述系统模型的某方面的特征。UML的模型图是有模型元素构成的,模型元素以图标的形式直观形象的表达各种概念。有的模型元素可以在多个模型图中使用,如注释和注释连接可以在任何模型图中使用,用于给其他的模型元素进行注释。各种模型图能使用的模型元素集合也不相同,在介绍各种模型图的时候会有具体的说明。 UML定义了九种模型图:用例图(Use Case View)、类图(Class Diagram)、对象图(Object Diagram)、构件图(Component Diagram)、部署图(Deployment Diagram)、状态图(StateChart Diagram)、活动图(Activity Diagram)、序列图(Sequence Diagram)以及协作图(Collaboration Diagram)。
例如: 用例图:
销售管理系统填写定单审核订单顶层包::客户制订销售合同审核销售合同档案整理生成客户报表顶层包::销售人员生成合同统计表生成销售出库申请单生成销售收款单汇总统计审核单据顶层包::经理 活动图:
PAGE 9 OF 19
销售合同汇总前台POS销售明细汇总汇总统计顶层包::销售管理人员生成销售报表生成利润表 状态图:
更新空白登记登记状态提交完成更新状态 】
【E-R图是相对于概念模型而言的,在数据库中有严格的界定,是P.P.S.Chen于1976年提出的实体-联系方法(Entityt-Relationship Approach).该方法用E-R图来描述现实世界的概念模型.
E-R图提供了表示实体型\\属性\\和联系的方法;▲实体型:用矩形表示.▲属性:用椭圆形表示.▲联系:用菱形表示.
例如:
】
其中用面向对象(用例图)和面向结构(数据流程图)这两种方法要根据项目自身特点,进行选择性地运用,是可选的。
PAGE 10 OF 19
3.1 功能描述1
3.1.1 具体功能1
【对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求,(根据需要,选择性的用数据流程图,实体图或UML模型图等来表示)。】
【如果选用面向对象分析该功能时,要写明该功能模块的前臵条件,模块中所参与的角色,用用例图对功能模块建模后,要有详细的用例描述话语。】
3.1.2 具体功能2
3.2 功能描述2
……
4. 产品的非功能性需求
4.1 外部接口说明
4.1.1
用户接口
【提供用户使用软件产品时的接口需求。】 4.2 软件开发平台要求
【在此要指定需使用的其他软件产品,以及同其他应用系统之间的接口。】
开发者开发的软件必须能够在南京市规定的软件平台上正常运行。目前软件平台为: 数据库管理系统: Oracle 9i以上版本 中间件(应用服务器)系统: IBM WebSphere OA系统:
Lotus Domino/Notes 网络架构:
完全支持TCP/IP协议 开发工具或技术体系:
为保证软件的上下兼容性,开发者应选择比较通用的开发工具的较新版本进行开发,如Microsoft Visual Studio.Net,Borland Delphi,C++ Builder, 或J2EE(Java2 P1atform Enterprise Edition)等。
4.3 性能需求
【从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。
PAGE 11 OF 19
a.静态数值需求可能包括: 1)支持的终端数;
2)支持并行操作的用户数; 3)系统响应的时间特性;
b.动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。】
首先,开发者和应共同对的应用需求作充分的调研,提交完整的需求分析 报告。在需求分析报告中必须描述的基本问题是:功能、性能、强加于实现的设计限制、属 性、外部接口。应当避免把设计或项目需求写入需求分析报告中。它必须说明由软件获得的 结果,而不是获得这些结果的手段。
软件需求可以用若干种方法来表达,如通过输入、输出说明;使用代表性的例子;用规范化的模型。开发者应尽可能地使用模型的方式,因为这是表达复杂需求的精确和有效的方法。比如用统一建模语言(UML)来描述需求。
编写需求分析报告的要求 a.无歧义性
对最终产品的每一个特性用某一术语描述;若某一术语在某一特殊的行文中使用时具有多种含义,那么应对该术语的每种含义做出解释并指出其适用场合。
b.完整性
需求分析报告应该包括全部有意义的需求,无论是关系到功能的、性能的、设计约束的、还是关系到外部接口方面的需求;对所有可能出现的输入数据的响应予以定义,要对合法和非合法的输入值的响应做出规定;填写全部插图、表、图示标记等;定义全部术语和度量单位。
c.可验证性
需求分析报告描述的每一个需求应是可以验证的。可以通过一个有限处理过程来检查软件产品是否满足需求。
d.一致性
在需求分析报告中的各个需求的描述不能互相矛盾。
e.可修改性
需求分析报告应具有一个有条不紊、易于使用的内容组织;没有冗余,即同一需求不能在需求分析报告中出现多次。
f.可追踪性
每一个需求的源流必须清晰,在进一步产生和改变文件编制时,可以方便地引证每一个需求。
g.运行和维护阶段的可使用性
需求分析报告必须满足运行和维护阶段的需要。在需求分析报告要写明功能的来源和目的。 需求分析报告应由和开发者双方共同完成。其中:负责根据实际需要提出希望软件实现的功能;软件开发者根据提出的性能需求,结合软件开发编写需求分析。
4.3.1
硬件的限制
【本项包括在各种硬件约束下运行的软件要求,例如,应该包括: a.硬件配臵的特点(接口数,指令系统等); b.内存储器和辅助存储器的容量。】
PAGE 12 OF 19
4.4 属性
【在软件的需求之中有若干个属性,以下指出其中的几个】 4.4.1
友好性
对界面的要求,程序界面友好,可操作性 4.4.2
安全性
防止各种非法的访问、使用、修改、破坏或者 泄密。这个领域的具体需求必须包括: a. 利用可靠的密码技术;
b. 掌握特定的记录或历史数据集; c. 给不同的模块分配不同的功能; d. 计算临界值的检查。 4.4.3
可维护性
规定若干需求以确保软件是可维护的。 4.4.4
可转移/换性
利用开发平台提供的数据转换功能,可以实现跨平台数据转换,实现不同数据库数据间的数据转换,如:FoxPro、Access、Microsoft SQL Server间的数据转换。
4.4系统的运行环境
【系统的起始运行时间,结束运行时间,运行的时限,运行的周期等。】 客户端: 硬件:
CPU P3 800MHz以上; 硬盘 1G以上; 内存128M以上;
网络 校园网;
打印机 能够在windows环境下正常使用的所有打印机。
软件:Windows2000/Windows xp, Internet Explorer。
服务器端: 硬件:
一般品牌服务器。
软件:
Windows2000 server, Oracle9i。
4.5 其他需求
4.5.1
用户操作需求
【这里说明用户要求的常规的和特殊的操作。】
PAGE 13 OF 19
a.在用户组织之中各种方式的操作。例如,用户初始化操作; b.数据处理运行功能; c.后援和恢复操作。
4.5.2用户级别需求 (1)系统管理
添加,修改和删除一级单位
备注:在进行删除操作时,如果系表和用户表中存在属于该一级单位的系或用户则禁止删除 (2) 科研人员管理
科研人员是指在校的参与科研工作的全部教师和职工,也包括科技处的职能教师。他们构成了该系统的用户群。 用户类型 相应功能说明 1 注册功能,即用户通过注册功能成为该系统的用户,注册信息必须经过系统管理员审核并赋予相应权限后,该用户才能使用该系统。 2 个人信息管理,用户可以通过个人信息管理模块对个人信息进行修改 3 录入本区域农业相关数据 1 注册功能,即用户通过注册功能成为该系统的用户,注册信息必须经过系统管理职能管理员审核并赋予相应权限后,该用户才能使用该系统。 部门(乡) 2 个人信息管理,用户可以通过个人信息管理模块对个人信息进行修改 3 可以查询所属及下属部门的信息 1 注册功能,即用户通过注册功能成为该系统的用户,注册信息必须经过系统管理职能管理员审核并赋予相应权限后,该用户才能使用该系统。 部门(县) 2 个人信息管理,用户可以通过个人信息管理模块对个人信息进行修改 3 可以查询所属及下属部门的信息 1 注册功能,即用户通过注册功能成为该系统的用户,注册信息必须经过系统管理职能管理员审核并赋予相应权限后,该用户才能使用该系统。 部门(区) 2 个人信息管理,用户可以通过个人信息管理模块对个人信息进行修改 3 可以查询所属及下属部门的信息 1 查询用户,查询条件如下(查询结果可导出为Excel表格): A:按姓名查询B:按学历查询C:按职务查询D:按职称查询E:按系查询F:按信息员 系统管理一级单位查询G:按科研基地查询H:按审核标志查询I:按锁定标志查询J:按以上条员 件的任意合理组合查询 2 审核已注册的用户信息,并且对用户设臵相应的权限 3 对不再使用该系统的用户帐号进行锁定 PAGE 14 OF 19
4 用户登录/退出信息的管理(直接对数据库管理系统进行操作) 备注:不再使用该系统的用户帐号不删除,只是由系统管理员锁定 1 查询用户,查询条件如下(查询结果可导出为Excel表格): A:按姓名查询B:按学历查询C:按职务查询D:按职称查询E:按系查询F:按一级单位查询G:按科研基地查询H:按审核标志查询I:按锁定标志查询J:按以上条超级管理件的任意合理组合查询 员 2 修改用户信息 3 审核已注册的用户信息,并且对用户设臵相应的权限 4 对不再使用该系统的用户帐号进行锁定 5系统维护升级(包括功能和界面),数据存贮及安全保障
4.5.3 软件的编码 (1) 软件编码
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
(2) 软件编码的要求
a.模块化编码 b.代码可读性 c.可维护性 d.模块接口标准化 e.界面风格统一 e.注释的应用
(3) 编码的评审
为了尽早发现软件中的障碍,提高软件产品的质量,开发者在编码的过程中应该强调代码评审工作。将代码评审报告作为文档的一部分,提交给。
(4) 编程规范及要求
为了提高编程实现的质量,软件的程序设计必须遵照国家颁布的相关编程规范。
主要内容包括:规范化的程序内部文档、数据结构的详细说明、清晰的语句结构、编码规范。编码规范的内容包括命名规范、界面规范、提示及帮助信息规范、热键定义等。
其中数据库部分应遵守《南京市信息化数据库建设规范》的要求。
在软件编码的同时应进行单元测试。
PAGE 15 OF 19
正在阅读:
软件需求分析报告05-09
ffmpeg学习笔记01-23
苏教版六年级英语unit8归纳知识点07-09
演讲词开头的方式12-20
可爱小女孩图片大全02-09
浙教版九年级下1.2锐角三角函数的计算(1)课时练习含答案(初中06-18
拒绝真不容易作文600字06-21
2017年医院个人工作总结范文一10-04
新型气化炉耐火材料有关问题的探讨02-29
依兰县创建创业型城市工作方案05-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 分析报告
- 需求
- 软件
- 毛泽东一生所做的两件大事
- 采砂规划报告
- 塑料认识大全 - 图文
- 联语杂酱面
- 《妇产科护理学》学习练习题
- ISO45001-2018与OHSAS18001-2007条款对照表
- 换个_位置想一想 陈娇
- 高铁防护墙施工技术交底
- 第三单元 图形的运动
- 2015中考精英数学(人教)总复习讲解练习 第27讲 图形的相似及位
- 2008年期中考试高二化学试卷 - 2
- 人音版音乐三下《全都认识我》教案
- 涉税服务相关法律(2016) 第09章 个人独资企业和合伙企业法律制度
- 年产10万吨酒精发酵车间设计01
- 安全标准化红头文件
- C++Builder - 6图形、图像及实例
- 统计学 第五版 课后练答案 贾俊平
- 5.1交变电流说课稿
- 儿童家具市场调查报告
- 云南省2015年上半年电焊工气焊技师模拟试题