需求获取的方法
软件工程中的软件需求获取与分析方法

软件工程中的软件需求获取与分析方法软件需求获取和分析是软件工程开发过程中至关重要的一环。
它是为了确保软件开发的成功和软件产品能够满足用户的需求而进行的。
本文将介绍几种常用的软件需求获取与分析方法。
一、用户需求访谈用户需求访谈是软件工程中最常用的需求获取方法之一。
它通过与用户进行面对面的交流,了解其对软件产品的期望、功能、界面设计等方面的要求。
在访谈过程中,可以通过提问、观察、记录等方式获取用户的需求信息,并加以整理和分析。
在进行用户需求访谈时,软件工程师需保持沟通的良好态度,尊重用户的观点和需求。
同时,要注意细节,准确记录用户的需求,以便后续的需求分析和软件设计。
二、问卷调查问卷调查是另一种常用的需求获取方法。
通过设计问题,向用户发放问卷,收集用户对软件产品的需求和意见。
问卷调查可以同时面向多个用户,获取多个用户的共同需求和差异化需求。
在设计问卷时,要注意问题的合理性和可操作性。
问题应该具体明确,避免主观和模糊的描述,以便用户能够明确表达自己的需求和意见。
三、原型设计原型设计是一种通过创建软件界面的模型来获取用户需求的方法。
软件工程师可以使用原型设计工具,如Axure、Sketch等,创建界面原型,展示给用户,并征求其意见和建议。
原型设计可以帮助用户更直观地理解软件的功能和操作流程,从而准确地表达自己的需求。
软件工程师可以通过用户的反馈,不断改进原型设计,直到满足用户的需求为止。
四、场景分析场景分析是一种通过模拟用户在特定场景下的需求和行为来获取需求的方法。
软件工程师可以通过观察和记录用户在特定场景中的工作流程,了解他们所需的功能和服务。
在进行场景分析时,要注意选取具有代表性的场景,并与用户充分沟通,确保对场景的理解和模拟的准确性。
通过场景分析,可以更全面地获得用户的需求,为软件开发提供参考。
五、迭代开发迭代开发是一种将软件需求获取与分析过程融入到软件开发过程中的方法。
软件工程师可以在每个开发迭代的过程中,与用户进行交流和需求确认,并根据用户的反馈进行相应的修改和调整。
软件需求获取与分析方法的研究

软件需求获取与分析方法的研究在当今数字化的时代,软件已经成为了各个领域不可或缺的一部分。
从企业的管理系统到个人的手机应用,软件的身影无处不在。
而要开发出一款成功的软件,关键的第一步就是准确地获取和深入地分析软件需求。
这一环节的质量直接决定了软件项目的成败,因此,对软件需求获取与分析方法的研究具有极其重要的意义。
软件需求获取是指从用户、客户、业务部门等相关方收集关于软件系统应该具备的功能、性能、数据、安全等方面的期望和要求。
这可不是一件简单的事情,因为不同的相关方可能有不同的需求和期望,而且这些需求可能并不清晰、完整甚至存在矛盾。
为了有效地获取需求,我们需要运用多种方法和技巧。
其中,用户访谈是一种常见且直接的方法。
通过与用户进行面对面的交流,我们可以深入了解他们的工作流程、痛点和期望。
在访谈过程中,要注意倾听用户的话语,不仅要理解他们明确表达的需求,还要善于捕捉他们言语背后的潜在需求。
同时,要避免引导性的问题,以免影响用户的真实想法。
问卷调查也是一种广泛使用的方法。
它可以在短时间内收集大量用户的反馈,但要注意问卷的设计。
问题应该简洁明了、具有针对性,避免模糊不清或者过于复杂的表述。
而且,要合理设置选项,给用户足够的表达空间。
观察法也是不可忽视的。
直接观察用户在实际工作环境中的操作和行为,能够发现他们在实际工作中遇到的问题和需求。
这种方法可以获取到一些用户自己都没有意识到的需求,但观察过程中要保持客观,不做主观的判断和猜测。
除了以上方法,还可以通过分析现有系统、查阅相关文档、组织焦点小组讨论等方式来获取软件需求。
在获取到需求之后,接下来的重要工作就是对这些需求进行分析。
软件需求分析的目的是对获取的需求进行整理、细化、验证和优先级排序,以确保开发团队能够清晰地理解需求,并为后续的设计和开发工作提供准确的指导。
首先,要对需求进行整理和分类。
将杂乱无章的需求按照功能模块、业务流程等进行分类,使其更加有条理。
软件需求分析与规范

软件需求分析与规范一、引言在软件开发过程中,需求分析与规范起着重要的作用。
准确的需求分析可以确保软件开发的目标明确、需求明确,并为后续的开发工作提供必要的指导。
本文将讨论软件需求分析与规范的概念、方法和流程,以及其在软件开发中的重要性。
二、软件需求分析的概念软件需求分析是指对待开发软件的需求进行详尽的分析、定义和规范的过程。
通过需求分析,可以确保软件开发团队和客户对软件的功能、性能以及其他所需属性具有清晰的共识。
需求分析是软件开发的基础,是后续工作的依据。
三、软件需求分析的方法1. 需求获取:通过与客户和利益相关者的交流,收集和记录软件需求的信息。
可以采用访谈、问卷调查、文档分析等方法进行需求获取。
2. 需求分析:对收集到的需求进行分析,包括需求的功能性、非功能性要求等。
可以采用用例分析、数据流图等方法进行需求分析。
3. 需求规范:将需求以清晰、准确且易于理解的方式进行规范和文档化。
可以采用需求规范文档、用例图等方式进行需求规范。
四、软件需求规范的重要性软件需求规范是对需求进行详细描述和说明的文档,是软件开发过程中的重要组成部分。
具体而言,软件需求规范的重要性体现在以下几个方面:1. 目标明确:需求规范为开发团队提供了明确的目标和方向,使得他们可以更好地理解用户需求,以此为基础进行开发工作。
2. 沟通与共识:需求规范以统一的语言和形式描述了软件的需求,有助于开发团队与客户和利益相关者之间的沟通和共识形成。
3. 可追溯性:需求规范可以作为验证软件开发过程中阶段性完成情况的依据,以及后续验证软件是否满足需求的基准。
4. 保证质量:通过需求规范,可以减少需求的不明确性和冲突性,从而提高软件开发工作的质量和效率。
五、软件需求规范的内容软件需求规范的内容应该根据实际项目的需求进行调整和补充,但通常应包括以下几个方面:1. 系统概述:对软件系统的整体描述,包括系统的功能、目标用户、使用环境等。
2. 功能需求:对软件系统的各项功能进行详细的描述,包括每个功能的输入、输出、处理步骤等。
软件需求-第6课-软件需求获取(三)(第1版)

第6章 软件需求获取概述
3 需求获取的主要方法 用户调查
用户调查问卷的设计要点 封闭式问题的两个现象,比较有意思,仅供参考: (1)C 现象:考试时大家都知道一个口诀“不会就选C”。原因可能是人的“从 中”心理。A和D 有边缘化的感觉。 (2)D现象:心理学研究显示,当将四双相同的丝袜摆在一起,然后将外包装 全部拆掉,让大家判断那双最好,结果很有意思,约60%的人认 为最后一双最好。 提示:如果将你认为的大量正确的答案在C或D,那你将得到满意的效果,但实 际上情况可能相反。均匀分配。
第6章 软件需求获取概述
3 需求获取的主要方法 原型法
什么是原型以及为什么要建立原型?
以上问题存在的一个很重要的原因,就是在系统人员和客户面前,不存 在一个实实在在的事物,这个实体可以充分表达系统人员对问题空间有关 概念的理解程度和对目标系统的初步考虑,客户也可通过这个实体,阐明 其对目标系统的要求和系统人员当前方法指导开发过程。原型法即是适应这种需要 产生的一种信息系统开发方法。
第6章 软件需求获取概述
3 需求获取的主要方法
一般主要的需求获取的方法包括
用户访谈 用户调查 文档分析 原型法(情节串联板) 模型驱动的方法
第6章 软件需求获取概述
3 需求获取的主要方法
文档分析
文档分析又称文档考古或者文档审查,是一种专门针对文档进行需求 获取的活动。其主要获取对象包括相关产品的需求说明书、客户需求文档、 相关数据及流程说明等。
第6章 软件需求获取概述
3 需求获取的主要方法 原型法
什么是原型以及为什么要建立原型?
常规的软件生命周期强调开发的阶段性,软件开发过程必须严格遵循分 析、设计、实现、测试、维护的次序进行,而且各阶段间没有反馈关系。开 发的规范化无疑提高了开发效率,保证了软件的可靠性和可维护性。然而, 对于有些类型的实际问题,常规方法也存在着以下一些问题: ① 软件开发早期,有时很难明确定义出确切的软件需求,提供详细的需求 规格说明书。无论是系统人员,还是客户,有的只是对目标系统十分笼统 初步的认识。软件系统的很多具体细节往往是随着软件系统的建立而逐步 明确的。这样,在需求分析阶段,分析人员常常得花大量时间去捕捉一些 非常模糊的想法,并花大量时间以这种模糊的认识为基础去编写包括很多 细节内容的需求规格说明书,因而需求规格说明书的一致性、准确性、正 确性、有效性很难保证。
获取需求的方法

获取需求的方法
获取需求的方法
方法一:市场调研
•进行市场调研,了解目标用户的需求和偏好。
•通过问卷调查、焦点小组讨论等方式收集用户反馈。
•分析竞争对手的产品和服务,看看他们在哪些方面做得比较好。
方法二:用户访谈
•与目标用户进行面对面的访谈,了解他们的真实需求。
•提出开放性问题,让用户自由发表意见和建议。
•注意观察用户的言谈举止和表情,捕捉到更深层次的需求。
方法三:数据分析
•利用数据分析工具,分析用户的行为数据。
•通过统计用户的点击量、转化率等数据,了解用户的需求和行为习惯。
•追踪用户的使用路径和使用时长,找到用户在产品中的痛点和需求。
方法四:用户反馈
•定期收集用户的反馈和意见,建立用户反馈渠道。
•关注用户在社交媒体和论坛中的评论和留言。
•对用户的问题和建议进行分类和整理,找出共性和痛点。
方法五:用户测试
•在产品开发过程中,邀请目标用户参与测试。
•观察用户在测试过程中的行为和反应,以验证产品的可用性和满意度。
•记录用户的问题和建议,及时修改和优化产品。
方法六:创造需求
•通过创造性的宣传和推广活动,激发用户的需求。
•提供独特的功能和体验,吸引用户的关注和试用。
•不断创新和改进产品,以满足用户的多样化需求。
以上是获取需求的常见方法,通过市场调研、用户访谈、数据分析、用户反馈、用户测试和创造需求等途径,我们可以更好地了解用户的需求,为用户提供更好的产品和服务。
软件需求获取个人认为有以下几个方法

软件需求获取个人认为有以下几个方法:1、面谈和问卷调查;2、小组讨论;3、情景串联;4、参与、观察业务流程;5、现有产品和竞争对手的描述文档;6、市场资料面谈和问卷调查:面谈是获取软件需求的最有用的方法之一。
面谈需准备的内容:1、面谈对象2、面谈的问题面谈对象:与系统相关的涉众,并具有代表性,保证涵盖到每个角色。
如何获取涉众:1、谁为系统付费,购买系统?2、谁使用系统:3、谁会受到系统结果的影响,谁来监管该系统?4、谁来维护系统?面谈问题:需保证与背景无关,保证获取信息的公正性。
问题的设计:1、确定访谈对象的背景:姓名、年龄、部门所处的职位、目前的工作范围2、目前碰到哪些问题,这些问题会对工作、生活产生什么影响?3、对象环境的背景:a、计算机水平,b、目前是否有相同的系统在使用,c、使用该系统碰到哪些问题,d、目前如何处理工作?e、对培训等有什么要求?4、问题重复,取得面谈者对问题的认同;5、分析问题:问题产生的原因是?在什么情况下会有该问题?目前的解决方案是什么,效果如何?客户期待的解决方案是?6、解决方案的可行性分析;7、非功能性需求:性能?稳定性方面的要求;8、维护,是否有专门的维护团队?9、对当前的访谈结果的认同,确认后期有问题可继续联系。
10、总结出当前优先级最高的三个问题;调查问卷无法取代面谈在需求获取阶段的作用,问卷调查的问题和答案具有一定的引导性,在某种程度上会影响结果小组讨论:小组讨论是指将与项目某个问题相关的人员聚集在一起开会讨论。
优势:容易在内部取得对方案的认同,有利于项目的开展;在讨论会上每个相关人员都可发表自己的意见,保证了获取信息的全面性。
缺点:不容易把握。
小组讨论的注意事项:1、需先确定议题,范围;参会人员;2、事先将相关资料送达参与人员,让参与人员开会前先了解会议的整体背景,有利于会议的顺利开展;3、确定好会议室、开会的时间(需控制开会时间的长度),做好后勤保障;4、选一个好的主持人,可把握会议的方向、进度、调整会议的氛围;5、保证每个人都有5-10分钟的发言时间,不允许他人打断,但也不允许超过限定的发言时长;6、会后将会议纪要发送给参会人员,取得对结果的认同。
用户需求获取方法

用户需求获取方法
有多种方法可以获取用户需求,以下是一些常见的方式:
1. 用户调研:通过问卷调查、访谈、焦点小组讨论等方式与用户进行交流,了解他们的需求、偏好和痛点。
2. 数据分析:通过分析用户行为数据、交易数据等,了解用户的使用习惯、购买偏好等,从中挖掘用户的需求。
3. 竞品调研:研究市场上的竞争产品或服务,了解它们的优势、劣势和用户反馈,从中发现用户的需求。
4. 用户反馈:收集和分析用户反馈和投诉,了解用户对产品或服务的意见和建议,进一步了解用户需求。
5. 用户故事:通过编写用户故事描述用户在特定情境中的需求、目标和痛点,帮助产品团队理解用户需求。
6. 媒体观察:关注用户和行业相关的媒体、社交媒体等渠道,了解用户的讨论和反馈,发掘用户需求。
7. 创新工作坊:组织创新工作坊或设计思维训练营,通过与用户一起进行头脑
风暴,挖掘用户需求和解决方案。
这些方法可以单独使用,也可以结合使用,根据具体情况选择合适的方法来获取用户需求。
需求收集的方法有哪些

需求收集的方法有哪些
收集需求的方法有很多种,以下是一些常见的方法:
1. 个别采访:与关键利益相关者(如客户、用户、业务所有者等)进行一对一的面谈或电话采访,主动询问他们的需求和期望。
2. 群体讨论:组织利益相关者参加小组或大型群体讨论,通过讨论和辩论来识别和收集需求。
3. 问卷调查:设计和分发问卷,通过收集参与者的反馈和意见来了解他们的需求。
4. 观察用户:观察和记录用户在实际使用产品或服务时的行为和反应,以发现他们的需求和问题。
5. 分析现有文档和数据:审查与需求相关的文件、报告、数据和其他资料,以了解已有的需求和问题。
6. 利益相关者工作坊:组织利益相关者参加工作坊,通过合作和交流来共同收集和定义需求。
7. 原型演示:制作初步的产品原型或演示,与利益相关者进行沟通和讨论,以
获取反馈和需求。
8. 竞品分析:对竞争对手的产品进行研究和分析,了解他们的功能、特点和用户反馈,以辅助需求收集。
9. 数据分析:分析可用的量化数据(如市场调研、用户行为分析等),以了解用户需求和行为模式。
10. 制定使用案例:通过编写具体的使用案例和故事,描述用户在特定情境下的需求和期望。
需要根据具体情况选择合适的方法或采用多种方法的组合来收集需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求获取技术需求获取的目的:(1)清楚地理解所要解决的问题;(2)完整地获取用户需求。
需求获取面临的挑战:问题的复杂性和问题空间;理解的不完备性与不一致性;交流障碍;需求易变性。
所以,分析人员必须掌握一些基本技术,包括初步需求获取技术、需求建模、问题抽象与问题分解快速原型技术。
需求获取技术包括两方面的工作:建立获取用户需求的方法的框架;支持和监控需求获取的过程的机制。
一、需求获取的常用方法1.组织人员组织人员,建立分析小组,其中包括领域专家:主角,也就是用户方面的问题专家,了解软件所解决问题的领域知识。
系统分析员:导演,软件开发人员方面的人,其主要分析,抽象领域专家的知识,形成软件模型。
2.客户访谈客户访谈,也就是获取用户需求,其主要方法是调查研究。
其主要内容包括:(1)了解系统的需求。
软件开发常常是系统开发的一部分。
仔细分析研究系统的需求规格说明,对软件的需求获取是很有必要的。
(2)市场调查。
了解市场对待开发软件有什么样的要求;了解市场上有无与待开发软件类似的系统。
如果有,在功能上、性能上、价格上情况如何。
(3)访问用户和用户领域的专家。
把从用户那里得到的信息作为重要的原始资料进行分析;访问用户领域的专家所得到的信息将有助于对用户需求的理解。
(4)考察现场。
了解用户实际的操作环境、操作过程和操作要求。
对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识。
在做调查研究时,可以采取如下的调查方式:·制定调查提纲,向不同层次的用户发调查表。
·按用户的不同层次,分别召开调查会,了解用户对待开发系统的想法和建议。
·向用户领域的专家或在关键岗位上工作的人个别咨询。
·实地考察,跟踪现场业务流程。
·查阅与待开发系统有关的资料。
·使用各种调查工具,如数据流图、任务分解图、网络图等。
为了能够有效地获取和理清用户需求,应当打破用户(需方)和开发者(供方)的界限,共同组成一个联合小组,发挥各自的长处,协同工作。
3.问题分析与确认问题分析与确认,主要组织分析并评审,最终确定问题是否比较完整。
二、需求获取的内容需求分析目标主要搞清楚软件用户要“做什么”,其用户需求内容主要是两方面:一是功能性需求:定义了系统做什么(描述系统必须支持的功能和过程);二是非功能性需求(技术需求):定义了系统工作时的特性(描述操作环境和性能目标);两类需求包括的内容:功能;性能;环境;界面;用户或人的因素;文档;数据;资源;安全保密;软件成本消耗与开发进度;质量保证。
下面分别对其作一定解释:(1)功能需求:系统做什么?系统何时做什么?系统何时及如何修改或升级?(2)性能需求:软件开发的技术性指标:例如:存储容量限制;执行速度、相应时间、吞吐量。
(3)环境需求:硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等;软件操作系统;网络;数据库。
(4)界面需求:有来自其他系统的输入吗?到自其他系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?(5)用户或人的因素:用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?(6)文档需求:需哪些文档?文档针对哪些读者?(7)数据需求:输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?(8)资源需求:软件运行时所需的数据、软件。
内存空间等资源。
软件开发、维护所需的人力、支撑软件、开发设备等。
(9)安全保密要求:需对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其他程序和操作系统隔离?系统备份要求?(10)软件成本消耗与开发进度需求:开发有规定的时间表吗?软硬件投资有无限制?(11)质量保证:系统的可靠性要求?系统必须监测和隔离错误吗?规定系统平均出错时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?维护是否包括对系统的改进?系统的可移植性?摘要:我们知道,需求调研不充分、用户需求描述不完整不准确,轻则影响项目建设的顺利程度,重则影响应用系统的质量,甚至决定项目的成败。
俗话说,“良好的开端是成功的一半”。
需求获取作为项目伊始的活动,是非常重要的。
目前我们所开发的软件项目一般有两种类型:产品项目和工程项目。
产品项目一般都会有充足的时间进行非常仔细的需求调研和分析,而工程项目却并非如此(因为它往往受诸多因素的影响)。
本文拟讨论如何根据工程项目的实际特点,采用合适的方法低成本高效率地获取用户的需求。
关键词:工程项目需求获取方法产品项目一般是根据公司战略和市场需求研发的旨在进行批量出售或推广的项目,工程项目一般是根据与用户签定的合同研发的旨在满足特定用户需求的项目。
笔者所开发和管理的项目主要是工程项目,在项目的建设过程中,感觉到最头疼的是项目需求的获取;我们往往要花相当大的精力在需求获取和需求确认上,然而有时效果还很不理想。
经过几年时间的项目实践,我们逐步总结出针对不同项目情况所适合采用的需求获取方法,这些方法能大大提高需求获取的效率。
现总结之,愿与大家分享。
我们知道,一个工程项目,如果从开发方(即承建方)和用户方(即建设方)对需求的清楚程度来分,大致可以分为如下四种:开发方和用户方都清楚项目需求、开发方不清楚项目需求但用户方清楚、开发方和用户方都不清楚项目需求、开发方清楚项目需求但用户方不清楚。
针对这四种类型的项目,我总结出四种对应的需求获取方法:问卷调查法、会议讨论法、界面原型法和可运行原型系统法。
以下逐一解析之一、问卷调查法所谓“问卷调查法”,是指开发方就用户需求中的一些个性化的、需要进一步明确的需求(或问题),通过采用向用户发问卷调查表的方式,达到彻底弄清项目需求的一种需求获取方法。
这种方法适合于开发方和用户方都清楚项目需求的情况。
因为开发方和建设方都清楚项目的需求,则需要双方进一步沟通的需求(或问题)就比较少,通过采用这种简单的问卷调查方法就能使问题得到较好的解决。
这种方法的一般操作步骤是:步骤一、开发方先根据合同和以往类似项目的经验,整理出一份《用户需求说明书》和待澄清需求(或问题)的《问卷调查表》提交给用户;步骤二、用户阅读《用户需求说明书》,并回答《问卷调查表》中提出的问题,如果《用户需求说明书》中有描述不正确或未包括的需求,用户可一并修改或补充;步骤三、开发方拿到用户返回的《用户需求说明书》和《问卷调查表》进行分析,如仍然有问题,则重复步骤二,否则执行步骤四步骤四、开发方整理出《用户需求说明书》,提交给用户方确认签字。
由于这种方法比较简单、侧重点明确,因此能大大缩短需求获取的时间、减少需求获取的成本、提交工作效率。
二、会议讨论所谓“会议讨论法”,是指开发方和用户方召开若干次需求讨论会议,达到彻底弄清项目需求的一种需求获取方法。
这种方法适合于开发方不清楚项目需求(一般开发方是刚开始做这种业务类型的工程项目)但用户方清楚项目需求的情况。
因为用户清楚项目的需求,则用户能准确地表达出他们的需求,而开发方有专业的软件开发经验,对用户提供的需求一般都能准确地描述和把握。
这种方法的一般操作步骤是:步骤一、开发方根据双方制定的《需求调研计划》召开相关需求主题沟通会;步骤二、会后开发方整理出《需求调研记录》提交给用户方确认;步骤三、如果此主题还有未明确的问题则再次沟通,否则开始下一主题;步骤四、所有需求都沟通清楚后,开发方根据历次《需求调研记录》整理出《用户需求说明书》,提交给用户方确认签字。
由于开发方不清楚项目需求,因此需要花较多的时间和精力进行需求调研和需求整理工作。
三、界面原型法所谓“界面原型法”,是指开发方根据自己所了解的用户需求,描画出应用系统的功能界面后与用户进行交流和沟通,通过“界面原型”这一载体,达到双方逐步明确项目需求的一种需求获取的方法。
这种方法比较适合于开发方和用户方都不清楚项目需求的情况。
因为开发方和用户方都不清楚项目需求,因此此时就更需要借助于一定的“载体”来加快对需求的挖掘和双方对需求理解。
这种情况下,采用“可视化”的界面原型法比较可取。
这种方法的一般操作步骤是:步骤一、开发方根据其所了解到的需求(如通过合同或与用户交流),采用界面制作工作描画出应用系统的功能界面;步骤二、将应用系统的功能界面提交给用户并与用户沟通,挖掘出新需求或就需求达成理解上的一致;步骤三、开发方就不断获取的需求进行增量式整理,根据新的需求丰富和细化界面原型;步骤四、双方经过多次界面原型的交互,开发方最终整理出《用户需求说明书》,提交给用户方确认签字。
由于开发方和用户方都不清楚项目需求,因此此时需求获取工作将会比较困难,可能导致的风险也比较大。
采用这种“界面原型”的方式,能加速项目需求的“浮现”和双方对需求的一致理解,从而减小由于需求问题可能给项目带来的风险。
针对这种类型的项目,我们也可以采用下面将要介绍的“可运行原型系统法”,但由于开发方对需求不了解(证明以前缺乏类似项目的开发经验和产品积累),如果开发一个可运行的原型系统,则几乎需要从零开始编写代码,前期投入会很大。
四、可运行原型系统法所谓“可运行原型系统法”,是指开发方根据合同中规定的基本需求,在以往类似项目应用系统的基础上进行少量修改得出一可运行系统,通过“可运行原型系统”这一载体,达到彻底挖掘项目需求的一种需求获取的方法。
这种方法比较适合于开发方清楚项目需求但用户方不清楚项目需求的情况。
这种类型的项目,开发方一般都有类似项目的建设经验,因此可以在以往项目的基础上,快速“构建”出一可运行系统,然后借助于这一“载体”来加快对需求的挖掘和双方(特别是用户方)对需求的理解。
这种情况下,采用“所见即所得”的可运行原型系统法比较可取。
这种方法的一般操作步骤是:步骤一、开发方根据其所了解到的需求(如通过合同或与用户交流),在以往类似项目的基础上,快速“构建”出一可运行系统;步骤二、通过向用户演示“可运行原型系统”,逐步挖掘并让用户确认项目需求;步骤三、开发方就不断获取的需求进行增量式整理,根据新的需求丰富可运行原型系统;步骤四、双方经过多次可运行原型系统的交互,开发方最终整理出《用户需求说明书》,提交给用户方确认签字。
由于开发方清楚用户的需求(证明以前有类似项目的开发经验和产品积累),但用户方自己不清楚,因此此时开发一个“可运行原型系统”,开发方的投入不会很大,但对于用户理解和确认项目需求非常有利,因此针对这种类型的项目这是一种比较理想的需求获取方式。
这种方法的另一个好处是:正式系统一般可以在该“可运行原型系统”的基础上演化而成,为后续开发工作节省不少的工作量和成本。
值得注意的是,以上总结出的这四种需求获取方法不是互斥的,我们可以根据项目的实际特点独立应用或组合应用。