您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件需求-第6课-软件需求获取(三)(第1版)
第6章软件需求获取第6章软件需求获取概述一般主要的需求获取的方法包括用户访谈用户调查文档分析原型法(情节串联板)模型驱动的方法3需求获取的主要方法第6章软件需求获取概述用户调查3需求获取的主要方法用户调查技术实际上是与用户访谈相关的一组技术和方法。在市场调查领域应用非常广泛。主要优点在于调查面比较宽,用户反馈多。这恰好能够称为用户访谈的有效补充,能够克服用户调查的片面性。而其缺点主要是大家都认识到的往往不易深入,而这恰好是用户访谈所能避免的。所以说用户调查是用户访谈的有效、有益的补充。第6章软件需求获取概述用户调查3需求获取的主要方法采用用户调查的时机一般来说,可以将用户访谈和用户调查共同使用。可以采用两种截然不同的组合方式。先调查,后访谈:先设计一个通用的问卷,从问卷的结果中整理出一个关键点。然后选取一些用户代表,进行有针对性的访谈。先访谈,后调查:就是先选取一些典型的用户,然后对访谈的结果进行整理。在这些基础上设计相关的调查问卷。通过调查来验证用户访谈的结果是否具有普遍性。第6章软件需求获取概述用户调查3需求获取的主要方法采用用户调查的时机一般来说,在开展市场调查时,由于很难深入接触到潜在的用户。所以总是先调查,后访谈。而在需求获取时,通常采用的策略是先访谈,后调查。其实原因在于市场调查与需求获取有不同的应用背景。一般市场调查通常用于验证潜在客户对产品的接受程度。而需求获取的目标是要理解客户需要解决的问题。也就是说需求获取时你往往还没有产品,信息不够充分,所以很难设计出有效的调查问卷。第6章软件需求获取概述用户调查3需求获取的主要方法采用用户调查的时机什么时候开展用户调查工作呢?用户调查的目标是为了客户用户访谈的片面性,显然当片面性矛盾比较突出时就应该采用用户调查的方式。从实际操作来看:当出现以下情况时,可以采用用户调查:(1)存在大样本用户:在操作层面上尤其突出。有些岗位在用户单位中从业人数非常大,进行访谈具有片面性,不可能一一访谈。通常在此情况下,需要采用用户调查的方式。(2)存在夸地域的用户:由于用户单位分散在多个区域,所需要解决的问题会不尽相同。这时也需要采用用户调查的方式获取这些差异性的问题。第6章软件需求获取概述用户调查3需求获取的主要方法用户调查问卷的设计要点这个问题有大量的资料可参考。也许需要注意的是以下几点:(1)注意问题篇幅和布局通常认为问卷不要让用户在回答时花太多的时间,一般不超过20分钟。换句话说,就是量不要超过3页。问题排列应该先易后难。另外,要有逻辑相关性的考虑。跳跃太大的问卷,往往会干扰答卷人的思路。从而降低了答卷的质量。(2)注意问题类型的选择尽量选择开放性(简答题)或半封闭(多选题)的题型,少用封闭性题型(判断题)。研究表明,从信息收集的有效性来说,开放性问题效果最好。半封闭型问题次之,封闭型问题最差。第6章软件需求获取概述用户调查3需求获取的主要方法用户调查问卷的设计要点封闭式问题的两个现象,比较有意思,仅供参考:(1)C现象:考试时大家都知道一个口诀“不会就选C”。原因可能是人的“从中”心理。A和D有边缘化的感觉。(2)D现象:心理学研究显示,当将四双相同的丝袜摆在一起,然后将外包装全部拆掉,让大家判断那双最好,结果很有意思,约60%的人认为最后一双最好。提示:如果将你认为的大量正确的答案在C或D,那你将得到满意的效果,但实际上情况可能相反。均匀分配。第6章软件需求获取概述3需求获取的主要方法一般主要的需求获取的方法包括用户访谈用户调查文档分析原型法(情节串联板)模型驱动的方法第6章软件需求获取概述3需求获取的主要方法文档分析文档分析又称文档考古或者文档审查,是一种专门针对文档进行需求获取的活动。其主要获取对象包括相关产品的需求说明书、客户需求文档、相关数据及流程说明等。其主要优点是能够详细、直观地对数据流细节进行了解和分析。缺点也比较明显,企业机构中,文档量通常非常大,由此容易使需求获取人员陷入文山书海中不能自拔,甚至引起误导。第6章软件需求获取概述3需求获取的主要方法文档分析文档分析的时机文档分析通常配合用户访谈或者用户调查期间开展。采用此策略的的目的是因为用户访谈或者用户调查难以获得数据方面的详细需求,你不能指望被访谈者或者被调查者能够记住相关数据细节。由此说文档分析是研究、分析、细化数据的重要手段。第6章软件需求获取概述3需求获取的主要方法文档分析文档分析使用要点文档分析使用时要注意文档的历史问题。不是简单地将文档中存在的数据拿来用,而是要分析其应用的时间和环境。否则实施是就会将纸质流程直接搬到计算机上,而没有有效地利用信息化工具对流程进行适当的改进。所以文档分析重在“分析”,目标是思考文档对新流程的影响以及新流程对文档的改进。文档分析不仅在需求获取阶段采用,往往在需求分析,甚至设计阶段仍然被使用。经验是,如果项目比较大,开发周期比较长,要拍专人负责现行文档的管理和收集工作。随时为需求和设计人员共享。第6章软件需求获取概述3需求获取的主要方法一般主要的需求获取的方法包括用户访谈用户调查文档分析原型法(情节串联板)模型驱动的方法第6章软件需求获取概述3需求获取的主要方法原型法什么是原型以及为什么要建立原型?“原型是一个系统,它内化了(capture)一个更迟系统(latersystem)的本质特征。原型系统通常被构造为不完整的系统,以在将来进行改进、补充或者替代。”如果在最终的物件(finalartifact)产生之前,一个中间物件(mediateartifact)被用来在一定广度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该广度和深度上的原型。例如,某国家机关对其将开发的系统在招标时要求,应标公司除了完成必要的商务标和技术标应答外,还需要根据其提供的用例完成相关系统的开发(该系统大约25-30个用例,招标时提供的用例为8个)。第6章软件需求获取概述3需求获取的主要方法原型法什么是原型以及为什么要建立原型?软件原型是所提议的新产品的部分实现或可能的实现。使用原型有3个主要目的:•明确并完善需求原型作为一种需求工具,它是对部分系统的初步实现,因为我们尚没有很好地了解该系统。•研究设计选择方案原型作为一种设计工具,涉众可以用它研究不同的用户交互技术,优化系统易用性,并评估可能的技术方案。•发展为最终产品原型作为一种构造工具,是产品一个最初子集的完整功能实现。第6章软件需求获取概述3需求获取的主要方法原型法什么是原型以及为什么要建立原型?建立原型的主要原因是为了解决在产品开发的早期阶段不能确定的一些问题。利用这些不确定性可以判断系统中哪些部分需要建立原型,以及我们希望从用户对原型的评估中获得什么信息。对于发现并解决需求中的二义性和不完整性,原型也是一种很好的方法。当产品处于编写规格说明和设计阶段时,原型可以使他们更具体地思考问题。原型,尤其是直观的原型,比开发人员有时所使用的技术术语更易于理解。第6章软件需求获取概述3需求获取的主要方法原型法什么是原型以及为什么要建立原型?构建原型的目标是降低项目风险。原因在于:信息系统中的软件开发强调文档化和规范化。规范化要求开发人员按照统一的过程开发软件。对软件开发过程的规定和描述就是软件开发模型。目前使用最为广泛的软件开发模型是瀑布模型。瀑布模型是最常规的软件开发模型。它就像瀑布的流水一样,一个阶段一旦结束,就不能对其工作结果进行修正,各个阶段间不存在反馈关系。这种连续、无反馈的特点,保证了软件开发进度,但同时也对每一个阶段提出了严格的,在某些条件下甚至是苛刻的工作质量要求。第6章软件需求获取概述3需求获取的主要方法原型法什么是原型以及为什么要建立原型?常规的软件生命周期强调开发的阶段性,软件开发过程必须严格遵循分析、设计、实现、测试、维护的次序进行,而且各阶段间没有反馈关系。开发的规范化无疑提高了开发效率,保证了软件的可靠性和可维护性。然而,对于有些类型的实际问题,常规方法也存在着以下一些问题:①软件开发早期,有时很难明确定义出确切的软件需求,提供详细的需求规格说明书。无论是系统人员,还是客户,有的只是对目标系统十分笼统初步的认识。软件系统的很多具体细节往往是随着软件系统的建立而逐步明确的。这样,在需求分析阶段,分析人员常常得花大量时间去捕捉一些非常模糊的想法,并花大量时间以这种模糊的认识为基础去编写包括很多细节内容的需求规格说明书,因而需求规格说明书的一致性、准确性、正确性、有效性很难保证。第6章软件需求获取概述3需求获取的主要方法②常规的软件开发各阶段相互传递信息的唯一工具是文档。虽然文档内有很多形象的描述方法,如各种图表等,但它们毕竟是实际系统的抽象。即使在软件开发早期作出了明确的需求分析,其后每一个阶段的开发人员都不得不再花大量时间,在一定程度上,通过阅读文档重温前一阶段系统人员的工作。同时,由于这些阶段的系统人员一般不和客户作直接交流,因而,可能出现的情况是,需求分析中已经得到正确说明的问题,经过这些阶段中不同的系统人员的各种理解和加工后,在继续传递的过程中发生.原型法什么是原型以及为什么要建立原型?第6章软件需求获取概述3需求获取的主要方法以上问题存在的一个很重要的原因,就是在系统人员和客户面前,不存在一个实实在在的事物,这个实体可以充分表达系统人员对问题空间有关概念的理解程度和对目标系统的初步考虑,客户也可通过这个实体,阐明其对目标系统的要求和系统人员当前的一些理解错误。基于这些问题,信息系统开发需要更为实用的方法指导开发过程。原型法即是适应这种需要产生的一种信息系统开发方法。原型法什么是原型以及为什么要建立原型?第6章软件需求获取概述3需求获取的主要方法原型法采用原型的好处?利用原型的好处有:–及时、有力的响应用户需求的变化;–减少返工;–帮助控制不完整需求所带来的风险;–可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤;–减少开发成本,提高经济效益;–增加开发者之间的交流,帮助确定技术解决方案的可行性;–有效的识别风险和解决风险,帮助进行风险管理;–提高用户在软件开发中的参与程度。原型可以把新系统的一个模型或一个部分摆在用户的面前,可以激活他们的思维,并促进需求对话。对原型的早期反馈有助于涉众对理解系统需求达成共识,从而减小客户不满意的风险。第6章软件需求获取概述3需求获取的主要方法帮助需求工程师及早解决需求的不确定性:–创新性产品,它们的基本需求是潜在的,有着很大的不确定性;–产品的用户对相关类别的产品没有经验,产品的细节需求存在着不确定性;–用户但在完成工作的方式上仍然存在障碍,产品在整体方案的可行性上存在着不确定性;–用户在清晰说明他们的需求方面存在困难,这些相关的需求是有着不确定性的需求;–需求工程师在理解用户的需求上存在困难,在澄清和理解之前,这些需求存在着不确定性;–需求的可行性值得怀疑,即具体需求的可满足性存在着不确定性。原型法什么是原型以及为什么要建立原型?应用原型的必要性第6章软件需求获取概述3需求获取的主要方法原型法原型的类别-按照构建技术分类水平原型方法(horizontalprototyping)–它仅仅实现选定功能所有层次中的某些特定层次–建立的原型产品称为水平原型(horizontalprototype)–要把注意力集中在概括性需求和工作流问题上垂直原型方法(verticalprototyping)–它会触及到选定功能实现的所有层次–建立的原型产品称为垂直原型(verticalprototype)–要保证真实实现它的各种功能第6章软件需求获取概述3需求获取的主要方法原型法原型的类别-按照使用方式分类演示原型(presentationprototype)–主要被用在启动项目阶段–目的是让用户相信应用系统的开发是可行的严格意义上的原型(prototypeproper)–主要被用在分析需求阶段–用来阐明用户界面或者系统功能的某些特定方面试验原型(breadboardprototype)–主要被用在构建系统阶段–帮助开发者澄清
本文标题:软件需求-第6课-软件需求获取(三)(第1版)
链接地址:https://www.777doc.com/doc-6349997 .html