系统开发的需求与管理分析报告

上传人:仙*** 文档编号:150785938 上传时间:2022-09-10 格式:PPTX 页数:59 大小:312.71KB
收藏 版权申诉 举报 下载
系统开发的需求与管理分析报告_第1页
第1页 / 共59页
系统开发的需求与管理分析报告_第2页
第2页 / 共59页
系统开发的需求与管理分析报告_第3页
第3页 / 共59页
资源描述:

《系统开发的需求与管理分析报告》由会员分享,可在线阅读,更多相关《系统开发的需求与管理分析报告(59页珍藏版)》请在装配图网上搜索。

1、第九章第九章 系统开发中的系统开发中的需求分析与需求分析与管理管理 n一、一、需求工程概述需求工程概述 n二、需求开发二、需求开发n三、三、需求管理需求管理 n四、需求工程方法与工具四、需求工程方法与工具一、需求工程概述一、需求工程概述用户需求产品需求系统设计系统实现单元测试集成测试系统测试验收测试一、需求工程概述一、需求工程概述n1 1、什么是需求、什么是需求n基本概念:宽泛地讲,需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。n需求可能来自以下几个方面:用户(客户)、接口、环境(硬件、组织文化、政策等)。n需求的重要性:开

2、发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。(Brooks:没有银弹)案例案例凭空想象的需求凭空想象的需求 一家大型电信设备企业有多个分支机构,A与B是研发机构,B是核心平台的研发机制,A做增值业务的研发,C是整个公司的项目管理机构,负责立项、结项与经费管理,D是销售机构。B研制出一种数据接入服务器的原型,找到A,说该产品市场前景看好,请你们开发网管软件,一起做好产品。D对A,B说“你们把软硬件都做好,我负责销售,挣到钱大家分”。于是A决定

3、参与合作,向C提出立项,立项后,A把该项目外包给一家专业的网管软件开发公司E,预期半年完成。由于网管软件要运行于B的产品上,A与E派出开发人员到B处进行需求分析,而B的产品还是原型并不成熟,不断在变化,最终用了1年时间才完成软件开发。开发完成后,E将软件交付给A后,A付清开发费用,再把软件交付到D,D又卖给某电信局F,结果F对软件的功能不满意,要求按自己的要求修改后才能付钱。D不得不要求A修改软件,而A已经将开发费用付给了E,只能自己吞苦果,结果是A想办法把软件转让给B,希望拿出成本并且以后再也不与B合作。这在很多大企业中都是普遍发生的事实。产品是闭门造车出来的,根本没有弄清楚要开发的系统应该

4、是什么样的。一、需求工程概述一、需求工程概述n2 2、系统需求的来源、系统需求的来源 n1)1)客户:购买系统的人。客户:购买系统的人。n2 2)用户:实际使用系统进行日常业务活动的)用户:实际使用系统进行日常业务活动的人。人。n3 3)技术人员:维护系统运行的人。)技术人员:维护系统运行的人。n4 4)其他系统相关者。)其他系统相关者。一、需求工程概述一、需求工程概述n3 3、需求工程、需求工程n1)1)基本概念:在软件开发的生命周期中,与需基本概念:在软件开发的生命周期中,与需求直接相关的活动。主要包括:需求开发和需求直接相关的活动。主要包括:需求开发和需求管理两部分内容。求管理两部分内容

5、。一、需求工程概述一、需求工程概述n3 3、需求工程、需求工程需求开发过程:通过调查与分析,获取用户需求并定义产品需需求开发过程:通过调查与分析,获取用户需求并定义产品需求。求。需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生用户需求说明书。需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生产品需求规格说明书。系统设计人员将依据产品需求规格说明书开展系统设计工作。一、需求工程概述一、需求工程概述n3 3、需求工程、需求工程需求管理过

6、程:在客户与开发方之间建立对需求的共同理解,需求管理过程:在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。维护需求与其它工作成果的一致性,并控制需求的变更。需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制是指依据“变更申请审批更改重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。一、需求工程概述一、需求工程概述n3 3、需求工程、需求工程n2

7、2)需求工程的主要内容:)需求工程的主要内容:需求开发产生的主要文档为用户需求说明书与需求开发产生的主要文档为用户需求说明书与软件需求规格说明书。软件需求规格说明书。需求管理产生的主要文档为需求评审报告、需求管理产生的主要文档为需求评审报告、需求跟踪报告和需求变更控制报告需求跟踪报告和需求变更控制报告一、需求工程概述一、需求工程概述n4 4、需求工程中的主要问题、需求工程中的主要问题n知识技能问题知识技能问题 n态度问题态度问题 n合作关系合作关系 n用户说不清楚需求用户说不清楚需求 n双方误解需求双方误解需求 n开发人员写不好需求文档开发人员写不好需求文档 n用户经常变更需求用户经常变更需求

8、 知识技能问题知识技能问题n应用域的知识是无边无际的,任何人都不可能是应用域的知识是无边无际的,任何人都不可能是“万事通万事通”。俗话说。俗话说“隔行如隔山隔行如隔山”,需求分析,需求分析员可能是某一领域的专家,但当他接手陌生的业员可能是某一领域的专家,但当他接手陌生的业务时,他可能是个务时,他可能是个“无知无知”者。一个企业要谋求者。一个企业要谋求发展,不能总在做老的业务。人一生中会有许多发展,不能总在做老的业务。人一生中会有许多充满挫折的充满挫折的“第一次第一次”,不可以逃避。,不可以逃避。n当需求分析员缺乏应用域知识时,他该怎么办?当需求分析员缺乏应用域知识时,他该怎么办?首先要有勇气做

9、事,否则连实践的机会都没有。首先要有勇气做事,否则连实践的机会都没有。其次应当赶紧补习应用域知识,不论是通过自学其次应当赶紧补习应用域知识,不论是通过自学还是培训的方式,否则他很难与用户交流。如果还是培训的方式,否则他很难与用户交流。如果可能的话,开发方最好请既懂软件又懂应用域知可能的话,开发方最好请既懂软件又懂应用域知识的行家来帮忙。识的行家来帮忙。态度问题态度问题 n相当多的开发人员习惯于被动地对待需求开发。每当遇到麻相当多的开发人员习惯于被动地对待需求开发。每当遇到麻烦、挫折时,他们会发牢骚,找出一堆用户的毛病。很多开烦、挫折时,他们会发牢骚,找出一堆用户的毛病。很多开发人员错误地以为:

10、需求是用户的事情,不是我们的事情。发人员错误地以为:需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清楚需求,或者经常变更需求,这类问题吗?如果用户说不清楚需求,或者经常变更需求,这类问题是用户产生的,应当由他们自己负责。是用户产生的,应当由他们自己负责。n用户说不清楚需求或者需求发生变更,这些都是常见的问题,用户说不清楚需求或者需求发生变更,这些都是常见的问题,并不是绝症,是人们可以设法解决的。可悲的是开发人员把并不是绝症,是人们可以设法解决的。可悲的是开发人员把这些问题当成了借口,不愿

11、主动攻克问题,导致需求问题扩这些问题当成了借口,不愿主动攻克问题,导致需求问题扩散到整个软件开发过程,产生太多的后患。散到整个软件开发过程,产生太多的后患。n软件企业的领导应当给具有错误观念的开发人员们洗脑:需软件企业的领导应当给具有错误观念的开发人员们洗脑:需求分析员的天职就是在有限的时间内获取准确而细致的用户求分析员的天职就是在有限的时间内获取准确而细致的用户需求,如果做不到就是失职,不要找借口。需求,如果做不到就是失职,不要找借口。合作关系合作关系 n如果需求分析员不能与用户建立良好的合作关系,那么他们在需求开发过如果需求分析员不能与用户建立良好的合作关系,那么他们在需求开发过程中会很疲

12、惫。程中会很疲惫。倘若用户不能很好地配合需求分析员,那并不表示他是倘若用户不能很好地配合需求分析员,那并不表示他是个坏蛋。因为用户有他自己的想法:个坏蛋。因为用户有他自己的想法:我回答了你们的问题,讲了该讲的。我回答了你们的问题,讲了该讲的。我们付钱给你们,难道还要我伺候你们不成?我还要干自己的事情,别打我们付钱给你们,难道还要我伺候你们不成?我还要干自己的事情,别打扰我了。你们自己想办法把活干好吧扰我了。你们自己想办法把活干好吧 。n对于一些竞标项目,在合同未签订之前的需求开发工作尤为困难。用户未对于一些竞标项目,在合同未签订之前的需求开发工作尤为困难。用户未必会买你的产品,他不会投入很多精

13、力来协助你搞需求开发。必会买你的产品,他不会投入很多精力来协助你搞需求开发。n需求分析员不是销售人员,他们不可能象销售人员那样通过某些手段笼络需求分析员不是销售人员,他们不可能象销售人员那样通过某些手段笼络住用户就能成功。出色的需求分析员不仅要有过硬的专业知识,还要具备住用户就能成功。出色的需求分析员不仅要有过硬的专业知识,还要具备较强的交流、沟通能力。较强的交流、沟通能力。n开发方与用户的合作关系对需求开发而言是至关重要的。对于重大的、复开发方与用户的合作关系对需求开发而言是至关重要的。对于重大的、复杂的项目,我们不能完全期望双方能够自发地建立起良好地合作关系,这杂的项目,我们不能完全期望双

14、方能够自发地建立起良好地合作关系,这样风险太大。样风险太大。n开发方和用户方在开展需求开发之前,双方协商并撰写开发方和用户方在开展需求开发之前,双方协商并撰写“用户在需求工程用户在需求工程中的权利与义务中的权利与义务”,即以协议的方式确定合作关系。,即以协议的方式确定合作关系。“好话好话”和和“丑话丑话”都说在前头,这样能减少今后的摩擦。如果条件允许的话,开发方最好为都说在前头,这样能减少今后的摩擦。如果条件允许的话,开发方最好为用户举办关于需求工程的培训用户举办关于需求工程的培训 合作关系合作关系 n用户在需求工程中的用户在需求工程中的“权利权利”1.有权要求开发方派遣资质合格的需求分析员和

15、相关人员。2.有权要求开发方采用用户熟悉的语言来描述需求,即开发方必须提供用户看得懂得需求文档。3.有权审查需求文档,并对有争议的需求作出决策。如果认为需求文档不能准确地反映用户真实的意愿,可以拒绝在需求文档上签字。4.如果用户想要变更需求,有权要求开发方对该变更将产生的影响作出真实可信的评估,以便用户决定是否变更需求。n用户在需求工程中的用户在需求工程中的“义务义务”1.以积极友善的态度与开发方人员交流、协作,尽可能地为开发方人员提供工作和生活上的便利。2.乐意接受需求分析员的采访,在不泄漏机密的前提下尽可能地回答需求分析员的问题。3.在不泄漏机密的前提下,尽可能地向需求分析员提供与需求相关

16、的材料。4.与需求分析员共同评审需求文档,确保需求文档准确地反映用户真实的意愿。用户说不清楚需求用户说不清楚需求 n用户说不清楚需求是普遍现象,这是让开发人员头用户说不清楚需求是普遍现象,这是让开发人员头痛的大问题。有些用户真的不知道需求是什么,或痛的大问题。有些用户真的不知道需求是什么,或者对需求只有朦胧的感觉,他当然说不清楚需求。者对需求只有朦胧的感觉,他当然说不清楚需求。有些用户虽然心里明白想要什么,但却说不清楚需有些用户虽然心里明白想要什么,但却说不清楚需求。求。n系统分析员绝不能以用户说不清楚需求为借口而草系统分析员绝不能以用户说不清楚需求为借口而草率地对待需求开发工作,否则会连累整

17、个开发团队率地对待需求开发工作,否则会连累整个开发团队的。的。n无论是什么原因导致用户说不清楚需求,无论是什么原因导致用户说不清楚需求,系统系统分析分析员必须设法搞清楚用户真正的需求,这是员必须设法搞清楚用户真正的需求,这是系统系统分析分析员的职责,也是职业的挑战。员的职责,也是职业的挑战。双方误解需求双方误解需求 n了解需求的过程中会发生了解需求的过程中会发生“问非所求,答非所问问非所求,答非所问”的事情。的事情。开发人员写不好需求文档开发人员写不好需求文档 n需求调查工作不充分,获取的需求信息太少或者太需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档。乱,以至于写不成需

18、求文档。要想写出好的需求文档,前提条件是把需求调查工作要想写出好的需求文档,前提条件是把需求调查工作做好。做好。企业应当提供合适的文档模板以及比较好的示例文档,企业应当提供合适的文档模板以及比较好的示例文档,尽可能地降低写作难度。尽可能地降低写作难度。用户经常变更需求用户经常变更需求 n需求变更通常会对项目的进度、人力资源、经费产需求变更通常会对项目的进度、人力资源、经费产生很大的影响。如果在项目开发的初始阶段,开发生很大的影响。如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需求,到了人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分项目

19、开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。毫无疑问,这种需求变更将使内容需要重新开发。毫无疑问,这种需求变更将使项目付出额外的代价。项目付出额外的代价。需求变更并不可怕,可怕的是需求变更失去控制,导需求变更并不可怕,可怕的是需求变更失去控制,导致项目混乱。所以需求变更控制是需求工程的重要致项目混乱。所以需求变更控制是需求工程的重要活动。活动。用户经常变更需求用户经常变更需求 n需求变更通常会对项目的进度、人力资源、经费产需求变更通常会对项目的进度、人力资源、经费产生很大的影响。如果在项目开发的初始阶段,开发生很大的影响。如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者

20、搞错了需求,到了人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。毫无疑问,这种需求变更将使内容需要重新开发。毫无疑问,这种需求变更将使项目付出额外的代价。项目付出额外的代价。需求变更并不可怕,可怕的是需求变更失去控制,导需求变更并不可怕,可怕的是需求变更失去控制,导致项目混乱。所以需求变更控制是需求工程的重要致项目混乱。所以需求变更控制是需求工程的重要活动。活动。一、需求工程概述一、需求工程概述n5 5、需求工程的层次、需求工程的层次 n开发者对待需求工程的态度可分开发者对待需求工程的态度可分

21、“被动型被动型”、“主动主动型型”和和“领先型领先型”三种,只有后两种才有可能开发出三种,只有后两种才有可能开发出成功的产品。成功的产品。“被动型被动型”是指开发者被动地对待需求工程中的各项活动,能少是指开发者被动地对待需求工程中的各项活动,能少干则少干,能偷懒则偷懒。他们认为需求是用户的事情而不是自干则少干,能偷懒则偷懒。他们认为需求是用户的事情而不是自己的事情。开发过程中经常发生需求变更,导致产品迷失方向,己的事情。开发过程中经常发生需求变更,导致产品迷失方向,不是半途而废就是陷入半死不活的状态。不是半途而废就是陷入半死不活的状态。“主动型主动型”是指开发者积极地开展需求工程中的各项活动。

22、他们是指开发者积极地开展需求工程中的各项活动。他们把获取准确的需求当作自己的职责,会想尽一切办法克服需求开把获取准确的需求当作自己的职责,会想尽一切办法克服需求开发和需求管理过程中的困难,而不是找借口推卸责任。俗话说发和需求管理过程中的困难,而不是找借口推卸责任。俗话说“良好的开端是成功的一半良好的开端是成功的一半”,“主动型主动型”需求工程是开发成功需求工程是开发成功产品的必备条件。产品的必备条件。“领先型领先型”是需求工程的最高境界。开发者发掘了连用户自己都是需求工程的最高境界。开发者发掘了连用户自己都没有意识到的需求,导致用户跟着新产品跑而不是新产品围着用没有意识到的需求,导致用户跟着新

23、产品跑而不是新产品围着用户转,这叫引导消费。需求工程做到这个份上,才能使产品立于户转,这叫引导消费。需求工程做到这个份上,才能使产品立于不败之地,长盛不衰。不败之地,长盛不衰。二、需求开发二、需求开发n1 1、需求的获取、需求的获取 一般地,分析员首先要通过与用户面谈、问卷调查等方一般地,分析员首先要通过与用户面谈、问卷调查等方式获取需求,通过对这些需求进行记录与定义并进行式获取需求,通过对这些需求进行记录与定义并进行讨论与修正,将未解决的问题放在一个条目中,等下讨论与修正,将未解决的问题放在一个条目中,等下一次调查解决。通过多次迭代最终得到完整的系统需一次调查解决。通过多次迭代最终得到完整的

24、系统需求。求。n1)1)需求获取规程需求获取规程现代软件系统分析与开发一般都遵循一定的范式和规程。现代软件系统分析与开发一般都遵循一定的范式和规程。在需求调查阶段,一般按以下规程进行:在需求调查阶段,一般按以下规程进行:目的获取用户的需求信息,经过分析产生用户需求说明书角色与职责系统分析员调查分析需求,用户提供必要的需求信息启动准则系统分析员已经确定输入任何与用户需求相关的材料主要步骤1准备调查2调查与记录3分析需求信息4撰写用户需求说明书5需求确认输出用户需求说明书结束准则完成用户需求说明书并确认无误度量统计工作量和文档规模,上报项目经理二、需求开发二、需求开发n1 1、需求的获取、需求的获

25、取 n2)2)调查准备调查准备 (1)(1)需求分析员应当起草需求调查问题表,将调查重点需求分析员应当起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。锁定在该问题表内,否则调查工作将变得漫无边际。问题表可以有多份,随着调查的深入,问题表将不断地被细问题表可以有多份,随着调查的深入,问题表将不断地被细化。化。根据经验,用户通常没有耐心回答复杂的论述题,所以问题根据经验,用户通常没有耐心回答复杂的论述题,所以问题表应当以表应当以“选择题选择题”和和“是非题是非题”为主。为主。制定问题表最简便的方法就是从用户需求说明书的模板制定问题表最简便的方法就是从用户需求说明书的模板

26、中提取需求问题。中提取需求问题。二、需求开发二、需求开发n1 1、需求的获取、需求的获取 n2)2)调查准备调查准备 (2)(2)确定调查方式,调查的方法有:确定调查方式,调查的方法有:问卷调查问卷调查 复查现有报表和业务过程的描述复查现有报表和业务过程的描述 与用户面谈与讨论与用户面谈与讨论 观察与记录业务过程观察与记录业务过程 与同行或专家交谈,听取意见与建议与同行或专家交谈,听取意见与建议 分析已经存在的软件系统,提取需求分析已经存在的软件系统,提取需求 从行业标准和规则中提取需求从行业标准和规则中提取需求 到到InternetInternet上查找相关信息上查找相关信息二、需求开发二、

27、需求开发n1 1、需求的获取、需求的获取 n2)2)调查准备调查准备 (2)(2)确定调查方式,辅助调查的方法有:确定调查方式,辅助调查的方法有:可通过原型的方法获取需求,这对于可通过原型的方法获取需求,这对于“说不出需求说不出需求”的用户尤其适用。的用户尤其适用。JADJAD(联合应用开发会议)是加快调查的重要方法,联合应用开发会议)是加快调查的重要方法,即将相关人员全部召集在一起参加单一会议直接解即将相关人员全部召集在一起参加单一会议直接解决需求分析问题。决需求分析问题。二、需求开发二、需求开发n1 1、需求的获取、需求的获取 n2)2)调查准备调查准备 (3)(3)需求分析员与被调查者建

28、立联系,确定调查需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,撰写需求调查计划。的时间、地点、人员等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户。要特别留意的是不要漏掉典型的用户。二、需求开发二、需求开发n1 1、需求的获取、需求的获取 n3)3)调查与记录调查与记录 准备工作完毕后,需求分析员按照计划执行调查。在调查过程中准备工作完毕后,需求分析员按照计划执行调查。在调查过程中随时记录(或存储)需求信息随时记录(或存储)需求信息 。通过完成计划的调查任务,系。通过完成计划的调查任务,系统分析员获取用户需求并将其正确的记录。记录形式一般为表格统分析员获取用户需求并将其正确

29、的记录。记录形式一般为表格需求标题 调查方式 调查人 调查对象 时间、地点 需求信息记录是什么?不是什么?为什么?二、需求开发二、需求开发n1 1、需求的获取、需求的获取 n3)3)调查与记录调查与记录 面谈中要注意的问题:面谈中要注意的问题:注重时间与礼节,建立与用户的良好关系注重时间与礼节,建立与用户的良好关系 事先了解用户的身份、背景事先了解用户的身份、背景 从宏观入手,然后细化,而不是象侦探那样从蛛丝从宏观入手,然后细化,而不是象侦探那样从蛛丝马迹着手马迹着手 轻松的气氛,不轻意打断用户的谈话轻松的气氛,不轻意打断用户的谈话 不为用户添加必要的麻烦,但也不要因怕麻烦而降不为用户添加必要

30、的麻烦,但也不要因怕麻烦而降低调查力度低调查力度二、需求开发二、需求开发n1 1、需求的获取、需求的获取 n3)3)调查与记录调查与记录 调查的技术调查的技术问答分析法:通过提问与回答了解系统问答分析法:通过提问与回答了解系统需求。最主要的问题是:需求。最主要的问题是:“是什么是什么”和和“为什么为什么”。每个需求都用陈述句说明每个需求都用陈述句说明“是什么是什么”,如果表达不清,如果表达不清,则加上则加上“不是什么不是什么”;如果;如果“是是”与与“不是不是”不是理不是理所当然的,就必须加上解释所当然的,就必须加上解释“为什么为什么”目标:获目标:获得正确、清晰的需求。得正确、清晰的需求。其

31、他常见问题:其他常见问题:需求存在二义性吗?需求存在二义性吗?需求文档的上下文有矛盾吗?需求文档的上下文有矛盾吗?需求完备吗?需求完备吗?需求是必要的吗?需求是必要的吗?需求可实现吗?需求可实现吗?需求可验证吗?需求可验证吗?需求的优先级确定了吗?需求的优先级确定了吗?二、需求开发二、需求开发n2 2、需求冲突的解决、需求冲突的解决 n需求从获取渠道收集到以后,可能产生不一致需求从获取渠道收集到以后,可能产生不一致的地方。的地方。n解决原则主要有:解决原则主要有:当客户需求与开发方预计需求冲突时,以客户需求当客户需求与开发方预计需求冲突时,以客户需求为主。为主。用户间需求冲突则以级别大的用户需

32、求为准,同级用户间需求冲突则以级别大的用户需求为准,同级则少数服从多数。则少数服从多数。多个客户以出钱多的客户需求为准多个客户以出钱多的客户需求为准二、需求开发二、需求开发n3 3、用户需求说明书、用户需求说明书 n对收集到的用户需求进行分析、归纳与总结,对收集到的用户需求进行分析、归纳与总结,然后根据一定的格式撰写用户需求说明书,然后根据一定的格式撰写用户需求说明书,调查过程中的中间资料可作为附件。用户需求调查过程中的中间资料可作为附件。用户需求说明书完成后,应邀请专家与用户对其进行评说明书完成后,应邀请专家与用户对其进行评审,使其最大限度地符合用户的真实意愿。之审,使其最大限度地符合用户的

33、真实意愿。之后才能进行进一步的需求分析与定义,产生后才能进行进一步的需求分析与定义,产生软件需求规格说明书。软件需求规格说明书。(模板模板)二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n1)1)概述概述n需求分析的结果是通过建立系统的逻辑模型来需求分析的结果是通过建立系统的逻辑模型来定义需求。定义需求。n逻辑模型:详细展示系统要完成的功能,而不逻辑模型:详细展示系统要完成的功能,而不依赖具体技术的模型。依赖具体技术的模型。n物理模型:表明系统是如何真正实现的模型。物理模型:表明系统是如何真正实现的模型。二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n1

34、)1)概述概述n结构化分析方法兴盛的时期,软件系统的开发过程是结构化分析方法兴盛的时期,软件系统的开发过程是从物理模型到逻辑模型,再从逻辑模型到新的物理模从物理模型到逻辑模型,再从逻辑模型到新的物理模型的过程。这种方法可以保证系统分析能按步就班的型的过程。这种方法可以保证系统分析能按步就班的完成,但缺点是完成,但缺点是na)a)系统分析时间较长,要花费更多时间与资金去分析、系统分析时间较长,要花费更多时间与资金去分析、了解和记录旧系统的运行,提炼出运行逻辑。了解和记录旧系统的运行,提炼出运行逻辑。nb)b)新系统往往是旧系统的简单自动化,不论原系统的新系统往往是旧系统的简单自动化,不论原系统的

35、效率有多低,是否合理,都原样地进入新系统,并不效率有多低,是否合理,都原样地进入新系统,并不能通过信息化改造原来的业务管理流程,提高管理水能通过信息化改造原来的业务管理流程,提高管理水平。平。n不适合于全新系统的开发,特别是一些不适合于全新系统的开发,特别是一些WEBWEB项目,如项目,如电子商务方面的项目开发,这些项目没有可参考的旧电子商务方面的项目开发,这些项目没有可参考的旧系统。系统。二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n1)1)概述概述n现代的需求分析过程,往往是直接在对用户需求进行现代的需求分析过程,往往是直接在对用户需求进行收集地过程中直接产生新系统的

36、逻辑模型(直接通过收集地过程中直接产生新系统的逻辑模型(直接通过对比要解决的商业问题和软件需要实现的功能)。系对比要解决的商业问题和软件需要实现的功能)。系统分析员只有在需要理解商业业务流程时才去检查现统分析员只有在需要理解商业业务流程时才去检查现有系统。有系统。n系统分析员的焦点是:以新系统为中心。提出创新的系统分析员的焦点是:以新系统为中心。提出创新的问题解决之道是系统分析员的素质要求之一。此外,问题解决之道是系统分析员的素质要求之一。此外,新系统的引入还可能对组织原来的业务流程进行改新系统的引入还可能对组织原来的业务流程进行改造造BPRBPR。n两种思维方式:两种思维方式:还没有坏,就不

37、需要修理还没有坏,就不需要修理 总有一种更好的解决方法总有一种更好的解决方法 案例案例Ford的业务流程重组的业务流程重组 20世纪世纪80年代,福特北美分部的帐目支付部门雇佣年代,福特北美分部的帐目支付部门雇佣了了500多名员工。为了提高效率,公司决定引入信息多名员工。为了提高效率,公司决定引入信息系统,最初的目标是提高系统,最初的目标是提高20%的效率。在项目小组的效率。在项目小组进行系统分析时发现,马自达公司的帐目支付部门只进行系统分析时发现,马自达公司的帐目支付部门只有有5名员工。虽然福特比马自达大得多,但相对于而名员工。虽然福特比马自达大得多,但相对于而言也达不到言也达不到100倍的

38、业务量。在借鉴了马自达的业务倍的业务量。在借鉴了马自达的业务过程的同时,项目组设计了全新的自动化系统,将帐过程的同时,项目组设计了全新的自动化系统,将帐目支付功能包含在更大的购买功能中,实现了从购买目支付功能包含在更大的购买功能中,实现了从购买到支付全程跟踪的自动化,项目结束时,只需求到支付全程跟踪的自动化,项目结束时,只需求100人即可完成原来人即可完成原来500多人才能完成的帐目支付功能,多人才能完成的帐目支付功能,大大超出了预计。大大超出了预计。二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n2)2)系统分析规程系统分析规程目的定义准确的产品需求,产生产品需求规格说明

39、书角色与职责系统分析员定义产品需求,用户确认产品需求启动准则用户需求说明书撰写完成输入用户需求说明书主要步骤1细化和分析用户需求2撰写产品需求规格说明书3需求确认输出产品需求规格说明书结束准则产品需求规格说明书撰写完成并通过确认(评审与承诺)度量系统分析员统计工作量与文档规模,上报项目经理二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n2)2)系统分析规程系统分析规程n第一步:细化并分析用户需求第一步:细化并分析用户需求 需求分析员首先对用户需求说明书进行细化,对比较复杂的用户需求进需求分析员首先对用户需求说明书进行细化,对比较复杂的用户需求进行建模分析,以帮助软件开发人员

40、更好地理解需求。建模分析产生的文档可行建模分析,以帮助软件开发人员更好地理解需求。建模分析产生的文档可以作为产品需求规格说明书的附件。以作为产品需求规格说明书的附件。补充说明:建模分析的技术难度比补充说明:建模分析的技术难度比较高,分析员应当根据自身水平进行取舍。较高,分析员应当根据自身水平进行取舍。n第二步:撰写产品需求规格说明书第二步:撰写产品需求规格说明书 需求分析员按照指定的文档模板撰写产品需求规格说明书。如果待开发需求分析员按照指定的文档模板撰写产品需求规格说明书。如果待开发的产品分为软件和硬件两部分的话,则应当撰写软件需求规格说明书和的产品分为软件和硬件两部分的话,则应当撰写软件需

41、求规格说明书和硬件需求规格说明书。硬件需求规格说明书。n第三步:进行需求确认第三步:进行需求确认项目经理邀请同行专家和用户(包括客户和最终用户)一起评审产品需求项目经理邀请同行专家和用户(包括客户和最终用户)一起评审产品需求规格说明书,尽最大努力使产品需求规格说明书能够正确无误地反映规格说明书,尽最大努力使产品需求规格说明书能够正确无误地反映用户的真实意愿。用户的真实意愿。需求评审之后,开发方和客户方的责任人对产品需求规格说明书作书面需求评审之后,开发方和客户方的责任人对产品需求规格说明书作书面承诺。承诺。二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n3)3)需求分析方法

42、需求分析方法 文字描述(可从问答法直接获得)文字描述(可从问答法直接获得)模型描述模型描述有些时候用语言描述某个问题特别费劲,而采用图形则有些时候用语言描述某个问题特别费劲,而采用图形则使人一目了然,所谓使人一目了然,所谓“一图低千言一图低千言”就是这个道理。在就是这个道理。在需求开发过程中,对于某些类型的信息,用图形表示要需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效。所以将图形与文本结合起来描述比文本表示更加有效。所以将图形与文本结合起来描述需求是很自然的方法。因此在需求分析中常使用建模的需求是很自然的方法。因此在需求分析中常使用建模的方法来定义需求。方法来定义需求。二

43、、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n3)3)需求分析方法需求分析方法 模型描述模型描述(1)(1)需求建模需求建模:就是指用图形符号来表示、刻画需求。就是指用图形符号来表示、刻画需求。建模分析方法主要有两大类:建模分析方法主要有两大类:“结构化分析法结构化分析法”和和“面向对象分析法面向对象分析法”。二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n3)3)需求分析方法需求分析方法 模型描述模型描述(2)(2)结构化分析法结构化分析法 结构化分析方法并不是明确地由涉及这个主题的一结构化分析方法并不是明确地由涉及这个主题的一篇文章或者一本著作引入的

44、,它也不是被所有使用篇文章或者一本著作引入的,它也不是被所有使用者一致采用的单一方法。相反地,它是几乎发展了者一致采用的单一方法。相反地,它是几乎发展了2020多年的一个混合物。结构化分析方法在多年的一个混合物。结构化分析方法在7070年代和年代和8080年代非常流行,相关论著很多。年代非常流行,相关论著很多。PressmenPressmen对结构对结构化分析方法作了高度概括化分析方法作了高度概括“一个中心三种图一个中心三种图”:数据字数据字典典实体关系图实体关系图数据流图数据流图状态变迁图状态变迁图二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n3)3)需求分析方法需求分

45、析方法 模型描述模型描述(3)(3)面向对象分析法面向对象分析法 面向对象分析设计(面向对象分析设计(OOADOOAD)方法兴起于方法兴起于2020世纪世纪8080年代,从年代,从9090年代起至今它已经在分析设计领域占据了无可争议的主流地年代起至今它已经在分析设计领域占据了无可争议的主流地位。面向对象分析设计领域有一些比较著名的学派,如:位。面向对象分析设计领域有一些比较著名的学派,如:l l CoadCoad和和YourdonYourdon学派。学派。l l BoochBooch学派。学派。l l JocobsonJocobson学派。学派。l l RumbaughRumbaugh学派。学

46、派。UMLRationalRose二、需求开发二、需求开发n4 4、需求分析与定义、需求分析与定义 n3)3)需求分析方法需求分析方法 模型描述模型描述(4)(4)建模原则建模原则恰当地使用图形符号恰当地使用图形符号 现代建模工具如现代建模工具如RoseRose有非常丰富的图形符号和文字标注,能有非常丰富的图形符号和文字标注,能很好地表达模型的细节。要注意的是:在建模时使用花样过很好地表达模型的细节。要注意的是:在建模时使用花样过多的图形符号或文字意味着模型表示的复杂化,将使开发人多的图形符号或文字意味着模型表示的复杂化,将使开发人员更难掌握,而且使图形文档更加杂乱。员更难掌握,而且使图形文档

47、更加杂乱。世上不存在一个包罗万象的图世上不存在一个包罗万象的图它能完整地描述需求。它能完整地描述需求。需求建模不可能取代文字描述。在需求文档中,文字描述是需求建模不可能取代文字描述。在需求文档中,文字描述是第一重要的,建模主要是起分析、解释作用。建议将模型存第一重要的,建模主要是起分析、解释作用。建议将模型存放在需求文档的附录中,便于正文引用。放在需求文档的附录中,便于正文引用。二、需求开发二、需求开发n5 5、产品需求规格说明书、产品需求规格说明书 n1)1)用户需求说明书与产品需求规格说明书的主要区别与联系n前者主要采用自然语言(和应用域术语)来表达用户需求,其内容相对于后者而言比较粗略,

48、不够详细。n后者是前者的细化,更多地采用计算机语言和图形符号来刻画需求,产品需求是软件系统设计的直接依据。n两者之间可能并不存在一一影射关系,因为软件开发商会根据产品发展战略、企业当前状况适当地调整产品需求,例如用户需求可能被分配到软件的数个版本中。软件开发人员应当依据产品需求规格说明书来开发当前产品。二、需求开发二、需求开发n5 5、产品需求规格说明书、产品需求规格说明书 n2)2)应按一定规范书写应按一定规范书写(模板模板)二、需求开发二、需求开发n5 5、产品需求规格说明书、产品需求规格说明书 n3)3)书写原则书写原则 (1 1)正确正确 (2 2)清楚清楚 (3 3)无二义性无二义性

49、 (4 4)一致一致 (5 5)必要必要 (6 6)完备完备 (7 7)可实现可实现(8 8)可验证可验证 (9 9)确定优先级确定优先级 (1010)阐述)阐述“做什么做什么”而不是而不是“怎么做怎么做”三、需求管理三、需求管理n1 1、需求验证、需求验证 n系统分析员往往认为他们了解与掌握了用户的系统分析员往往认为他们了解与掌握了用户的需求,然而却没有真正把握商业过程的最精妙需求,然而却没有真正把握商业过程的最精妙之处。在项目早期发现和解决这方面的问题,之处。在项目早期发现和解决这方面的问题,比到了开发与实现阶段解决的代价要小百倍。比到了开发与实现阶段解决的代价要小百倍。发现和解决需求分析

50、问题的手段是需求验证。发现和解决需求分析问题的手段是需求验证。n类似于房屋建造,需求分析相当于设计蓝图,类似于房屋建造,需求分析相当于设计蓝图,在进行设计时可能会存在问题,如果在正式建在进行设计时可能会存在问题,如果在正式建造前不加以解决可能导致完全的失败,在建造造前不加以解决可能导致完全的失败,在建造之前首先要验证图纸的正确性。之前首先要验证图纸的正确性。三、需求管理三、需求管理n1 1、需求验证、需求验证 n1)需求验证过程需求验证过程 n需求确认是指开发方和客户方共同对产品需需求确认是指开发方和客户方共同对产品需求规格说明书进行评审,双方对需求达成共求规格说明书进行评审,双方对需求达成共

51、识后作出承诺。需求确认包含两个重要工作:识后作出承诺。需求确认包含两个重要工作:“需求评审需求评审”和和“需求承诺需求承诺”。三、需求管理三、需求管理n1 1、需求验证、需求验证 n2)需求评审需求评审 n要注意的问题:要注意的问题:nl l 需求评审的一个通病是需求评审的一个通病是“虎头蛇尾虎头蛇尾”。需求评审的确乏味,也比较费脑子。刚。需求评审的确乏味,也比较费脑子。刚开始评审时,大家都比较认真,越到后头越马虎。开始评审时,大家都比较认真,越到后头越马虎。主持人应当控制节奏,将重要主持人应当控制节奏,将重要内容放在前面。内容放在前面。nl l 需求评审涉及的人员可能比较多,有些时候让这么多

52、人聚在一起花费比较长的需求评审涉及的人员可能比较多,有些时候让这么多人聚在一起花费比较长的时间开会并不容易(例如有些人可能出差在外,有些人可能事务缠身)。时间开会并不容易(例如有些人可能出差在外,有些人可能事务缠身)。没有必没有必要把所有事情挤在一块做,需求开发是循序渐进的过程,需求评审也可以分段进要把所有事情挤在一块做,需求开发是循序渐进的过程,需求评审也可以分段进行。这样每次评审的时间比较短,参加评审的人员也少一些,组织会议就比较容行。这样每次评审的时间比较短,参加评审的人员也少一些,组织会议就比较容易。易。nl l 开评审会议时经常会开评审会议时经常会“跑题跑题”,导致评审效率很低。有时

53、话匣子一打开后关不,导致评审效率很低。有时话匣子一打开后关不上,大家越扯越远,结果评审会议变成了聊天会议。上,大家越扯越远,结果评审会议变成了聊天会议。主持人应当控制话题,避免主持人应当控制话题,避免大家讨论与主题无关的东西。大家讨论与主题无关的东西。nl l 开评审会议时经常会发生争议。适当的争议有利于澄清问题,比什么东西都一开评审会议时经常会发生争议。适当的争议有利于澄清问题,比什么东西都一致赞成要好。致赞成要好。控制争议不变为争吵,争吵不仅对评审工作没有好处,而且会无意控制争议不变为争吵,争吵不仅对评审工作没有好处,而且会无意中伤害同事间及与客户的关系,影响项目组下一步的工作。中伤害同事

54、间及与客户的关系,影响项目组下一步的工作。n人们在很多时候分不清楚自己究竟是人们在很多时候分不清楚自己究竟是“坚持真理坚持真理”还是还是“固执己见固执己见”。毫不妥协。毫不妥协或者轻易妥协都不是好办法。或者轻易妥协都不是好办法。我们应当养成良好的习惯:不要一棍子打死异己的我们应当养成良好的习惯:不要一棍子打死异己的观点,尝试着让自己站在他人的立场思考问题,这样你会找到比较满意的答案。观点,尝试着让自己站在他人的立场思考问题,这样你会找到比较满意的答案。三、需求管理三、需求管理n1 1、需求验证、需求验证 n3)需求承诺需求承诺 需求承诺是指开发方和客户方的责任人对通过了正式需求承诺是指开发方和

55、客户方的责任人对通过了正式技术评审的产品需求规格说明书作出承诺,该承技术评审的产品需求规格说明书作出承诺,该承诺具有商业合同的效果。诺具有商业合同的效果。本产品需求规格说明书建立在双方对需求的共同理本产品需求规格说明书建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该产品需解基础之上,我同意后续的开发工作根据该产品需求规格说明书开展。如果需求发生变化,我们将按求规格说明书开展。如果需求发生变化,我们将按照照“变更控制规程变更控制规程”执行。我明白需求的变更将导致执行。我明白需求的变更将导致双方重新协商成本、资源和进度等。双方重新协商成本、资源和进度等。甲方签字甲方签字 乙方签字乙方

56、签字人们在作出承诺之前务必要认真阅读文档,一定要明白人们在作出承诺之前务必要认真阅读文档,一定要明白签字意味着什么。签字意味着什么。三、需求管理三、需求管理n2 2、需求验证、需求验证 n需求跟踪的目的是建立与维护需求跟踪的目的是建立与维护“需求设计编程需求设计编程测试测试”之间的一致性,确保所有的工作成果符合用户之间的一致性,确保所有的工作成果符合用户需求。需求。n需求跟踪有两种方式:需求跟踪有两种方式:正向跟踪。检查产品需求规格说明书中的每个正向跟踪。检查产品需求规格说明书中的每个需求是否都能在后继工作成果中找到对应点。需求是否都能在后继工作成果中找到对应点。逆向跟踪。检查设计文档、代码、

57、测试用例等工作逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在产品需求规格说明书中找到出处。成果是否都能在产品需求规格说明书中找到出处。正向跟踪和逆向跟踪合称为正向跟踪和逆向跟踪合称为“双向跟踪双向跟踪”。不论采。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后继工作成果的表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。对应关系。三、需求管理三、需求管理n3 3、需求变更管理、需求变更管理 n1)需求发生变更的起因:需求发生变更的起因:随着项目的进展,人们(包括开发方和客户方)对随着项目的进展

58、,人们(包括开发方和客户方)对需求的了解越来越深入。原先的需求文档可能存在这需求的了解越来越深入。原先的需求文档可能存在这样那样的错误或不足,因此要变更需求。样那样的错误或不足,因此要变更需求。市场发生了变化,原先的需求文档可能跟不上当前市场发生了变化,原先的需求文档可能跟不上当前的市场需求,因此要变更需求。的市场需求,因此要变更需求。“没有软件系统开发中用户需求的变化不超过没有软件系统开发中用户需求的变化不超过3 3次次”?”?三、需求管理三、需求管理n3 3、需求变更管理、需求变更管理 n2)需求变更管理:需求变更管理:提出需求变更的动机是好的,目的是希望产品更加符合用户的需求。对项提出需

59、求变更的动机是好的,目的是希望产品更加符合用户的需求。对项目开发小组而言,变更需求意味着要调整资源、重新分配任务、修改前目开发小组而言,变更需求意味着要调整资源、重新分配任务、修改前期工作成果等,开发小组要为此付出较重的代价。如果每次需求变更请期工作成果等,开发小组要为此付出较重的代价。如果每次需求变更请求都被采纳的话,这个项目也许永远不能按时完成。求都被采纳的话,这个项目也许永远不能按时完成。需求变更控制的目的:需求变更控制的目的:如果需求变更带来的好处大于坏处,那么允许变如果需求变更带来的好处大于坏处,那么允许变更,但必须按照已定义的变更规程执行,以免变更失去控制。更,但必须按照已定义的变

60、更规程执行,以免变更失去控制。如果需如果需求变更带来的坏处大于好处,那么拒绝变更。求变更带来的坏处大于好处,那么拒绝变更。需求变更控制过程中最难办的事情是莫过于需求变更控制过程中最难办的事情是莫过于“拒绝客户提出的需求变更请拒绝客户提出的需求变更请求求”。通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开。通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。解决这个问题最好的办法是事先建立发小组陷入困境。解决这个问题最好的办法是事先建立“游戏规则游戏规则”:-开发方与客户方达成开发方与客户方达成“事不过三事不过三”的约定(符合中国人的习惯),即允的约定(符合中国人的习惯),即允许客户变更三次需求;如果客户第四此变更需求,开发方有权拒绝,除许客户变更三次需求;如果客户第四此变更需求,开发方有权拒绝,除非客户愿意补偿开发方的损失。非客户愿意补偿开发方的损失。-如果事先没有如果事先没有“游戏规则游戏规则”的话,开发方需要一些社交技巧来减缓矛盾。的话,开发方需要一些社交技巧来减缓矛盾。例如建议在开发该产品新版本时修改需求。例如建议在开发该产品新版本时修改需求。四、需求工程的技术与工具四、需求工程的技术与工具

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!