什么是项目需求分析

什么是项目需求分析
什么是项目需求分析

什么是项目需求分析?

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。(这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后,要求得到:1.SRS 文档(System Requirement Specification); 2.DRM 文档;3.Acceptance Plan. 从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。

狭义上理解:需求分析指需求的分析、定义过程。

一、为什么要需求分析

需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死.

需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计.

二、需求分析的任务

简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求.

三、需求分析的过程

需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审.

问题识别

就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.

分析与综合

逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).

制订规格说明书

即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题),向下一阶段提交.

评审

对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析。

四、需求分析的方法

需求分析的方法有很多.这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(个人认为,对初学者不必深究这些方法,实际上我也从来没用过这些方法)在此不讨论.

原型化方法是十分重要的(是软考等常考的知识点).原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能.

原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷.建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等.如,为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型.以后的目标系统就在原型系统的基础上开发.

原型主要有三种类型(软考考过):探索型,实验型,进化型.探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性.实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠.进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。

在使用原型化方法是有两种不同的策略:废弃策略,追加策略.废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整,准确,一致,可靠的最终系统.系统构造完成后,原来的模型系统就被废弃不用.探索型和实验型属于这种策略。

追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略.

五、需求分析的20条法则(本节摘自软件工程专家网)

客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少

以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。

1、分析人员要使用符合客户语言习惯的表达

需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。

2、分析人员要了解客户的业务及目标

只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。如果是切换新系统,那么开发和分析人员应使用一下目前的旧系统,有利于他们明白目前系统是怎样工作的,其流程情况以及可供改进之处。

3、分析人员必须编写软件需求报告

分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。报告应以一种客户认为易于翻阅和理解的方式组织编写。客户要评审此报告,以确保报告内容准确完整地表达其需求。一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。

4、要求得到需求工作结果的解释说明

分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。

5、开发人员要尊重客户的意见

如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。

6、开发人员要对需求及产品实施提出建议和解决方案

通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。

7、描述产品使用特性

客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。

8、允许重用已有的软件组件

需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。

9、要求对变更的代价提供真实可靠的评估

有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。

10、获得满足客户功能和质量要求的系统

每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。

11、给分析人员讲解您的业务

分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。

12、抽出时间清楚地说明并完善需求

客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。

13、准确而详细地说明需求

编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。

在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。

软件项目开发需求报告

软件需求分析格式_如何写需求分析报告 软件需求说明书 1 引言 1.1 编写目的:阐明编写需求说明书的目的,指明读者对象。 1.2 项目背景:应包括 ● 项目的委托单位、开心单位和主管部门; ● 该软件系统与其他系统的关系。 1.3 定义:列出文档中所用到的专门术语的定义和缩写词的愿文。 1.4 参考资料:可包括 ● 项目经核准的计划任务书、合同或上级机关的批文 ● 文档所引用的资料、规范等 ● 列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源 2 任务概述 2.1 目标 2.2 运行环境

2.3 条件与限制 3 数据描述 3.1 表态数据 3.2 动态数据:包括输入数据和输出数据。 3.3 数据库描述:给出使用数据库的名称和类型。 3.4 数据词典 3.5 数据采集 4 功能需求 4.1功能划分 4.2功能描述 5 性能需求 5.1 数据精确度 5.2 时间特性:如响应时间、更新处理时间、数据转换与传输时间、运行时间等。 5.3 适应性:在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。 6 运行需求

6.1 用户界面:如屏幕格式、报表格式、菜单格式、输入输出时间等。 6.2 硬件接口 6.3 软件接口 6.4 故障处理 7 其他需求 如可使用性、安全保密、可维护性、可移植性等。 需求分析的格式 需求分析要对目标系统提出完整的、准确的、清晰的和具体的要求。 1.综合需求:项目 说明 备注 1)功能要求 描述软件用来做什么

能够进行度量衡的相互转换,如:长度公制之间的转换,公制和英制的转换等。能够添加或创建新的度量衡。能够按照用户自己的需要进行排序。能够作为其他软件的插件或辅助工具使用。能够知道度量衡所应用的范围,如:国家,行业等。 2)性能要求 软件能达到什么性能 数据的最大存储量,数据的转换要有连续性,软件对每项操作的响应时间,更新处理时间,数据转换和传送时间,软件的输入输出数据精度,软件失败和成功的定义。 3)运行要求 软件能正常运行在微软中文版WINDOWS系列的可以独立运行的安装包或可执行文件 开发软件的开发工具清单。是否需要外部存储器和数据通信接口。

软件开发需求分析报告

需求分析报告 1.引言 1.1目的 需求,指的是系统提供的能力必须遵从的条件,一个系统能否达到预期目标,系统需求做的好坏起着决定性作用,因此,他无疑是该平台开发过程中的重要一环。按照传统的软件工程理论,需求分析的目标就是确定要干什么,而不是怎么干,按照统一软件过程的理论(RUP理论),该平台的需求分析就是要致力于高效的正确的开发系统。必须足够详细的描述出系统需求,同时也要详细的描述系统必须达到的条件或实现的功能,使得用户就系统产生的问题一致。 本章将要对”基于教学POI的校园公共服务平台设计与开发”的需求进行分析,再此基础上将会对系统的各个功能进行建模,并且给出模型模型描述的图例序列图等模型。建立系统目标和需要解决的问题。 1.2背景 本设计将对基于教学POI的校园公共服务平台设计与开发进行详细的需求分析;基于教学POI的校园公共服务平台设计在兴趣点软件或APP中属于较为新颖贴近学生生活与教学内容的软件在这方面有大量的资源可循但是并没有与之相关的软件。作为本次软件工程设计的需求总体分析我们需要在POI、教学以及手机软件开发进行基本的融会贯通。 1.3术语 列出本报告中用到的专门术语的定义。 2.任务概述 2.1目标 POI信息平台系统的建立,最直接的提供了非常好的查询管理平台,极大的方便了学生的查询教学点\课程等方案的选择,为学生教师等提供了海量的便利教学信息;学生再也不用考虑担心自己找不到有疑问而大费精力. 通过对用户需求分析以及POI流程研究我们应该解决以下问题 在APP中搜索到正确的\合理的POI信息; POI信息的充分展现,包括地图展示并标记POI点的特殊标记;

软件项目需求分析通用

软件项目需求分析通用集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

1. 引言 目的 说明编写这份报告的目的,指出预期的读者。 背景 指出待开发的软件系统的名称;行业情况;本的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。 参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、标准,以及他们的作者、标题、编号、发布日期和出版单位。 列出编写本报告时查阅的Intenet上杂志、专业着作、标准以及他们的网址。 术语 列出本报告中用到的专门术语的定义。 2. 任务概述

目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。 3. 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 4. 需求规定 软件功能说明

软件项目需求分析通用

1. 引言 目的 说明编写这份报告的目的,指出预期的读者。 背景 指出待开发的软件系统的名称;行业情况;本的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。 参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、标准,以及他们的作者、标题、编号、发布日期和出版单位。 列出编写本报告时查阅的Intenet上杂志、专业着作、标准以及他们的网址。

术语 列出本报告中用到的专门术语的定义。 2. 任务概述 目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。

3. 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 4. 需求规定 软件功能说明 逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明产品的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。 对功能的一般性规定 本处仅列出对开发产品的所有功能(或一部分)的共同要求,如要求界面格式统一,统一的错误声音提示,要求有在线帮助等。 对性能的一般性规定 精度 说明对该系统的输入、输出数据精度的要求,可能包括传输过程中的精度。时间特性要求 说明对于该系统的时间特性要求。 灵活性

软件项目需求分析通用

软件项目需求分析通用文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

1. 引言 1.1 目的 说明编写这份报告的目的,指出预期的读者。 1.2 背景 指出待开发的软件系统的名称;行业情况;本的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。 1.3 参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、标准,以及他们的作者、标题、编号、发布日期和出版单位。 列出编写本报告时查阅的Intenet上杂志、专业着作、标准以及他们的网址。 1.4 术语 列出本报告中用到的专门术语的定义。 2. 任务概述 2.1 目标

叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2 系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。 3. 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 4. 需求规定 4.1 软件功能说明 逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明产品的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。

软件项目需求分析模板(20200602172209)

XXX项目需求分析

文档名称文档编号 编制人完成日期 审核人审核意见同意报批审核日期 备注 版本修订记录 修改人修改内容概要(或原因)修改日期版本号审核人 初稿

目录 1 文档说明 .................................................................................................................... 1-1 1.1 编制目的 ......................................................................................................... 1-1 1.2 适用范围 ......................................................................................................... 1-1 1.3 前提与约束...................................................................................................... 1-1 2 系统概述 .................................................................................................................... 2-2 2.1 用户特点 ......................................................................................................... 2-2 2.2 运行环境 ......................................................................................................... 2-2 2.2.1 硬件平台............................................................................................... 2-2 2.2.2 支持软件............................................................................................... 2-2 2.2.3 通信环境............................................................................................... 2-3 2.3 设计和执行约束............................................................................................... 2-3 2.4 假设和依赖...................................................................................................... 2-3 3 外部接口需求 ............................................................................................................. 3-4 3.1 用户界面 ......................................................................................................... 3-4 3.2 软件接口 ......................................................................................................... 3-4 3.3 通信接口 ......................................................................................................... 3-4 4 功能需求 .................................................................................................................... 4-6 4.1 需求类1名称优先级别.................................................................................. 4-6 4.1.1 业务流程............................................................................................... 4-6 4.1.2 功能需求............................................................................................... 4-6 5 非功能需求................................................................................................................. 5-7 5.1 性能需求 ......................................................................................................... 5-7 5.2 安全设施要求 .................................................................................................. 5-7 5.3 安全和保密要求............................................................................................... 5-7 5.4 质量要求 ......................................................................................................... 5-8 5.5 业务规则(选)............................................................................................... 5-8 5.6 其它需求 ......................................................................................................... 5-8 6 需求分解列表 ............................................................................................................. 6-9 附录 .......................................................................................................... 错误!未定义书签。

软件项目需求分析通用模板

1. 引言 1.1 目的 说明编写这份报告的目的,指出预期的读者。 1.2 背景 指出待开发的软件系统的名称;行业情况;本项目的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。 1.3 参考资料 列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位。 列出编写本报告时查阅的Intenet上杂志、专业著作、技术标准以及他们的网址。 1.4 术语 列出本报告中用到的专门术语的定义。

2. 任务概述 2.1 目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2 系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。3. 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 4. 需求规定 4.1 软件功能说明 逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明产品的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。 4.2 对功能的一般性规定

软件项目需求分析

软件项目需求分析 职场生存攻略提高工作效率的8大必备软件Photoshop word Excel Dreamweaver 7、描述产品使用特性 客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。 8、允许重用已有的软件组件 需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。 9、要求对变更的代价提供真实可靠的评估 有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。 10、获得满足客户功能和质量要求的系统 每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。 11、给分析人员讲解您的业务 分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。 12、抽出时间清楚地说明并完善需求 客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。 13、准确而详细地说明需求 编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。 在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。 14、及时作出决定

软件项目可行性分析和需求分析

软件项目可行性分析和需求分析 问:可行性分析包括哪几方面的内容? 自考365网校解析答案:可行性分析过程是确定系统是否值得开发的过程。通常可行性分析从四个方面进行: 1、技术可行性,其研究目的是判断新的系统在当前技术条件下能否实现,或某种新技术能否获得。 2、组织可行性,它是研究所建议的系统能否成功地实现。 3、时间可行性,研究新系统能否在规定的时间内开发完成。 4、经济可行性,研究开发的成本和效益,判断系统运行得到的效益是否能高于系统开发的成本,以及能否在规定的时间内收回开发的成本。 可行性分析是要决定“做还是不做”。 需求分析是要决定“做什么,不做什么”。 即使可行性分析是客观的、科学的,但决策仍有可能是错误的。因为决策者是人,人会冲动,有赌博心态。如果可行性分析表明做某件事的成功率是10%,失败率是90%,倘若该事情的意义非常大,决策者也许会一拍脑袋:“豁出去,干!”于是这世界就多了一份极喜与极悲。 一、可行性分析的四大要素:经济、技术、社会环境和人 目前国内很多软件公司做系统集成项目,如果谈谈系统集成项目的可行性分析将很有意思。可是那些系统集成项目大多是政府机构的,由于软件行业尚不规范并且客户方存在腐败现象,所以业内流传“没有做不了的系统集成项目”。软件公司的注意力几乎全集中在“如何拿到项目订单”以及“拿到订单后如何蒙混过关”上,使我丧失了卖弄“可行性分析”的机会。既然不能正面指点一个人如何做好事,那么就规劝他不要做坏事吧。 二、可行性分析案例——投资软件公司失败的教训。 作者本来没有资格谈论投资,但事有凑巧:近一年来我关闭了一个亏损30万元的软件公司(我自己的);休克一个年亏损200万元的软件公司(朋友的);扼杀一个200万元的投资方案(陌生人的);踩灭一个处于萌芽状态的100万元的投资设想(熟人的)。鉴于现在比较富有的民营企业渴望投资软件行业的越来越多,值得谈谈这方面的可行性分析。我将讲述亲身经历后的感受,提一些建议。 不论是为客户做软件项目还是为自己做软件产品,都要进行需求分析。需求分析最恼人之处是难以在项目刚启动时搞清楚需求,如果在项目做了一大半时需求发生了变化,那将使项目陷入困境。 三、需求分析为什么困难,4.4节讲述如何进行需求分析。

软件项目需求分析总结

软件项目需求分析总结 需求分析是项目开发的基础,基础打的牢不牢直接关系到后面所有的工作,是项目实施成败的关键总体上说,我们的需求分析是做了,但是做得很不够,我们做的需求只解决了我们能做出这样的项目,但是没有解决这样的项目是不是真就是客户想要的。造成这种状况的原因主要是下面几个情况:客户本身说不清楚文物网是这样,中彰国际更是这样,但是这不能怪客户,毕竟客户在软件方面的知识要少的多,也没有相关的经验,可能心里只有一个想要的软件的轮廓,于是可能会要求我们去替他们来完整这个轮廓的细节,而我们的能力、我们能否真正站在客户角度去搜集和整理这些需求,就决定了这个需求的完整性和有效性。需求自身经常变动随着客户对这个项目越来越深刻的理解,那么可能他的需求也会随之改变,这些变化的可能性越大项目风险就会越大,我们在需求分析的时候就要充分考虑到哪些需求是相对固定的需求,哪些可能会是产生变动的需求,考虑到他的可变性,这样设计功能和数据库的时候不致因为后面的变动而影响整个工程。分析人员或客户理解有误毕竟,不是每个分析人员都是专业而合格的,为避免这种情况的发生,需求分析必须要有审核制度,公司自己内部要审核一遍,客户再审一遍,提出

意见,修改后双方共同评审签字,确认。由此出现的问题:a)需求分析过于笼统,只关注到面上,没有关注到点上,开发出来的东西在具体的细节上和客户的理解有误差,并 且无法严格界定是否属于需求变更。中彰的方案就是这样的。b)需求报告只求我们这方评审通过,不去关心客户的评审,认为只要客户签字认可就行。虽然签字认可能够给 日后出现问题时划清我们的责任,但是不能保证使项目实 施成功。c)需求分析中含有技术实施上有难度的功能,一味的求全和盲目按照客户的设想,受客户影响过大,毕竟,很多时候,客户的想法在实际实施过程中是不现实的,或 者可以有更为简便的方法来替代的。如中彰国际的在线交 易功能,后台大批量邮件群发功能。d)对双方已经确定的需求,实现以后并不适合客户使用,需要按照变更手续执 行的时候,客户可能会纠缠,提出“你们是专业人士,你们应该事先能提醒我们可能会出现这种问题”并以此来把责任推给我们,而我们又不好完全按照变更手续执行,因为可能激化双方的矛盾,比如508的批量处理功能,因为属于人事管理比较专业的细节问题,需求分析师开始 没有对客户业务熟悉到如此细致的地步,而客户也没有过 多关注这些细节,导致软件的某些功能不合用,较为繁琐,而重新按着客户的意见修改的话工作量比较大,导致成本 增加、工期延长。e)项目的成熟度受客户预算的限制。大

软件开发需求分析模板

基于android的物流客户端的需求分析 1.引言 1.1目的 1.2背景 1.3参考资料 1.4术语 列出本报告中用到的专门术语的定义。 2.任务概述 2.1目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中的其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2系统(或用户)的特点 如果是产品开发,应列出本软件的特点,与老版本软件(如果有的话)的不同之处,与市场上同类软件(如果有的话)的比较。说明本软件预期使用频度; 如果是针对合同开发,则应列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件预期使用频度。这些是软件设计工作的重要约束。 3.假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。

4.需求规定 4.1软件功能说明 逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明产品的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。 4.2对功能的一般性规定 本处仅列出对开发产品的所有功能(或一部分)的共同要求,如要求界面格式统一,统一的错误声音提示,要求有在线帮助等。 4.3对性能的一般性规定 4.3.1 精度 说明对该系统的输入、输出数据精度的要求,可能包括传输过程中的精度。 4.3.2 时间特性要求 说明对于该系统的时间特性要求。 4.3.3 灵活性 说明对该系统的灵活性的要求,即当需求发生某些变化时,该系统对这些变化的适应能力。 4.4输入输出要求 解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。 对系统的数据输出及必须标明的控制输出量进行解释并举例。 4.5数据管理能力要求(针对软件系统) 说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储作出估算。 4.6 故障处理要求 列出可能的软件、硬件故障以啊对各项性而言所产生的后果和对故障处理的要求。 4.7其他专门要求 如用户对安全保密的要求,包括信息加密、信息认证(确定穿过系统或网络的信息没有被修改)方面的要求。 对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可

软件开发中的需求分析

软件开发中的需求分析 在软件开发项目中,需求分析是关乎软件项目开发成败的重要因素。现在的软件项目中返工开销占了总开销很大比例,而导致返工的主要原因是需求分析不明确。针对这一情况,文章阐述了软件开发中需求分析任务、需求分析过程、需求分析方法、需求分析变更问题,以及如何确保需求分析质量的措施。 随着全球经济、科技的快速发展和社会信息化进程的加快,计算机被广泛应用于各行业中,各种应用软件应运而生,各行业的管理或生产日趋专一化、数字化、快捷化。从而用户对计算机软件的要求更加复杂和严格。软件需求分析正是解决用户这种需求,软件需求分析是关乎软件项目开发成败的重要因素。有资料表明,现在的软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确,甚至有些人不知道需求分析是什么,从而引发项目开发中的一系列更改。这些更改可能导致浪费大量资源、软件项目无法按时完成等严重问题。所以,需求分析是软件设计和实现的基础,是软件项目迈向成功的第一步! 一、软件需求分析的任务 一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果,是软件项目开发中其他四个阶段的必备条件。从以往的经验来看,需求分析中的一个小的偏差,就可能导致整个项目无法达到预期的效果,或者说最终开发出的产品不是用户所需要的。何谓软件需求分析。先举个例子来说明,对于建造房子这个问题相信大多数人都知道,用户要建一幢房子,建房者一定会与用户详细讨论各种细节,楼层高多少?构架如何?图纸样式等等,每个环节都有详细的过程文档,双方都明白假如完工后修改带来的损失以及变更细节的危害性。同样在软件需求分析中也需要有详细的文档,软件开发者要从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出开发者的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用开发者的产品帮助他解决业务或管理问题。 软件需求分析的任务不是确定系统怎样完成的工作,而是确定系统必须完成那些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。它所做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统的接口细节,定义软件的其他有效性要求。转自项目管理者联盟 软件需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。其实现步骤是:(1)获得当前系统的物理模型;(2)抽象出当前系统的逻辑模型;(3)建立目标系统的逻辑模型。如图1所示:

软件项目需求分析(模板)

需求分析编写说明 需求分析是项目实施过程中的重要文档。编制需求分析须以项目任务书为基础,要求研究内容明确,适用性清晰。各项目在编制需求分析时,可根据自身特点适当进行调整。如下要求供编制需求分析时参考使用。 1、以项目研究内容为基础,以待解决问题为导向,阐述业务调研和技术调研结果,明确项目对技术研究的内容要求,明确适用的场景。 2、梳理平台集成和服务封装需求。 3、参考分析考核指标需求,明确各考核指标所需完成的内容。

目录 一、文档概要 (3) 1.1需求背景 (3) 1.2术语与解释 (3) 二、任务需求分析 (3) 2.1研究内容 (3) 2.2应用场景 (4) 2.3成果分析 (4) 三、技术研究需求分析 (4) 3.1国内外技术研究现状 (4) 3.2关键技术分析 (4) 3.3技术创新点 (5) 四、附录 (5) 4.1参考资料 (5) 4.2索引 (5) 4.2.1表索引 (5) 4.2.2图索引 (5)

一、文档概要 1.1需求背景 【编写要求:提供需求产生的背景,开展相关技术研究的必要性等。】 1.2术语与解释 【编写要求:提供正确理解此需求分析所需的术语、概念和缩略语的定义或解释。】 表一-1术语列表 二、任务需求分析 2.1研究内容 (编写要求:按照技术研究内容,明确细分本文档需要对应的任务内容,需要解决的问题。)

2.2应用场景 (编写要求:描述研究内容所对应的应用场景,明确研究内容的适用性。) 图二-1想定场景 2.3成果分析 (编写要求:明确研究成果能支撑哪些项目要求的考核指标。)依据本研究内容,预计将形成相关技术文档、软件工具、服务组件等成果物。 表二-1研究成果与考核指标关系表 三、技术研究需求分析 (编写要求:对国内外相关技术研究的现状进行分析,明确现阶段待解决的问题,对研究内容进行拆分,详细描述每项研究对应的技术内容、场景,明确需要解决的问题,对其他技术研究的要求等。) 3.1国内外技术研究现状 3.2关键技术分析 (编写要求:详细描述研究内容的技术需求,明确典型场景。)

软件项目需求分析模板

页眉 XXX项目需求分析

目录 1 文档说明 .................................................................................................................... 1-1 1.1 编制目的 ......................................................................................................... 1-1 1.2 适用范围 ......................................................................................................... 1-1 1.3 前提与约束...................................................................................................... 1-1 2 系统概述 .................................................................................................................... 2-2 2.1 用户特点 ......................................................................................................... 2-2 2.2 运行环境 ......................................................................................................... 2-2 2.2.1 硬件平台............................................................................................... 2-2 2.2.2 支持软件............................................................................................... 2-2 2.2.3 通信环境............................................................................................... 2-3 2.3 设计和执行约束............................................................................................... 2-3 2.4 假设和依赖...................................................................................................... 2-3 3 外部接口需求 ............................................................................................................. 3-4 3.1 用户界面 ......................................................................................................... 3-4 3.2 软件接口 ......................................................................................................... 3-4 3.3 通信接口 ......................................................................................................... 3-4 4 功能需求 .................................................................................................................... 4-6 4.1 需求类1名称优先级别.................................................................................. 4-6 4.1.1 业务流程............................................................................................... 4-6 4.1.2 功能需求............................................................................................... 4-6 5 非功能需求................................................................................................................. 5-7 5.1 性能需求 ......................................................................................................... 5-7 5.2 安全设施要求 .................................................................................................. 5-7 5.3 安全和保密要求............................................................................................... 5-7 5.4 质量要求 ......................................................................................................... 5-8 5.5 业务规则(选)............................................................................................... 5-8 5.6 其它需求 ......................................................................................................... 5-8 6 需求分解列表 ............................................................................................................. 6-9 附录 .......................................................................................................... 错误!未定义书签。

相关文档
最新文档