需求分析报告优秀第1篇(全文317字)
需求分析报告
一、所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。
需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特点:
(1)用户与开发人员很难进行交
(2)用户的需求是动态变化的(3)系统变更的代价呈非线性增长
二、为什么要需求分析
需求分析具有决策性,方向性,策略性的作用。在软件分开发过程中具有举足轻重的作用,大家一定要对需求分析具有足够重视!
三、需求分析的任务
需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确的的表达用户的需求。
四、需求分析的过程
需求分析的阶段工作可以分为四个方面:问题识别、分析与综合、制定规格说明、评审。
主要代码:
using System;using ;using ;using System.Data;using System.Drawing;using System.Linq;using ;using System.Windows.Forms;
namespace 掷骰子
{public partial class Form1 : Form{public Form1(){InitializeComponent();}
private void btnbegin_Click(object sender, EventArgs e){if == “" // == ”“){MessageBox.Show(”请输入名字“);
return;}
Random ran1 = new Random(unchecked((int);int i1 = (1, 7); = (i1);Random ran2 = new Random();int i2 = (1, 7); = (i2);if(i1 == i2){ = ”一样大“;
}if(i1>i2){ = +”大“;
}if(i1 }} } 需求分析报告优秀第2篇(全文2795字) 需求分析 需求概述 需求分析是是指充分了解客户情况,包括客户生产、财务及管理流程后,与客户一起讨论对系统的具体要求,针对其现行体制中的不足及目前所需的信息,制定出一套用户对系统的需求方案。需求分析是完全以企业的需要及实际情况为出发点,因此为企业合理地选择系统提供了基本保证。需求分析按照由顶至低、由大到小、由粗到精的的过程来进行。需求分析是整个实施过程中至关重要的一步,是否制定出合理的客户需求决定了以后整个系统实施的成败。 1>用户分析 网上订餐系统的使用者主要有两种:系统管理员、客户。 系统管理员:网上订餐系统的系统管理者,进行系统的日常维护,进行日常管理,并按照餐厅的意愿,对菜谱和客户的信息进行各种管理,比如添加、修改、删除、更新等。 客户:网上订餐系统的主要在使用者,他们是餐厅的客户,能进行基本功能的使用和操作,但是不能对系统进行管理。 2>项目功能需求 管理员功能:登陆系统、查询管理员账户、添加管理员账户、修改管理员账号、删除管理员账号、查询订餐情况删除订单、打印订单。 客户功能:注册账号、登录系统、修改密码、修改地址、进行订餐操作。3>用户界面需求 系统人机界面操作友好,本系统外界界面具有简洁性和友好性等特点,但又不失独特的页面风格,界面采用引入的图片温馨的色调,优雅大方,系统内部结构采用框架布局,使整个系统看起来更有层次感,在用户功能操作功能上,设计简单方便,符合了现代管理系统的界面要求。 系统开发的可行性分析 技术可行性 和SQL数据库这两个开发工具到现在已经运用了很多少年了,它们的技术到现在已经相当成熟。 本系统所要设计的功能难度不大,加上有指导老师的指导和查找相关参考文献,各功能模块在技术上完全是可以的实现。就开发的实际情况来看,技术上市可行的。 经济可行性 本订餐系统所需要的硬件和软件都是目前广泛使用的,如软件运行环境windows98以上系统、数据库SQL Server 2005、编程语言C#等等,都可以通过网上、图书馆等各种渠道得到,不需要再花费大量的资金去购买高成本的设备,大大提高了在设计过程中的工作效率,且投入使用后,便于后期工作的维护,因此,本系统在经济上是可行的。 社会可行性 该系统符合现有的法律、法规和政策方面的限制,没违法当今社会的道德标准,社会可行性通过。 运行环境 处理器为酷睿系列、AMD 3200+以上PC台式机或便携式电脑; 运行时占用内存:<100MB; 所需硬盘空间:<100MB; 软件平台:中文WindowsXP系统; 开发环境和相关技术 。NET开发平台 。NET框架是Microsoft公司推出的一种全新的开发平台,提供了统一的、面向对象并且可以扩展的编程类库和完善的集成开发环境,大大简化了应用程序的开发过程,并且具有良好的移植性和安全性。是建立在公共语言运行库上的Web编程框架,相对于ASP而言,提供了更强的性能、更方便的工具支持、更好的平台支持和灵活性。其一大革命性进步是可以将应用程序逻辑与表示代码清楚地分开,这样一来Web应用程序的开发人员可以使用和Windows桌面程序开发类似的编程模型,从而大大降低了开发难度 [5]。 同时,在进行用户界面开发和基础程序结构生成时具有很多优势。首先,是一个已编译的、基于。NET的开发环境,利用整个。NET框架,开发人员可以方便的进行程序开发;其次,可以无缝地与其它HTML编辑器及其编程工具一起工作,使得Web开发更加方便;再次,在中利 用。NET框架中的的强大功能,可以高效便捷的访问数据库,提供了简单的模型,该模型使开发人员能够编写应用程序的运行逻辑,并且保留了会话状态功能;最后,。NET框架和中提供了默认授权和验证方案,可以根据需要方便地移除、添加或者替换这些方案。 ASP.Net2.0是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译。ASP.Net2.0构架是可以用Microsoft(R>公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得>的编辑。这些仅是强大化软件支持的一小部分 [6]。 因为ASP.Net2.0是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.Net2.0的Web应用中。ASP.Net2.0同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体>,VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向。 的优点主要体现在效率高、可重用性高、代码量少这三方面。在使用ASP进行程序设计的时候,由于ASP使用的是脚本语言,所有的代码都嵌入到HTML代码中,所以当编制功能复杂的网页时,就需要编写大量的代码,而且会导致程序代码的可读性差的问题。另外,由于所有的代码都是解释执行的,所以相对速度较慢,并且无法有效地利用机器硬件的各种性能。与ASP相比较效率更高,提供了很高的可重用性,对于实现同样功能的程序,使用的代码量比ASP要少得多。采用全新的编程环境,代表了技术发展的主流方向。 的工作原理是:首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页。Web服务器通过分析客户的HTTP请求来定位所请求网页的位置。如果所请求的网页的文件名的后缀是aspx,那么就把这个文件传送到aspnet_isapi.dll进行处理,由aspnet_isapi.dll把代码提交给CLR。如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回浏览器作为HTTP响应。浏览器收到这个响应之后,就可以显示Web网页。 使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都 不需要启动本地的管理员工具就可以实现。这种被称为“Zero Local Administration”的哲学观念使的基于应用的开发更加具体,和快捷。一个的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。 已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点 [8]。 Microsoft SQL Server 2005介绍 Microsoft SQL Server 2005 是Microsoft公司继sql server6.5、sql server7.0和SQL Server 2000以后,在新年推出的又一改进的新版关系型数据管理系统。她能使用户快捷地管理数据库和开发应用程序。Sql server 2005使用了先进的数据库结构,与windows DNA 紧密集成,具有强大的Web功能,它可以利用高端硬件平台以及最新网络和储存技术,可以为最大的Web站点和企业应用提供优良的扩展性和可靠性,使用户能够在Internet领域快速建立服务系统,为占领市场赢得宝贵的时间。同时,sql server 2005还为用户提供重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,sql server 2005 在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作量,从而有精力处理更为重要的问题,使用系统在商业战略上占得先机。 SQL Server 2005系统之间之所以成为目前流行的大型商用数据库系统,有着其深刻的内在因素,这与它鲜明的特点十分不开的: 1>与Internet的高度集成SQL Server 2005与其他Microsoft Back Office 产品紧密集成,在安全、时间浏览、Windows NT 服务程序、性能监视器。多处理器支持、索引服务器等方面充分利用了他们的长处,形成了自己独特的优势。 SQL Server 2005数据库索引擎提供完整的XML支持。它还具有构成最大的Web站点的资料存储组件所需的可伸展性、可用性和安全功能。 2>高伸缩性和适应性 同一SQL Server 2005数据库引擎运行在、Windows XP Professional、Windows vista Professional、Windows 2000 Professional、windows 2000 Server和windows 2000 Advanced server。 SQL Server 2005 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护资料的完整性,同时将管理上千个并发的修改数据库的用户的开销减到最小。 3>易于安装和使用 SQL Server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server 的过程。SQL Server 2005 还支持基于标准的、与Windows DNA集成的程序设计模型,使SQL Server 2000 数据库和资料仓库的使用成为生成强大的可伸缩系统的无缝部分。 需求分析报告优秀第3篇(全文3876字) 需求分析报告 (一)一、那些人应该参与网站开发项目的需求分析活动 需求分析活动其实本来就是一个和客户交流,正确引导客户能够将自己的实际需求用较为适当的技术语言进行表达(或者由相关技术人员帮助表达)以明确项目目的的过程。这个过程中也同时包含了对要建立的网站基本功能和模块的确立和策划活动。所以项目小组每个成员、客户甚至是开发方的部门经理(根据项目大小而定)的参与是必要的。而项目的管理者在需求分析中的职责有如下几个方面: 1、负责组织相关开发人员与用户一起进行需求分析。 2、组织美术和技术骨干代表或者全部成员(与用户讨论)编写《网站功能描述书(初稿)》文档。 3、组织相关人员对《网站功能描述书(初稿)》进行反复讨论和修改,确定《网站功能描述书》正式文档。 4、如果用户有这方面的能力或者用户提出要求,项目管理者也可以指派项目成员参与,而由用户编写和确定《网站功能描述书》文档。 5、如果项目比较大的话,最好能够有部门经理或者他授权的人员参与到《网站功能描述书》的确定过程中来。 二、完整的需求调查文档记录体系 在整个需求分析的过程中,将按照一定规范的编写需求分析的相关文档不但可以帮助 目成员将需求分析结果更加明确化,也为以后开发过程中做到了现实文本形式的备忘,并且有助于公司日后的开发项目提供有益的借鉴和模范,成为公司在项目开发中积累的符合自身特点的经验财富。 需求分析中需要编写的文档主要是《网站功能描述书》,他基本上是整个需求分析活动的结果性文档,也是开发工程中项目成员主要可供参考的文档。为了更加清楚的描述《网站功能描述书》往往还需要编写《用户调查报告》和《市场调研报告》文档来辅助说明。各种文档最好有一定的规范和固定格式,以便增加其可阅读性和方便阅读者快速理解文档内容,相关规定将在本文后面讨论。 三、向用户调查些什么 在需求分析的工程中,往往有很多不明确的用户需求,这个时候项目负责人需要调查用户的实际情况,明确用户需求。一个比较理想化的用户调查活动需要用户的充分配合,而且还有可能需要对调查对象进行必要的培训。所以调查的计划安排:时间、地点、参加人员、调查内容,都需要项目负责人和用户的共同认可。调查的形式可以是:发需求调查表、开需求调查座谈会或者现场调研。调查的内容主要如下: 1、网站当前以及日后可能出现的功能需求。 2、客户对网站的性能(如访问速度)的要求和可靠性的要求。 3、确定网站维护的要求。 4、网站的实际运行环境。 5、网站页面总体风格以及美工效果(必要的时候用户可以提供参考站点或者由公司向用户提供)。 6、主页面和次级页面数量,是否需要多种语言版本等 7、内容管理及录入任务的分配。 8、各种页面特殊效果及其数量(js,flash等) 9、项目完成时间及进度(可以根据合同) 10、明确项目完成后的维护责任。 调查结束以后,需要编写《用户调查报告》,《报告》的要点是: 1、调查概要说明:网站项目的名称;用户单位;参与调查人员;调查开始终止的时间;调查的工作安排。 2、调查内容说明:用户的基本情况;用户的主要业务;信息化建设现状;网站当前和将来潜在的功能需求、性能需求、可靠性需求、实际运行环境;用户对新网站的期望等。 3、调查资料汇编:将调查得到的资料分类汇总(如调查问卷,会议记录等等) 四、市场调研活动内容 通过市场调研活动,清晰的分析相似网站的性能和运行情况。可以帮助项目负责人更加清楚的构想出自己开发的网站的大体架构和模样,在总结同类网站优势和缺点的同时项目开发人员可以博采众长开发出更加优秀的网站。 但是由于实际中时间、经费、公司能力所限,市场调研覆盖的范围有一定的局限性,在调研市场同类网站的时候,应尽可能调研到所有比较出名和优秀的同类网站。应该了解同类网站的使用环境与用户的诧异点、类似点,同类产品所定义的用户详细需求(需要公司或者项目负责人有一定的关系)。市场调研的重点应该放在主要竞争对手的作品或类似网站作品的有关信息上。市场调研可以包括下列内容: 1、市场中同类网站作品的确定。 2、调研作品的使用范围和访问人群。 3、调研产品的功能设计(主要模块构成,特色功能,性能情况等等) 4、简单评价所调研的网站情况。 调研的目的是明确并且引导用户需求。 对市场同类产品调研结束后,应该撰写《市场调研报告》主要包括一下要点: 1、调研概要说明:调研计划;网站项目名称、调研单位、参与调研、调研开始终止时间。 2、调研内容说明:调研的同类网站作品名称、网址、设计公司、网站相关说明、开发背景、主要适用访问对象、功能描述、评价等 3、可采用借鉴的调研网站的功能设计:功能描述、用户界面、性能需求、可采用的原因。 4、不可采用借鉴的调研网站的功能设计:功能描述、用户界面、性能需求、不可采用的原因。 5、分析同类网站作品和主要竞争对手产品的弱点和缺陷以及本公司产品在这些方面的优势。 6、调研资料汇编:将调研得到的资料进行分类汇总。 五、清晰的需求分析输出——《网站功能描述书》: 在拥有前期公司和客户签订的合同或者是标书的约束之下,通过较为详细具体的用户调查和市场调研活动,借鉴其输出的《用户调查报告》和《市场调研报告》文档,项目负责人应该对整个需求分析活动进行认真的总结,将分析前期不明确的需求逐一明确清晰化,并输出一份详细清晰的总结性文档――《网站功能描述书(最终版)》以供作为日后项目开发过程中的依据。 《网站功能描述书》必须包含以下内容: 1、网站功能 2、网站用户界面(初步) 3、网站运行的软硬件环境 4、网站系统性能定义 5、网站系统的软件和硬件接口 6、确定网站维护的要求 7、确定网站系统空间租赁要求 8、网站页面总体风格及美工效果。 9、主页面及次页面大概数量。 10、管理及内容录入任务分配。 11、各种页面特殊效果及其数量。 12、项目完成时间及进度(根据合同) 13、明确项目完成后的维护责任。 综上所述,在网站项目的需求分析中主要是由项目负责人来确定对用户需求的理解程度,而用户调查和市场调研等需求分析活动的目的就是帮助项目负责人加深对用户需求的理解和对前期不明确的地方进行明确化,以便于日后在项目开发过程中作为开发成员的依据和借鉴。 需求分析报告 (二)一、首次调研面积及户型选择意向分析 1、时间:2006年4月5日 2、地点:繁华路段,沿街门面、行政机关单位、事业单位、陌生拦截等处选择样本 3、调研方式:问卷填写、深度访谈 4、发出问卷:80份,有效问卷68份 5、样本人群基本情况 家庭人数: 文化程度:大专以上12人 中学(含高中、初中、中专)40人 其他16人 工作单位:经商或个体户36 事业或行政单位20 其他1 2收入状况: 6、户型结构选择 从图中可以看出,客户对房型结构的选择中,三房两厅的占到高达40%的份额,加上18%的四房两厅和18%的三房一厅,合计占到76%的份额,只有不占1/4的人选择两房或其他户型。 7、户型面积选择 从图中可以看出,客户选择110—130平方米的比例占到35%,与上图中三房两厅40%的比例类似;90—150平方米的比例合计占到81%,加上150平方米以上13%,全部占到总份量的94%,90平方米以下的仅占到6%。 注:以上数据引自郑州深蓝咨询机构《项目全程营销策划报告》,以下数据是展示接待中心接待来访客户情况的数据统计分析 二、2006年5月份客户面积选择意向分析 户型面积 A130.302 B135.767 C122.9 E138.59 F129.31 H141.61 K150.45 其他 合计 数量(组)30 12 55 61 66 51 45 51 37 1客户在提示作用下,除14%的客户选择其他户型外,86%的客户都能在120—150平方米之间选到满意的户型。 三、2006年6月份客户面积选择意向分析 户型面积 A130.302 B135.767 C122.9 E138.59 F129.31 H141.61 K150.45 四房 其他 合计 数量(组)24 20 49 32 41 20 16 43 61 306 客户在提示作用下,选择120平方米以上的占到80%,在其他20%的客户中,除部分选择复式户型的以外,选择其他户型的只有不足20%。 四、2006年7月客户对户型面积的意向分析 户型面积 90㎡ 110㎡ 120-130㎡ 130-150㎡ 复式及150以上 无具体意向 合计 客户量 5 6 34 47 15 8 11 5需要130—150平方米的客户超过40%,而120—130平方米客户占30%,两者合计占到70%左右,是县城购房的主力目标客户群体。复式楼的需求量也在13%,是县城高端购房人群之一。90—110平方米的人群占到9%左右,可以看作县城购房群体的补充目标人群。 结论: 综上所述,在豫北某县购房群体中,最少有60%以上的客户选择120—150平方米的房子,最高达到86%左右的比例。另有10—20%的客户选择150平方米以上的户型。只有不到10%的少量客户需求面积在90平方米左右或以下。 如果公务员小区的房型面积不能按照市场需求状况供应,将产生以下几点影响: 第一,单套面积较小的商品房非主流市场需求产品,一旦供应,()将只有极少数的目标人群购买,项目开发不可能达到预期的社会效益和经济效益; 第二,由于单套面积较小的房到成本增加,在销售价格不变的情况下,投资回报率降低;同时,在市场需求有限的环境下,将直接影响到开发企业的开发积极性; 第三,由于市场缺乏满足客户需求的产品,将造成市场供应产品的结构极度不平衡,对于目前市场上供应的大户型产品有着较大利好,将有可能进一步抬升房价,造成更多的客户买不起房; 第四,客户选不到适合自己的商品房,将取消或推迟自己的购房计划、或者选择其他的住宅获取途径来解决居住问题,无论对于政府税收、经济发展、扩大内需都有着较大的冲击; 第五,市场供应的商品房都是偏小面积,客户需求都是稍大或较大面积,开发商虽然知道消费者需求,但由于政府限制,不能按市场规律供应满足市场需求的产品,将形成各方均无法满意的局面,将破坏掉构建和谐社会的基础,间接影响到豫北某经济的快速稳定持续发展。 需求分析报告 (三)相关资料数据以广州为例分析其人才需求状况,供广大求职者和有兴趣的朋友参考。 一、招聘热度 分析 自金融危机以后我国服装产量的持续低增幅,企业对产量增长的谨慎态度。近来欧盟纺织品服装市场需求低迷、部分市场向竞争对手国转移造成了国内服装企业的发展困境。就今年上半年而言,服装行业的人才需求并不十分给力,反映出服装行业整体发展缓慢。 从上图看,广州服装行业招聘职位数浮动不明显,6月低谷期后,7月略有所回升。业内人士分析认为,外贸形势短期内难有明显起色,但是随着欧美服装消费旺季的来临,第三季度服装出口或将有所回升。预计其人才需求也会有所增加。 二、招聘职位分析 据百才招聘网数据统计,7月份广州服装行业发布职位超过一万,仅次于上海。其中,美术/设计/创意类职位占29.01%,其次是销售类、经营管理类职位,占比分别为12.40%、11.78%。招聘职位中,以服装设计师、设计助理招聘职位数最多,占比均超过了15%。 三、招聘要求分析 根据分析,目前服装行业的人才学历要求较其他行业要略低,就广州招聘职位而言,其高中及以下学历占比达28.83%,本科仅占12.42%。从经验要求分析,0——2年、3——5年工作经验者需求量持平,均超40%。可以看出在服装行业人才对经验的要求较学历而言更严格。 四、行业薪酬 分析 根据数据显示,广州服装业整体薪酬水平居中,高薪占比比较小。薪资2000——3999元/月占比最大,达51.20%,万元及以上的月薪仅占比9.63%。这可能与服装行业整体产业性质相关,服装企业工厂员工占比较大,行业整体薪酬分布应该不会有太大的浮动。 需求分析报告优秀第4篇(全文6096字) 软件需求分析报告模板精选 (主要参考红色部分。写作时,主要用用例图和类图做为辅助说明)1.引言 引言是对这份软件产品需求分析报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。 1.1编写目的说明这份软件产品需求分析报告是为哪个软件产品编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件产品需求分析报告详尽说明了该软件产品的需求规格,包括修正和(或)发行版本号,从而对该软件产品进行准确的定义。 如果这份软件产品需求分析报告只与整个系统的某一部分有关系,那么只定义软件产品需求分析报告中说明的那个部分或子系统。 1.11.2 项目风险 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括: ● 任务提出者; ● 软件开发者; ● 产品使用者。 1.21.3 文档约定 描述编写文档时所采用的标准(如果有标准的话),或者各种排版约定。排版约定应该包括: ● 正文风格; ● 提示方式; ● 重要符号; 也应该说明高层次需求是否可以被其所有细化的需求所继承,或者每个需求陈述是否都有其自己的优先级。 1.31.4 预期读者和阅读建议 列举本软件产品需求分析报告所针对的各种不同的预期读者,例如,可能包括: ● 用户; ● 开发人员; ● 项目经理; ● 营销人员; ● 测试人员; ● 文档编写入员。 并且描述了文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。 1.41.5 产品范围 说明该软件产品及其开发目的的简短描述,包括利益和目标。把软件产品开发与企业目标,或者业务策略相联系。 描述产品范围时需注意,可以参考项目视图和范围文档,但是不能将其内容复制到这里。 1.51.6 参考文献 列举编写软件产品需求分析报告时所用到的参考文献及资料,可能包括: ● 本项目的合同书; ● 上级机关有关本项目的批文; ● 本项目已经批准的计划任务书; ● 用户界面风格指导; ● 开发本项目时所要用到的标淮; ● 系统规格需求说明; ● 使用实例文档; ● 属于本项目的其它己发表文件; ● 本软件产品需求分析报告中所引用的文件、资料; ● 相关软件产品需求分析报告; 为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出: ● 标题名称; ● 作者或者合同签约者; ● 文件编号或者版本号; ● 发表日期或者签约日期; ● 出版单位或者资料来源。 2、综合描述 这一部分概述了正在定义的软件产品的作用范围以及该软件产品所运行的环境、使用该软件产品的用户、对该软件产品己知的限制、有关该软件产品的假设和依赖。 2.12.1 产品的状况 描述了在软件产品需求分析报告中所定义的软件产品的背景和起源。说明了该软件产品是否属于下列情况: ● 是否是产品系列中的下一成员; ● 是否是成熟产品所改进的下一代产品; ● 是否是现有应用软件的替代品(升级产品); ● 是否是一个新型的、自主型的产品。 如果该软件产品需求分析报告定义的软件系统是: ● 大系统的一个组成部分; ● 与其它系统和其它机构之间存在基本的相互关系。 那么必须说明软件产品需求分析报告定义的这部分软件是怎样与整个大系统相关联的,或者(同时)说明相互关系的存在形式,并且要定义出两者之间的全部接口。 2.22.2 产品的功能 因为将在需求分析报告的第 4 部分中详细描述软件产品的功能,所以在此只需要概略地总结。仅从业务层面陈述本软件产品所应具有的主要功能,在描述功能时应该针对每一项需求准确地描述其各项规格说明。如果存在引起误解的可能,在陈述本软件产品主要功能的作用领域时,也需要对应陈述本软件产品的非作用领域,以利读者理解本软件产品。 为了很好地组织产品功能,使每个读者都容易理解,可以采用列表的方法给出。也可以采用图形方式,将主要的需求分组以及它们之间的联系使用数据流程图的顶层图或类图进行表示,这种表示方法是很有用的。 参考用户当前管理组织构架,了解各个机构的主要职能,将有助于陈述软件产品的主要功能。 2.32.3 用户类和特性 确定有可能使用该软件产品的不同用户类,并且描述它们相关的特征。往往有一些软件需求,只与特定的用户类有关。描述时,应该将该软件产品的重要用户类与非重要用户类区分开。 用户不一定是软件产品的直接使用者,通过报表、应用程序接口、系统硬件接口得到软件产品的数据和服务的人、或者机构也有他们的需求。所以,应该将这些外部需求视为通过报表、应用程序接口、系统硬件接口附加给软件产品的附加用户类。 2.4 2.4运行环境 描述了本软件的运行环境,一般包括: ● 硬件平台; ● 操作系统和版本; ● 支撑环境(例如:数据库等)和版本; ● 其它与该软件有关的软件组件; ● 与该软件共存的应用程序。 2.52.5 设计和实现上的限制 确定影响开发人员自由选择的问题,并且说明这些问题为什么成为一种限制。可能的限制包括下列内容: ● 必须使用的特定技术、工具、编程语言和数据库; ● 避免使用的特定技术、工具、编程语言和数据库; ● 要求遵循的开发规范和标准 例如,如果由客户的公司或者第三方公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准; ● 企业策略的限制; ● 政府法规的限制; ● 工业标准的限制; ● 硬件的限制 例如,定时需求或存储器限制; ● 数据转换格式标淮的限制。 2.62.6 假设和约束(依赖) 列举出对软件产品需求分析报告中,影响需求陈述的假设因素(与己知因素相对立)。如果这些假设因素不正确、不一致或者被修改,就会使软件产品开发项目受到影响。这些假设的因素可能包括: ● 计划使用的商业组件,或者其它软件中的某个部件; ● 假定产品中某个用户界面将符合一个特殊的设计约定; ● 有关本软件用户的若干假定(例如:假定用户会熟练使用 SQL 语言。); ● 有关本软件开发工作的若干假定(例如:用户承诺的优惠、方便、上级部门给予的特殊政策和支持等。); ● 有关本软件运行环境的一些问题; 此外,确定本软件开发项目对外部约束因素所存在的依赖。有关的约束可能包括: ● 工期约束; ● 经费约束; ● 人员约束; ● 设备约束; ● 地理位置约束; ● 其它有关项目约束;3.外部接口需求 通过本节描述可以确定,保证软件产品能和外部组件正确连接的需求。关联图仅能表示高层抽象的外部接口,必须对接口数据和外部组件进行详细描述,并且写入数据定义中。如果产品的不同部分有不同的外部接口,那么应该把这些外部接口的全部详细需求并入到这一部分实例中。 注意:必须将附加用户类的特征与外部接口需求加以区分,附加用户类的特征描述的是通过接口取得软件产品的数据和服务的人的需求;而外部接口需求描述的是接口本身的需求。 3.13.1 用户界面 陈述需要使用在用户界面上的软件组件,描述每一个用户界面的逻辑特征。必须注意,这里需要描述的是用户界面的逻辑特征,而不是用户界面。以下是可能包括的一些特征: ● 将要采用的图形用户界面(GUl)标准或者产品系列的风格; ● 有关屏幕布局或者解决方案的限制; ● 将要使用在每一个屏幕(图形用户界面)上的软件组件,可能包括: 选单; 标准按钮; 导航链接; 各种功能组件; 消息栏; ● 快捷键; ● 各种显示格式的规定,可能包括: 不同情况下文字的对齐方式; 不同情况下数字的表现格式与对齐方式; 日期的表现方法与格式; 计时方法与时间格式; 等等。 ● 错误信息显示标准; 对于用户界面的细节,例如:一个特定对话框的布局,应该写入具体的用户界面设计说明中,而不能写入软件需求规格说明中。 如果采用现成的、合适的用户界面设计规范(标准),或者另文描述,可以在这里直接说明,并且将其加入参考文献。 3.23.2 硬件接口 描述待开发的软件产品与系统硬件接口的特征,若有多个硬件接口,则必须全都描述。接口特征的描述内容可能包括: ● 支持的硬件类型; ● 软、硬件之间交流的数据; ● 控制信息的性质; ● 使用的通讯协议; 3.3 3.3 软件接口 描述该软件产品与其它外部组件的连接,这些外部组件必须明确它们的名称和版本号以资识别,可能的外部组件包括: ● 操作系统; ● 数据库; ● 工具; ● 函数库; ● 集成的商业组件 说明:这里所说的“集成的商业组件”,是指与系统集成的商业组件,而不是与软件产品集成的商业组件。例如:中间件、消息服务,等等。 描述并且明确软件产品与软件组件之间交换数据或者消息的目的。描述所需要的服务,以及与内部组件通讯的性质。确定软件产品将与组件之间共享的数据。如果必须使用一种特殊的方法来实现数据共享机制,例如:在多用户系统中的一个全局数据区,那么就必须把它定义为一种实现上的限制。 3.43.4 通讯接口 描述与软件产品所使用的通讯功能相关的需求,包括: ● 电子邮件; ● WEB 浏览器; ● 网络通讯标准或者协议; ● 数据交互用电子表格; 必须定义相关的: ● 消息格式; ● 通讯安全或加密问题; ● 数据传输速率; ● 同步和异步通讯机制; 4、系统功能需求 需要进行详细的需求记录,详细列出与该系统功能相关的详细功能需求,并且,唯一地标识每一项需求。这是必须提交给用户的软件功能,使得用户可以使用所提供的功能执行服务或者使用所指定的使用实例执行任务。描述软件产品如何响应己知的出错条件、非法输入、非法动作。 如果每一项功能需求都能用一项,也只需要用一项测试用例就能进行验证,那么就可以认为功能需求已经适当地进行描述了。如果某项功能需求找不到合适的测试用例,或者必须使用多项测试用例才能验证,那么该项功能需求的描述必然存在某些问题。 功能需求是根据系统功能,即软件产品所提供的主要服务来组织的。可以通过使用实例、运行模式、用户类、对象类或者功能等级来组织这部分内容,也可以便用这些元素的组合。总而言之,必须选择一种是读者容易理解预期产品的组织方案。 用简短的语句说明功能的名称,例如:“4.1 系统参数管理”。按照服务组织的顺序,逐条阐述系统功能。无论说明的是何种功能,都应该针对该系统功能重复叙述 4.1~ 4.3 这三个部分。 可以通过各种方式来组织这一部分内容,例如采用:使用实例、运行模式、用户类、对象类、功能等级等,也可以采用它们的组合。其最终目的是,让读者容易理解即将开发的软件产品。一般来说,每个使用实例都对应一个系统功能,因而按照使用实例来组织内容比较容易让用户理解。 对应一些被共享的独立使用实例,可以定义一些公用系统功能。 必须特别注意的是,在 2.2 节“产品的功能”中描述的全部需求,以及它们的规格说明;必须在某个系统功能描述中有所反映,而且不应重复。 4.14.1 说明和优先级 对该系统功能进行简短的说明,并且指出该系统功能的优先级是:高、中、还是低。需要的话,还可以包括对特定优先级部分的评价,例如:利益、损失、费用和风险,其相对优先等级可以从 1(低)到 9(高)。 4.24.2 激励/响应序列 列出输入激励(用户动作、来自外部设备的信号或者其它触发)并且定义针对这——功能行为的系统响应序列,这些序列将与使用实例中相关的对话元素相对应。 描述激励/响应序列时,不仅需要描述基本过程,而且应该描述可选(扩充)过程,包括例外(引起任务不能顺序完成的情况称为例外)。疏忽了可选过程,有可能影响软件产品的功能;如果遗漏例外过程,则有可能会引发系统崩溃。 如果采用流程图来描述激励/响应序列,比较容易让用户理解。 4.34.3 输入/输出数据 列出输入数据(用户输入、来自外部接口的输入或者其它输入)并且定义针对这些输入数据的处理(计算)方法,以及相应地输出数据,描述对应区别:输入数据和输出数据。 当有大量数据需要描述时,也可以分类描述数据,并且注明各项数据的输入、输出属性。 对于每一项数据,均需要描述: ● 数据名称; ● 实际含义; ● 数据类型; ● 数据格式; ● 数据约束; 对于复杂的处理方法,仅仅给出算法原理是不够的,必须描述详细的计算过程,并且列出每一步具体使用的实际算式;如果计算过程中涉及查表、判断、迭代等处理方法,应该给出处理依据和相关数据。如果计算方法很简单,也可以将其从略,不加描述。 5、其它非功能需求 在这里列举出所有非功能需求,主要包括可靠性、安全性、可维护性、可扩展性、可测试性等。 5.15.1 性能需求 阐述不同应用领域对软件产品性能的需求,并且说明提出需求的原理或者依据,以帮助开发人员做出合理的设计选择。尽可能详细地描述性能需求,如果需要,可以针对每个功能需求或者特征分别陈述其性能需求。在这里确定: ● 相互合作的用户数量; ● 系统支持的并发操作数量; ● 响应时间; ● 与实时系统的时间关系: ● 容量需求 存储器; 磁盘空间; 数据库中表的最大行数。 5.25.2 安全措施需求 详尽陈述与软件产品使用过程中可能发生的损失、破坏、危害相关的需求。定义必须采取的安全保护或动作,以及必须预防的潜在危险动作。明确软件产品必须遵从的安全标准、策略、或规则。 5.35.3 安全性需求 详尽陈述与系统安全性、完整性问题相关的需求,或者与个人隐私问题相关的需求。这些问题将会影响到软件产品的使用,和软件产品所创建或者使用的数据的保护。定义用户身份认证,或备授权需求。明确软件产品必须满足的安全性或者保密性策略。 也可以通过称为完整性的质量属性来阐述这些需求。一个典型的软件系统安全需求范例如下:“每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。” 5.4 5.4 软件质量属性 详尽陈述对客户和开发人员至关重要的在软件产品其它方面表现出来的质量功能。这些功能必须是确定的、定量的、在需要时是可以验证的。至少也应该指明不同属性的相对侧重点,例如:易用性优于易学性,或者可移植性优于有效性。 5.55.5 业务规则 列举出有关软件产品的所有操作规则,例如:那些人在特定环境下可以进行何种操作。这些本身不是功能需求,但是他们可以暗示某些功能需求执行这些规则。一个业务规则的范例如下:“进行达到或者超过 10,000,00 元人民币的储蓄业务时,必须通过附加的管理员认证。” 列举业务规则时,可以根据规则的数量,选取合适的编目方式。 5.65.6 用户文档 列举出将与软件产品一同交付的用户文档,并且明确所有己知用户文档的交付格式或标准,例如: ● 安装指南 纸质文档,16 开本; ● 用户手册 纸质文档,16 开本; ● 在线帮助 ● 电子文档,与软件产品一同分发、配置; ● 使用教程电子文档,与软件产品一同分发、配置。 6、词汇表 列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原词)。为了便于非软件专业或者非计算机专业人士阅读软件产品需求分析报告,要求使用非软件专业或者非计算机专业的术语描述软件需求。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表并且加以准确定义。 7、数据定义 数据定义是一个定义了应用程序中使用的所有数据元素和结构的共享文档,其中对每个数据元素和结构都准确描述:含义、类型、数据大小、格式、计量单位、精度以及取值范围。数据定义的维护独立于软件需求规格说明,并且在软件产品开发和维护的任何阶段,均向风险承担者开放。 如果为软件开发项目创建一个独立的数据定义,而不是为每一项特性描述有关的数据项,有利于避免冗余和不一致性。但是却不利于多人协同编写需求分析报告,容易遗漏数据,也不方便阅读。因此还是建议为每个特性描述有关的数据项,汇总数据项创建数据定义,再根据数据定义复核全部数据,使得它们的名称和含义完全一致。必须注意的是,为了避免二义性,在汇总数据项时应该根据数据项所代表的实际意义汇总,而不是根据数据项的名称汇总。 在数据定义中,每个数据项除了有一个中文名称外,还应该为它取一个简短的英文名称,该英文名称应该符合命名规范,因为在软件开发时将沿用该英文名称。可以使用等号表示数据项,名称写在左边,定义写在右边。常见数据项的描述方式如下: ● 原数据元素 一个原数据元素是不可分解的,可以将一个数量值赋给它。定义原数据元素必须确定其 含义、类型、数据大小、格式、计量单位、精度以及取值范围。采用以星号为界的一行 注释文本,描述原数据元素的定义。 ● 选择项 选择项是一种只可以取有限离散值的特殊原数据元素,描述时一一枚举这些值,并用方 括号括起来写在原数据元素的定义前。在两项离散值之间,使用管道符分隔。 ● 组合项 组合项是一个数据结构或者记录,其中包含了多个数据项。这些数据项可以是原数据元 素,也可以是组合数据项,各数据项之间用加号连接。其中每个数据项都必须是数据定 义中定义过的,结构中也可以包括其它结构,但是绝对不允许递归。如果数据结构中有 可选项,使用圆括号把该项括起来。 ● 重复项 重复项是组合项的一种特例,其中有一项将有多个实例出现在数据结构中,使用花括号 把该项括起来。如果知道该项可能允许的范围,就按“最小值:最大值”的形式写在花 括号前。 8、分析模型 这是一个可选部分,包括或涉及到相关的分析模型,例如: ● 数据流程图; ● 类图; ● 状态转换图; ● 实体-关系图。 9、待定问题列表 编辑一张在软件产品需求分析报告中待确定问题时的列表,把每一个表项都编上号,以便跟踪调查。