需求工程概述PPT课件

上传人:无*** 文档编号:193577953 上传时间:2023-03-10 格式:PPT 页数:49 大小:368KB
收藏 版权申诉 举报 下载
需求工程概述PPT课件_第1页
第1页 / 共49页
需求工程概述PPT课件_第2页
第2页 / 共49页
需求工程概述PPT课件_第3页
第3页 / 共49页
资源描述:

《需求工程概述PPT课件》由会员分享,可在线阅读,更多相关《需求工程概述PPT课件(49页珍藏版)》请在装配图网上搜索。

1、讲授人:游静讲授人:游静课时:课时:48学时学时2023-3-102参考教材n毋国庆等,软件需求工程(第2版),机械工业出版社,2013n黄国兴等,软件需求工程,清华大学出版社,2008n于向东等,软件需求开发最佳实践,清华大学出版社,2014n霍雁等,软件需求工程,科学出版社,20122023-3-103软件开发的目标软件开发的目标n软件开发的目标,简单而言,就是满足用户的需要。n谁能准确地说出用户需要什么?客户?用户?开发者?2023-3-104一些基本概念一些基本概念n用户用户(user)。q利用计算机系统所提供的服务的人(们);q直接操作计算机系统的人(们),简单地说,就是直接使用软件

2、系统的人(们)。n客户客户(customer)。q掌握经费的人(们),通常由他(们)决定软件需求,客户可以是用户,也可以不是用户。1.正式接收新开发或修改后的硬件和软件系统的某个(些)人或组织。2023-3-105一些基本概念一些基本概念n软件开发人员软件开发人员(supplier)。为客户开发软件系统的人。n项目相关人员项目相关人员(stakeholder)。指与提出和定义软件需求相关的人,其包括所有的用户、客户、系统分析人员和软件开发人员。这些人都是软件需求的来源,只是他们站在不同的立场看待将要开发的软件系统。2023-3-1060 软件开发过程模型(回顾)软件开发过程模型(回顾)n瀑布式

3、模型n快速原型模型 n渐增式模型 n螺旋式模型 n面向对象的开发模型 2023-3-107瀑布式模型要求用户一开始就提要求用户一开始就提出清晰完整的需求出清晰完整的需求用户的参与用户的参与程度不够程度不够2023-3-108瀑布式模型不足(1)由于开发模型是线性的,要求用户一开始就提出清晰完整的需求;(早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果)(2)段间移交信息(文档)的过程中,由于个人的理解不同,容易产生误解;(3)用户的参与程度不够。2023-3-109快速原型模型 明明确确并并完完善善需需求求2023-3-1010快速原型模型优点和不足优点优点:(1)能弥补弥补

4、瀑布模型中用户参与程度不够等不足;用户可以充分地参与到软件开发中;(2)能减少减少用户需求的遗漏以及(在软件开发后期)用户频繁修改需求的可能性;(4)快速快速。减少开发周期,降低成本。不足不足:(1)用户易于视原型为正式产品;(2)快速原型系统对于软件系统的开发环境要求较多,在一定程度上也影响了其使用的范围和实用价值。(3)对于难以被模块化的系统不适用。2023-3-1011渐增式模型 必须在实现各个构件之前就全部完成需求分析和概要设计工作。2023-3-1012螺旋式模型螺旋式模型将瀑布式模型与快速原型模型结合到一起,并加上风险分析。理解这种模型的一个简便方法是把它看作在每个阶段之前都增加风

5、险分析。2023-3-1013复杂复杂螺旋式模型螺旋式模型成本高成本高经验要求高经验要求高2023-3-1014面向对象的开发模型面向对象的开发模型 所谓面向对象就是应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法。2023-3-1015面向对象的开发模型面向对象的开发模型n特点(1)有一部分分析工作必须在设计之前进行,而另外一些分析工作则需与其他部分的设计与实现工作并行地进行,因而呈现出非线性的工作方式非线性的工作方式。(2)软件系统的表达形式在整个开发

6、模型中都是相同的,即面向对象方法中把类及其结构作为系统的表达单元,无论哪一个阶段都以渐增的方式不断地渐增的方式不断地进化或细化进化或细化这些表达单元。(3)开发模型支持软件的重用软件的重用。2023-3-1016客户开发人员我们要建立一套完整的商业管理软件系统。ok,详细谈谈您想要它做什么?可以完成商品的进、销、存管理,是总店/门店的连锁经营模式。实现门店自动订货、供应商自动结算、卖场扫描条形码进行销售,管理人员可查询销售情况和库存。好的。我已经明白这个项目的大体框架,但在制订计划之前,我们必须先来收集一些需求。我不是刚告诉你我的需求了吗?您只说明了项目的概念和目标。我们需要和使用系统的业务人

7、员进行讨论,才能了解真正的功能要求。业务人员都很忙!他们没有时间!你们可以先开发一个系统或说明一下你们现有的系统。如果我们凭空猜想用户的需求来开发系统,结果不会让人满意。我们不是采购专家和财务专家,并不真正明白您企业内部运营需要做什么。行了行了,我没有那么多时间。按我告诉你的需求开发吧,马上开始,并随时将进展情况告诉我。需求是制定项目计划的基础需求是制定项目计划的基础2023-3-1017冰山模型美国著名心理学家麦克利兰于1973年提出了一个著名的素质冰山模型。所谓“冰山模型”,就是将人员个体素质的不同表现形式划分为表面的“冰山以上部分”和深藏的“冰山以下部分”。其中,“冰山以上部分”包括基本

8、知识、基本技能,是外在表现,是容易了解与测量的部分,相对而言也比较容易通过培训来改变和发展。而“冰山以下部分”包括社会角色、自我形象、特质和动机,是人内在的、难以测量的部分。它们不太容易通过外界的影响而得到改变,但却对人员的行为与表现起着关键性的作用。表面需求说得清潜在需求无意识2023-3-1018第一章需求工程概述2023-3-1019n软件需求的各种定义(1)A.Davis认为:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。(2)I.Sommerville认为:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。(3)M.Jackson等人认为

9、:需求是客户希望在问题域内产生的效果。2023-3-1020nIEEE关于软件需求的定义(1)用户解决问题或达到目标所需的条件或能力;(用户的角度)(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(软件系统的角度)软件需求是指软件系统必须满足的所有功能、性质和限制。2023-3-1021n软件需求的分类(1)目标需求;(2)业务需求;(3)功能需求;(4)性能需求(非功能需求);(5)约束与限制。反映组织或客户对系统和产品提出的反映组织或客户对系统和产品提出的高层次的目标要求,其限定了项目的高层次的目标要求,其限定了项目的范围和应达到的目标。范围和应达到的目标

10、。描述软件系统完成的任务、描述软件系统完成的任务、实际业务或工作流程等实际业务或工作流程等指开发人员必须实现的软件功能指开发人员必须实现的软件功能或软件系统应具体的外部行为或软件系统应具体的外部行为实现的软件系统功能应实现的软件系统功能应达到的技术指标,如计达到的技术指标,如计算效率和精度、可靠性、算效率和精度、可靠性、可维护性和可扩展性等可维护性和可扩展性等软件开发人员在设计和实软件开发人员在设计和实现软件系统时的限制,如现软件系统时的限制,如开发语言、使用的数据库开发语言、使用的数据库等等2023-3-1022n软件需求间的层次关系 2023-3-1023n示例:文字处理系统相关需求用户使

11、用系统能有效地纠正文档中的拼写错误,并且系统能满足用户的业务要求以及提高用户的工作效率。目标需求目标需求当找到文档中的拼写错误时,通过一个可供选择的单词表,并在选择单词表中的某一个单词后替换掉原来的单词。业务需求业务需求查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表。实现整个文档范围内的替换。功能需求功能需求检查单词的速度快,准确率要求达到99,系统的有效性和可靠性要高等。非功能需求非功能需求文件内部格式要与word系统一致。开发平台为Linux系统,以及使用C语言等。约束与限制约束与限制2023-3-10242023-3-1025系统分析员在项目中的作用2023-3

12、-1026n1994年:31.1%的项目完成之前被取消;52.7的项目实际花费超预算189%。n1999年:26%的项目成功,28%的项目是彻底失败,46%的项目存在费用超支、超出工期的问题。n2003年:在被调查的1.35万个项目中,34%成功,15%失败,51%受到质疑。Standish集团公司的研究报告:2023-3-1027 项目失败或严重超支的8个最重要原因中有5个都与需求相关:n不完整的需求;n缺乏用户的参与;n不实际的客户期望;n需求和需求规格说明的变更;1.提供许多不必要的功能。三种最经常使三种最经常使项目遇到困难项目遇到困难的因素的因素2023-3-1028需求错误的代价 R

13、equirements timeDesignCodingUnit testAcceptance testMaintenanceStage.1-.2.512520在生命周期的不同阶段修复缺陷的相对成本 Davis A.M.研究发现,在需求阶段检查和修复一个错误所需研究发现,在需求阶段检查和修复一个错误所需的费用只有编码阶段的的费用只有编码阶段的1/5到到1/10,而在维护阶段做同样的工,而在维护阶段做同样的工作所需付出的代价却是编码阶段的作所需付出的代价却是编码阶段的20倍倍2023-3-1029需求缺陷造成的成本增加n重新进行需求规格说明n重新设计、重新编码、重新测试n改变订单告诉用户将以一个

14、修正后的版本来替代有缺陷的版本。n纠正活动消除由于不准确的特定系统的错误造成的危害,可能涉及到赔偿客户损失。n报废包括对于已经完成的代码、设计和测试,当发现它们是根据不正确的需求进行的时候,这些工作成果不得不被丢弃。n收回有缺陷的软件产品以及相关的用户手册。n产品赔偿或保修的成本。n重新安装新版本的成本。n重新建档的成本。2023-3-1030高质量的需求过程带来的好处 n在开发后期和整个维护阶段的重做的工作大大减少了。n让用户积极参与需求收集过程能使产品更富有吸引力,而且能建立起更加忠实的客户关系。n用户的参与能弥补用户期望和开发者实际开发之间的“鸿沟”(期望差异)。n将确定的系统需求明确地

15、分配到各软件子系统,确保软硬件系统功能匹配适当。n有效的变更控制也能降低需求变更带来的负面影响。n将需求编写成清晰、无二义性的文档将会极大地有利于系统测试,确保产品质量。2023-3-1031需求规格说明需求规格说明n需求规格说明需求规格说明是软件所应满足的全部需求全部需求,并可以文档文档的方式完整和精确陈述这些需求。n重要性需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档。2023-3-1032需求规格说明需求规格说明n内容需求规格说明应精确地描述一个软件系统必须提供的功能功能和性能性能,以及所要考虑的

16、约束约束条件与限制条件与限制。n编写方法需求规格说明也可以说是在1.2节中所定义的所有软件需求的集成,并使用某种描述语言如自然语言按照规定的书写格式编写的文档。2023-3-1033需求规格说明需求规格说明一个好的需求规格说明应该具有的一个好的需求规格说明应该具有的特征特征:完整性完整性正确性正确性可行性可行性必要性必要性划分优先级划分优先级无二义性无二义性可验证性可验证性可跟踪性可跟踪性确定性确定性2023-3-1034需求工程需求工程n需求工程 需求工程是指应用工程化工程化的方法、技术和规格来开发和管理软件的需求。n目的要获取高质量高质量的软件需求。最终产物需求规格说明2023-3-103

17、5需求工程需求工程n任务 q确定待开发的软件系统的用户类用户类,并获取他们的需求信息。q分析用户的需求信息,并按软件需求的类型分类这些分类这些需求信息需求信息,同时也区别出不是需求的信息。q根据软件需求信息建立软件系统的逻辑模型或需求模逻辑模型或需求模型型,并确认非功能需求和约束条件及限制非功能需求和约束条件及限制。q根据收集的需求信息和逻辑模型编写需求规格说明需求规格说明及其文档。q评审评审需求规格说明。1.当需求发生变更变更时,对需求规格说明及需求变更实施进行管理管理。2023-3-1036软件需求的开发和管理过程软件需求的开发和管理过程软件需求的开发和管理开发和管理过程是由导出、确导出、

18、确认和维护软件系统需求规格说明认和维护软件系统需求规格说明的一系列活动组成的。根据需求工程开发和管理过程可大致划分需求开发需求开发和需求管理需求管理两个阶段。其中需求开发主要产生正式的需求规格说明,需求管理主要是根据需求的变化对需求规格说明的内容及版本进行管理。2023-3-1037软件需求的开发和管理过程软件需求的开发和管理过程2023-3-1038软件需求的开发和管理过程软件需求的开发和管理过程需求工程过程可进一步划分为若干阶段。2023-3-1039需求开发过程的主要任务需求开发过程的主要任务(1)需求获取需求获取:确定和收集确定和收集与软件系统相关的、来自不同来源和对象的用户需求信息需

19、求信息。(2)需求分析需求分析:对获得的用户需求信息进行分析和综合,即提炼、分析和仔细审查已收集到的用户需求信息,并找出其中的错误、遗漏或其它不足的地方,以获得用户对软件系统的真正需求,建立软件系统的逻辑模型建立软件系统的逻辑模型(或需求模型)。(3)需求定义需求定义:使用适当的描述语言,按标准的格式描述软件系统的需求,并产生需求规格说明需求规格说明及其相应文档。(4)需求验证需求验证:审查和验证审查和验证需求规格说明是否正确正确和完整完整地表达了用户对软件系统的需求。2023-3-1040需求管需求管理过程的任务理过程的任务有效地管理软件系统的需求规格说明管理软件系统的需求规格说明及其相应文

20、档,评估需求变更带来的潜在影响及可能的成本费用,跟踪软件需求的状态跟踪软件需求的状态,管理管理需求规格说明的版本版本等。2023-3-1041需求工程的内容 2023-3-10421.6 需求工程面临的困难需求工程面临的困难n需求获取与需求分析的困难性(1)有些需求可能用户也不是很清楚;(2)需要用户与开发人间进行充分的交流和协商;(3)需求间的冲突和矛盾的检查以及解决;(4)需求是否完整和确定;(5)合适的需求建模的方法和技术。2023-3-10431.6 需求工程面临的困难需求工程面临的困难n需求描述语言和规范化的困难性(1)怎样规范化用户需求;(2)规范化哪些用户需求;(3)非形式化和形

21、式化描述语言的使用。2023-3-10441.6 需求工程面临的困难需求工程面临的困难n需求验证的困难性(1)需求规格说明正确性的确认和验证;(2)验证的方法和技术;(3)如何进行自动验证。2023-3-10451.6 需求工程面临的困难需求工程面临的困难n需求管理的困难性(1)需求规格说明书的质量保证;(2)需求规格说明书的版本管理;(3)需求变更的控制。2023-3-1046The Standish Groupn美国专门从事跟踪IT项目成功或失败的权威机构,它每年发布CHAOS Report。报告中给出全美IT项目相关调查数据结果。n从历年的Standish Group报告分析看,导致项目

22、失败的最重要原因与需求有关.Standish Group 的CHAOS 报告进一步证实了与成功项目最密切的因素是良好的需求管理,也就是项目的范围管理,特别是管理好项目的变更.2023-3-1047歧义示例:需求:系统只允许保留5个有效的相关记录和保障计划,它必须包括最新的。最新的相关记录?最新的保障计划?总数5个?各5个?修改为:系统只允许5个有效的相关记录 最新的相关记录一定包含在上述相关记录中 每个保障计划都被放在其相关记录中2023-3-1048不确定需求示例需求:系统1应该每隔5分钟向系统2发送一次新记录。5分钟内没有收到新记录怎么办?修改为:如果自上次向系统如果自上次向系统2 2发送

23、消息以来,发送消息以来,5 5分钟内收到了新分钟内收到了新消息,则系统消息,则系统1 1向系统向系统2 2发送新记录。发送新记录。如果在上述如果在上述5 5分钟内没有收到了新消息,则系统分钟内没有收到了新消息,则系统1 1什么什么都不做。都不做。2023-3-1049完整性:应将所有要实现的需求都描述清楚。需求的遗漏更多地由于用户的原因,而后的修正却给开发人员带来极大的困难。(注重用户的任务而不是系统的功能将有助于避免不完整性)正确性:准确地描述系统必须提供的功能。由用户确定,需要将用户需求有效地映入到软件需求。可行性:每一项需求必须在已知系统和环境的限制范围内可以实施。(在获取需求过程中始终有一位软件开发小组的技术人员参与)。必要性:每项需求都是真正来源于用户的实际需要。都能回溯至某项客户的输入。划分优先级:不能把所有需求看做同等重要,会在调度中丧失自由度。无二义性:尽量把每项需求用简洁明了的语言表达出来。(审查、测试用例、开发原型等消除歧义)可验证性:可以通过设计测试用例或其他方法如检测或演示等进行验证。可跟踪性:每条需求都可以从一个需求层次跟踪到另一个需求层次。被唯一标识,以便在设计、实现、测试过程中进行跟踪。有助于确保需求的实现和后期的系统维护。确定性:明确在所有条件下系统应该做什么。

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