软件需求分析的20条法则

合集下载

软件需求分析与设计考核试卷

软件需求分析与设计考核试卷
C.行为型
D.数据型
12.在软件设计中,以下哪个原则表示模块之间的关系应该简单明了?()
A.单一职责原则
B.开放封闭原则
C.迪米特法则
D.组合原则
13.以下哪个工具主要用于描述软件的详细设计?()
A.数据流图(DFD)
B.数据字典(DD)
C.类图
D.顺序图
14.在软件设计过程中,以下哪个阶段主要用于确定模块的划分和接口定义?()
软件需求分析与设计考核试卷
考生姓名:答题日期:得分:判卷人:
一、单项选择题(本题共20小题,每小题1分,共20分,在每小题给出的四个选项中,只有一项是符合题目要求的)
1.软件需求分析的主要目的是?()
A.确定软件的功能需求
B.分析和评估软件的可行性
C.描述软件的详细设计
D.编写软件的用户手册
2.以下哪个不是软件需求分析的任务?()
10.风险评估
四、判断题
1. √
2. ×
3. √
4. ×
5. ×
6. √
7. √
8. ×
9. ×
10. ×
五、主观题(参考)
1.软件需求分析的主要任务是确定用户需求,分析系统功能,定义系统约束等。它的重要性在于为软件设计和开发提供明确的方向,确保软件满足用户需求,避免后期重大修改。
2.面向对象设计原则包括单一职责、开闭、里氏替换、接口隔离和依赖倒置。它们在软件设计中指导如何创建可维护、可扩展和可重用的模块。
A.泛化关系
B.关联关系
C.聚合关系
D.组合关系
9.以下哪个方法主要用于评估软件设计的质量?()
A.代码审查
B.单元测试
C.集成测试
D.设计评审

洛必达法则0∞型转化

洛必达法则0∞型转化

洛必达法则0∞型转化洛必达法则(0∞型)是一种软件开发中常用的转化法则,其核心思想是将问题转化为无限的可能性。

本文将介绍洛必达法则的基本概念、应用场景和实际案例。

一、洛必达法则的基本概念洛必达法则(0∞型)是由美国计算机科学家洛必达(Lobida)提出的。

该法则认为,在软件开发过程中,任何问题都可以转化为无限的可能性,即0∞。

这种转化的思想源于洛必达对软件开发过程中问题的深刻理解和实践经验。

二、洛必达法则的应用场景洛必达法则适用于各类软件开发项目,尤其是在需求分析和问题解决的阶段。

通过将问题转化为无限的可能性,可以更全面地考虑各种情况和需求,从而提高软件开发的质量和效率。

三、洛必达法则的实际案例为了更好地理解洛必达法则的应用,下面将以一个实际案例来说明。

假设某公司要开发一个在线购物平台,需求分析中发现存在以下问题:用户无法根据地理位置筛选商品、支付功能不够灵活、商品推荐算法不准确等。

为了解决这些问题,可以按照洛必达法则的思路进行转化。

1. 地理位置筛选问题:将问题转化为“用户如何根据地理位置筛选商品的无限可能性”。

可以考虑通过GPS定位、地图接口等方式实现精确的地理位置筛选功能,同时兼顾用户的隐私保护。

2. 支付功能问题:将问题转化为“用户如何选择支付方式的无限可能性”。

可以提供多种支付方式,如支付宝、微信支付、银行卡支付等,并根据用户的偏好和需求进行个性化推荐。

3. 商品推荐算法问题:将问题转化为“如何提高商品推荐算法的准确性的无限可能性”。

可以通过机器学习算法、用户行为分析等方式,不断优化和改进商品推荐算法,提高用户的购物体验。

通过以上案例,我们可以看到洛必达法则的应用,不仅能够帮助我们更全面地考虑问题,还能够激发创造力和解决问题的能力。

四、结语洛必达法则(0∞型)是一种非常实用的软件开发转化法则,通过将问题转化为无限的可能性,可以提高软件开发的质量和效率。

在实际应用中,我们可以灵活运用洛必达法则,将问题转化为无限的可能性,从而找到最佳的解决方案。

在做市场调研和需求分析时,都有哪些技巧方法?

在做市场调研和需求分析时,都有哪些技巧方法?

在做市场调研和需求分析时,都有哪些技巧方法?一、市场分析1、问卷调查、用户AB测试、焦点访谈、田野调研、用户访谈、用户日志、入户观察、网上有奖调查;2、做人物角色分析:设置用户场景、用户角色进行模拟分析;3、情况推测分析;4、调研的维度主要从战略层、范围层、结构层、框架层、视觉层来展开(不同的产品从不同的层次来确定调研的维度)通过市场调研,我们收集了不少的数据,这些数据都是用户最直接的对产品的某种需求的体现。

作为产品经理,需要将这些数据进行整理。

整理方式:1、将规范的数据按照维度整理、录入,然后进行建模;不规范的数据的话就必须得自己先通过一些定性的处理,让它变得规范,然后再用工具进行分析;2、封闭性的问题,设置选项归类即可。

开放性的问题,建议还是先录下来,然后再头脑风暴整理出有用的东西;3、定性的,焦点访谈和深访,都可以录音,在事后可以形成访谈记录;焦点访谈的过程中,可以以卡片的形式或者其他的形式让用户做选择题,可以获取少量的有数据性的东西,其他的更多的是观点、方向性的,这个需要在整理访谈记录的时候根据问题来归纳整理;4、深度访谈的数据整理,我们以前会做头脑风暴,建立很多个用户模型,强行量化这些数据。

这个方法比较有效,特别在做人群研究的时候。

对整理后的数据,我们最终需要形成书面的市场调研文档报告1、对市场调研的数据分析后进行的说明总结,用图表或图形的形式最直观呈现;2、分析用户当前现状,用户对产品的需求点;3、报告的组成有研究背景、研究目的、研究方法、研究结论等相关内容;4、根据调研的时候的思路,将报告逐一完善,将数据分析的结论图表化,得出自己的结论总结出趋势和规律数据分析方法:1、数据分析需要掌握数据统计软件和数据分析工具(分析工具如SPSS等);2、数据分析的主要方法有:对比分析法:将两个或两个以上的数据进行对比分析,分析其中的差异,从而揭示这些事物发展变化的规律和情况。

对比分为横向对比和纵向对比。

v字形法则的主要内容

v字形法则的主要内容

v字形法则的主要内容V字形法则是一种非常重要的软件开发流程模型,涉及到软件开发的方方面面,包括需求分析、设计、开发、测试和部署等等。

下面我们将在以下几个方面详细展开:1. 需求分析需求分析是V字形法则的第一步。

在这一步骤中,我们将与客户一起确定软件项目的功能、性能和安全等方面的需求。

根据这些需求,我们可以建立一个详细的规格说明书,以确保软件开发的正确性和完整性。

2. 设计在V字形法则的第二步骤中,我们将根据前一步骤的规格说明书来制定软件的设计方案。

在这个阶段,我们需要考虑软件的模块化和模块之间的接口,确保代码的可维护性和可扩展性。

这一阶段还包括确定测试策略和验证策略等方面。

3. 编码和单元测试在这一步骤中,软件开发人员将按照设计方案开始编写代码。

这些代码将经过单元测试,以确保其功能的正确性和质量。

此外,单元测试可以检测到由于编程错误引起的缺陷。

4. 集成测试在集成测试阶段,我们将对软件进行整体测试,以确保所有模块按照设计规范互相协作,并能够实现一组预期的功能。

在这个阶段,我们可能需要进行黑盒测试,以检验软件是否符合规格说明书。

5. 系统测试系统测试是软件开发的最后一个阶段。

在这个阶段,我们将针对整个系统的功能和性能等方面进行测试,并评估其能够满足用户需求。

此外,我们还需要验证系统是否与其它软件、硬件设备和网络协议等类似外部组件的交互兼容性。

总之,V字形法则是软件开发的一种完整的流程模型,可以帮助开发人员在软件开发过程中高效的管理、优化各个环节,从而取得更好的效果。

在实践中,我们通常会根据具体情况对这个流程进行修改和优化,以便更好地适应特定的项目需求和约束条件。

软件生命周期-需求分析篇

软件生命周期-需求分析篇

需求分析需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。

(这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。

需求分析阶段结束后,要求得到:1.SRS文档(System Requirement Specification); 2.DRM 文档;3.Acceptance Plan.从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。

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

一、为什么要需求分析需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死.需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计.二、需求分析的任务简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求.三、需求分析的过程需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审.问题识别就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.分析与综合逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).制订规格说明书即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交.评审对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析。

洛必达法则满足的三个条件

洛必达法则满足的三个条件

洛必达法则满足的三个条件
1.需求:洛必达法则是指80%的效益来自20%的原因,也就是所谓的“少数人做了大部分的事情”。

因此,使用洛必达法则必须先有一个明确的需求,即要提高效率或者减少成本。

2. 数据:在确定需求后,必须收集可靠的数据来支持洛必达法则的应用。

这些数据应该涵盖所关注的问题的所有方面,并且应该能够量化。

3. 分析:最后,必须进行数据分析,以确定哪些因素对于产生80%的效益最为重要,以及它们之间的关系。

这些分析结果将用于制定优先级和采取行动计划,以便最大程度地利用洛必达法则的优势。

- 1 -。

需求分析的方法

需求分析的方法

需求分析的方法完成需求收集以后,接下来要做的就是需求的整理和分析,其中需求的整理相对简单,按照一定的分类规则进行分门别类的整理,不同业务不同产品对需求的分类方法会不太一样。

这个整理的过程比较适合收集回来的需求量比较大的情况下,如果需求量不大,可以略过整理的步骤。

需求分析的目的是找到实际要做的需求,并明确需求执行的优先级。

我们在收集需求的时候,即便限定了需求获取的范围,但因为每个人的理解差异,回来的需求或多或少都会有些偏差,这就要求我们运用一些分析的方法去甄别。

一、需求分析的关键是找准目标用户群体我们在产品定位中明确了目标用户群体,在需求分析的过程中就始终要围绕这个目标用户群体的需求去分析,而不能产生偏离,即便是同一个目标用户群体,也存在专家用户、粉丝用户和主流用户的区别,做产品的过程中,我们最应该满足的就是主流大多数用户的需求,逐渐的把他们变成粉丝用户,可以从专家用户那边获取需求,但不能一味的以他们为准。

分析需求的目标用户是要弄清楚做某个需求到底是满足谁的,是普通用户的需求,还是专家用户的需求?是领导的需求,还是产品所处行业的需求?为什么银行ATM机不能取1块钱,5块钱,10块钱?是ATM机的容量限制问题么?是ATM机的设计问题么?其实是ATM只是为了方便那些临时缺钱的用户,而这部分用户一般不会取小面额的钱。

我们称目标用户群体为产品的关键涉众,可以从涉众利益的角度去分析,用户需求外加商业目标,也可以反推,这样我们就能找到需求的服务对象。

比如宠物商店的关键涉众是宠物的主人,而不是宠物,自然我们做互联网宠物应用APP的时候也要以宠物的主人为分析对象;财务软件的关键涉众是企业老板,而不是企业里面的会计,老板想看到什么样的财务报表,决定了下面的会计要怎么做账;互联网金融产品中的理财类产品,就有的是面向普通用户的,有的是面向理财规划师的,这都是由产品的用户需求和商业目标来决定的。

二、需求分析的方法1、需求的筛选和分类前期收集的大量需求,其中有很多需求是“伪需求”,甚至是不合理的,第一步就需要将这些需求进行“清洗”,择优去重、去伪存真。

软件需求分析的原则

软件需求分析的原则

(2)分析员与用户的通信问题。分析员对问题的理解
必须从信息处理要求出发,而用户更多的考虑是本身的 业务领域。与用户建立相互信任、有效的沟通是分析员 的首要任务。
软件工程
(3)用户需求的可变性。用户需求通常是不断变化的, 而软件开发人员则希望将需求冻结在某一时刻。影响用 户需求变化的因素可以是用户领域的业务扩充或者转移, 市场竞争的要求,用户主管人员的变更等。现实情况是 分析员只能接受需求不断变化的事实,应该千方百计地 使其工作适应需求的变化。
(3)系统功能。系统应该完成的功能以及何时完成,对于 系统运行速度、响应时间或者数据吞吐量的要求,系统 运行的权限规定,系统可靠性要求,是否要求可移植, 未来扩充或者升级的要求。
(4)数据要求。输入偷出数据的种类与格式,计算必须达 到的精度,数据接收与发送的频率,数据存储的容量和 可靠性,数据或者文件访问的控制权限,数据备份的要 求。
软件工程
需求分析的原则
需求分析的前提是准确、完整地获取用户需求。向问题 领域的专家学习,进行用户需求查是需求分析的第一步。 用户需求通常可以分为功能需求和性能需求两类。功能 需求定义了系统应该做什么,系统要求输入什么信息, 输出什么信息,以及如何将输入变换为输出。性能需求 则定义了软件运行的状态特征,如系统运行效率,可靠 性,安全性,可维护性等等。
(5)系统文档规格。系统要求交付什么文档,各类文档的 编制规范和预期使用对象。
软件工程
(6)系统维护要求。系统出错后可以允许的最大恢复时间, 对错误修改的回归测试要求,系统运行日志规格,是否 允许对系统修改,系统变化如何反映到设计中。

在获取需求过程中遇到的典型问题及其解决方法是:
(1)如何理解问题。大多数情况下,软件开发人员不是问 题领域的行家。但是要准确、完整的获取需求必须对问 题具有深入的理解与把握。许多问题即使是用户业务人 员也可能没有自觉的认识。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件需求分析的20条法则对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。

怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。

软件开发的意义也就在于此。

而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。

经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。

通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。

另外,我们也得为政府部门提供关于商品营运的报告。

”分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。

”经理觉得奇怪:“我不是刚告诉你我的需求了吗?”分析员:“实际上,您只说明了整个项目的概念和目标。

这些高层次的业务需求不足以提供开发的内容和时间。

我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。

”经理:“业务人员都在招商。

他们非常忙,没有时间与你们详细讨论各种细节。

你能不能说明一下你们现有的系统?”分析员尽量解释从用户处收集需求的合理性:“如果我们只是凭空猜想用户的要求,结果不会令人满意。

我们只是软件开发人员,而不是采购专家、营运专家或是财务专家,我们并不真正明白您这个企业内部运营需要做些什么。

我曾经尝试过,未真正明白这些问题就开始编码,结果没有人对产品满意。

”经理坚持道:“行了,行了,我们没有那么多的时间。

让我来告诉您我们的需求。

实际上我也很忙。

请马上开始开发,并随时将你们的进展情况告诉我。

”风险躲在需求的迷雾之后以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。

在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。

这里所指的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。

这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满意。

若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。

因此可见——需求分析奠定了软件工程和项目管理的基础。

拨开需求分析的迷雾像这样的对话经常出现在软件开发的过程中。

客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。

那么,我们就拨开雾影,分析一下需求的具体内容:·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。

·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。

·非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。

“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。

前面提到的客户项目经理通常阐明产品的高层次概念和主要业务内容,为后继工作建立了一个指导性的框架。

其他任何说明都应遵循“业务需求”的规定,然而“业务需求”并不能为开发人员提供开发所需的许多细节说明。

下一层次需求——用户需求,必须从使用产品的用户处收集。

因此,这些用户构成了另一种软件客户,他们清楚要使用该产品完成什么任务和一些非功能性的特性需求。

例如:程序的易用性、健壮性和可靠性,而这些特性将会使用户很好地接受具有该特点的软件产品。

经理层有时试图代替实际用户说话,但通常他们无法准确说明“用户需求”。

用户需求来自产品的真正使用者,必须让实际用户参与到收集需求的过程中。

如果不这样做,产品很可能会因缺乏足够的信息而遗留不少隐患。

在实际需求分析过程中,以上两种客户可能都觉得没有时间与需求分析人员讨论,有时客户还希望分析人员无须讨论和编写需求说明就能说出用户的需求。

除非遇到的需求极为简单;否则不能这样做。

如果您的组织希望软件成功,那么必须要花上数天时间来消除需求中模糊不清的地方和一些使开发者感到困惑的方面。

优秀的软件产品建立在优秀的需求基础之上,而优秀的需求源于客户与开发人员之间有效的交流和合作。

只有双方参与者都明白自己需要什么、成功的合作需要什么时,才能建立起一种良好的合作关系。

由于项目的压力与日俱增,所有项目风险承担者有着一个共同目标,那就是大家都想开发出一个既能实现商业价值又能满足用户要求,还能使开发者感到满足的优秀软件产品。

客户的需求观客户与开发人员交流需要好的方法。

下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。

如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。

1、分析人员要使用符合客户语言习惯的表达需求讨论集中于业务需求和任务,因此要使用术语。

客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。

2、分析人员要了解客户的业务及目标只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。

这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。

为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。

如果是切换新系统,那么开发和分析人员应使用一下目前的旧系统,有利于他们明白目前系统是怎样工作的,其流程情况以及可供改进之处。

s3、分析人员必须编写软件需求报告分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。

通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。

报告应以一种客户认为易于翻阅和理解的方式组织编写。

客户要评审此报告,以确保报告内容准确完整地表达其需求。

一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。

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

5、开发人员要尊重客户的意见如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。

共同合作能使大家“兼听则明”。

参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。

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

7、描述产品使用特性客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。

例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。

正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。

8、允许重用已有的软件组件需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。

所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。

9、要求对变更的代价提供真实可靠的评估有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。

而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。

所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。

开发人员不能由于不想实施变更而随意夸大评估成本。

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

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

12、抽出时间清楚地说明并完善需求客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。

有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。

13、准确而详细地说明需求编写一份清晰、准确的需求文档是很困难的。

由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。

但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。

在需求分析中暂时加上“待定”标志是个方法。

用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。

客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。

如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。

14、及时作出决定分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。

有权作出决定的客户必须积极地对待这一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。

相关文档
最新文档