1.如何系统的进行用户需求分析
1.概念 需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求. 关键的问题是一定要编写需求文档.我曾经目睹过一个项目中途更换了所有的开发者,客户被迫与新的需求分析者坐到一起.系统的分析人员说:"我们想与你谈谈你的需求."客户的第一反应便是:"我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统". 百事通 而实际上,UGGs,需求并未编写成文档,因此新的分析人员不得不从头做起.所以如果只有一堆邮件、会谈记录或一些零碎的未整理的对话,你就确信你已明白用户的需求,那完全是自欺欺人. 需求的另外一种定义认为需求是"用户所需要的并能触发一个程序或系统开发工作的说明".有些需求分析专家拓展了这个概念:"从系统外部能发现系统所具有的满足于用户的特点、功能及属性等".这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的.而下面的定义则从用户需要进一步转移到了系统特性: 需求是指明必须实现什么的规格说明.它描述了系统的行为、特性或属性,是在开发过程中对系统的约束. 从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的"需求"术语存在,真正的"需求"实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对.系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识. 任何文档形式的需求(例如如下将要描述的需求规格说明书)仅是一个模型,一种描述. 2.需求分析的任务 开发软件系统最为困难的部分就是准确说明开发什么.最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口.同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难. 目前,国内产品的庞杂,一家企业可能有几个系统并立运行,它们之间接口是系统开发人员最头痛的问题. 对于商业最终用户应用程序,企业信息系统和软件作为一个大系统的一部分的产品是显而易见的.但是对于我们开发人员来说,并没有编写出客户认可的需求文档,我们如何知道项目于何时结束?而如果我们不知道什么对客户来说是重要的,那我们又如何能使客户感到满意呢? 然而,即便并非出于商业目的的软件需求也是必须的.例如库、组件和工具这些供开发小组内部使用的软件.当然你可能偶尔勿需文档说明就能与其他人意见较为一致,但更常见的是出现重复返工这种不可避免的后果,而重新编制代码的代价远远超过重写一份需求文档的代价,这些血的教训正在国内的软件开发者身上发生. 近来,我遇到一个开发小组开发包括代码编辑器在内的一套内部使用的计算机辅助软件.不幸的是,当他们开发完这个工具后,发现这个工具不能打印出源代码文件,使用者当然希望有这个功能.结果这个小组只好手工抄写源代码文档以供代码检查.这说明那怕需求明确无误并构思准确,如果我们没有编写文档,软件达不到期望目标也只能是咎由自取了. 相反的情况,我曾见一个要集成到"错误跟踪系统"中的简单界面写了一页需求说明.而操作系统系统管理员在为处理脚本时发现简单的一张需求清单竟是如此有用.他们依据需求对系统进行测试时,此系统不仅非常清晰地实现了所有必需功能,而且未发现任何错误. 事实上,需求文档在开发过程中一直起指导作用. 3.需求分析过程 可把整个软件需求工程研究领域划分为需求开发和需求管理两部分更合适,如图4-1所示: 图4-1 需求工程域的层次分解示意图 需求开发可进一步分为:问题获取、分析、编写规格说明和验证四个阶段.这些子项包括软件类产品中需求收集、评价、编写文档等所有活动.需求开发活动包括以下几个方面: 确定产品所期望的用户类别. 获取每个用户类的需求. 了解实际用户任务和目标以及这些任务所支持的业务需求. 分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息. 将系统级的需求分为几个子系统,并将需求中的一部份分配给软件组件. 了解相关质量属性的重要性. 商讨实施优先级的划分. 将所收集的用户需求编写成文档和模型. 评审需求规格说明,确保对用户需求达到共同的理解与认识,并在整个开发小组接受说明之前将问题都弄清楚. 需求管理需要"建立并维护在软件工程中同客户达成的合同" .这种合同都包含在编写的需求文档与模型中.客户的接受仅是需求成功的一半,开发人员也必须能够接受他们,并真正把需求应用到产品中.通常的需求管理活动包括: 定义需求基线(迅速制定需求文档的主体). 评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它. 以一种可控制的方式将需求变更融入到项目中. 使当前的项目计划与需求一致. 估计变更需求所产生影响并在此基础上协商新的承诺,这种承诺具体体现在项目解决方案上. 让每项需求都能与其对应的设计、源代码和测。
2.功能需求怎么写
需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特点:
(1)用户与开发人员很难进行交流
在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该"做什么"。但是在开始时,开发人员和用户双方都不能准确地提出系统要"做什么?"。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。
(2)用户的需求是动态变化的
对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。
(3)系统变更的代价呈非线性增长
需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。
因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。
编辑本段方法
⑴首先调查组织机构情况
包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。
⑵然后调查各部门的业务活动情况
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。
⑶协助用户明确对新系统的各种要求
包括信息要求、处理要求、完全性与完整性要求。
⑷确定新系统的边界
确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。
常用的调查方法有:
⑴跟班作业
通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。
⑵开调查会
通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。
⑶请专人介绍。
⑷询问
对某些调查中的问题,可以找专人询问。
⑸设计调查表请用户填写
如果调查表设计得合理,这种方法是很有效,也很易于为用户接受的。
⑹查阅记录
即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。
通过调查了解了用户需求后,还需要进一步分析和表达用户的需求。
分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。
编辑本段案例
(1)需求分析报告的编写目的
本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本铁路售票系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
(2)产品背景明细
软件名称:铁路售票系统
(3)缩写及缩略语
铁路售票应用系统软件:基本元素为构成铁路售票及相关行为所必须的各种部分。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。
模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
本工程描述:
(1)软件开发的目标:
完善目前铁路售票系统,使之能跟上时代的发展。同时通过实践来提高自己的动手能力。
(2)应用范围:
理论上能够实现于铁路部门的售票系统,其目的在于在原有的系统基础使得铁路售票实名化,以期实现完善日常生活中铁路售票的各种缺陷。
3.怎么编写用户业务需求分析
需求分析 格式1 引言1.1 编写目的 【说明】目标:对用户的需求进行收集、整理与分析,弄清楚系统究竟要 “干什么”及“由谁干”,并用合乎规范的文字及图表予以描述。
不需要说明“怎么干”,因为那是设计阶段的事情。有关文字与图表应尽量让用户便于理解。
预期读者:用户方的相关业务人员、双方的开发人员和系统维护人员。 作用:实现开发方与用户方的双向沟通,是把业务需求计算机化的关键步骤。
为下一阶段的概要设计工作提供依据。当用户的需求发生变更时,应添写补充说 明;如变动过大可形成新版本。
软件需求说明(Software Requirements Specification)的主要作用为: 为用户方与开发方建立共同协议奠定基础。 提高开发效率、强化进度控制。
为项目的的评测与验收提供依据。 便于移植。
作为系统不断提高的基础。1.2 编写背景1.2.1 系统名称及版本号 【说明】形如“网银三期***系统V3.0.0”。
其中,版本号的格式为“XX.XX.XX”,X为阿拉伯数字,左“0”可省略。1.2.2 使用者 【说明】适应对象和范围。
主要指预期读者,也供有关领导审阅。1.2.3 与其它系统的关系 【说明】在用户现有的及预期的整个应用系统中,给本系统准确定位。
用示意图及相应的文字予以说明。2 用户的基本情况2.1 系统建设背景 【说明】项目背景与依据、现有基础、项目规模、预期目标等。
可繁可简,格式自定。2.2 组织机构与职能 【说明】用层次示意图及相应文字表示(如果需要开发的系统与部门没有直接依赖关系此节可省略,本章随后的小节数将顺次减1),加注:组织机构的层次数、数目、各个机构的职能简述。
2.3 用户特点 【说明】所在行业特征、操作人员与系统维护人员的数量、学历与水平、数据量大小、使用频度等。2.4 用户业务分析 【说明】在本部分,希望系统分析人员能够对用户业务现状进行分析、对用户对本系统的未来发展方向作出一定的预测等。
以便设计人员对业务及其发展有所了解,增强系统设计的前瞻性。2.5 计算机应用现状 【说明】可繁可简,格式自定。
3 业务需求3.1 项目概述 【说明】 第一、指明项目的开发意图、应用目标(总目标、分期目标)、作用范围、预期效益等。第二、指明在输入信息转变为输出信息的过程中,为了满足用户的业务需求,应用软件必须完成的基本功能(采用自然语言叙述)。
但此时不要求对基本功能进行分解。第三、如果本系统与其他系统相关联,则应确定本系统的基本功能边界(可采用图示+文字说明的形式,用蓝色标示出本系统的功能,用绿色标示出相关系统的功能)。
3.2 约束条件3.2.1 费用约束 【说明】 预计投资金额概算、其中软硬件费用的比例、资金分期到位计划。3.2.2 进度约束 【说明】预计完成日期、分步实施期限。
3.2.3 其它约束 【说明】场地面积限制、通信设施基础、其它干扰因素。 注意:任何计算机系统都不是包罗万象的;用户自身的能力也是有限的。
轻诺必寡信。故应特别指出:由于哪些条件的约束,本系统不能满足哪些业务需求与系统需求。
本章主要介绍项目的总体业务功能,要求站在客户的角度把握系统需求.3.3 性能需求 【说明】依据ISO9000标准及我们的理解,下面列出了软件的6组性能,共涵盖21个子特性。这些性能/子特性的相对重要性并不是等同的。
编写时,可以基于具体项目的实际需求,对下述标题或内容进行取舍/侧重。事实上不可能做到面面俱到,往往要作出某些折中。
本节说明系统在性能方面的预期目标,不要求提供实现上述目标的具体实施方案。3.3.1 功能性 【说明】指与软件实现的各项功能及其指定性质有关的一组属性。
这些功能都是满足规定需求和潜在需求所必需的。它包括5个子特性:适用性:与指定业务所需各项功能的实现及其适合程度有关的一些软件属性。
准确性:与保证正确(或符合要求的)结果(或效果)有关的一些软件属性。互操作性:与软件同一些指定系统交互作用能力有关的一些软件属性。
复合性:使软件遵守相关的标准、约定/法律或类似规定有关的一些软件属性。保密安全性:与针对蓄意(或无意)而非法存取程序和数据的预防能力有关的一些软件属性。
这里主要指的是保护软件的要素,旨在防止各种非法访问、修改、破坏、泄密及感染计算机病毒等。3.3.2 可靠性 【说明】指在规定的条件和期限内,与软件保持其性能水平有关的一组软件属性。
成熟性:与软件故障引起的失误频率有关的一些软件属性。容错性:在软件故障发生或其规定界面被破坏的情况下,与软件仍能保持规定性 能水平的能力有关的一些软件属性。
可恢复性:在失效的情况下、在限定的期限和强度范围内,与软件重建性能水平 并恢复直接受影响的数据的能力有关的一些软件属性。3.3.3 易使用性 【说明】指与规定用户(或潜在用户)使用软件所需的努力程度、对这种使用所做的评估有关的一组软件属性。
它包括3个子特性:易理解性:与用户为理解其逻辑概念及适用范围需做的努力有关的一些软件属性。易学习性:与用户学习其应用(例如操作控制、输入、输出)需做的努力有关的一些软件属性。
易操作性:与用户操作及运行控制需做的努力有关的。
4.用户需求列表和软件需求列表分别要写些什么
用户需求列表
需求代号(*) 需求项名称(*) 需求描述(*) 角色(*) 补充说明 需求来源(*) 优先级(*) 需求收集时间(*) 需求类型(*) 系统解决方案(*) 需求状态(*) 需求状态最后确定时间(*) 备注
1.带*号的项为必填项;
2.需求获取者必须填写“需求代号”、“需求项名称”、“需求描述”、“角色”、“补充说明”、“需求来源”“优先级”、“需求收集时间”;
3.需求分析人员初步分析时需要填写“需求类型”、“系统解决方案”、“需求状态”以及“需求状态最后确定时间”;
4.为便于管理需求,可以增加数据列,但不允许减少数据列。
软件需求列表
主要是系统需求。定义系统中需要实现的功能,描述了开发人员需要实现什么。格式与上面类似。
5.怎样写一个系统的需求分析
方法
⑴首先调查组织机构情况
包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。
⑵然后调查各部门的业务活动情况
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。
⑶协助用户明确对新系统的各种要求
包括信息要求、处理要求、完全性与完整性要求。
⑷确定新系统的边界
确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。
常用的调查方法有:
⑴跟班作业
通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。
⑵开调查会
通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。
⑶请专人介绍。
⑷询问
对某些调查中的问题,可以找专人询问。
⑸设计调查表请用户填写
如果调查表设计得合理,这种方法是很有效,也很易于为用户接受的。
⑹查阅记录
即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。
通过调查了解了用户需求后,还需要进一步分析和表达用户的需求。
分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。
6.真空系统的工作原理
启动系统,主真空泵组开始工作,直到真空罐内真空度达到设定的上限值,真空泵自动停止运行,中央真空系统内的真空由管路上的真空止回阀自动截止而得到维持。如因工作需求真空罐内真空度下降并低于设定的下限值时,备用真空泵组自动启动。由此循环往复,真空系统的真空度能够维持稳定的真空源,满足生产的要求。
转载请注明出处育才学习网 » 真空系统用户需求怎么写