软件项目需求分析PPT.ppt
《软件项目需求分析PPT.ppt》由会员分享,可在线阅读,更多相关《软件项目需求分析PPT.ppt(142页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录目录1 需求分析是软件项目的立足之本2 需求分析阶段的团队组织3 需求管理4 需求分析阶段的项目管理为什么要做需求管理?为什么要做需求管理?一天,一家爱斯基摩人来找你帮忙做一个杯子。一天,一家爱斯基摩人来找你帮忙做一个杯子。要求:这个杯子在使用时要能适应北极的环境。要求:这个杯子在使用时要能适应北极的环境。这家人承诺:杯子做好后会有高额的酬谢。这家人承诺:杯子做好后会有高额的酬谢。你心里想:所谓适应北极环境。北极的地面很硬。那应该你心里想:所谓适应北极环境。北极的地面很硬。那应该做一个结实的杯子。于是你历经千辛万苦做出了:做一个结实的杯子。于是你历经千辛万苦做出了:爱斯基摩人不断摇头,决定
2、一分钱也不付给你。爱斯基摩人不断摇头,决定一分钱也不付给你。最后你才知道,他们需要一个拿着不冻手的杯子。他们的最后你才知道,他们需要一个拿着不冻手的杯子。他们的真实需求是这样的:真实需求是这样的:为什么要做需求管理?为什么要做需求管理?客户不知道自己要什么客户:塑料杯、木头杯、还是橡胶杯,我也不知道!客户知道自己要什么,但表达不清客户提要求:使用时要能适应北极的环境。我们经常会对客户的要求产生错误的理解我们的理解:他一定要一个结实的杯子!我们不能知其然,而不知其所以然。要做好需求管理。我们不能知其然,而不知其所以然。要做好需求管理。什么是什么是需求规格说明书需求规格说明书?需求规格说明书概念软
3、件开发项目中用于明确定义系统需求的文档。需求规格说明书的作用开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础测试验收目标系统的依据功能性需求:用来描述系统所应提供的功能和服务系统功能输入输出异常非功能性需求:不直接与系统的具体功能相关的一类需求安全性可扩展性响应时间需求规格说明书需求规格说明书的构成的构成用例详细描述用例详细描述-格式格式前置条件用例开始时会发生什么事件流用例执行的各个步骤后置条件用例结束时会发生什么用例详细描述用例详细描述示例示例前置条件:系统管理员登录系统事件流:1、系统管理员在系统菜单中选择“用户管理”时用例开始2、系统管理员可以增加一个系统用户3、系统管理员
4、可以根据用户名查询系统用户4、对于每一个用户a)系统管理员可以查看该用户的详细信息b)系统管理员可以为该用户分配角色c)系统管理员可以删除该用户循环结束。后置条件:系统管理员执行的用户管理动作生效为什么要用静态原型法?为什么要用静态原型法?遇到下面的问题,你该怎么办?耗时耗力地完成了系统,用户却说这根本不是他想要的?系统完成了,可用户突然说,能不能换套系统界面?项目开发完一半了。用户说,你说开发完一半了,给我演示看看?静态原型法静态原型法可以帮助我们可以帮助我们避免避免这些问题。这些问题。什么是静态原型法?什么是静态原型法?以少量代价快速地构造一个可执行的软件系统模型使用户和开发人员可以较快地
5、确定需求静态原型法的实施静态原型法的实施快速建立一套用户界面原型体现主要的功能(操作命令的使用)提供基本的界面风格(菜单格式、输出格式)原型的表现工具HTMLMSVisioMSPowerP需求管理小结需求管理小结用例详细描述中的前置条件、后置条件和事件流分别是什么含义?在项目开发过程中使用静态原型法有什么好处?什么是需求规格说明书?为什么要做设计?为什么要做设计?一天,上帝来到小王的家里,请他帮忙制作两个人!一天,上帝来到小王的家里,请他帮忙制作两个人!小王理解了上帝的需求,没有做设计,直接开始动手。小王理解了上帝的需求,没有做设计,直接开始动手。做到一半之后,小王发现越做越不对,然后做到一半
6、之后,小王发现越做越不对,然后反复的修改,疲惫不堪反复的修改,疲惫不堪最后期限到来,上帝来向小王要人。小王面带羞涩的最后期限到来,上帝来向小王要人。小王面带羞涩的将他的工作成果拿给上帝将他的工作成果拿给上帝想象一下此时上帝的表情!想象一下此时上帝的表情!什么是软件设计?什么是软件设计?软件需求:系统“做什么?”上帝要求:我要做两个人(软件系统)!软件设计:系统“怎么做?”人的骨架(系统框架)应该怎么做.人的大脑(系统数据库)应该怎么做.人的皮肤(系统界面)应该怎么做.人的性格(系统性能)应该怎么做.设计的目标就是使所设计的系统能够被开发方设计的目标就是使所设计的系统能够被开发方顺利地实现,并且
7、恰如其分地满足用户的需求顺利地实现,并且恰如其分地满足用户的需求概要设计描绘出软件的概貌详细设计在概要设计的基础上再将其细化,得到一个非常接近于源代码的设计表达形式软件设计的两个阶段软件设计的两个阶段软件设计软件设计详细设计详细设计概要设计概要设计软件概要设计软件概要设计概要设计系统设计:系统具体的技术方案,与其他系统的接口方式系统设计需要考虑到:硬件环境、软件环境、网络环境用户操作水平团队技术能力开发时间限制结构设计:确定程序是由哪些模块组成的,各模块分别完成什么样的功能,它们之间存在着什么样的关系概要设计的核心是系统框架设计概要设计的核心是系统框架设计软件详细设计软件详细设计(1)详细设计
8、的核心是将业务模型映射到技术模型业务模型技术模型执行selectbook_namefromsys_bookwherebook_no=书籍编号andbook_status=已预订andbook_subscribe_stu_no学生借书卡编号。如果查询到1条记录,则抛出异常,异常信息为:“图书图书名称已经被预订,不能借出。”;否则,继续处理。学生到图书馆申请借书,图书管理员登录图书管理系统。首先,学生到图书馆申请借书,图书管理员登录图书管理系统。首先,检查这本书是否已经被预订了,如果已被预订则不能借出。检查这本书是否已经被预订了,如果已被预订则不能借出。软件详细设计软件详细设计(2)详细设计还包括
9、实现某一功能时,具体包含哪些类、方法、类。以及类之间的关系和调用顺序对应的界面如何展示,如何交互,界面间如何切换核心算法的伪代码数据库设计的工作5.1 5.1 需求分析是软件项目的立足之本需求分析是软件项目的立足之本需求分析是整个软件项目开展工作的基础,需求分析质量的好坏,直接关系到软件项目交付成果的客户满意度,甚至整个项目的成败。如果需求分析工作做的不扎实,无论设计阶段工作完成得如何出色、软件编码质量如何高,其结果将只会给用户带来失望,给开发者带来失败的苦恼。1.1.软件需求在软件项目中的作用:软件需求在软件项目中的作用:2.2.需求分析主要工作内容需求分析主要工作内容刻画出软件系统的功能和
10、性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束条件;建造软件体系结构,分解软件系统模块,建造软件处理的数据、界面和处理流程的设计模型;提交需求分析说明书,形成软件项目管理过程的第一个里程碑成果。3.3.需求分析阶段的主要任务需求分析阶段的主要任务问题分析(即如何获取需求?)需求描述(即如何定义需求?)需求的验证这一阶段,系统分析人员应该将自己对客户需求及问题的理解与自己所拥有的软件开发经验结合起来,以便发现哪些需求是由于用户的片面理解和短期行为所提出的不合理的要求,哪些要求是由于尚未提出但拥有真正价值的潜在要求。(1)问题分析以需求模型为基础,考虑问题的软件可解性,生成需求规格说
11、明书和初步的用户手册。需求规格说明书需求规格说明书包含对目标系统外部行为的完整描述、需求验证标准以及用户对系统在性能、质量、对维护性等方面的要求。用户手册用户手册则包括用户界面描述以及有关目标系统使用方法的初步构想。(2)需求描述(3 3)需求验证)需求验证分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明书进行复核,以确保软件需求的全面性全面性、精确性精确性、一致性一致性、可行性可行性以及用户的认同,并使用户和软件设计人员对需求规格说明及用户手册的理解达成共识,达成对目标系统理解的一致性。一旦发现遗漏和模糊点,必须进行检查,尽快更正。4 4软件需求的抽象层次软件需求的抽象层次一组
12、完整的软件需求包含一组完整的软件需求包含5 5项内容:项内容:(1)系统的输入(2)系统的输出(3)系统的功能(4)系统的属性(5)系统环境的属性系统需求的描述语言系统需求的描述语言结结 构构 化化语言语言是是对对自自然然语语言言格格式式化化,依依赖赖于于定定义义标标准准格格式式或或模模板板来来表表达达需需求求描描述述表现能力强表现能力强易于理解易于理解一致性约束一致性约束控制结构控制结构图形化显示图形化显示仍仍 然然 有有 一一 定定 程程度度的的二二义义性性;细致程度欠缺细致程度欠缺名称名称说明说明优点优点缺点缺点过过 程程 设设计语言计语言PDL源源于于像像Java或或Ada这这样样的的
13、程程序序设设计计语语言言,包包含含附附加加的的、更更抽抽象象的的构构造造来来提提高高其其表表达达能力能力通通过过软软件件工工具具进进行行语语法法和和语语义义检检查查表表达达系系统统功功能能的的能力不足能力不足使使用用的的符符号号只只有有具具有有程程序序设设计计背背景的人才能理解景的人才能理解系统需求的分类系统需求的分类(1)功能需求(2)非功能需求(3)领域需求非非功功能能需需求求产品需求产品需求可用性需求可用性需求效率需求效率需求性能需求性能需求空间需求空间需求可靠性需求可靠性需求可移植性需求可移植性需求机构需求机构需求交付需求交付需求实现需求实现需求标准需求标准需求外部需求外部需求互操作需
14、求互操作需求道德需求道德需求立法需求立法需求隐私需求隐私需求安全性需求安全性需求5.5.需求分析一般包含需求分析一般包含4 4个过程个过程(1)系统分析员和用户开展面对面的交流,记录用户提供的信息,即开展获取活动;(2)需求分析员处理从用户那里获取的信息并理解它们,把他们分成不同的类别,并将客户需求同可能的软件需求相联系,即开展分析活动;(3)系统分析人员将客户需求信息结构化,编写成文档和示意图,形成需求规格说明书;(4)组织用户代表评审文档并纠正存在的错误,完成需求的验证工作。6.6.需求分析的工作模式需求分析的工作模式需求三步法:需求三步法:第一步:“访谈式”第二步:“诱导式”第三步:“确
15、认式”第一步第一步:“访谈式访谈式”和具体用户方的领导层、业务层人员进行访谈式沟通,主要目的从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有系统等具体情况,建立起良好的沟通渠道和方式。针对具体的职能部门,最好能制定本次项目的接洽人。图图 需求分析第一阶段角色及工作流程需求分析第一阶段角色及工作流程用户方用户方分析人员分析人员项目经理项目经理 支持支持 确认确认 执行执行 反馈反馈 协调协调 协同协同 监督监督输出结果输出结果访谈备忘录访谈备忘录调查结果调查结果业务流程报告业务流程报告 配合配合 请求请求/计划计划需求需求分析分析第一第一阶段阶段组织构
16、架业务流程软硬件环境现有的运行系统用户的需求描述访谈、发放调查表格第二步第二步:“诱导式诱导式”是在分析人员已经了解了具体用户方的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等信息的基础上,结合现有的硬件、软件实现方案,做出简单的用户流程和操作界面,同时结合以往的项目经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、方便性、习惯性和操作性。配合配合审查审查执行执行反馈反馈协调协调协同协同监督监督输出结果输出结果访谈备忘录访谈备忘录调查分析报告调查分析报告业务流程反馈报告业务流程反馈报告确认确认请求请求/计划计划需求需求分析分析第二第二阶段阶段用
17、户方用户方分析人员分析人员项目经理项目经理诱导、演示、模拟诱导、演示、模拟组织构架组织构架业务流程业务流程软硬件环境软硬件环境现有的运行系统现有的运行系统用户的需求描述用户的需求描述图图需求分析第二阶段角色及工作流程需求分析第二阶段角色及工作流程 在前两个阶段成果的基础上,进行具体的流程细化,数据项的确认阶段。这个阶段的分析人员需要完成明确的业务流程报告、数据项描述,最好能够提供修改后的DEMO系统,并能清晰地向用户描述系统的业务流程设计目标。用户可以通过审查业务流程报告、数据项描述以及通过操作开发方提供的DEMO系统,提出反馈意见,并对已经完成并可接受的报告、文档签字确认。第三步:“确认式”
18、配合配合确认确认执行执行提交提交协调协调协同协同审查审查输出结果输出结果原始演示系统原始演示系统调查分析报告调查分析报告提议提议请求请求/计划计划需求需求分析分析第三第三阶段阶段用户方用户方分析人员分析人员项目经理项目经理诱导、演示、模拟诱导、演示、模拟业务流程报告业务流程报告软件环境报告软件环境报告现行系统接口报告现行系统接口报告用户的需求描述用户的需求描述图图需求分析第三阶段角色及工作流程需求分析第三阶段角色及工作流程7.7.软件需求文档软件需求文档软件项目客户软件项目客户了解软件项目能够提供的软件产品,检查软件需求是否满足需要了解软件项目能够提供的软件产品,检查软件需求是否满足需要项目管
19、理人员项目管理人员根据需求文档制定项目的开发计划和软件过程,初步预测资源的使用根据需求文档制定项目的开发计划和软件过程,初步预测资源的使用软件开发人员软件开发人员理解要开发的产品及具体要开发的内容理解要开发的产品及具体要开发的内容软件测试人员软件测试人员验证软件系统是否满足了预期的要求验证软件系统是否满足了预期的要求软件维护人员软件维护人员使用需求文档帮助理解软件系统内在的逻辑关系使用需求文档帮助理解软件系统内在的逻辑关系软件发布人员软件发布人员在需求文档的基础上编写用户文档,如用户手册在需求文档的基础上编写用户文档,如用户手册使用对象使用对象需求文档的作用需求文档的作用软件培训人员软件培训人
20、员在需求文档的基础上编写培训材料在需求文档的基础上编写培训材料8.8.需求分析阶段性成果需求分析阶段性成果需求分析的重要阶段性成果有:(1)用户需求说明书(2)需求分析模型文档(3)需求规格说明书用户需求说明书用户需求说明书与与需求规格说明书需求规格说明书的主要区别的主要区别1)前者主要采用自然语言来表达用户需求,其内容相对于后者而言比较粗略,不够详细。2)后者是前者的细化,更多地采用计算机语言和图形符号来刻画需求,即将开发的软件产品的需求,产品需求是软件系统设计的直接依据。软件需求规格软件需求规格SRSSRS说明书说明书作用:内容:大纲:5.2 5.2 需求分析阶段的团队组织需求分析阶段的团
21、队组织由于需求分析是需要开发方与用户方密切协作的一个工作阶段,所以,本阶段的团队管理包含项目参与双方团队的管理工作。项目管理项目管理委员会委员会项目经理项目经理软件开发方项目经理项目经理用用户户方方软件开发软件开发质量检测质量检测配置管理配置管理系统分析系统分析业务职能部业务职能部技术部技术部质量部质量部需求分析团队组织模型需求分析团队组织模型1.1.在需求分析阶段参与项目的人员及工作职责如下在需求分析阶段参与项目的人员及工作职责如下(1)项目经理项目经理:负责需求分析阶段项目进度的安排和控制;参与项目的各种资源调度;(2)系统分析人员系统分析人员:完成软件需求说明书的编制任务。(3)程序员程
22、序员:完成原型系统的开发工作.(4)质量管理人员质量管理人员:负责组织有关人员完成对需求分析工作的质量审核需求说明书的评审工作。(5)配置管理人员配置管理人员:对于通过评审的需求说明书纳入软件的配置管理项;(6)用户方的技术人员用户方的技术人员:用户方参与项目的技术负责人员,通过与系统分析人员的沟通,确定系统的技术实现方案。要求该人员具有对需求说明书中系统技术方案的最终签字认可权;(7)用户方的业务人员用户方的业务人员:用户方参与项目的业务负责人员,经过与系统分析人员的沟通,确定未来软件系统实现的具体功能和业务模型。要求该类人员对需求说明说中的业务需求具有最终签字认可的权利.1.在需求分析阶段
23、参与项目的人员及工作职责如下在需求分析阶段参与项目的人员及工作职责如下 把所有与需求直接相关的活动统称为“需求工程”。需求工程的活动分为两大类:需求工程的活动分为两大类:一类属于需求开发需求开发;需求开发的目的是:通过调查与分析,获取用户需求并定义产品需求。另一类属于需求管理需求管理:需求管理的目的是:在用户与开发人员方对需求有着共同理解的基础上,维护需求的完整性和一致性,并控制需求的变更5.3需求管理需求开发需求开发需需求求获获取取需需求求分分析析需需求求定定义义需需求求验验证证需求管理需求管理需求跟踪需求跟踪需求变更控制需求变更控制 版本管理版本管理 需求复用需求复用需需求求工工程程需求工
24、程结构图需求工程结构图需求工程5.3.1 5.3.1 需求开发需求开发 需求开发的过程有4个主要活动:需求获取 需求分析 需求定义(规格说明)需求验证1.1.需求获取的主要方法需求获取的主要方法需求获取是需求工程的主体。对于所建议的软件产品,获取需求是一个从了解、理解到确定不同用户需要和限制的过程。需求获取的困难有:需求获取的困难有:(1)分析人员知识领域的缺乏(2)用户对需求描述不清(3)对需求理解上的偏差(4)需求变更(1)基于调查调查的需求获取方法(2)基于用例用例的需求获取方法(3)基于原型法原型法的需求获取方法需求获取的方法(1)需求调查准备需求调查准备。一般围绕以下3个中心进行:首
25、先,要确定需求调查的内容内容;其次,应当确定需求调查的方式方式;最后,确定调查的时间、地点时间、地点和人员人员等 (2)进行需求调查并记录进行需求调查并记录。(3)分析用户的需求信息并撰写分析用户的需求信息并撰写用户需求用户需求说明书说明书(4)进行需求确认工作进行需求确认工作。需求调查工作流程案例研究案例研究学生管理系统学生管理系统 我系准备设计学生管理系统的软件,以解决日益复杂的学生管理的复杂度问题。本案例目的是实施数据库的规划设计;按照事实发现的步骤,应该如何进行呢?案例说明案例说明事实的发现与收集事实的发现与收集1、明确组织结构和组织工作的基本流程。方法:查阅组织的发展历程和历史;查阅
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 需求 分析 PPT
限制150内