需求分析与测试的重要性(精选5篇)

时间:2019-05-12 02:50:20下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《需求分析与测试的重要性》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《需求分析与测试的重要性》。

第一篇:需求分析与测试的重要性

需求分析与测试的重要性

读《软件工程案例教程》有感

对于学习软件工程这门课程,我认为有许多东西要学习。其实在我看来学习这门课程的精髓是学习一种方法。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。读完软件工程案例教程这本书,我觉得自己受益匪浅。

整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模和测试等。对于这本书我主要对需求分析和测试比较感兴趣,在这我要着重的谈一些自己的心得体会以及自己的看法。

一.需求分析

1.1需求分析的重要性

一款成功的软件是建立在成功的需求分析之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。由此我们可以看出需求分析的重要性。需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。

其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是“很明显”的信息。最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织的执行需求的获取活动。

1.2需求分析的原则

(1)需求分析必须能够表达和理解问题的数据域和功能域。数据域包括数据流、数据内容和数据结构,而功能域反映上述3方面的控制信息。

(2)需求分析要把一个复杂问题按功能进行分解并逐层细化。通常,软件系统要处理的问题如果太大、太复杂就很难理解,若划分成几部分,并确定各部分间的接口,就可完成整体的功能。在需求分析过程中,软件系统的用户需求中的数据、功能和行为都应细化。

(3)需求建模。模型可以帮助系统分析人员更好地理解软件系统的数据、功能和行为,这些模型是软件工程中下一阶段进行系统设计的基础。

1.3需求分析的注意事项(1)确定详细的需求,否则经费就算不准。经费估计错误的原因多为:用户需求频繁变动、遗漏重要需求、与用户交流不够、需求规格说明书质量低劣、需求分析不充分等。(2)在编写需求规格说明书之前,应明确要解决的问题。在试图解决问题之前,要保证已考察了全部可替代的方案。要搞清哪地方有问题,真正的问题出在哪里。这样,在编写需求规格说明书时做到有的放矢,把存在的问题暴露出来。

(3)立即确定需求,并记录下该需求的背景。没有明确问题,就进行下一步的设计,想回避矛盾,可能会带来更大的问题。用户不确定需求,软件设计人员自己决定需求,将会带来严重的问题。为了避免将来可能出现的问题和软件工程项目能够尽快地进入到下一个阶段的系统设计中,要尽可能迅速地把用户需求确定下来。任何决定总比没有决定要好。

(4)一旦在需求规格说明书中发现问题,立即改正。如果把存在的问题拖延到系统设计阶段去改正,就可能要花数倍的时间和精力才能纠正同一错误。

(5)在众多用户需求中确定各个需求的优先顺序,并确定可能存在的子集,以便为软件设计、实施和项目管理等后续阶段提供有利条件。

(6)需求分析时,不要进行系统设计的工作。需求分析的主要目的是确定软件系统的外部特征,充分反映软件系统应有的面貌,便于让软件设计人员根据用户需求,去全面地考虑软件系统的体系结构、算法等。在需求分析阶段要集中精力解决用户需求存在的问题,尽可能避免产生遗留问题。

(7)对于复杂的软件系统,要从多种视角进行需求分析。根据软件系统的本质,切合实际地组织多种视角的需求。例如,可从根据用户的类型,或根据响应的类型,或根据对象的软件工程案例教程类型,或根据系统的模式等视角来组织用户需求。通过多个视角来研究用户需求问题,把可得到的不同的“投影”组合起来形成完整系统的描述。当试图从整体观点来描述软件系统发生困难,或者有可能发生错误,或者很有可能遗失软件系统的某些特性。而从不同的视角来 描述软件系统,因为每个视角限制了研究的范围并能够将注意力集中于此,所以很容易保证所研究的问题是真正完整的。

(8)重视形式化方法,但不放弃自然语言。为了用户需求表达的精确性和方便用户的可理解性,一个好方法是把自然语言的表达与形式化规格说明并立,互相对照,而且在一般情况下,先用自然语言写出,再给出它的形式模型。

(9)用户需求中不应存在“待确定”的条款。如若有这种需要,应同时说明:何时由谁来解决该问题。

1.4用户需求的类型

需求分析是从用户最初的非形式化需求到满足用户要求的软件产品的映射过程。它实际上是一个对用户意图不断进行揭示和判断的过程,其目的在于细化、精化软件的作用范围,确定拟开发软件的功能和性能、约束、环境等。可将用户的需求分为两大类:功能性需求和非功能性需求。

(1)功能性需求。功能性需求主要说明了系统各功能部件与环境之间的相互作用的本质,即拟开发软件在职能上实际应做到什么。一般来说,它是用户最主要的需求,通常包括系统的输入、系统能完成的功能、系统的输出以及其他反应。在功能性需求中还应包括备选功能的定义识别。

(2)非功能性需求。非功能性要求主要从各个角度对所考虑的可能的解决方案起约束和限制作用。1.5需求分析的方法

在软件工程中,常用的需求分析方法有面向数据流的结构化分析方法(简称 SA)和面向对象的分析方法(简称 OOA)。此外,还有以用户为中心的需求分析方法。这些方法都采用图文结合的方式,可以直观地描述软件的逻辑模型。这里仅介绍结构化分析方法和以用户为中心的需求分析方法。

二.软件测试

2.1软件测试概述

软件本身无形态,它是复杂的知识高度密集的逻辑产品,其中不可能没有错误。软件实施工程过程中必须伴随着软件质量保证的活动,而软件测试是主要活动之一。在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错误。这样,在软件产品中就会隐藏许多错误和缺陷。对于规模大、复杂性高的软件更是如此。在这些错误中,有些是致命的错误,如果不排除,就会导致生命与财产的重大损失。

2.2软件测试的目的

测试的目的是“说明程序能正确地执行应有的功能”,还是“表明程序没有错误”?基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。因此,他们会选择那些导致程效概率小的测试用例,回避那些易于暴露程序错误的测试用例。同时,也不会刻意去检测、排除程序中可能包含的副作用。显然,这样的测试对完善和提高软件质量毫无价值。因为在程序中往往存在着许多预料不到的问题,可能会被疏漏,许多隐藏的错误只有在特定的环境下才可能暴露出来。如果不把着眼点放在尽可能查找错误这样一个基础上,这些隐藏的错误和缺陷就查不出来,会遗留到运行阶段中去。如果站在用户的角度,替他们设想,就应当把测试活动的目标对准揭露程序中存在的错误。在选取测试用例时,考虑那些易于发现程序错误的数据。

2.3软件测试的原则

(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。由于原始问题的复杂性、软件的复杂性和抽象性、软件开发各个阶段工作的多样性,以及参加开发各种层次人员之间工作的配合关系等因素,使得开发的每个环节都可能产生错误。所以不应把软件测试仅仅看成是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。在需求分析阶段就应该制订测试计划,以保证每个需求,每个设计单元都是可测试的,便于测试。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些隐患,提高软件质量。

(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。测试以前应当根据测试的要求,选择在测试过程中使用的测试用例(Test Case)。测试用例主要用来检验程序员编制的程序,因此不但需要测试的输入数据,而且需要针对这些输入数据的预期输出结果。如果对测试输入数据没有给出预期的程序输出结果,那么就缺少了检验实测结果的基准,就有可能把一个似是而非的错误结果当成正确结果。

(3)程序员应避免检查自己的程序。测试工作需要严格的作风、客观的态度和冷静的情绪。自己测试自己的软件不容易发现错误,程序员应避免测试自己的程序。测试是一种“挑剔性”的行为,人们常常由于各种原因具有一种不愿否定自己工作的心理,认为揭露自己程序中的问题总不是一件愉快的事,这一心理状态就成为测试自己程序的障碍。心理状态和思维定式是测试自己程序的两大障碍,应由别人或另外的机构来测试程序员编写的程序。另外,程序员对软件规格说明理解错误而引入的错误则更难发现。如果由别人来测试程序员编写的程序,可能会更客观、更有效,并更容易取得成功。要注意的是,这点不能与程序的调试(Debugging)互相混淆,调试由程序员自己来做可能更有效。

(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。合理的输入条件是指能验证程序正确的输入条件,而不合理的输入条件是指异常的、临界的、可能引起问题变异的输入条件。在测试程序时,人们常常倾向于过多地考虑合法的和期望的输入条件,以检查程序是否做了它应该做的事情,而忽视了不合法的和预想不到的输入条件。事实上,软件在投入运行以后,用户的使用往往不遵循事先的约定,使用了一些意外的输入,如用户软件工程案例教程 在键盘上按错了键或打入了非法的命令。如果开发的软件遇到这种情况时不能做出适当的反应,给出相应的信息,那么就容易产生故障,轻则给出错误的结果,重则导致软件失效。因此,软件系统处理非法命令的能力也必须在测试时受到检验。用不合理的输件测试程序时,往往比用合理的输入条件进行测试能发现更多的错误。

小结:经过一学期的软件工程的学习,深刻感到其重要性的同时也学到了不少的东西,将对我在今后的软件开发过程中起极大的作用。

第二篇:软件测试需求分析与定义方法

软件测试需求分析与定义方法

如何确定测试工作的范围?

对于一个存在生命周期的软件产品来说,它的开发和测试往往都不是一次性的,因为随着新的需求的出现,以及对原有版本的改进,新的版本会不断的发布(即使对于一些以客户定制方式运作的项目,在开发过程中以及发布后的维护期内,也会产生众多的内部版本)。随着版本的迭代,我们的测试工作也会一直继续下去。而在每一次迭代时,可能在整个工作阶段的开始就受到一些因素的影响,比如市场需求、既定的发布时间、并发的工作导致的资源紧张等等,使我们不得不考虑对软件质量要求的适度,最终使得我们在每个阶段的测试工作的要求或者说所涉及到的内容有可能是不同的。这种变化,最终将会影响到测试需求的确定。那么到底该如何确定每次迭代是测试工作的范围呢?在笔者的实践中,通常把测试工作范围的确定,等价的认为是软件需求的确定。

不过现在有一个很实际的问题是这样:软件需求在开发过程中不断发生变化,有时候到了后期还会有新的需求添加进来,还有些需求在交付内部测试版本之后又发现原来的需求本身就存在缺陷,之后再次返工,在软件最终发布之前,怎么可能确定的下来呢。啊,这些都是让我们的开发人员和测试人员极其头痛的事情。到底应该怎样在频繁变更的需求中确定哪些部分是我们在某个阶段要测试的内容呢?或者说通过什么样的方法可以改善我们上面提到的那些问题呢?一个实际的做法就是实现软件需求的版本化控制。(用软件需求的版本化控制来解决软件需求的频繁变更)既然说到了这里,就不免要说些题外话。笔者一直都认为软件需求是开发工作和测试工作在制定计划、开展工作时所共同参照的源头和依据,而我们只有在源头上控制好,才能保证下面工作的平稳开展。如果希望某个阶段工作的进度和内容可以明确的定义下来,就必须要考虑软件需求的版本化控制。这里所提到的“软件需求的版本化控制”,是指在一个软件产品的生命周期中,当要进行一个新版本的迭代时,要尽早的确定这个版本中将要实现的需求,并同上个版本做出比较,哪些内容是新增的,哪些内容是被调整过的。在该阶段工作开始之初的工作会议上,明确的向所有需要了解软件需求的涉众传达这部分信息。而如果在该版本的开发过程中不断的出现需求变更的情况,则应该根据市场策略、已公布的发布时间、客户需求、实现的代价、难易程度以及对现有工作的影响等方面,对需求进行适度划分,严格定义当前版本中需要实现的需求,而其他部分,则作为未来版本的软件需求进行考虑。如果有的朋友认为上面的内容还是太理论化,需要一个更实际的、可操作的方法。那么只能说,对于需求的变更,以及因为需求变更而引起的设计的变更,必须要早发现,早讨论,早决定,早调整。这可能更多的要依靠一个团队中相关负责人员的主动工作来保证,而不是依靠一个明确的方法。注意,这里的一个关键是,对于软件需求,同样需要严格按照版本进行管理,或者说使用“基线”进行管理。如何整理测试需求?一旦当前阶段测试工作的范围确定下来,我们就可以开始考虑测试需求的整理——也就是明确的定义现阶段要“测什么”。测试需求的确定将为我们制定进度时间表、分配资源以及如何确定某个阶段测试工作是否完成提供一个可供衡量的标准。当然,还有更重要的一点,已被确定的测试需求是我们进行测试用例设计和考虑测试覆盖的依据。整理测试需求的第一步,就是要“测试需求”。测试需求?对,不知道您是否想到,这里的“测试需求”中的“测试”是一个动词,指的是对软件需求本身的检查。

啊?这不是已经超出了测试工作的范围了吗?测试人员不是应该只关心软件的实现同需求是否相符吗?这样对测试人员要求未免太高了。——这是笔者过去同一些朋友谈到测试人员必须对需求进行检查时听到的一些不同的声音。在这里,首先要明确一个问题,就是软件测试的工作到底做什么?

在《软件测试》(Ron Patton〔美〕,中文版由机械工业出版社出版,这本书是测试新手入门的经典教材)一书的第10页,有一个明确而简洁的定义:软件测试员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。

瞧!这里说要“尽可能早”的“找到软件缺陷”。那这“尽可能早”要早到什么时候呢?

不知道大家对《软件工程》这本书还有什么印象。至少在笔者看过的多个不同版本的软件工程方面的书中,对于软件缺陷都会有一段类似的描述:缺陷发现的越早,则修复这个缺陷的代价就越小,在需求、设计、编码、测试、发布等不同的阶段,发现缺陷后修复的代价都会比在前一个阶段修复的代价提高10倍(参见下图)。这样看来,上面问题的答案自然就变成了“秃子头上的虱子”:从需求阶段开始!从“测试需求”开始!

注意,笔者这里的观点并不是说可以取消团队中的“需求评审会议”,这里并不存在冲突。笔者所希望讲述的,是测试人员应该如何看待软件需求,而并不是把“需求评审会议”所承担的责任揽到自己身上。?在论坛上也偶尔看到有的朋友问:如何测试需求呢?每次看到这样的提问,笔者内心就禁不住的一阵激动,因为一直以来,讨论这方面问题的朋友的确少之又少。

在笔者的实际工作中,对软件需求的检查包括两个方面的内容。

一是对软件需求正确性的检查,也就是要保证需求文档中所描述的内容是真实可靠的。在进行这部分工作时,不要迷信所谓的“都是用户提出的真实的需求”,因为我们必须考虑,提出这些需求的涉众,是否真的可以正确的描述自己的需求?我们的需求人员是否真的可以正确的理解用户的需求?有没有一些被用户认为在业务处理上是理所当然、极其平常的事情,而没有作为需求提出来?有没有一些被用户认为他们过去使用的软件已经提供了相应的功能,所以认为我们也应当提供,而没有提出来的?关于这个问题,也曾经有朋友提过不同的看法,认为这样对测试人员的要求太高了——既要熟悉需求人员的工作,又要熟悉软件所涉及的行业的业务。但笔者还是固执的认为,作为测试人员,还是需要对软件产品所涉及的行业的业务有一个全面的、深入的了解——当然,这不是对一个刚刚入门的测试者的要求,但是如果想称为一个优秀的测试者,是难免要付出这部分努力的。

二是要保证软件需求的可测试性。对于“可测试性”,笔者的概念是:对于一条软件需求或者一个需要实现的特性,必须存在一个可以明确预知的结果,并且可以通过设计一个可以重复的过程来对这个明确的结果进行验证。说的具体一点,就是要保证所有的需要实现的需求都是可以用某种方法来明确的判断是否符合需求文档中的描述。如果对于某条需求或某个特性,无法通过一个明确的方法来进行验证,或者无法预知它的结果,那么就意味着这条需求的描述存在缺陷,应该请需求人员对需求文档进行修改或补充——我们有理由相信,如果作为测试人员对需求无法产生准确的理解,那么开发人员也同样无法对同一条需求产生准确的理解。对于一条确定的软件需求理解的二义性,是在不规范的开发过程中导致返工的一个主要原因。如果认为有必要,那应该在“需求评审会议”上确认所有涉众对需求的理解是一致的。当然,对于如何提高软件需求的质量,在网络上或者已经出版的书刊中都已经有了很多更加具体、实用的方法,如果有兴趣,大家也可以找来参考。不过,如果您是一位测试者,那么上面这部分内容对您仍然是非常有用的。相信您只要在工作中进行尝试,慢慢的体会,一定会发现这种方法给您带来的好处。?现在当前的测试工作范围已经确定,相应版本的软件需求也通过了评审,我们就可以在这个已经确定的范围内进行测试需求的整理。我们手头上可以参考的东西,通常会有软件需求规约(以下简称SRS)和用例(以下简称UC)——当然,也可能是一份包含UC的SRS。通过对SRS和UC的阅读,我们可以从文档对特性和业务流程的描述中获得对软件所涉及的业务的一个基本的认识。比如用户在处理实际业务时都要作些什么,多个业务之间的先后顺序是怎样的,用户在处理业务是对于哪些地方有特别的要求,等等。这部分规则,将成为我们的测试需求中最基本的一部分。

至于测试需求的表现形式,笔者认为大家都可以根据自己的需要进行设计,而没有必要把思路限制在到底使用表格方式还是使用文本方式,只要把握一个原则就行了:在一条测试需求中,用容易理解的自然语言,明确的描述一项需要测试的内容。对于多项测试内容,应尽可能的剥离开来,保证一条测试需求只包含一项测试内容。

另外,大家也可能注意到了,在软件开发过程的这个阶段,通常是没有用户界面(以下简称UI)可供参考的——虽然RUP中对于需求阶段的工作描述包括了UI设计的部分,但很多时候在这个阶段还是无法提供一个确定的UI的——也就是说我们这时获得的测试需求,将是完全基于业务的,而并不包括基于UI的那部分规则,是同软件的最终具体实现相独立的。

随着开发工作的继续,开发部门的架构设计文档和详细设计文档也将陆续提交,这时候,我们可以根据设计文档来对已有的测试需求进行增补。注意,这里我们对于设计文档中提到的内容要有选择的采用,只有同SRS或UC中已经定义的部分相符的内容,才可以用来调整我们的测试需求。而同软件需求不相符的部分,则需要同设计人员和需求人员一起讨论,确定下以哪一方作为基准,决定是否需要调整软件需求,然后对测试需求进行相应的增补或者调整。比如对于一些算法,需要考虑设计文档中定义的,同系统实现相关的那些计算公式,是否同软件需求中描述的算法表达的是否是同一个意思?而对于一些约束或者业务规则,设计文档中描述的是否同需求中的相应部分一致?呵呵,看完上面这部分内容,恐怕又有一部分朋友晕倒在地了,而没有晕倒的那部分朋友也要提出异议:啊?!你这不是又包含了对开发人员所作的设计工作的检查吗?!刚刚让我们检查需求,现在又让我们检查设计,真的把我们当成全才了!没办法,为了让软件交到我们手上的时候只包含尽量少的缺陷,大家只能再辛苦一下了。我们的工作不应当仅仅限制在软件交付后尽力找到存在的缺陷,而更应该努力及早发现软件缺陷出现的苗头,尽量预防缺陷的出现。虽然并不是说在所有的团队中都应该由测试人员承担“测试需求”和“测试设计”的工作,但是测试人员对这些工作起到的作用,是其他团队中的其他角色所无法替代的。开发部门完成编码实现工作,提交供内部测试的应用程序时,测试人员手头上应该已经准备好了绝大部分测试用例和测试数据,测试部门将开始执行测试。通常在我们执行测试的过程中,即使我们已经从“通过测试”和“失败测试”两个不同的角度准备了非常充分的测试用例和测试数据,但总是有些缺陷的出现是出乎我们意料的,或者说是已有的测试需求和测试用例未能覆盖的。那么,对于这部分缺陷,也应当添加到测试需求中,并设计相应的测试用例,以便于下次版本迭代时进行参考。OK,相信说到这里,各位看客也应该可以理解我的观点了:对于一个长期发展的团队或者持续开发的产品,它的所有东西都是要不断积累的、不断迭代的。无论对于软件需求还是测试需求,不仅仅是在一个版本的开发过程中,在不同的阶段进行迭代,在产品的整个生命周期中的不同版本间,也是不断迭代和积累的。

第三篇:员工培训的需求分析重要性!

员工培训的需求分析重要性!

明阳天下拓展培训

所谓的培训需求分析是指在规划与设计每项培训活动之前,由培训部门、主管人员、工作人员等采取各种方法和技术,对各种组织及其成员的目标、知识、技能等方面进行系统的鉴别与分析,以确定是否需要培训及培训内容的一种活动或过程。培训需求分析是确定培训目标、设计培训规划的前提,也是进行培训评估的基础,因而它是搞好培训工作的关键。如何进行培训的需求分析,一般来说应从以下几个方面人手: 1.组织分析。

培训需求的组织分析主要是通过对组织的目标、资源、特质、环境等因素的分析,准确地找出组织存在的问题与问题产生的根源,以确定培训是否是解决这类问题的最有效的方法。一般而言,组织分析主要包括下列几个重要步骤:

(1)组织目标分析。明确、清晰的组织目标既对组织的发展起决定性作用,也对培训规划的设计与执行起决定性作用,组织目标决定培训目标。比如说,如果一个组织的目标是提高产品的质量,那么培训活动就必须与这一目标相一致。假若组织目标模糊不清时,培训规划的设计与执行就显得很困难。

(2)组织资源分析。如果没有确定可被利用的人力、物力和财力资源,就难以确立培训目标。组织资源分析包括对组织的金钱、时间、人力等资源的描述。组织所能提供的经费将影响培训的范围和深度。·时间。对组织而言,时间就是金钱,培训是需要相当的时间的,如果时间紧迫或安排不当,极有可能造成粗略的培训结果。·人力。对组织人力状况的了解非常重要,它是决定是否培训的关键因素。组织的人力状况包括:工作人员的数量、工作人员的年龄、工作人员对工作与单位的态度、工作人员的技能水平和知识水平、工作人员的工作绩效等。

(3)组织特质与环境分析。主要包括如下内容:

系统特质。指组织的输入、运作、输出、次级系统互动以及与外界环境间的交流特质,使管理者能够系统地面对组织,避免组织分析中以偏概全的缺失。

文化特质。指组织的软硬体设施、规章、制度、组织经营运作的方式、组织成员待人处事的特殊风格,使管理者能够深入了解组织,而非仅仅停留在表面。

资讯传播特质。指组织部门和成员收集、分析和传递信息的分工与运作,促使管理者了解组织信息传递和沟通的特性。对上述问题和特性的了解,将有助于管理者及培训部门全面真实地了解组织。2.工作分析。

工作分析的目的在于了解与绩效问题有关的工作的详细内容、标准,和达成工作所应具备的知识和技能。工作分析的结果也是将来设计和编制相关培训课程的重要资料来源。工作分析依据分析目的的不同可分为两种:

(1)一般工作分析。其内容为:工作简介-主要说明一项工作的性质与范围,使阅读者能很快建立一个较为正确的印象。其内容包括:工作名称、地点、单位、生效及取消日期、分析者、核准者等基本资料。工作清单-工作清单是将工作内容以工作单元为主体,并以条列方式组合而成,使阅读者能对工作内容一目了然。

(2)殊工作分析。特殊工作分析可分为下列数项:程序性工作分析。程序性工作就是具有固定的工作起点、一定顺序的工作步骤和固定的工作终点等特性。程序性工作分析主要强调工作者和器物间的互动关系。程序性工作分析就是通过详细记录工作单元的名称、特点、标准、应具的知识技能、安全及注意事项、完整操作程序等,为员工的培训和培训评估提供依据。·程式性工作分析。3.工作者分析。

工作者分析主要是通过分析工作人员个体现有状况与应有状况之间的差距,来确定谁需要和应该接受培训以及培训的内容。工作者分析的重点是评价工作人员实际工作绩效以及工作能力。其中包括下列数项:

(1)个人考核绩效记录。主要包括员工的工作能力、平时表现(请假、怠工、抱怨)、意外事件、参加培训的记录、离(调)职访谈记录等。

(2)员工的自我评量。自我评量是以员工的工作清单为基础,由员工针对每一单元的工作成就、相关知识和相关技能真实地进行自我评量。

(3)知识技能测验。已实际操作或笔试的方式测验工作人员真实的工作表现。

(4)员工态度评量。员工对工作的态度不仅影响其知识技能的学习和发挥,还影响与同事间的人际关系,影响与顾客或客户的关系,这些又直接影响其工作表现。因此,运用定向测验或态度量表,就可帮助了解员工的工作态度。4.培训需求的战略分析。

传统上,人们习惯于把培训需求分析集中在个体和组织需求的层次上,并以此作为设计培训规划的依据。一般说来,集中于个体与组织的需求,往往是对组织过去与现在的需求比较敏感。但是,当组织状况发生了重大变化时,那种集中于过去和现在的需求分析将会引起组织资源的无效应用。但现在这种状况已经发生了巨大的变化,培训需求的未来分析,即战略分析,已越来越受到人们的重视并被提到一个重要的战略位置之上。培训需求的战略分析,主要包括以下几个方面:(1)组织优先权的改变。引起组织优先权改变的因素是多种多样的,主要包括:

新技术的引进。如资料处理能力的提高使组织的结构、功能、性质等发生**性改造。

财政上的约束。由于面临财政紧缺问题,各种层级的组织都把它们的规划削减到前所未有的程度,或者干脆完全终止规划。

组织的撤销、分割或合并。随着外界环境的变化,原有组织承担的任务已经完成或根本不存在,这就需要撤销组织。分割或合并是指把一个单位分成几个单位或把几个单位合并成一个单位,工作重心发生转移。

各种临时性、突发性任务的出现。外界环境的变化,引起各种临时性、突发性任务的出现,需要建立新的组织,或改变原有的组织,以解决这些任务。

以上因素的变更,则要求培训部门在进行培训需求分析中不能仅仅考虑现在的需要和建立在过去倾向基础上的服务提供,它必须是前瞻性的。它必须决定未来的需要并为他们作准备,尽管这些需要同现在的需要可能完全不同。

(2)人事预测。由于组织的大部分预算是花在人事部门上,因此,人事预测是很重要的。人事预测主要包括需求预测和供给预测。需求预测主要是考察一个组织所需要的人员数量以及这些人员必须掌握的技能。对于稳定性组织而言,过去的倾向无疑是未来需求的指示灯,而对于经历巨大变革的组织来说,过去的倾向需要只有和其他预测技术结合起来才可确定未来的需求。供给预测不但要考察可能参加工作的人员的数量,而且要考察这些人员所具有的技能状况,以便为人员的雇佣、培训与再培训提供依据。在人事预测过程中,还应注意和发挥各方面专家的作用,并注意征求工作人员的意见,这样培训需求分析才切实可行,才可真实反映组织的未来发展状况。

(3)组织态度调查。在培训需求的战略分析中,收集全体工作人员对其工作、补偿金、救济金、同事等的态度和满意程度也是很有用处的。因为,对组织态度的调查能够帮助查出组织内最需要培训的领域;是否需要培训以外的方法;而且还能找出和确认那些阻碍改革和反对培训的领域。一般来说,了解工作人员对组织的态度及满意程度应立足于利益领域。例如,根据工作人员对组织满意程度的不同,就可以表明他们对组织的态度与看法。我收到的补偿金是可观的。我为之汇报的人设置了清晰的问题。在我的工作团体中有一种信任和开放意识。告诉别人为组织工作我感到很自豪。

通过调查,我们就可以清楚地知道并了解到:是否有人认为组织中的个人或团体缺乏技能?是否有人认为组织缺乏和谐的人际关系和管理技能?组织是否被认为观念复杂?组织和个人利益被认为是一致还是冲突?对这些问题的不同回答,将产生不同的培训与组织开发。如果是技术能力方面的问题,那么进行传统的培训是适宜的;如果是人际关系方面的原因,则需要进行管理培训;如果是观念认同的问题,就需要重新确定组织目标或作出解释;如果是工作人员与组织之间的一致性较差,就需要加强职业生涯的开发。总之,组织态度的分析对组织的培训与开发规划是非常重要的。

本文转自明阳天下拓展培训官网,转载请注明出处。

第四篇:需求分析在软件开发中的重要性

需求分析在软件开发中的重要性

摘要:

“需求分析”,就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。开发人员需要了解顾客的需求,然后体现在软件中。如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。只有真正理解顾客的需求,才能设计出顾客所需要的软件。

在过去很长一段时间,开发人员的认为需求分析是整个开发过程中最简单的一个环节。然后越来越多的开发人员认识到它才是整个开发过程中的核心部分。正所谓“磨刀不误砍柴工”。只有真正理解了顾客的需求,才能顺利开发出顾客真正需要的软件。如果一味追求进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。

关键字:需求分析,详细分析,开发过程,进度,开发人员。

一、绪论

随着计算机在日常工作中的普及,软件开发行业作为其必不可少的组成部分,被人们所认可。在我国,软件行业日渐成熟,小作坊式的开发形式,已经不能满足我国对于软件规范化、实用性的要求,软件开发流程化及各个职能部门工作的有效划分和正确协作,是现在软件行业面临的一个较大的问题。软件需求分析是软件开发的出发点,为设计起到指导性作用,所以需求分析在软件行业及开发流程中起着非常重要的作用。

“需求分析”,就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。开发人员需要了解顾客的需求,然后体现在软件中。如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。只有真正理解顾客的需求,才能设计出顾客所需要的软件。

在过去很长一段时间,开发人员的认为需求分析是整个开发过程中最简单的一个环节。然后越来越多的开发人员认识到它才是整个开发过程中的核心部分。正所谓“磨刀不误砍柴工”。只有真正理解了顾客的需求,才能顺利开发出顾客真正需要的软件。如果一味追求进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。

一、什么是软件需求分析

通俗地说,软件需求分析是解决做什么,怎么做的问题。告诉客户及开发人

员,需要实现哪些功能,以何种方式,在什么平台去进行操作,开发结束后,应交付哪些东西。

需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死.(这个问题是最典型也是最常见的,现在这个问题一般很好避免,都知道项目的一些敏感性的东西,例如想会有哪些地方设计的不好可能导致以后的使用出现BUG.)

二、需求分析的任务

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

这是需求分析的重点任务,也是最基本的任务。只有正确了解、理解顾客的要求,才能顺利完成需求分析。

(二)分析系统的数据要求

软件产品是指软件开发商根据市场需要开发的、具有一定适用性和潜在客户的、可销售的软件成品。它区别于应特定客户需求或根据订单开发的软件商品,通常应具有更高的通用性和适应性。但它的通用性和适应性不是轻而易举就能达到的。要实现软件的产品化,就必须在软件产品的设计上下一番功夫。

本文结合一个“多媒体远程教学系统”实例,探讨软件产品设计中的一些经验与看法。

三、需求分析的过程

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

就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.(二)、分析与综合逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).(三)、制订规格说明书

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

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

四、需求分析的方法

需求分析的方法有很多.这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(个人认为,对初学者不必深究这些方法,实际上我也从来没用过这些方法)在此不讨论.原型化方法是十分重要的(是软考等常考的知识点).原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能.原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷.建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等.如,为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型.以后的目标系统就在原型系统的基础上开发.原型主要有三种类型(软考考过):探索型,实验型,进化型.探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性.实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠.进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。

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

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

需求分析为软件的开发起到了决策的作用,提供了开发的方向,并指明了开发的策略,在软件开发及维护中均起到了举足轻重的作用。大家一定要足够重视需求分析,可以说在一个大型软件系统的开发中,它的作用要远远大于程序设计。永远别忘了:需求分析和程序设计不尽相同,合理、可行是才是重要的。跳出程序设计的圈子,站在系统的角度上来看问题,你的结论会截然不同。

第五篇:需求分析

需求性分析

(网络书店管理系统)

一、概述

随着网络通讯技术的发展,网上书店作为出版社一种全新的销售手段,越来越受到人们的关注。它打破了传统销售模式在时间、空间上的限制,采用了先进的销售手段和销售方法,大大提高了经济效益和资源利用率,使商务活动上了一个新台阶。它可以使顾客足不出户,就能通过网络选购商品,并由相应的网络经销商送货上门。本系统的好处就是不仅能让消费者可以方便地得到所需商品,而且还能有效的减少销售环节,从而最大限度地降低了商品的最终价格。本项目所用的操作系统是windows 7,开发系统是Visual Studio 2008,数据库采用SQL Sever 2005。

三、数据字典

编号名称类型说明

1书籍信息数据存储书籍信息=书名+作者+年代+编号+采编人员

2会员信息数据存储会员信息=姓名+性别+出生日期+住址+联系电话

3图书细目数据存储图书细目=编号+购买记录

下载需求分析与测试的重要性(精选5篇)word格式文档
下载需求分析与测试的重要性(精选5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    需求分析

    1、对投标人的要求 投标人必须认真阅读以下内容 ,以免造成投标失败。 1)投标人必须保证所提供的产品货真价实,所有产品均提交原始设备生产厂商证明。 2)设标人对招标人提出的需......

    硬件测试工程师-需求(最终定稿)

    岗位要求: 1、通信、自动化、电子等相关专业专科以上学历; 2、一年以上电子产品测试经验者优先,有电表行业工作经验的优先。 3、熟悉EMC/EMI有关的IEC标准、国家标准和环境试验......

    软件测试的重要性

    软件测试的重要性“在发布新产品之前做好测试,提高软件产品质量,减少漏洞,是预防遭受木马攻击的根本途径。” 北京康赛普特信息技术有限公司高级测试总监王亚智指出,零缺陷的软......

    图书馆管理系统需求与分析

    图书馆管理系统需求与分析报告 第一章 引言 1.1 编写目的 按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的图书管理系统。通过对一个实际问题......

    奶茶店顾客需求与分析

    奶茶店顾客需求与分析 1.调查问卷数据分析 1.1 在调查的39个人当中 男生19人,女生20人; 1.2 数据显示男女对于购买奶茶的频率大致相同,其中购买频率一周一次占28%,一天一次的频......

    电子行业需求分析与解决方案

    电子行业需求分析与解决方案 【ICXO.com编者按】从企业经营管理的角度出发,电子行业企业需要不断面对来自下面四个方面的挑战:1、竞争环境提出的挑战:速度;2、产品的品质要求:质......

    产品开发与顾客需求分析

    产品开发与顾客需求分析 The Analysis of Product Development and Consumer’s Requirements      【作者】 王向宾; 【导师】 赵树基; 分页下载 分章下载 整本下载 在线阅读......

    广播电视人才队伍状况与需求分析

    广播电视人才队伍状况与需求分析 国家广电总局发展研究中心 方德运 2007年06月21日08:32 来源:人民网-中华新闻报 人是广播电视生产力中最重要、最活跃的因素。人才资源是第一......