软件需求分析的20条法则

软件需求分析的20条法则
软件需求分析的20条法则

软件需求分析的20条法则

对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。

经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。”

分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。”

经理觉得奇怪:“我不是刚告诉你我的需求了吗?”

分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。”

经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?”

分析员尽量解释从用户处收集需求的合理性:“如果我们只是凭空猜想用户的要求,结果不会令人满意。我们只是软件开发人员,而不是采购专家、营运专家或是财务专家,我们并不真正明白您这个企业内部运营需要做些什么。我曾经尝试过,未真正明白这些问题就开始编码,结果没有人对产品满意。”

经理坚持道:“行了,行了,我们没有那么多的时间。让我来告诉您我们的需求。实际上我也很忙。请马上开始开发,并随时将你们的进展情况告诉我。”

风险躲在需求的迷雾之后

以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。这里所指的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满意。若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。因此可见——需求分析奠定了软件工程和项目管理的基础。

拨开需求分析的迷雾

像这样的对话经常出现在软件开发的过程中。客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。那么,我们就拨开雾影,分析一下需求的具体内容:

·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。

·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。

·非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。

前面提到的客户项目经理通常阐明产品的高层次概念和主要业务内容,为后继工作建立了一个指导性的框架。其他任何说明都应遵循“业务需求”的规定,然而“业务需求”并不能为开发人员提供开发所需的许多细节说明。

下一层次需求——用户需求,必须从使用产品的用户处收集。因此,这些用户构成了另一种软件客户,他们清楚要使用该产品完成什么任务和一些非功能性的特性需求。例如:程序的易用性、健壮性和可靠性,而这些特性将会使用户很好地接受具有该特点的软件产品。

经理层有时试图代替实际用户说话,但通常他们无法准确说明“用户需求”。用户需求来自产品的真正使用者,必须让实际用户参与到收集需求的过程中。如果不这样做,产品很可能会因缺乏足够的信息而遗留不少隐患。

在实际需求分析过程中,以上两种客户可能都觉得没有时间与需求分析人员讨论,有时客户还希望分析人员无须讨论和编写需求说明就能说出用户的需求。除非遇到的需求极为简单;否则不能这样做。如果您的组织希望软件成功,那么必须要花上数天时间来消除需求中模糊不清的地方和一些使开发者感到困惑的方面。

优秀的软件产品建立在优秀的需求基础之上,而优秀的需求源于客户与开发人员之间有效的交流和合作。只有双方参与者都明白自己需要什么、成功的合作需要什么时,才能建立起一种良好的合作关系。

由于项目的压力与日俱增,所有项目风险承担者有着一个共同目标,那就是大家都想开发出一个既能实现商业价值又能满足用户要求,还能使开发者感到满足的优秀软件产品。

客户的需求观

客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。

1、分析人员要使用符合客户语言习惯的表达

需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。

2、分析人员要了解客户的业务及目标

只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。如果是切换新系统,那么开发和分析人员应使用一下目前的旧系统,有利于他们明白目前系统是怎样工作的,其流程情况以及可供改进之处。s

3、分析人员必须编写软件需求报告

分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。报告应以一种客户认为易于翻阅和理解的方式组织编写。客户要评审此报告,以确保报告内容准确完整地表达其需求。一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。

4、要求得到需求工作结果的解释说明

分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。

5、开发人员要尊重客户的意见

如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。

6、开发人员要对需求及产品实施提出建议和解决方案

通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。

7、描述产品使用特性

客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。

8、允许重用已有的软件组件

需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。

9、要求对变更的代价提供真实可靠的评估

有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。开发人员不能由于不想实施变更而随意夸大评估成本。

10、获得满足客户功能和质量要求的系统

每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”

所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。

11、给分析人员讲解您的业务

分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。

12、抽出时间清楚地说明并完善需求

客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。

13、准确而详细地说明需求

编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。

在需求分析中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。

14、及时作出决定

分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。有权作出决定的客户必须积极地对待这

一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。

15、尊重开发人员的需求可行性及成本评估

所有的软件功能都有其成本。客户所希望的某些产品特性可能在技术上行不通,或者实现它要付出极高的代价,而某些需求试图达到在操作环境中不可能达到的性能,或试图得到一些根本得不到的数据。开发人员会对此作出负面的评价,客户应该尊重他们的意见。

16、划分需求的优先级

绝大多数项目没有足够的时间或资源实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求优先级,因为开发者不可能按照客户的观点决定需求优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。

在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。

17、评审需求文档和原型

客户评审需求文档,是给分析人员带来反馈信息的一个机会。如果客户认为编写的“需求分析报告”不够准确,就有必要尽早告知分析人员并为改进提供建议。

更好的办法是先为产品开发一个原型。这样客户就能提供更有价值的反馈信息给开发人员,使他们更好地理解您的需求;原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。

18、需求变更要立即联系

不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返

工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。所以,一旦客户发现需要变更需求时,请立即通知分析人员。

19、遵照开发小组处理需求变更的过程

为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后做出合适的决策,以确定应将哪些变更引入项目中。

20、尊重开发人员采用的需求分析过程

软件开发中最具挑战性的莫过于收集需求并确定其正确性,分析人员采用的方法有其合理性。也许客户认为收集需求的过程不太划算,但请相信花在需求开发上的时间是非常有价值的;如果您理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。

“需求确认”意味着什么

在“需求分析报告”上签字确认,通常被认为是客户同意需求分析的标志行为,然而实际操作中,客户往往把“签字”看作是毫无意义的事情。“他们要我在需求文档的最后一行下面签名,于是我就签了,否则这些开发人员不开始编码。”

这种态度将带来麻烦,譬如客户想更改需求或对产品不满时就会说:“不错,我是在需求分析报告上签了字,但我并没有时间去读完所有的内容,我是相信你们的,是你们非让我签字的。”

同样问题也会发生在仅把“签字确认”看作是完成任务的分析人员身上,一旦有需求变更出现,他便指着“需求分析报告”说:“您已经在需求上签字了,所以这些就是我们所开发的,如果您想要别的什么,您应早些告诉我们。”

这两种态度都是不对的。因为不可能在项目的早期就了解所有的需求,而且毫无疑问地需求将会出现变更,在“需求分析报告”上签字确认是终止需求分析过程的正确方法,所以我们必须明白签字意味着什么。

对“需求分析报告”的签名是建立在一个需求协议的基线上,因此我们对签名应该这样理解:“我同意这份需求文档表述了我们对项目软件需求的了解,进一步的变更可在此基线上通过项目定义的变更过程来进行。我知道变更可能会使我们重新协商成本、资源和项目阶段任务等事宜。”对需求分析达成一定的共识会使双方易于忍受将来的摩擦,这些摩擦来源于项目的改进和需求的误差或市场和业务的新要求等。

需求确认将迷雾拨散,显现需求的真面目,给初步的需求开发工作画上了双方都明确的句号,并有助于形成一个持续良好的客户与开发人员的关系,为项目的成功奠定了坚实的基础。

软件工程需求分析报告模版

目录 1 引言 1.1编写目的 (1) 1.2 项目背景 (1) 1.3术语说明 (1) 1.4 参考资料 (1) 2 项目概述 2.1编写目的 (1) 2.2 项目背景 (2) 2.3 术语说明 (2) 2.4 参考资料 (2) 2.5 条件和限制 (3) 3 功能需求 3.1功能划分 (3) 3.2功能描述 (3) 4 外部接口需求 4.1功能划分 (3) 4.2功能描述 (4) 5 性能需求 5.1 数据精确性 (4) 5.2 时间特性 (4) 5.3 适应性 (4) 6 软件属性需求 6.1 正确性 (4) 6.2 可靠性 (4)

6.3 效率 (5) 6.4 完整性 (5) 6.5 易使用性 (5) 6.6 可维护性 (5) 6.7 可测试性 (5) 6.8 可复用性 (5) 6.9 安全性 (5) 6.10 可理解性 (5) 6.11 可移植性 (5) 6.12 互联性 (5) 7 其他需求 (5) 8 数据描述 (5) 8.1静态数据 (6) 8.2动态数据 (6) 8.3数据库描述 (6) 8.4数据字典 (6) 8.5数据采集 (6) 9 附录 (6)

1引言 1.1编写目的 学生管理系统是面向学生的,目的是提高学校对学生的管理。本系统主要包括六个模块:学生的基本信息、课程的基本信息、登录、成绩录入、成绩查询和汇总功能,这六个模块基本实现设计本系统的目的,从而可以进一步满足学校对管理系统的要求。 现在的学生管理系统功能不够,所以我们要明确用户对学生管理系统的功能和性能的需求,并将这些需求用语言编写出来。并使系统开发者和学生对此成绩管理系统有共同的理解和认识。这是开发学生管理信息系统的基础,为了更好的开发,对系统的设计要详细。开发的系统要简单实用。 1.2 项目背景 项目名称为:学生成绩管理信息系统。开发目标为有效管理学生信息,实现学生信息的数据录入、浏览、修改等,从而实现对学生信息的规化、系统化、自动化管理。 1.3术语说明 MIS: 管理信息系统 Transaction Processing : 事务处理 Data Acquisition :数据采集 Data Processing Circle : 数据处理流程 Data Processing:数据处理 1.4 参考资料 《软件工程案例教程》…毕硕本卢桂香编著大学 《Vista Basic语言程序设计》…韬编著人民邮电 2 项目概述 2.1待开发软件的一般概述 此软件的目的是提高学校对学生的科学化管理,为学校的学生成绩管理系统

需求分析的六个原则一永远不要显得比客户更聪明

【系列原创】需求分析的六个原则(四)客户和用户要区别对待 Posted by 不再沉默 on 2008-10-30 10:39:19View 2981Comments17客户和用户根据产品的定位有时候是一致的,有时候则是分离的,这个大家都很清楚,通常来说,做企业级消费产品的客户和用户通常是分离的,做大众级消费产品的客户和用户通常是一致的,但也不是绝对,例如公务用轿车,应该是大众消费类产品,但是它多所面对的客户和用户通常是分离的,客户是各类政府公务部门,用户则是具体的操作者,也就是这些单位的工作人员。 具体什么是客户,什么是用户,我就不花很大的篇幅来介绍了,我想大家肯定都非常熟悉他们之间的区别的,其实简单一句话就可以概括:客户一定是掏钱的,用户不一定是掏钱的。 作为产品经理,其实在规划一个产品的时候,需要重点考虑的就是基于产品而要面对的这两类人群(其实还有一类,叫buyer,可以翻译成购买者,看了一些这方面的资料,感觉国内是把客户和购买者合为一体了,这样做其实也有好处,就是可以把抽象的客户概念在营销过程中具体成一个实际的人)。 04年的时候,我在一家为企业提供信息化服务的公司,负责企业信息化产品的管理,一次,我们的一个销售谈了一家半官方性质的公益组织,他们找到我们想用我们的产品搭建一套企业信息系统,包含内部信息管理和外部信息发布,但是那个销售人员只会拉单,对于具体的产品则不是很熟悉,因此,在确定了基本意向和他们的大致需求后,我就陪同这个销售人员一起去见这个准客户。 和政府客户谈单与企业谈单就是不一样,企业客户会直入主题,深入了解你产品的方方面面,但是政府客户就不一样了,本来想着花半天时间和客户沟通一下就可以了,结果一上午过去了,都没谈到实质的内容,客户倒是挺热情,中午的时又是他买单(呵呵,其实都是公家的钱)请客吃饭,搞的我们都觉得要是这单子不给对方优惠,我们都对不住人家。 下午继续聊呗,下午的时候他才找了一个他们单位里负责硬件维护的人和我们谈,离开的时候,热情的拉着我的手,对我们说“你们谈吧,具体的我就不管了,XX(维护硬件的那个人),你好好和小X(我的姓)他们了解一下,以后这个系统就是你的工作了”,说完,端着茶杯就到自己的屋子里醒酒去了。 具体和接下来这个哥们怎么谈的就不说了,但是因为这也是我第一次和政府类客户打交道,还真感觉有些不适应,但是通过这次谈单也给了我一些新的启发。 1、客户是客户,用户是用户,他们的关注点是完全不一样的。 就拿这个客户来说,之所以要上信息系统,目的就是为了响应国家政府机关上网的号召,说的直白一些,基本属于完成上级任务,做好政绩工程的动机,至于系统上去以后怎么用,怎么才能用好就不是他们要考虑的,而用户(也就是具体和我们谈的人)对于领导为什么要上这个系统就不会关注太多了,反正我就是一个一般工作人员,领导安排什么就做什么就行了,因此,在那天接下来的交流中,这个人就非常仔细地了解我们的产品到底是什么情况,都有那些功能,甚至都可以了解应该如何具体使用了,因为对于他来说,最关键的怎么能够用好这个产品,不要出意外而引起领导的不满。

软件工程系统可行性分析和需求分析

个人承担任务 任务说明: 此次软件工程设计,我主要承担以下任务: 需求分析和可行性分析(根据设计题目进行问题定义,探讨可行性,再对系统进行需求分析等)。 任务内容: 1.可行性分析: ⑴问题定义 各高校传统的勤工助学岗位管理管理模式也越来越不能满足现代教育发展的需要。对于一个有着上百号勤工学生的学校来说,用手工管理这些学生信息还有岗位以及津贴,是一项非常繁琐的工作,而相应的岗位人员查询、津贴签领历史记录查询等,其工作量都让人望而生畏,而且还极易出错,同时也浪费纸。所以我们提出了开发高校勤工助学管理系统,将勤工学生基本信息管理、岗位人员管理、津贴统计等功能进行统一管理,为各高校实现勤工助学岗位信息化管理提供有效工具。 ⑵技术可行性 本系统采用B/S模式开发。B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。它由浏览器、Web服务器、应用服务器和数据库服务器组成。客户端的浏览器通过URL 访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。相较于C/S模式的系统升级维护复杂来说,B/S模式最大的好处是运行维护比较简便,能实现不同的

人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。另外,B/S还便于面向广大未知用户使用,因为只要电脑安装了IE,经过一定的设置,就都可以使用,如建立企业网站发布信息。 ⑶经济可行性 本系统开发成本低,对开发者设备要求不高,数据库采用免费开源的Oracle 数据库。由于是B/S模式,所以对用户软硬件要求要求也很低。 2.需求分析 ⑴系统运行环境硬件要求 硬件设备设计是根据信息系统的设计需求,确定信息系统物理设备方案,所设计的硬件设备方案在能够充分满足信息系统功能需求的前提下,还应满足系统的效率、可靠性、安全性和适应性等性能要求,并具有较高的性价比。根据前面的需求分析,我们得出本系统理想的环境当然是配置较高最好,实际操作中硬件平台如下: 硬件环境(访问者):建议用户在允许的情况下采用较高配置硬件资源。 硬件环境(开发者):Intel五代处理器,4G内存,80G磁盘空间。 ⑵系统运行环境软件要求 操作系统是计算机系统中最重要的系统软件,目前在微机上使用的桌面操作系统有Windows XP/7/8/10等,本系统在Windows 10操作系统下进行开发,可向下兼容以运行于前面所列举的各种操作系统,但建议使用Windows XP以上系统。 支撑软件是协助人们开发和维护软件的工具和环境软件,包括编辑程序,数据库系统,集成开发环境等,本系统的支撑软件如下: 1、数据库管理系统(DBMS):为了对数据库实施集中管理,同时并发的处理多个客户机发来的数据处理要求,我们选用Oracle数据库管理系统。 2、动态网页技术:在这里我们使用JSP(Java Server Pages)来建立系统,编译软件使用myeclipse10。 ⑶系统功能需求 所有学生都可以登录系统申请对外开放的岗位,申请时需要填写相关信息。

需求分析之六大原则

3、原则第二点:第三方可能会遗漏或补充一些额外的需求。 每个人都期望产品能做好,这种强烈的成功心理容易让人们产生日晕心理,从而影响我们对需求的筛选。 4、原则第三点:对第三方的自由发挥不应抱怨和生气,而是将其视为客户。 客户是第一位的,而他们又是我们的客户,因此,我们应该心平气和的对待他们的想法,无论这些想法是出于公还是出于私的。 需求分析的六个原则(四)客户和用户要区别对待 1、需求分析第四个原则:客户和用户要区别对待。 客户是客户,用户是用户,有时候一致,有时候分离,这是我们首先要搞清楚的。 2、原则第一点:产品为最终用户设计,需求的功能转换为最终用户的使用要求而确定。 用户决定产品,我们需求工作基于用户,始于用户,归于用户。 3、原则第二点:为客户寻找价值上的需求。 客户是多样的,价值导向也是多样的,我们的产品能否承载多样化的客户价值决定了产品能否实现最终的交换。 4、原则第三点:用户的利益高于一切。 产品的最终价值是通过用户来体现的,脱离了用户的产品,就是“皮之不存,毛将焉附”。 需求分析的六个原则(五)用最简单的文字工具记录需求 1、需求分析第五个原则:用最简单的文字工具记录需求。 客户并不麻烦,需求也不复杂,麻烦的是我们把一切做的太复杂了。 2、原则第一点:所有人都能懂的东西,最不容易出错。 没有人喜欢复杂的东西,需求也不例外。 3、原则第二点:不需要再学习的东西,最不容易出错。 产品是需求的表现,没有人喜欢复杂的产品,要做到这一点,就从需求开始吧。 4、原则第三点:不要希望客户能花更多的时间来了解需求转换后的原型。 我费些事,客户就可以省些事,客户省事了,我们最终也就省事了。

软件工程--需求分析报告

文档编号:001 版本号:1.0 文档名称:需求分析 项目名称:学生智能管理系统 项目负责人:朱岩 项目组长:朱岩 组员:王增、皮素梅、潘鸯鸯、陈金龙、贾春阳 开发单位:西邮07级科技1班软件开发小组 一、引言: 1、编写目的:

对庞大的信息随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时也可以方便学生对信息的获取。 学生信息系统也是实现学校管理现代化和信息化的重要内容。因此,学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,并且,面对学生生活的不断丰富化,各种小方面管理软件的泛滥,身为学生以及考虑学校本身管理的多方面的统一。本小组所开发系统是基于C/S结构,使用Visual Basic程序设计语言及SQLServer2000数据库进行设计与开发。 本系统针对软件界面的人性化,生活化,做了突破性的工作,以及多项管理功能的集成上作了初步的拓展,目的在于使管理者和访问者易于甚至乐于接受,并提出学校管理系统的一体化概念,使学校的管理更有效率。 2、编写背景: 系统待开发的名称:学生智能管理系统 项目组长:朱岩 程序录入:朱岩、王增、皮素梅、 需求分析:朱岩、潘鸯鸯、陈金龙、皮素梅 软件测试:朱岩、王增、皮素梅、潘鸯鸯、陈金龙、贾春阳

本系统的用户:学生,老师,管理员 3、定义: (1)静态数据:系统内部有关的数据结构和操作规程 (2)动态数据:程序运行时输入和输出的数据 (3)数据字典:数据字典(DD,Data Dictionary)是关于数据流 程图中出现的所有名字(数据流、处理、数据存储) 的定义的集合。 4、参考资料: [1]张向宏.软件生命周期质量保证与测试.北京:电子工业出版 社.2009 [2]张海藩.软件工程导论.北京:清华大学出版社. 2005 [3]张焕君.基于VB和SQL的数据库编程技术.北京:清华大学出版 社.2008 二:任务概述: 1、目标: (1)给出软件系统的数据流程图和数据结构。 (2)提出详细的功能说明,确定设计限定条件,规定性能需求。(3)密切与用户的联系,使用户明确自己的任务,以便实现上述两项目标。 (4)以最低的成本,在最短的期限内开发出具有管理学生和学生信息

交通规划四阶段法

前言 (3) 第一章课程设计要求 (4) 1.1、设计题目 (4) 1.2、课程设计的目的意义 (4) 1.3、设计的时间及分组 (4) 1.4、课程设计内容 (4) 1.4.1掌握交通规划四阶段交通需求预测的原理方法 (4) 1.4.2学习交通规划软件TransCAD的操作方法 (5) 1.4.3对研究区域提出交通改善策略 (5) 第二章小组成员及任务分配 (6) 第三章四阶段中各阶段做法及成果展示 (6) 3.1 相关资料收集 (6) 3.2 交通发生和吸引预测及平衡 (6) 3.2.1交通区划分原则及划分结果 (6) 3.2.2交通生成预测 (7) 3.2.3 预测结果 (8) 3.3 交通分布预测 (8) 3.4 交通方式划分 (10) 3.5 交通分配预测 (11) 3.6 交通分配评价 (13) 3.7 对我校道路网分析及建议 (14) 3.7.1道路网规划 (14) 3.7.2慢行交通系统设计 (14) 3.7.3道路横断面设计 (15) 3.7.4总结 (15) 第四章 transcad中交通规划四阶段法具体操作 (15) 4.1生成初始路网图 (15) 4.1.1 生成路网前准备 (15) 4.1.2 新建路网层(线层) (16)

4.2 生成小区图 (17) 4.3 在路网与交通区层填入数据并进行人口预测 (18) 4.4 生成小区质心 (19) 4.5 创建网络 (21) 4.6 生成阻抗矩阵 (22) 4.7 对未来年限小区发生与吸引量进行平衡 (23) 4.8 用重力模型进行交通分布预测 (24) 4.9 进行交通分配并查看结果 (25) 4.10 绘制小区质心间的期望线 (27) 4.11 交通方式划分 (27) 第五章总结 (28)

需求分析的六个原则(六)天下没有免费的午餐

需求分析的六个原则(六)天下没有免费的午餐 在前面的文章中,已经说到了这个问题,客户向我们提出的需求都是他内心最期望我们能够满足的,我看到一个朋友的留言,我觉的非常好,他是这么说的: “客户不是我们的竞争对手,他没有理由来欺骗我们,因为欺骗我们的最终结果就是使我们做出不符合他们需求的产品”,“如果说我们的产品有问题,那么首先应该从我们身上找问题,而不是客户”。 我非常赞同这位朋友的观点,这个观点其实也表明了需求分析原则六所强调的第一点:客户从来没有不合理的需求。 理解这点其实很简单。 客户购买我们的产品,是由各种各样的因素决定的,有价格的因素,有服务的因素,但从根本来看,还是因为我们的产品能够比其他的同类产品更好地解决客户的问题(当然,最终的购买还是多个因素综合作用的结果,也就是所谓的“性价比”),客户在使用我们产品的过程中,一方面自身会有新的需求产生,另一方面则发现我们目前的产品无法满足或者有效的满足这些需求,因此,他就会把这些新的需求反馈给我们,并期望我们能够在接下来的产品中能有所改进。 这是一个再正常不过的逻辑,我想没有一个客户会向我们提出不合理甚至是虚假的需求,因为这样做的结果最终只能是两败俱伤,只有我们的竞争对手会这样做。 有朋友会说了,嗯,你说的这点没有问题,但是,我却感觉客户提出的好多需求虽然真实,合理,但是却是不现实的,这又该如何解决呢? 果然如此吗? 要回答这个问题,得从两个方面来考虑。 1、客户提出的需求有不现实的吗? 何为现实呢?客观存在的就是现实的,也就是说,只要客户提出了一个需求,那么就说明客户肯定是有这样的需求的。 之所以我们认为某个需求不现实,根本在于我们没有搞清楚这个客观是基于哪一方的。这里强调一点,这种客观是基于客户一方的,而非我们一方的。 也就是说,有时候我们认为这个需求不现实,仅仅是从我们自己的角度来看待的,我们不是客户,不应该替客户判断某个需求的现实性。 还有一种情况是什么呢?

软件工程需求分析文档.doc

软件工程 需求分析文档 项目名称:人事工资管理系统 概述(背景简介): 随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。另外,为了更方便地查看员工工资信息,还可以通过水晶报表对工资信息进行打印。 系统分析(需求分析): 通过调查,要求本系统具有以下功能。

●良好的人机界面。 ●方便的添加和修改数据功能。 ●方便的数据查询。 ●方便的数据打印功能。 ●在相应的窗体中,可方便地删除数据。 ●数据计算自动完成,尽量减少人工干预。 总体设计: 项目规划 人事工资管理系统主要由人事管理、工资管理、用户管理和退出系统等模块组成,具体规划如下。 ●人事管理模块。该模块主要用于实现档案管理、 奖罚管理、调动管理和考评管理的功能。 ●工资管理。该模块主要用于实现考勤津贴和工资 总结的功能。

●系统管理。该模块主要用于实现部门管理和数据 备份的功能。 ●用户管理。该模块主要用于实现操作员管理,修 改口令和更改操作员的功能。 ●退出系统。该模块主要用于实现系统推出的功 能。 系统业务流程分析: 人事工资管理系统的业务流程图如下。

系统功能结构: 人事工资管理系统功能结构图如下。 系统设计: 设计目标 本系统属于中小型的数据库管理系统,可以对中小型企业人事工资进行有效管理。通过本系统可以实现一下目标: 灵活地录入数据,使信息传递更快捷;

●系统采用人机交互方式,界面美观友好,信息查询 灵活,数据存储安全可靠; ●实现员工奖罚信息管理; ●实现员工工资自动计算; ●实现员工考评调动管理; ●对用户输入的数据,进行严格的数据检验,尽可能 避免人为错误; ●系统最大限度地实现了易维护性和易操作性。 开发及运行环境 ●系统开发平台:Microsoft Visual Studio2005。 ●系统开发语言:C#。 ●数据库管理系统软件:SQL Server 2000。 ●运行平台:Windows XP(SP2)/ Windows 2000 (SP4)。 ●运行环境:https://www.360docs.net/doc/6918609889.html, Framework SDK v2.0。 ●分辨率:最佳效果1024*768像素。

需求分析的重要性以及如何做好需求分析

需求分析的重要性以及如何做好需求分析[转] 收藏 文章出处:https://www.360docs.net/doc/6918609889.html,/shinepolo/archive/2008/04/08/1139700.html 为什么以这个为主题写.是因为最近在做一个购物网,需求没有做好,导致做前台的时候商品与图片是1对1的关系,后台添加的时候有很大的弊端.和漏洞不好弥补.不是不好弥补.是牵扯的逻辑太多.如果说改了这个网站可以重做了.所以说很失败. 如果因为一个地方的失误.很可能导致整个项目的失败.那么你最近的所有努力将灰飞烟灭... 那么,如果在项目开始前做好充分的需求.而且需求要做的到位,需求的思维严禁程度至关重要.. (下面为转载) 一、为什么要需求分析 需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死. (这个问题是最典型也是最常见的,现在这个问题一般很好避免,都知道项目的一些敏感性的东西,例如想会有哪些地方设计的不好可能导致以后的使用出现BUG.) 二、需求分析的任务 简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求. 三、需求分析的过程 需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审. 问题识别 就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标.

需求预测习题与案例

计算题: 一、某公司新设一条生产线,包括A、B、C、D、E五类工作,根据现有资料得知这四类工作所需的标准任务时间为0.4,2.2,1.8,2.0,1.5(小时/件),在估计未来两年每一类工作所需工作量的基础上,见下表: 假设每人每年工作小时数为1200小时,预测未来操作所需的最低人力数。 二、假设有一家企业的人力资源需求与销售额紧密联系,且其劳动生产率每年以5%的比率增加,根据下表的历史数据预测未来三年的实际员工需求: 三、已知某企业当年的营业额是80 000 000元,预计四年后营业额将增长为107 200 000元,生产效率每年提高1%。根据以往市场数据和工作设计推算,每50人能完成50 000 000元的销售额,依次推算四年后企业用人需求。

小组案例讨论:你会计算离职率吗? 人事部李经理走进总经理办公室,她想总经理可能要和她讨论月度人事报告的事宜,不过她充满信心,因为报告内容详尽,数据分析有条有理,并对下一阶段公司人力资源管理提出了自己的看法,报告应该是完美的。 “你的报告我看过了,总的来说是一份很不错的报告。但我很奇怪,你在计算各部门的人员离职率时,为什么会出现离职率大于100%的情况呢?你能解释一下它代表什么意义呢?”总经理指着她的报告问道。 李经理看着报告,发现后勤部门原来有17人,后来由于后勤部门的保安工作外包给保安公司,清洁工作也外包给清洁公司,后勤部门的人员降到只有5人。按通常离职率计算方法,离职率=离职人数/[(期初在职人数+期末在职人数)/2]*100%,得出的结果是109%。这代表什么意思呢?当初李经理也有疑问,但没有深究下去。现在面对总经理的提问,李经理低下了头:“很抱歉,我确实不知如何解释,可能是计算方式不对,我会尽快找出解决办法。” 李经理很困惑:翻过很多人力资源管理方面的书籍,离职率的计算公式都是按自己所采用的公式,难道这个公式错了吗?否则为什么会出现离职率超过100%的现象呢?如果错了,那离职率到底应该怎样计算呢? 离职率是企业用以衡量企业内部人力资源流动状况的一个重要指标,通过对离职率的考察,可以了解企业对员工的吸引和员工的满意情况。离职率过高,一般表明企业的员工情绪较为波动、劳动关系存在较严重的矛盾,企业的凝聚力下降,它可导致人力资源成本增加(含直接成本和间接成本)、组织的效率下降。但并不是说员工的离职率越低越好,在市场竞争中,保持一定的员工流动,可以使企业利用优胜劣汰的人才竞争制度,保持企业的活力和创新意识。 按字面理解,离职率应指员工离职的数量占“员工”的比率,也可以理解为每100个员工中有多少个员工离职,因此离职率应不超过100%。在众多的资料中,离职率通常是以某一单位时间的离职人数与正式职工平均人数之比表示,正式职工平均人数又为单位时间期初人数与期末人数的平均值。但按这样的计算方法,就有可能出现上面的情况,即离职率超过100%,难道员工全部离职了吗?如果不考虑其他因素,员工真的全部离职,则按这种方法计算出来的离职率为200%,这与人们通常情况下理解的离职率是矛盾的。离职率怎样计算才合理呢? 现假设某公司一年的前六个月中每个月的期初人数、期末人数、录用人数、离职人数如下表所示: 该公司在一月份时跳槽员工较多,故二、三月份开始大量招聘新员工,四、五、六月份员工的变动则较为平稳。请讨论用不同的计算方法来求离职率,并给李经理提出合理的计算方法建议。

软件工程__需求分析报告

软件工程__需求分析报告 【最新资料Word版可自由编辑!】

软件工程需求分析报告 项目名称:学生智能管理系统 编写组员:20112452 陈占刚 20112430 周元 20112439 马涛 20112428 张岩 班级:计算机科学与技术11-1班

一、引言: 1、编写目的: 对庞大的信息随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时也可以方便学生对信息的获取。 学生信息系统也是实现学校管理现代化和信息化的重要内容。因此,学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,并且,面对学生生活的不断丰富化,各种小方面管理软件的泛滥,身为学生以及考虑学校本身管理的多方面的统一。本小组所开发系统是基于C/S结构,使用 Visual Basic程序设计语言及SQLServer2000数据库进行设计与开发。 本系统针对软件界面的人性化,生活化,做了突破性的工作,以及多项管理功能的集成上作了初步的拓展,目的在于使管理者和访问者易于甚至乐于接受,并提出学校管理系统的一体化概念,使学校的管理更有效率。 3、定义: (1)静态数据:系统内部有关的数据结构和操作规程 (2)动态数据:程序运行时输入和输出的数据 (3)数据字典:数据字典(DD, Data Dictionary)是关于数据流 程图中出现的所有名字(数据流、处理、数据存储) 的定义的集合。 4、参考资料: [1]张向宏.软件生命周期质量保证与测试.北京:电子工业出版

软件工程--需求分析说明书

文档名称:需求分析 项目名称:学生成绩管理系统 项目负责人:马永刚 项目组长:马永刚 全体组员:马永刚、段晓腾、韩昊彭、胡立仁、杨超、张丽萍开发单位:西邮07级科技01班软件开发小组

一、引言 1.编写目的: 运用软件对学生的成绩进行管理,科学而有效,不仅可以减少教师的工作量,方便学校对于所有学生的成绩进行系统的管理,而且便于学生适时的查询自己的成绩。一款优秀的学生成绩管理软件,正好可以满足当前的市场需求,取得一定的经济效益。本软件就是针对此种情况和客户需求而开发。本说明书明确了客户的各项需求,为程序开发人员明确了所开发软件应具有的功能和注意事项。2.项目背景: 委托单位:无委托单位,适用于小规模学校 开发单位:西邮07级科技01班第4软件开发小组 主管部门:西邮07级科技01班第4软件开发小组 系统待开发的名称:学生成绩管理系统 本软件运行平台:windows2000, windows XP, windows Vista..... 3.定义: VB是Visual Basic的简写,是可视化的编程语言。是一种简单、高效地开发应用软件的工具。 SQL (Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法 的主要表达工具及用于表示软件模型的一种图示方法。 E-R图(Entire and Relation)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序 结构进行修改时,其内容可以由DBMS自动更新的数据字典。 被动数据字典是指修改时必须手工更新其内容的数据字典。 静态数据系统内部有关的数据结构和操作规程。 动态数据程序运行时输入和输出的数据。

需求分析的20条法则

需求分析的20条法则 对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。 经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。” 分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。” 经理觉得奇怪:“我不是刚告诉你我的需求了吗?” 分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。” 经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?” 分析员尽量解释从用户处收集需求的合理性:“如果我们只是凭空猜想用户的要求,结果不会令人满意。我们只是软件开发人员,而不是采购专家、营运专家或是财务专家,我们

并不真正明白您这个企业内部运营需要做些什么。我曾经尝试过,未真正明白这些问题就开始编码,结果没有人对产品满意。” 经理坚持道:“行了,行了,我们没有那么多的时间。让我来告诉您我们的需求。实际上我也很忙。请马上开始开发,并随时将你们的进展情况告诉我。” 风险躲在需求的迷雾之后 以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。这里所指的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满意。若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。因此可见——需求分析奠定了软件工程和项目管理的基础。 拨开需求分析的迷雾 像这样的对话经常出现在软件开发的过程中。客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。那么,我们就拨开雾影,分析一下需求的具体内容: ·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。 ·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

实验一软件工程需求分析

教学辅导——需求分析 一、需求分析的任务 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。 通常软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中。它是软件实现的基础。 需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。在这个阶段结束时交出的文档中应该包括详细的数据流图(DFD),数据字典(DD)和一组简明的算法描述。 需求分析阶段的任务包括下述几方面。 1.确定对系统的综合需求 2.分析系统的数据需求 分析系统的数据需求是由系统的信息流归纳抽象出数据元素组成、数据的逻辑关系、数据字典格式和数据模型。并以输入/处理/输出(IPO)的结构方式表示。因此,必须分析系统的数据需求,这是软件需求分析的一个重要任务。 3.导出系统的逻辑模型 就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质。 4.修正系统开发计划 5.开发原型系统 二、需求分析的步骤 结构化分析方法(简称SA方法)就是面向数据流自顶向下逐步求精进行需求分析的方法。需求分析的步骤如下。 1.调查研究 2.分析与综合 应注意下述两条原则:第一,在分层细化时必须保持信息连续性,也就是说细化前后对应功能的输入/输出数据必须相同;第二,当进一步细化将涉及如何具体地实现一个功能时,也就是当把一个功能进一步分解成子功能后,并将考虑为了完成这些子功能而写出其程序代码时,就不应该再分解了。 3.书写文档

软件工程需求分析报告.docx

同济大学 一、 学生社团活动查询系统 需求分析文档 分析员 :邵元琳 2011小组成员:刘晔薛吉霆邵元琳

目录 1.项目概述 1.1 项目目标 ------------------------------------------------------------------------3 1.2 项目运行环境-------------------------------------------------------------------3 1.3 用户特征 ------------------------------------------------------------------------3 2.软件综合需求分析 2.1功能需求 ------------------------------------------------------------------------4 2.2性能需求 ------------------------------------------------------------------------4 2.2.1数据精确度 --------------------------------------------------------------4 2.2.2时间特性 ----------------------------------------------------------------4 2.2.3安全性 -------------------------------------------------------------------4 2.3可靠性与可用性需求 ------------------------------------------------------------5 2.3.1可靠性需求 --------------------------------------------------------------5 2.3.2可用性需求 --------------------------------------------------------------5 2.4出错处理需求 -------------------------------------------------------------------6 2.5接口需求 ------------------------------------------------------------------------6 2.5.1用户界面 ----------------------------------------------------------------6 2.5.2硬件接口 ----------------------------------------------------------------7 2.5.3软件接口 ----------------------------------------------------------------7 2.6约束----------------------------------------------------------------------------7 2.7 逆向需求 -----------------------------------------------------------------------7

需求分析的六个原则(五)用最简单的文字工具记录需求

需求分析的六个原则(五)用最简单的文字工具记录需求 需求是信息的具体表现,我们知道,一个信息进行一次传递,需要具备以下5个条件: 1、信息本身 2、信息发出者 3、信息承载介质 4、信息接收者 5、信息所处的环境 这5个条件的综合作用决定了这个信息最终的质量。 具体到需求这种和产品经理每日息息相关的信息上,我们都必须面对一个非常现实的问题,就是:如何来保证我们获得的信息的衰减性是最小,并且我们又如何能把这种信息尽量少衰减的传递给下一个接收者。 既然本章的标题是“用最简单的文字工具记录需求”,并且在本系列的第三章中,我提供了一个自己整理的《需求反馈文档》模板,属于记录市场需求的第一个工具,因此,在本

章里,就以这个模板工具为例,详细来说明一下如何把需求记录 好。 第一部分: 这个部分比较简单,主要是说明原始需求提出者的信息,具体包括三项: 1、需求来源:我这里是以我所在公司的情况写的,大家可以根据自己情况来定,其实这部分就是说明需求的市场细分,这个需求是个人终端客户提出的,还是企业级客户提出的。 2、来源方名称:说明需求提出者的名称,如果是个人,就是姓名,如果是企业,就是企业名称。 3、来源时间:说明需求提出者的反馈时间。 这项比较关键,因为咱们通常会发现,客户向公司的是市场人员反馈了一个需求后,市场人员往往不能及时反馈给我们,要么是想起来的时候才说,要么就是等着开会的时候才说,要么就是右耳朵进,左耳朵出,根本没放在心上。

因此,我在公司里一直强调有需求一定要及时通过这个文档反馈给产品部,当然,要让相关部门的每个人都真正重视起来,一是需要时间,二是需要规范。 第二部分: 这个部分就是针对内部第三方的了,主要是说明需求获取方的信息,在前面的文章说过了,许多行业的产品经理很少有直接面对客户的机会,因此,我们往往还是通过第三方来得到市场需求,具体包括5项: 1、需求提交人:这里用需求提交人,而不是需求来源,就是为了区别客户和第三方。 2、提交时间:说明这个需求是第三方什么时候加入到需求池中的。 3、所在部门:说明第三方所在的部门。 4、工作职位:说明第三方在该部门内的工作岗位。 5、PST位置:PST是什么呢?就是产品战略表(Product Strategy Table),关于PST 的解释这里不多说,对于第三方来说,只要说明这个需求是针对那个产品线或者产品的即可。 第三部分: 这个部分就是针对需求本身的了,大家可以看出来,一共就三部分,非常简单,为什么呢?就是因为大家要知道,对于客户来说,他们在提出需求的时候,根本不可能按照我们期望的那样分门别类的告诉你。 有一次,我们的一个产品经理和一个客户进行需求沟通,他首先问客户“你对我们产品的功能有什么想法呢?” 对于客户来说,产品功能还是比较熟悉的,也多少说了一些,但是接下来问题就出现了,他又问客户“你对产品的UI有什么想法呢?”。 客户一下子就糊涂了,想了半天,问他“UI是什么?”,他可能也意识到这个词太专业了,于是又给客户解释说“UI就是界面,也就是产品的外观”,客户这次似乎是多少明白了一些,但是明显感觉在说的时候有些不够放开了,为什么呢?大家可以分析一下,你把UI就解释为界面或者产品外观,实际上在限制客户的思维,客户在每说一个需求的时候,就会想“我说的这个是和界面或者外观有关系的吗?”。 这或许还好一些,UI还比较容易解释,如果是UE呢,谁敢说能让客户很清楚的知道UE 是什么意思呢?用户体验?估计用户会更没体验了,呵呵!

软件工程业务需求分析说明书

电通网络公司技术文档 卷号: 卷内编号: [版本号] [项目名称] 业务分析说明书 项目承担部门: 撰写人(签名): 完成日期:

电通网络公司技术文档 目录 业务分析说明书 (1) 1.引言 (1) 1.1编写此说明书的目的 (1) 1.2 背景 (1) 1.3 参考资料 (1) 2业务描述 (1) 3.需求规定 (1) 3.1功能需求 (1) 3.2服务需求: (2) 4产品概述 (2) 目标 (2) 用户特点 (3) 5业务流程: (3) 2.1 业务表单: (3) 2.2 业务流图: (3) 2.3数据字典: (4) 6环境支持: (5) 设备 (5) 支持软件 (5) 7接口 (5) 8性能描述: (5) 9质量保证: (5)

1 业务分析说明书 1.引言 1.1编写此说明书的目的 明确在本项目中的数据项、数据项之间的关系和数据操作任务的详细定义。为数据库的概念设计、逻辑设计、物理设计奠定坚实的基础,为数据库的结构提供可靠的依据。 1.2 背景 软件系统的名称: 本项目的任务提出者: 本项目的任务开发者: 本项目的用户: 1.3 参考资料 提示:列出与本项目有关的参考资料,如 a.本项目的经核准的计划任务书或合同。 b.与本项目属性相关的网站名称等等。 2业务描述 提示:对原始业务的详细的文字描述。 3.需求规定 3.1功能需求 提示:本项目有什么样的输入产生什么样的输出。即本项目必须完成的基本动作。

2 3.2服务需求: 用户要求的服务项目。 网站需要我们的定期维护、管理域名、提供邮箱等服务。 4产品概述 目标 提示:叙述该项目开发的意图、应用目标、作用范围以及其他应向读者说明的有关该项目开发的背景材料。解释被开发项目与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系的接口。例如:

软件项目需求分析的条法则

软件项目需求分析的20条法则 以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。这里所指的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满意。若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。因此可见——需求分析奠定了软件工程和项目管理的基础。 拨开需求分析的迷雾 像这样的对话经常出现在软件开发的过程中。客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。那幺,我们就拨开雾影,分析一下需求的具体内容: ·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。 ·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。 ·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。 ·非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。 ·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。 前面提到的客户项目经理通常阐明产品的高层次概念和主要业务内容,为后继工作建立了一个指导性的框架。其它任何说明都应遵循“业务需求”的规定,然而“业务需求”并不能为开发人员提供开发所需的许多细节说明。 下一层次需求——用户需求,必须从使用产品的用户处收集。因此,这些用户构成了另一种软件客户,他们清楚要使用该产品完成什幺任务和一些非功能性的特性需求。例如:程序的易用性、健壮性和可靠性,而这些特性将会使用户很好地接受具有该特点的软件产品。 经理层有时试图代替实际用户说话,但通常他们无法准确说明“用户需求”。用户需求来自产品的真正使用者,必须让实际用户参与到收集需求的过程中。如果不这样做,产品很可能会因缺乏足够的信息而遗留不少隐患。 在实际需求分析过程中,以上两种客户可能都觉得没有时间与需求分析人员讨论,有时客户还希

相关文档
最新文档