需求分析方法理论

需求分析方法理论
需求分析方法理论

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。

软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,我们设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。

一、软件需求分析理论

如果我们用数学方法来描述软件需求分析,可以将一个应用软件定义为S,可能应用软件涉及功能性问题非常广,我们用抽象化理论分析,可以划分为各个功能域,可以用D1、D2、… Dn表示,那么,我们可以用一个表达式描述为

S={D1,D2,D3,…Dn}

但是,功能域Di依然存在着有若干个问题P1、P2、P3、… Pm组成,并且每个功能对应于子系统中的一个软构件,我们可以表示为

Di={P1,P2,P3,…Pm}

同样,功能Pj有若干个行为F1、F2、F3、… Fk,每个行为对应于软构件中的实现方法

Pj={F1,F2,F3,…Fk}

一个软件包含了所有功能的集合,同时包含了实现所有功能的所有方法和算法描述。需求分析是依据于用户需求,经过需求问题识别,进行分析、消化与综合,制订规格说明,评审,分为四个阶段,形成用户需求与设计同步,设计满足用户需求目标。

需求分析方法始终贯穿着吸收、同化、贯彻方法和手段,用商业化行为解决需求与实现中存在的矛盾,解决用户需求与商业化产品融通,解决规范与个性化追求。

二、软件需求分析目标

软件需求分析的主要实现目标:

1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件

需求;

2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;

3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据;

需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。

软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。

2.1、软件功能需求

软件的功能需求是整个需求分析最主要、最关键和最复杂的部分,它描述软件的各种可能的条件下,对所有可能输入的数据信息,应完成那些具体功能,产生什么样的输出。描述软件功能需求是应注意下面几点:

1)功能需求的完整性和一致性

对功能的描述应包含与功能相关的信息,并应具有内在的一致性(即各种描述之间不矛盾、不冲突)。应注意以下几点:

(1)给出触发功能的各种条件(如:控制流、运行状态、运行模式等);

(2)定义各种可能性条件下的所有可能的输入(包括合法的输入空间和非法的输入空间);

(3)给出各种功能间可能的相互关系(如各个功能间的控制流、数据流、信息流,功能运行关系:顺序、重复、选择、并发、同步);

(4)给出功能性的主要级别(如:基本功能、可由设计者选择逐步实现的功能、可由设计者改变实现的功能等);

(5)尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说

明,落实负责人员、落实实施日期。

2)功能描述的无岔意性和可追踪性

需求功能描述的无岔意性、可追踪性和规范化:

(1)功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其

它地方描述一致;

(2)可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或

子功能)的执行是顺序,选择,重复,还是并发,然后说明步骤

逻辑。整个描述必须单入单出。

(3)描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。

(4)功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实

现这一外部功能必须做哪些事情(采用和种数据结构,定义多个

模块,接口间的接口等)是设计阶段的事情,功能描述不应涉及

到那些细节问题,以避免给软件设计带来不必要的约束。

2.2、软件与硬件或其他外部系统接口

软件与硬件或其它外部系统接口包括下述内容:

(1)人机接口:说明输入、输出的内容、屏幕安排、格式等要求;

(2)硬件接口:说明端口号,指令集,输入输出信号的内容与数据类型,初始化信号源,传输通道号和信号处理方式。

(3)软件接口:说明软件的名称、助记符、规格说明、版本号和来源;

(4)通讯接口:指定通讯接口和通讯协议等描述。

2.3、软件的非功能性需求

软件非功能性需求是指软件性能指标,容限等功能以外的需求。一般指下述内容:

(1)时间需求:输入、输出频率,输入、输出响应时间,各种功能恢复时间等;

(2)处理容限、精度、采样参数的分辨率,误差处理等;

(3)可靠性的MTBF要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。)2.4、软件反向需求

软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。

2.5、软件设计和实现上的限制

软件设计和实现上的限制主要指对软件设计者的限制。如软件运行环境的限制(选择计算机类型,使用配置,操作系统的限制等)、设计工具的限制(使用语言、执行的标准)和保密要求等。

2.6、阅读支持信息

这部分内容是为了更好的帮助我们理解用户需求,也是为了使需求便于修改和追踪。其本身并不是对需求的描述,但它影响到需求分析的可读性,也属于需求分析的一个重要部分。一般目录、需求背景信息、内容索引、交叉引用表、注释等均属于这个部分的内容。

三、软件需求分析人员组织

软件需求分析其根本性问题是理解用户功能需求,由此软件需求分析实际上是与客户间交流过程完成的目标。要求我们组织适当的参与人员进行交流活动。

需求分析是一个综合团队的工作,是在需求分析理论的指导下,对用户需要进行渐进方式逐步深化;通过不断变化方式形成具体约束;努力实现需求功能目标形成特色效果的商业化产品。需求分析是一个商业行为,完全是一个商业化操作,要求有商业、技术等结合的团队共同合作,解决需求和设计的同步,设计符合需求。

项目涉及内容,项目大小都需要我们考虑参加软件需求分析工作团退的人数,配置合理的参与人员。一般我们必须有商务活动人员,项目管理人员,设计技术人员等参加,而且要求组织人员必须明确负责范围,以及明确工作目标,保证实施的有效性。

四、软件需求分析方法

为了保证项目的正常实施,并且能够顺利的完成,我们必须加强项目管理和重视项目分析工作。我们只有从实际出发,切切实实地把握用户需求,把握用户需求目标,把握用户将来功能界定,保证我们开发工作正确性方向。

4.1、重点监控软件需求分析办法

由于软件项目的特殊性和行业覆盖的广阔性,以及需求分析的高风险性,软件需求分析的重要性是不言而喻的,同时需求分析又的的确确难做。其原因基本是由于以下情况造成的。

4.1.1、客户说不清楚需求

有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多部门、机构、单位在进行应用系统以及网络建设时,客户方的办公人员大多不清楚计算机网络有什么用,更缺乏IT系统建设方面的专家和知识。此时,

用户就会要求软件系统分析人员替他们设想需求。工程的需求存在一定的主观性,为项目未来建设埋下了潜在的风险。

4.1.2、需求自身经常变动

根据以往的历史经验,随着客户方对信息化建设的认识和自己业务水平的提高,他们会在不同的阶段和时期对项目的需求提出新的要求和需求变更。事实上,历史上没有一个软件的需求改动少于三次的!所以必须接受“需求会变动”这个事实,在进行需求分析时要懂得防患于未然,尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求,以便在进行系统设计时,将软件的核心建筑在稳定的需求上,同时留出变更空间。咨询监理方在需求分析的功能界定上担任一个中间、公平、公正的角色,所以也必须积极参与到需求分析的准备中来,以便协助客户方和承建方来界定“做什么”、“不做什么”的系统功能界限。

4.1.3、分析人员或客户理解有误

软件系统分析人员不可能都是全才,更不可能是行业方面的专家。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致以后的开发工作劳而无功。记得一则笑话,有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是汽车。它们喝汽油,靠四个轮子滚动前进,嗓门极大,双眼在夜里能射出强光……有趣的是,车里住着一种叫作‘人’的寄生虫,这些寄生虫完全控制了车。”所以分析人员知识的专一性也会造成需求分析的误解和失败。这时,咨询监理公司就必须根据实际的项目需求调研计划,提醒承建方加强业务了解程度和注重沟通技巧。

4.2、有效性软件需求分析三步法

根据以往的工程经验,需求分析工作方法,应该定位在“三个阶段”(也称“三步法”)。

4.2.1、“访谈式Visitation”阶段

这一阶段是和具体用户方的领导层、业务层人员的访谈式沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体情况、客观的信息。建立起良好的沟通渠道和方式。针对具体的职能部门以及各委办局,最好能指定本次项目的接口人。

实现手段:访谈、调查表格

输出成果:调查报告、业务流程报告

4.2.2、“诱导式Inducement”阶段

这一阶段是在承建方已经了解了具体用户方的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体实际、客观的信息基础上,结合现有的硬件、软件实现方案,做出简单的用户流程页面,同时结合以往的项目经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性。用户可以操作简单演示的DEMO,来感受一下整个业务流程的设计合理性、准确性等等问题,及时地提出改进意见和方法。

实现手段:拜访(诱导)、原型演示

输出成果:调研分析报告、原型反馈报告、业务流程报告

4.2.3、“确认式Afirm”阶段

这一阶段是在上述两个阶段成果的基础上,进行具体的流程细化、数据项的确认阶段,这个阶段承建方必须提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。用户方可以通过审查业务流程报告、数据项表以及操作承建方提供的DEMO系统,来提出反馈意见,并对已经可接受的报告、文档签字确认。

实现手段:拜访(回顾、确认),提交业务流程报告、数据项表;原型演示系统

输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归入需求分析报告中,提交用户方、监理方进行确认和存档)整体来讲,需求分析的三个阶段是需求调研中不可忽视一个重要的部分,三个阶段或者说三步法的实施和采用,对用户和承建方都同样提供了项目成功的保证。当然在系统建设的过程中,特别在采用迭代法的开发模式时,需求分析的工作需一直进行下去,而在后期的需求改进中,工作则基本集中在后两个阶段中。

五、软件需求分析工具

我们根据用户需求,通过反复讨论、分析,最终明确一个唯一性的用户需求,这个结果其实就是我们的软件需求分析报告。一般我们采用Word、PowerPoint、Visio、ProntPage、Excel等Office工具,同时可能采用一些开发工具,如VC 或BC等,同样也会使用一些图形工具,如Potoshop、调色板等画图工具。

使用各种工具表达软件需求分析,其具体表达手段可以分为:

●效果图描述。主要是用户UI界面的描述反映用户需求功能;

●逻辑图描述。根据用户需求功能,使用抽象化理论,以及需求分析理论,

对用户需求功能进行全面的分析,建立功能性逻辑关系图,流程逻辑关

系图等;

●关系图表描述。主要是对信息关系、数据库表格、接口函数等描述;

●工程数学描述。分析用户需求,分析用户需求信息,运用工程数学进行

算法推导,进行合理化需求分析推导;

●甘地图描述。主要是软件项目工作安排,开发周期预估;

●其它方法描述。保证完整性合理性的有效描述。

六、软件需求分析评估

软件需求分析评估是为了检查我们进行软件需求分析工作,保证软件需求分析工作正确性、完整性、有效性、合理性、可确认性、可实施性,完全保证用户所需求的功能。

6.1、组织结构与责任管理

我们对组织结构与责任管理的评估主要有:参与人员任务和责任界面的明确;安排计划按时完成状况;相互间的协调能力状况。

6.2、满足用户需求的功能

我们进行需求分析的目的是完整、准确地描述用户的需求,跟踪用户需求的变化,将用户的需求准确地反映到系统的分析和设计中,并使系统的分析、设计和用户的需求保持一致。

需求分析的特点是需求的完整性、一致性和可追溯性。完整性:是准确、全面的描述用户的需求。一致性:是通过分析整理,剔除用户需求矛盾的方面,规范用户需求。可追溯性:有两个方面的含义,整理和规范的需求,其一,需要不断的和用户进一步交流,保持和用户最新的需求一致。其二,和系统分析(设计)保持一致。

因此在需求分析之前我们必须建立需求分析技术层面的基本框架,从技术上保证需求分析的要求,在此基础上我们进行的需求分析才能满足项目对需求分析的要求。

6.3、保证可实施性

我们必须以用户软件需求为依据,以求实的态度详细的、准确的、完整的编写软件需求分析,避免空想世界,空中楼阁的想法;避免无逻辑性、无核心的描述;避免无量化思维,无实际空间概念。

6.4、需求分析评价指标

主要有这么几个指标:功能性、完整性、正确性、逻辑性、表现性、合理性,可实施性等。

6.5、工作周期

评价人员投入,以及费用支出的合理性问题。正确制定工作周期,保证软件项目的顺利完成。

6.6、需求不确定更改与可确认保证

可确认需求功能是实现用户需求的基本保证,如果不可确认的、不确定更改存在,将会阻碍软件实现,或者软件设计存在着不完整性缺陷,或者存在着不可实施性问题,我们必须区分是功能性障碍问题,还是未来性问题。如果不能够明确是未来性问题,则必须调整功能需求,化解不确定更改的问题。因此,判断不确定性更改是一个非常重要的问题

-需求分析方法论

需求分析方法论 原则上,需求分析阶段IT中心应尊重需求方的项目管理和项目分析能力;在具体的任务开展上,以不干扰需求方的自主权为主,除非在项目过程中发现需求方的项目管理以及项目分析能力存在很大的差距和不足。 为了保证项目的成功,IT中心必须加强项目管理和项目分析工作,在具体的操作上可以坚持吸收、同化、贯彻的方法和手段。 其中,需求分析是一个项目的开端,也是项目建设的基石。在以往的信息化建设失败的案例中,80%是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用应用管理软件。作为IT中心,必须提醒需求方重视需求分析的重要性,采用必要的手段和方法来进行需求调研,同时IT 中心也应深入具体的需求调研中去。只有这样才能切切实实地把握用户的需求和方向,才能在将来的功能界定、实施上有发言权。 一、如何进行需求分析 需求分析不象侦探推理那样需从蛛丝马迹着手,而是应该先了解宏观的问题,再了解细节的问题。 一个应用软件系统(记为S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。 S={D1,D2,D3,…Dn} 问题域Di由若干个问题(记为P)组成,每个问题对应于子系统中的一个软构件。 Di={P1,P2,P3,…Pm} 问题Pj有若干个行为(或功能,记为F),每个行为对应于软构件中的实现接口。 Pj={F1,F2,F3,…Fk} 需求说明书应该对于那些只想了解宏观需求的领导,和需要了解细节的技术人员都合适。在写需求说明书时应该注意两个问题: 1、最好为每个需求注释“为什么”,这样可让双方(IT中心、需求方)了解需求的本质,以便选用最合适的技术来实现此需求。 2、需求说明不可有二义性,更不能前后相矛盾。如果有二义性或前后相矛盾,则要重新分析此需求。 二、重点监控需求分析 由于项目的特殊性和行业覆盖的广阔性,以及需求分析的高风险性,软件需求分析的重要性是不言而喻的,同时需求分析又的的确确难做。其原因基本是由于以下情况造成的。 1、用户说不清楚需求 有些用户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如总部各部门及各地的很多店铺在进行应用系统以及网络建设时,需求方的办公人员大多缺乏IT系统建设方面的专家和知识。此时,用户就会要求IT中心系统分析人员替他们设想需求。项目的需求存在一定的主观性,为项目未来建设埋下了潜在的风险。 2、需求自身经常变动 根据以往的历史经验,随着用户对信息化建设的认识和自己业务水平的提高,他们会在不同的阶段和时期对项目的需求提出新的要求和需求变更。事实上,历史上没有一个软件的需求改动少于三次的!所以必须接受“需求会变动”这个事实,在进行需求分析时要懂得防患于未然,尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求,以便在系统选型及实施时,将软件的核心建筑在稳定的需求上,同时留出变更空间。IT中心在需求分析的功能界定上担任一个中间、公平、公正的角色,所以也必须积极参与到需求分析的准备中来,以便协助需求方来界定“做什么”、“不做什么”的系统功能界限。 3、IT中心分析人员或用户理解有误 系统分析人员不可能都是全才,更不可能是行业方面的专家。用户表达的需求,不同的分析人员可能

领域分析

软件复用和构件技术 软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功。领域工程是软件复用的关键,即可复用软件资产(包括体系结构和构件等)的生产阶段,主要包括领域分析、领域设计和领域实现这三个活动。领域分析是对特定的领域进行需求工程的活动。它覆盖了对领域需求的获取、分析,规约和检验/验证的整个过程。 现有的一些领域需求分析方法如FODA、RSEB、FeatuRSEB等基本都是以特征作为需求空间内的一阶实体,通过对特征的分析建立领域模型。 近几年来,面对日益复杂的软件系统,人们开始认识到,要真正实现软件的工业化生产方式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现实可行的途径。 软件复用可以避免重复劳动,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验。基于构件的复用是产品复用的主要形式,同时构件技术也是成功的软件复用的关键。软件复用相关研究目前主要关注于商用第三方构件(COTS: Commercial off-the-shelf)以及特定领域的复用式开发。 软件复用可分为产品复用和过程复用两种途径。产品复用,即复用已有的软件构件,通过构件集成(组装)得到新系统,是目前现实可行的主流途径。构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。 随着对软件复用理解的深入,构件的概念已不再局限于源代码级构件,而是延伸到系统和软件的需求规约、构架、文档、测试等对开发活动的有用的信息。高抽象层次构件的复用更为重要和更有价值,它所带来的收益将明显大于低抽象层次构件的复用。代码构件的复用仅仅是软件复用的初级阶段。 软件构件技术是支持软件复用的核心技术。主要研究内容包括:构件获取、构件模型、构件描述语言、构件的分类与检索、构件的复合组装、标准化等方面。基于构件的复用中,构件的获取、管理和组装是三个重要的环节,而其中构件的获取是最基本的前提。 领域工程 领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。这是由于特定领域本身的相对内聚性和稳定性所决定的。内聚性保证了领域有足够的共性:而稳定性保证了

培训需求分析的方法和工具

培训需求分析的方法和工具 培训需求分析是企业培训的出发点,也是最重要的一步工作。如果需求分析不准确,就会让接下来的培训偏离轨道,做无用功,浪费企业的人力、物力和财力,却收不到应有的效果。企业要进行有效的需求分析,就必须采取合适方法和工具,本文全面介绍了通常情况下培训需求分析使用的方法以及对应的工具。 一、需求分析的方法和工具 1.1 调研问卷法 调研问卷法是最普遍也最有效的收集资料和数据的方法之一。一般由培训部门设计一系列培训需求相关问题,以书面问卷的形式发放给培训对象,待培训对象填写之后再收回进行分析,获取培训需求的信息和数据。 调研问卷法进行培训需求分析,可以遵循以下五个步骤,见表1: 在设计调研问卷的问题时,应该注意下几个问题: 1、问题尽量简短,并注意使用简单的、固定用法的术语,避免使用读者不了解或者容易引起歧义的名词; 2、一个问题只涉及一件事,避免“结构复杂”的问句; 3、题目设计要简单,不要使作答者作计算或逻辑推理; 4、避免出现诱导答案的问题,保证作答者完全陈述自己观点。

备注:填表时在对应的内容下面用“√”标明。 1.2 访谈法 访谈法也是数据收集的一种重要方法。它是指为了得到培训需求的数据和信息,与访谈对象进行面对面交流的活动过程。这个过程不只是收集硬性数据,比如事实、数据等,包括印象、观点、判断等信息。 访谈法可以遵循以下几个步骤进行,见表3:

1.3现场取样法 现场取样法一般较多使用于服务性行业的培训需求调查(如饭店、卖场等),是通过选取培训对象现场实际工作的部分片段进行分析,以确定培训需求的一种分析方法。现场取样法主要包括两种形式:拍摄和取样。 拍摄是指在培训对象的工作环境中安装监控录影机、摄像机等拍摄设备,对培训对象的现场工作过程进行实际拍摄,事后通过录影带进行观察分析,得出培训需求结论。表5为拍摄样板的示例。

什么是方案需求分析

什么是项目需求分析? 需求分析是指理解用户需求,就功能与客户达成一致,估计和评估项目代价,最终形成开发计划的一个复杂过程。(这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工程师和要负责整理用户需求,为之后的设计打下基础。需求分析阶段结束后,要求得到:1.SRS文档(System Requirement Specification); 2.DRM 文档;3.Acceptance Plan. 从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。 狭义上理解:需求分析指需求的分析、定义过程。 一、为什么要需求分析 需求分析就是分析用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的,而你在开发前期

忽略了的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死. 需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型系统的开发中,他的作用要远远大于程序设计. 二、需求分析的任务 简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求. 三、需求分析的过程 需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审. 问题识别:就是从系统角度来理解,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(运行是所需的内存,CPU等),消耗与开发进度需求,预先估计以后系统可能达到的目标. 分析与综合:逐步细化所有的功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型).

需求分析:需求调研的七种方法

需求分析:需求调研的七种方法要想给人做管理软件,首要的事情自然是把人家现在的业务内容、管理方式弄清楚。即使你是这个领域的业务专家,也要明白一点,无论业务内容是否相同,管理方式一定是不同的,业务可以复制,技术可以复制,管理不能复制。例如,要给仓库做管理系统,需要先了解这个仓库是怎么管理的,怎么出库,怎么入库,怎么盘点,怎么核算;需要给采购部做管理系统,需要先了解采购部是怎么运作的,怎么制定采购计划,怎么下采购单,怎么签订采购合同,等等。 开发信息管理系统,首当其冲的需求来源就是如何将现在的手工业务电子化,没有这一步,说什么资源整合,说什么提高效率,说什么降低成本,说什么智能决策,都是浮云。对于管理软件来说,需求获取重点在如何理解客户业务,这是需求获取阶段最重要,也是最困难的事情,当然,对于需求分析者来说,理解业务与需求获取往往是交错进行的,很难割裂开来。 需求获取一般包括这几种方式:观察法、体验法、单据分析法、报表分析法、问卷调查法、访谈法、需求调研会法。这是需求调研的“七种武器”,它们各有优缺点,无论你想要了解的是什么需求,都需要将这些方式组合应用,针对你想要了解的内容,以及需要了解的对象的工作特点,采用不同的方式。学会并坚持使用这七种武器后,我想你很快就会成为需求调研的真正高手。 观察法 观察法,就是你自己跑到工作现场,看!这个看上去相当简单,貌似走马观花,有些不在行的兄弟会弄得跟公费旅游一般,车间里走走散散心,撩撩HR妹子,就认为是观察法调研了,其实不然。这种方法,关键是要看人家是怎么工作的,拿了什么,干了什么,用了什么工具,送出去什么,什么时候填写了什么单据,制作了什么报表,等等。 体验法 体验法,就是你自己亲自到相关部门去顶岗,做一段时间的业务工作,有了亲身体验自然更容易理解这个岗位的工作。这种方法,最大的优点就是理解业务比较深刻。一旦你几乎成了某岗位的一员后,想想,还有什么比自己帮自己做软件更能够把握需求呢?要给超市收银员写个软件,先到超市卖几天东西,要给仓库做软件,先到仓库发两天货,你的软件偏离用户需求的可能性会大幅度降低。

需求分析、概要设计、详细设计的标准格式.doc

需求分析,概要设计,详细设计的标准格式 一、开发计划 (一)引言 1、目的 说明编制开发计划的目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)概述 1、工作内容 2、主要参加人员 3、成果 列出要提交给用户的程序文件、文档或服务的名称,及非移交 成果的名称。 4、完成的最迟期限 (三)实施计划 1、任务的分解及人员分工 列出各项任务及其负责人和主要参加人员。 2、进度 列出各任务的开始日期和完成日期。 3、关键问题 列出影响整个开发项目的关键问题,技术难度、风险及处理方 案。 (四)支持条件 1、计算机系统支持 2、需要由用户承担 二、需求分析说明书 (一)引言 1、目的 说明编制需求分析说明书的目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)概述 1、目标 说明本项软件开发意图、应用目标、作用范围等,以及所开发的软件与其它软件的关系。

2、用户特点 列出使用本软件的用户类型、特点、其教育程度和技术特长。 3、约束和假定 列出本软件开发工作的假定和约束。 (三)需求规定 1、对功能的规定 根据功能模型逐项说明本软件各项功能的详细需求。 列出完成各项功能所需输入,处理,输出及所需控制等。 2、对性能的规定 包括精度、时间特性要求、灵活性。 3、数据要求 数据分为静态数据和动态数据两类。 静态数据是指在程序运行过程中一般不改变的数据; 动态数据是指在运行中发生变化、需要输入输出的数据。 (1)数据描述 (2)数据采集 (3)输入输出要求 (4)其它要求 (四)运行环境规定 (1)硬件 包括处理机、网络、输入输出设备及其它设备。 (2)软件 列出支持软件。 (3)接口 包括必要的硬件接口、软件接口、通讯接口等。 (五)关于不可能实现的用户要求的说明 三、概要设计说明书 (一)引言 1、目的 说明编制概要设计说明书目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)总体设计 1、需求规定 简述本系统的主要功能、性能等要求。 详见需求分析说明书。 2、运行环境 简述本系统的运行环境规定。 详见需求分析说明书。

软件需求分析重点-

软件需求分析重点 第1 章软件需求基础知识 返工的成本占了总开发成本的30%-50%,而对于返工的情况,70%-80%是国需求错误引起的。(11) 在对所有讨论问题有了更深入的了解之前不要急于回答。不能充分理解需求,就会作出过于乐观的估计,最终不可避免地陷入超支的泥潭。(13-14)造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确以及地需求的分析不透彻等。给出估算结果时,应该提供范围(最好的情况,最可能的情况和最糟的情况)或把握程度(“我有九成把握在三个月内完成”)。(14) 从产品的实际用户处收集需求这一过程是不可替代的。(18) 第2 章客户眼中的需求 某些需求问题源于混淆了不同层次的需求(业务需求、用户需求和功能需求)。(19) 要想开发出优秀的软件产品,必须以优质需求为基础精心制定计划。(20)不要指望项目涉众天生知道如何合作进行需求开发。必须花时间讨论如何最有效地进行协作。(22) 需求审阅是最有价值的保证软件质量的活动之一。(25) 需求批准过程的所有参与者都应该明白签字意味着什么,否则会出现很多问题。(25) 不可能在项目初期就能明确所有的需求,需求肯定要随时间的推移而发生变化。(26) 第3 章需求工程的推荐方法 熟练的需求分析员应具备以下特点:耐心,思维条理性强,有良好的交际和沟通能力,理解产品应用领域,并且掌握丰富的需求工作技术。(29)为每类用户选择代言人(31)

观察用户工作的过程(31) 跨项目重用需求(32) 过早地以尚不明确的需求为基础进行开销和进度评估是非常不可靠的。(37)38图表 不要期望可以线性地、顺序地完成获取、分析、编写规格说明和验证这些需求开发活动。(38) 第4 章需求分析员 相比缺乏经验的需求分析员,使用经验丰富的需求分析员能使项目所需求的工作量减少三分之一。(42) 优秀的需求分析员应同时具备出色的交流、引导和人际交待能力,具备技术和业务领域的丰富知识,以及适合这项工作的相应个性。耐心和真诚的合作愿望是关键的成功因素。(44) 需求分析员必须研究可能出错的情形。(44) 第5 章确定产品前景与项目范围 第6 章获取客户的需求 能否让开发人员更准确地了解用户需求,将决定软件需求工作能否取得成功,进而影响到软件开发的成功。(62) 项目伊始就应确定谁来担任问题的决策人。(72) 第7 章聆听客户的需求 需求开发工作的成果就是项目涉众之间就被处理的需求达成共识。(75) 需求获取的参与者在理解问题之前要抵制住诱惑,不要急于设计系统。 要强调用户任务,而不是用户界面,要强调根本需要,而不是用户表达出来的期望,这样有助于项目团队避免过早是制定设计的细节。 在软件开发中,需求获取也许是最困难、最关键、最容易出错和最需要沟通的一个环节。(76)

软件需求分析方法

需求分析方法 一需求分析概括 需求分析应该先了解宏观的问题,再了解细节的问题。 一个应用软件系统(记为S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。 S={D1,D2,D,…Dn} 问题域Di由若干问题(记为P)组成,每个问题对应于子系统中的一个软构件。 Di={P1,P2,P3,…Pn} 问题Pi有若干个行为(或功能,记为F),每个行为对应于软构件中的实现接口。 Pj={F1,F2,F3,…Fk} 需求说明书应该对于那些只想了解宏观需求的领导和需要了解细节的技术员都合适。在写需求说明书时,应该注意两个问题: 1.最好为每个需求注释“为什么”,这样可以让程序员了解需求的本质,以便选用最合适 的技术来实现此需求 2.需求说明不能有”二义性”,更不能前后矛盾。如果有二义性或前后矛盾,即要重新分 析此需求。 二需求分析方法论 第一阶段:“访谈式”

第一阶段是和具体用户方的领导层、业务层人员的访谈沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体情况、客观的信息。 建立起良好的沟通渠道和方式。针对具体的职能部门以及各委办局,最好能指定本次项目的接口人。 实现手段:访谈、调查表格 输出成果:调查报告、业务流程报告 第二阶段:“诱导式” 结合第一阶段的基本信息,做出简单的用户流程页面,同时结合以往的项目经验对用户采用诱导式,启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、习惯性。用户可以操作简单演示的DEMO,感受整个业务流程的设计合理性、准确性等等问题,以及提出改进意见和方法。 实现手段:诱导(拜访)、原型演示 输出成果:调研分析报告、原型反馈报告、业务流程报告 第三阶段:“确认式” 此阶段在上述两个阶段成果的基础上,进行具体的流程细化、数据项的确认阶段。这个阶段承建方必须提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。通过审查,提出反馈意见,并对已经可接受的报告、文档签字确认。 实现手段:拜访(回顾、确认),提交业务流程报告、数据项表;原型演示系统 输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归到需求分析报告中)

需求—需求分析的任务和步骤

2010-09-05 需求—需求分析的任务和步骤(转) 文章分类:软件开发管理 需求分析的任务和步骤 任务:1. 通过对问题及其环境的理解,分析和综合,建立分析模型。 2.在完全弄清用户对软件系统的确切需要的基础上,用“软件需求规格说明书(SRS)”把用户的需求表达出来。 分析模型包含问题及其环境所涉及的信息流,处理功能,用户界面,行为模型及设计约束等。 需求说明应该具备准确性,一致性,清楚性,没有二义性,直观,易读和易于修改。为此应尽量采用标准的图像,表格和简单的符号来表示,使不熟悉电脑的用户也能一目了然。 步骤:1.需求获取:从分析当前系统包含的数据开始,系统需求包括用户对软件功能的需求和界面的需求。 2.需求提炼:分析建模:图像化的分析模型包括数据流图,实体关系图,控制流图,状态转换图,用例图,类对象关系及其行为图等。除系统模型外,更有系统关联图,创建用户接口原型,确定需求优先级别等。 3.需求描述:编写SRS:统一格式的文档--模板 4.需求验证:改善需求中的二义性,不一致的问题。 常规的需求获取方法: 1.建立联合分析小组:由用户业务人员,系统分析员和领域专家组成。 2.客户访谈:进一步确定需求。这个过程需要系统分析员有充分的准备和良好的交流能力。 3.问题分析和确认:去掉错误的,无关的部分,整理有用的内容,以便给用户确认,并在次访谈,如此循环2-5次。 快速原型法:步骤: 1.利用各种分析技术和方法,生成一个简化的需求规格说明。 2.对需求规格说明进行必要的检查和修改后,确定原型的软件结构,用户界面和数据结构等。 3.在现有的工具和环境的帮助下快速生成可运行的软件原型并进行测试,改进。 4.将原型提交给用户评估并征求用户的修改意见。 5.重复上述过程,直到原型得到用户的认可。 3.3 分析建模 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明。

需求分析方法主要步骤

1.1主要步骤 遵循科学的需求分析步骤可以使需求分析工作更高效。需求分析的一般步骤如图2-3所示。 需求涉及的方面有很多。 在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。 在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。 在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。 在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。 1.1.1获取需求,识别问题 开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。 此外,在需求的获取时,还要明确用户对系统的安全性、可移植性和容错能力等其他要求。比如,多长时间需要对系统做一次备份,系统对运行的操作系统平台有何要求,发生错误后重启系统允许的最长时间是多少等。

遗漏需求是最难修订的需求错误。 --RobertL.Glass 获取需求是需求分析的基础。为了能有效地获取需求,开发人员应该采取科学的需求获取方法。在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。 问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。采用这种方法时,调查问卷的设计很重要。一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。 开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述自己的真实想法。但是,对开放式问题进行汇总和分析的工作会比较复杂。 封闭式问题的答案是预先设定的,用户从若干答案中进行选择。封闭式问题便于对问卷信息进行归纳与整理,但是会限制用户的思维。 访谈通过开发人员与特定的用户代表进行座谈,进而了解到用户的意见,是最直接的需求获取方法。为了使访谈有效,在进行访谈之前,开发人员要首先确定访谈的目的,进而准备一个问题列表,预先准备好希望通过访谈解决的问题。在访谈的过程中,开发人员要注意态度诚恳,并保持虚心求教的姿态,同时还要对重点问题进行深入的讨论。由于被访谈的用户身份可能多种多样,开发人员要根据用户的身份特点,进行提问,给予启发。当然,进行详细的记录也是访谈过程中必不可少的工作。访谈完成后,开发人员要对访谈的收获进行总结,澄清已解决的和有待进一步解决的问题。 关注用户的行为而不是他们的言语。

需求分析报告编写规范

需求分析报告编写规范 文件编号: NW503101 生效日期: 2000.3.20 受控编号: 密级:秘密版次:Ver2.1 修改状态:总页数16 正文 4 附录12 编制:杨利审核:袁淮批准:孟莉

沈阳东大阿尔派软件股份有限公司(版权所有,翻版必究)

文件修改控制

目录 1. 目的 2. 适用范围 3. 术语及缩略语 4. 编写规范 4.1排版规范 4.2模板使用 5. 引用文件 5.1NW503102《软件功能规格说明书编写规范》 6. 附录

1.目的 为使需求分析的结果能够完整、无遗漏地反映待开发系统的要求,本文件规定《需求分析报告》的编写格式和内容要求。 2.适用范围 适用于本公司软件产品或软件项目的需求分析报告的编制。 3.术语及缩略语 本程序采用NQ402100《质量手册》中的术语和缩略语及其定义。 4.编写规范 4.1排版规范 1)整个规范由2节构成,模板单独一节。 2)正文样式采用“规范正文”。 3)标题编号采用每节独立编号。 4.2模板使用 需求分析报告的编写可依据具体情况选用摸板的格式或编写指南的格式。 1)拷贝规范。 2)删除第一节(需求分析报告封面前的所有页)。 3)在修改完内容后,更新目录域和相关的页数域。 5.引用文件 5.1NW503102《软件功能规格说明书编写规范》 6.附录 以下部分为需求分析报告的模板与编写指南。

密级:机密 文档编号:第版分册名称:第册/共册 项目名称(项目编号) 需求分析报告 (部门名称) 沈阳东大阿尔派软件股份有限公司 总页数正文附录生效日期:年月日编制:审核:批准:

用户需求分析报告(范本)

用户需求分析报告(范本) 需求分析报告 引言 当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。 抽象出当前系统的逻辑模型。在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。在物理模型中有许多物理因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的困素,去掉那些非本质的困素即可获得反映系统本质的逻辑模型。任务概述 随着信息时代的到来,图书的信息化管理使得问题得以解决,图书馆管理系统的出现就显得水到渠成了。 本系统主要上可以分为两大模块:图书馆管理员模块和读者登录模块,并在这两大模块下分成多个子模块。图书的使用对象是借阅者,例如学生,教师。 因此根据这些信息,本系统的主要功能就是:实现图书馆图书信息的管理和维护,图书浏览、查询等。 数据描述 系统功能结构 学生用户端:查询图书,学生用户可以进行简单的查询和高级查询,预约图书,当要借的的书不在馆时,可以提前预约。挂失图书,图书丢失要挂失,可以在学生用户端实现。 管理员端:学生用户管理,实现学生用户信息的修改,删减,添加,查询。图书管理,包括对图书的增加,删减,查询等。管理员管理:操作者包括超级管理员和普通管理员,超级管理员可以对普通管理员进行删减,查询等操作,而普通管理员只有修改自己密码的权限。借阅管理:主要是学生借阅管理,归还图书和缴纳罚款的管理。

软件需求分析方法

欢迎阅读 软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。 1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整?性,促 使用户在软件设计启动之前周密地、全面地思考软件需求; 2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;

3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据; 需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。 软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。2.1、????? 软件功能需求 1 不 (5)??? 尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。 2)功能描述的无岔意性和可追踪性 需求功能描述的无岔意性、可追踪性和规范化: (1)??? 功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其它地方描述一致;

(2)??? 可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择, 重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。 (3)??? 描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。 (4)??? 功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采 2.2、 2.3、 (2)??? 处理容限、精度、采样参数的分辨率,误差处理等; (3)??? 可靠性的MTBF要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。) 2.4、????? 软件反向需求 软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。

如何进行软件需求分析

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。 软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,我们设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。 一、软件需求分析理论 如果我们用数学方法来描述软件需求分析,可以将一个应用软件定义为S,可能应用软件涉及功能性问题非常广,我们用抽象化理论分析,可以划分为各个功能域,可以用D1、D2、… Dn表示,那么,我们可以用一个表达式描述为S={D1,D2,D3,…Dn} 但是,功能域Di依然存在着有若干个问题P1、P2、P3、… Pm组成,并且每个功能对应于子系统中的一个软构件,我们可以表示为 Di={P1,P2,P3,…Pm} 同样,功能Pj有若干个行为F1、F2、F3、… Fk,每个行为对应于软构件中的实现方法 Pj={F1,F2,F3,…Fk} 一个软件包含了所有功能的集合,同时包含了实现所有功能的所有方法和算法描述。需求分析是依据于用户需求,经过需求问题识别,进行分析、消化与综合,制订规格说明,评审,分为四个阶段,形成用户需求与设计同步,设计满足用户需求目标。 需求分析方法始终贯穿着吸收、同化、贯彻方法和手段,用商业化行为解决需求与实现中存在的矛盾,解决用户需求与商业化产品融通,解决规范与个性化追求。 二、软件需求分析目标 软件需求分析的主要实现目标: 1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需

需求分析习题及答案

第三章需求分析 一. 填空题 1.需求分析的步骤, , , 。 2.需求分析阶段需编写的文档有,,。 3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。 4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。 5.对于计算机程序处理的数据,其数据域应包括, , 和数据结构。 6.数据内容即是。 7.把一个功能分解成几个子功能,并确定, 就属于横向分解。 8.软件需求的逻辑视图给出, 而不是实现的细节。 9. 功能一般用, 来表示。 10.结构化分析方法是, 进行需求分析的方法. 11.描述结构化分析方法的工具有,,,判定表,判定树。 12. SA方法中自顶向下的分析策略主要是和。 13.数据流图的基本组成部分有,,,。 14.数据流图的特性,,,。 15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。 16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。 17.需求分析阶段研究的对象是软件项目的。 18.数据流图的基本符号包括,,,。19.在需求分析阶段常用的图形工具有,,。20.需求分析应交付的主要文档是。 二. 选择题 1. 需求分析中开发人员要从用户那里了解() A.软件做什么B.用户使用界面C.输入的信息D.软件的规模 2. 需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能 3. 需求分析阶段最重要的技术文档之一是非曲直()。 A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告

用户需求分析的方法和启示

用户需求分析的方法和启示 来源:tomsinsight,专注于中国互联网的深度数据分析洞察 互联网的红利烧红了一个新的职业:产品经理。一夜间,人人都是产品经理。边装低姿态,变暗示自己产品领域倍专业,居功至伟。很多成名大佬喜欢说:“其实,我是一名产品经理”,不论之前是写博客的还是说相声的。名头可以随便起,但是作为一个产品经理的核心功力:用户需求分析,就没有那么容易忽悠了。 让我们从一个故事说起: 从前有一个国王,国王有个极其娇惯、任性、无比作的公主,这个国王又无比的宠爱这个公主:不管这个公主有什么愿望,国王一定满足。终于有一天,公主说:“父王,我要月亮!”,于是国王叫来一个臣仆,说把月亮给我女儿给摘来,不然我就杀了你,臣仆欲哭无泪,最终被国王杀害,接着叫来另一个臣仆,也无奈之愤愤而终。在公主的哭闹下,臣仆一个个死去,终于轮到了一个聪明的,他接到任务后,来到公主前谦卑的问:“亲爱的公主啊,请告诉愚昧的臣仆,月亮是什么啊?”公主不耐烦的说:“月亮是什么你都不知道!月亮就是用金子做的,如手指盖般大小,弯弯的,晚上就会挂在我窗前的树枝上啊,白天不知道被谁偷走了。”此臣仆暗喜,照此炮制,逃过一劫。 这个故事从我们TOMsInsight团队的老板口中听到,讲完此故事后,老板叹了口气,说:“需求啊,需求,也许上帝都不知道人类的需求是什么。”当然老板就是老板,多少都会有一些深沉(zhuang B)属性,但是此故事却让我们分析师团队很受启发。

互联网发展至今,当用户至上一次次的被提起;当以产品、用户为中心,打造极致成为口号;当大学落榜生都由于自己装过几百个app而就自以为是合格的产品经理;当大量互联网从业人员都由于自以为发现了用户需求上的空白几乎而觉得要不是自己有房贷那创业了肯定是一个互联网巨头;再加上不懂技术只能围绕产品概念说事的互联网科技媒体助拳,一时间好像只有产品经理在改变世界。 当这些浮躁的情绪在整个行业里绵延的时候,我们又能不能沉下心来,真正的去深入用户需求分析呢。今天TOMsInsight的主题是:那些用户需求分析背后隐藏的门槛。 用户需求分析技能门派之分 用户需求分析的方法技能大概可以分成两个门派,或者说两个不同的风格: 一种是注重意识形态分析,喜欢的是:用户心理、人性利用、用户体验、交互体验、群体效应、用户调研、深度用户理解、用户行为模拟、再加上一些炒作的概念、等等。出于后文描述方便,我们可以把这一类叫做:软派。 另一种是注重数据建模和分析,喜欢的是:数据、用数据说话、数据建模、结构化数据构建、用户数据细分、用数据profiling用户、大数据分析、数据模拟运营、小流量测试、等等。同样出于后文描述方便,我们可以把这一类叫做:硬派。 为什么用户需求分析会变成这两种门派呢:

软件需求分析习题大全

软件需求分析习题大全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

习题集 一、单项选择题 1、需求分析最终结果是产生()。 A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C 2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。 A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构 答案:A 3、需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B 4、需求规格说明书的作用不应包括()。 A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 答案:D 5、下面关于面向对象方法中消息的叙述,不正确的是()。 A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B 6、面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 答案:A 7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、 制定规格说明以及()。 A.总结 B.实践性报告 C.需求分析评审 D.以上答案都不正确 答案:C 8、软件需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能 答案:B 9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B ) A 有效性、效率、灵活性、互操作性 B 可维护性、可移植性、可重用性、可测试性 C 完整性、可靠性、健壮性、可用性 D 容错性、易用性、简洁性、正确性

需求分析标准文档要求

软件需求文档格式的标准写法 1.引言 Internet的蓬勃发展,使新闻传播方式发生了巨大的变化,传统的信息传播媒体电视、管波、报纸已经不再是人们茶余饭后的主要精神甜点,人们开始更多的关注网络新闻。由于互联网所容纳的信息量大,内容丰富,信息及时、准确,更有相关信息的全面介绍与比较,大大地方便了人们的阅读,因此在短短几年里,互联网便跻身于众多媒体之间,并具有相当一部分媒体人群。借此东风,新闻网也迅速发展起来,它内容丰富,涉及商业、工业、农业、银行、财政、教育、娱乐和信息等各个产业,信息量大,不仅有时事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特性。在全球网络化、信息化的今天新闻网迅速的发展,大大丰富了人们的生活,不知不觉,它已成为人们生活中不可或缺的重要组成部分。1.1 编写目的 传统的信息发布方式已经不适应这个快速变化的信息时代,需要一个更高效,更简洁的方式进行信息发布。内容管理系统正是基于这样一个目的而诞生的,它是企业信息化建设和电子政务的新宠。它的基本思想是分离信息内容和表现形式,内容存储在数据库或独立的文件中,而表现形式存储在模版里。当用户请求页面时,各部分联合生成一个标准的HTML页面;当信息修改时,用户只需在一个可视化的界面对信息内容进行修改。大大缩短了信息的更新时间,提高了效率,并且简化了操作。 1.2 项目背景

·标识待开发软件产品的名称、代码; ·列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户; ·说明该软件产品与其他有关软件产品的相互关系。 https://www.360docs.net/doc/9e692404.html,平台,MVC本设计采用基于UML用例驱动对象建模的ICONIX项目管理方法,应用MVC 三层设计模式,实现一个可以完成新闻栏目和新闻信息的添加、修改、删除以及新闻查看功能的新闻发布系统。 1.3 术语说明 列出本文档中所用到的专门术语的定义和英文缩写词的原文。 1.4 参考资料(可有可无) 列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合

软件需求分析之业务领域分析

软件需求分析之业务领域分析 在需求分析工作中,最后一项分析工作就是业务领域分析啦。业务领域分析,就是对 需求分析中涉及到的业务实体,以及它们相互之间关联关系的分析。前面我们谈到了功能 角色分析,或者说用例分析,它是从整体的角度对整个系统人机交互的分析与整理。随后 我们谈到了业务流程分析,它是在对系统人机交互的分析与整理的基础上,更加细致的去 分析和整理那些业务流程,以及组成这些流程的一个个业务操作。业务流程分析是对系统 进行的一种动态的分析,分析的是那些行为,那些操作。但是,所有的行为,所有的操作,最终施与的对象都是那些实体。这句话怎么理解呢?比如,我们执行填写操作,施与的对 象必然是那些表单,最终产生的结果必然是形成一份完整的表单,表单就是那个行为施与 的对象。再比如,我们执行查询操作,施与的对象必然是一个报表,最终产生的结果必然 是查看到了这个报表的结果。这里的表单、报表,都是存在于系统的静态实体,它们中的 大多数也最终以数据结构的形式持久化保存于系统的数据库中。因此,系统中应当有哪些 实体,这些实体都有哪些属性,被赋予了哪些行为,它们之间的相互关系是怎样的,就成 为了业务领域分析的重要内容,而业务领域分析也就成为了对系统进行的一种静态分析。 我们的软件系统,毫不夸张地说,就是对现实世界的真实模拟。现实世界中的事物, 在软件世界中就被模拟成一个对象。该事物在现实世界中赋予什么职责,在软件世界中就 赋予什么职责;在现实世界中拥有什么特性,在软件世界中就拥有什么属性;在现实世界 中拥有什么行为,在软件世界中就拥有什么函数;在现实世界中与哪些事物存在怎样的关系,在软件世界中就应当与它们发生怎样的关联。这正是面向对象编程的核心思想。 我们进行业务领域分析,就是基于这样一个思想进行的。什么叫业务领域,就是客户 所在的知识领域,譬如财务人员所在的是财务领域,税务人员所在的是税务领域,营销人 员所在的是销售领域。不同的知识领域拥有各自不同的领域知识,需求分析人员就应该通 过客户中的领域专家去学习这些知识、掌握这些要点,并最终体现在我们的需求分析中。 然而,这必然是一个长期的过程。从这个角度说,业务领域分析不仅出现在需求分析阶段,还应当贯穿与设计阶段、开发阶段、测试阶段,甚至延续到后期的维护与升级。从另一个 角度讲,现在的软件研发概念,已经不再是一锤子的买卖,而是延续到数年的不断升级完 善中了。而软件的升级完善,从本质上说就是对业务领域不断深入的认识。我们对业务领 域的认识深入一点儿,我们的软件系统就完善一分,再深入一点儿,就再完善一分。这就 是世界级软件分析大师Eric Evans提出的领域驱动设计的核心思想。 因此,我们进行业务领域分析,就是通过与用户进行交流,掌握领域知识,然后绘制 成业务领域模型,去指导我们软件开发的过程。日后我们去设计开发系统时,应当设计哪 些类,类中都应当有什么属性和行为,以及怎样去设计数据库,都是以这个领域模型为基 础的,虽然有时并不完全与领域模型完全一致。过去,没有一个切实可行的方法来指导我 们的业务领域分析,而现在,我们可以通过两种分析方法一步步进行:原文分析法与领域 驱动设计。随后,我们将就这两种方式进行详细分析。

相关文档
最新文档