软件系统需求分析策划方案

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

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

A.软件需求分析人员组织

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

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

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

B.具体开展需求分析工作,建议采用以下步骤形成软件需求:确定项目目标及范围→获取用户需求→分析用户需求→编写需求文档→评审需求文档→管理需求。

第一步:明确需要分析的工作目标,同时确定调研对象,最好能指定本次项目的接口人。

明确软件需求分析的主要实现目标包括如下内容:

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

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

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

第二步:获取用户需求。这是该阶段的一个最重要的任务。对用户进行访谈和调研。交流的方式可以是会议、电话、电子邮件、小组讨论、模拟演示等不同形式。具体说来可分为三个阶段:

1.“访谈”阶段

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

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

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

2.“诱导”阶段

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

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

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

3.“确认”阶段

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

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

输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归入需求分析报告中,提交用户方、监理方进行确认和存档)

整体来讲,需求分析的三个阶段是需求调研中不可忽视一个重要的部分,三个阶段或者说三步法的实施和采用,对用户和承建方都同样提供了项目成功的保证。当然在系统建设的过程中,特别在采用迭代法的开发模式时,需求分析的工作需一直进行下去,而在后期的需求改进中,工作则基本集中在后两个阶段中。

第三步:分析用户需求。

需求分析人员对收集到的用户需求做进一步的分析和整理。下面是几条常见的准则:

1.对于用户提出的每个需求都要知道“为什么”,并判断用户提出的需求是否有充足的理由;

2.将那种以“如何实现”的表述方式转换为“实现什么”的方式,因为需求分析阶段关注的目标是“做什么”,而不是“怎么做”;

3.分析由用户需求衍生出的隐含需求,并识别用户没有明确提出来的隐含需求(有可能是实现用户需求的前提条件),这一点往往容易忽略掉,经常因为对隐含需求考虑得不够充分而引起需求变更。

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

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

1.软件的功能需求。

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

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

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

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

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

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

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

(5)尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。

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

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

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

(2)可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择,重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。

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

(4) 功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采用和种数据结构,定义多个模块,接口间的接口等)是设计阶段的事情,功能描述不应涉及到那些细节问题,以避免给软件设计带来不必要的约束。

2.软件与硬件或其他外部系统接口。

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

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

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

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

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

3.软件的非功能性要求。

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

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

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

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

4.软件反向需求

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

5.软件设计和实现上的限制

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

6.阅读支持信息

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

再看软件需求分析常用工具

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

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

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

    2.逻辑图描述。根据用户需求功能,使用抽象化理论,以及需求分析理论,对用户需求功能进行全面的分析,建立功能性逻辑关系图,流程逻辑关系图等;

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

     4.工程数学描述。分析用户需求,分析用户需求信息,运用工程数学进行算法推导,进行合理化需求分析推导;

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

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

第四步:编写需求文档。

根据我们多年的经验总结,针对特定项目我们的需求文档都有固定模板,经过前面的需求调研、需求分析过程所得到的结果,基本上按照用户组织结构、功能模块分布情况,经过文档格式、内容的整合与优化,即可形成我们需求调研分析的成果文件“需求规格说明书”,其将做为我们下一步系统开发的主要输入文件之一。

第五步:评审需求文档。

软件需求分析评审是为了检查我们进行软件需求分析工作,保证软件需求分析工作正确性、完整性、有效性、合理性、可确认性、可实施性,完全保证用户所需求的功能,评审内容的主要载体就是“需求规格说明书”。

     1.组织结构与责任管理

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

     2.满足用户需求的功能

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

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

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

      3.保证可实施性

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

      4.需求分析评价指标

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

      5.工作周期

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

      6.需求不确定更改与可确认保证

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

 

第六步:管理需求-将存在于项目的整个生命周期内。

需求管理就是IT项目中的范围管理,需求管理是整个IT项目的源头,IT项目的估算,计划,后续的跟踪控制,验证和确认等各项工作都是跟需求密切相关的。因此为了保证项目的进度,质量和成本的目标的顺利实现,保证项目计划的严肃性和可执行性;为了保证软件系统最终开发的产品正是客户期望的产品,必须要做好需求管理工作。

需求管理工作应该是需求全生命周期的管理,从用户原始需求的提出,到最终形成软件产品后用户对需求实现情况的验证以形成闭环流程。因此我们需要跟踪和了解到需求状态的演变过程。大型的项目软件生命周期模型较为复杂,一个需求的实现会经过用户需求,软件需求,总体设计,详细设计,开发和单元测试,集成测试,系统测试和验收测试多个环节,在这个过程中需要建立需求追踪以确认需求和中间阶段产生的工作产品的一致性。另外变更管理是需求管理的另外一个重点,需求在经过评审确认后需要基线并受到控制,当出现需求变更的时候必须进行相应的需求影响分析以确认对需求变更的处理方式,当变更工作量影响较大的时候还需要调整并重新基线项目计划。

对于整个需求调研,分析和需求开发,评审确认的过程也需要进行管理。在这个过程中的一个重点就是对需求输出的文档需要得到用户,项目组设计开发人员的共同确认和承诺。

参考文献:

http://www.cnblogs.com/luluping/archive/2009/06/18/1505754.html

http://www.leadge.com/news_list/89030.html#postcomment

http://www.cnblogs.com/neozhu/archive/2009/03/06/1404713.html

时间: 2024-10-13 11:22:22

软件系统需求分析策划方案的相关文章

公关活动策划方案怎么做?

当今,许多公司.企业为了更好的开展,都会进行公关策划,由于公关策划能带来非常复杂的年会的效果.然则在进行策划之前要请专业的公关策划公司来写一个详细.具体的策划方案,这样才使年会起到塑造品牌等效果.公关策策划可以分为4步.1.需求分析年会的主题以及方向都要根据所要达到的效果去发展,是营销还是塑造品牌?等等,根据需求去确定年会或者活动主题,这样才能达到需要的结果2.诉求要点这儿说的诉求重点是确定主题之后以主题为中心去策划活动方针,这样才能达到主题与内容达成一致的效果,更能突出主题,3.活动转化详细地

如何做好网站策划方案

互联网现在日益普及,已经跟我们的生活密不可分,直观的说,现在计算机已经通过互联网通过有线无线的方式融入到我们的生活:现在也有很多做实业的人群看好互联网的发展趋势,进而想要参与进来,但是应该如何构思与策划才能做好这一块呢? 现在先来跟大家分享一些与互联网相关的基础概念: 1.  什么是域名:域名,其实我们还有一个别称,大家都是经常接触到的,叫做网址或者是URL,例如:www.baidu.com.www.npower2010.com.weixin.npower2010-oa.com等等:域名也有一级

《下厨房》软件系统需求分析报告(第三版)

<下厨房>软件系统 需求分析报告 项目名称         <下厨房> 所属课程          软件工程 项目组长           张军洪 项目成员    袁成杰.胡  俊.梅 庆 唐正奎.蒋利平.秦 超 2017 年 12 月 目录   一.需求规格说明------------------------------------------.2 1.1.项目开发背景---------------------------------------2 1.2.开发目标-------

如何避免活动策划方案被骗稿—嘉御文化

如果是像嘉御文化这样专业的策划公司是不会出现这样问题的,这是因为公司的运做流程和对客户的流程就避免了这一现象发生,下面让我们嘉御文化告诉你们经验: 在生活中,我们总会遇到之事,在工作中,我们总会遇到问题并要解决问题.但是都要笑着面对,用吐槽的方式来发泄,善待自己. 在活动策划人眼里,甲方总能让你爱恨交织乐极生悲,最终还要笑着原谅.心里的滋味只有自己知道,道不出,言不尽.与甲方的恩怨情仇都能拍成一部史诗级续集大 片. 说到这里,却不得不提与甲方的那些悲伤故事,曾经单纯无瑕.年少无知的我们经过与甲方

如何制定出一篇优质的活动策划方案?

一.目标+策划当设计一份合格的方案时,首先要考虑各类因素以及要求,同时这不是一个简单的工作,要结合的因素非常的广泛.在设计方案时还得先明确目标,有了这个目标才能根据这个想法去制定. 二.构思有了明确的目标方向,那么就是构想如何去制定,如果能够完善这个策划,这个就需要策划人员的想象力,但是基本上很少有人能够这样,可能就是最传统以及模板式的套用更改之类,这样其实对于企业来说,这个活动意义很小.其次盲目跟随一些优秀策划方案走,并不是所有的东西都适合于每个人,优秀的策划方案是针对某个企业以及其他所设定的

活动策划方案具体流程

活动策划是是需要对一个活动的整体思路进行体现与展示,但具体的流程方案怎么样可以参考一下几点. 1.活动的基本内容活动的基本步骤包括了时间.地点.目的都是可以确定的因素,活动的目的其确实就是为了将情况进行更加深入,增强企业的知名度,树立企业的形象,维持好在合作伙伴关系. 2.活动策划分析活动进行的时候都需要进行分析才能制定策划,因为活动钟会出现各种情况的发生,就不能避免问题出现,因此要结合各种可能,做出各类的解决方案,这样才能使活动顺利进行,前提这一切需要有经验的人才能完善好. 3.活动流程介绍活

微信营销活动策划方案怎么写

营销活动方案怎么做,是许多企业都关心的问题.微信运营中的活动策划的重要性不言而喻,既可提高粉丝活跃度.又可以借活动提升营销转化率,通过搜集到的用户信息得以进一步针对性服务和营销.透过活动与用户高频次互动,加深用户对品牌的认知和了解,强化品牌忠诚度.小编认为,微信营销活动方案策划应该从以下方向着手: 一.用户体验至上 在做营销活动设计时目的尽可能的明确而且单一,很多人喜欢在一个营销活动中融入多个营销目的.而每个目的都会增加用户的操作,最后用户反而觉得体验不好难度太大而放弃参与. 比如看到一个抽奖活

20190820软件系统需求分析

基于微信小程序的食堂订餐送餐系统的需求分析 1.文档说明 1.1编制目的 希望通过此文档来初步介绍这一微信小程序,并借此使得用户能够更加了解其大概功能和使用方法. 1.2适用范围 此文档只适用于基于微信小程序的食堂订餐送餐等功能的介绍与使用. 1.3前提与约束 我们假设使用我们这一产品的用户已经了解到现在线上点餐等基本功能. 2.系统概述 2.1用户特点 此小程序的用户类型主要分为两类,主要是食堂工作人员和学生.面对学生大数量的点餐送餐,软件需要及时更新发布数据,对于数据的快速响应和准确性有很大

O2O在线教育平台策划方案

一.情景需求痛点: 学生: 1.除了上课上课,就是作业作业,学习太枯燥不好玩怎么办?——我就是想要玩玩玩! 2.第二天要交作业,老师不在,在家作业不懂怎么办?——我想要随身老师! 3.噢耶,周末不用上学,但是同学不在,一个人好无聊怎么办?——我想要同学随时陪我玩! 家长: 1.一个学期就只有两次考试,每次考试成绩都不是很好,到底一直以来哪里没有学好?——我想要知道孩子学习情况的一点一滴! 2.孩子成长期总是有很多问题,我该怎么更好的教育?——我想要得到专业老师的指点! 3.学校的教学质量一般,好