软件需求工程课件_第1页
软件需求工程课件_第2页
软件需求工程课件_第3页
软件需求工程课件_第4页
软件需求工程课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件需求分析与形式化方法

丁艳辉E-Mail:dingyanhui@1软件需求分析与形式化方法软件需求分析与形式化方法

这是一门什么样的课程?(What)为什么要学习这门课程?(Why)如何学习这门课程?(How)2软件需求分析与形式化方法这是一门什么样的课程?(What)《软件需求分析与形式化方法》

是一门什么样的课程?软件软件是程序以及开发、使用和维护程序需要的所有文档。软件的开发举例:盖房子3《软件需求分析与形式化方法》

是一门什么样的课程?软件软件是建造过程确定和分析需求提出并文档化房子的总体设计提出房子的详细规格说明识别并设计房子的组成部分(房子、管道、电)构建房子的每一个组成部分测试房子的每一个组成部分把房子的各个组成部分集成在一起,在住户搬进来之前做最后的修改由房子的住户持续进行维护4建造过程确定和分析需求4软件的开发包括以下活动需求分析和定义系统设计程序设计编写程序单元测试集成测试系统测试系统交付维护5软件的开发包括以下活动需求分析和定义5这是一门什么样的课程?研究如何有效地获得需求(需求开发),并有效地对需求进行管理(需求管理)。6这是一门什么样的课程?研究如何有效地获得需求(需求开发),6第2个问题:为什么要学习这么课?图1-1CHAOS报告数据分析7第2个问题:为什么要学习这么课?图1-1CHAOS报告表1-1项目超支、超期情况分析项目超支项目比例进度超期项目比例<20%15.5%<20%13.9%21%-50%31.5%21%-50%18.3%51%-100%29.6%51%-100%20.0%101%-200%10.2%101%-200%35.5%201%-400%8.8%201%-400%11.2%>400%4.4%>400%1.1%8表1-1项目超支、超期情况分析项目超支项目比例进度超期项目成功因素权重失败因素权重用户的参与15.9%不完整的需求13.1%执行层的支持13.9%缺乏用户参与12.4%清晰的需求描述13.0%资源不足10.6%合适的规划9.6%不切实际的用户期望9.9%现实的客户期望8.2%缺乏执行层的支持9.3%较小的里程碑7.7%需求变更频繁8.7%有才能的员工7.2%规划不足8.1%主权5.3%提供了不再需要的7.5%清晰地愿景和目标2.9%缺乏IT管理6.2%努力的工作和稳定的员工2.4%技术能力缺乏4.3%其他13.9%其他9.9%表1-2项目成败因素分析9成功因素权重失败因素权重用户的参与15.9%不完整的需求13“项目需求无疑是在软件项目前期造成麻烦的一个最大原因,一个又一个研究表明,当项目失败时,需求问题正是核心问题.”--------R.Glass10“项目需求无疑是在软件项目前期造成麻烦的一个最大原因,第2个问题:为什么要学习这门课?《软件需求分析与形式化方法》主要在需求分析阶段,有效地发现和解决与需求相关的问题。因此,需要学习这门课。11第2个问题:为什么要学习这门课?《软件需求分析与形式化方第3个问题:如何学习这门课?多看多思考多动手12第3个问题:如何学习这门课?多看12第一章需求工程概述1、什么是软件需求?例如,对于选课系统,用户有哪些需求?Davis认为,软件需求是从软件外部可见的,软件所具有的、满足于用户的特点、功能及属性等的集合。13第一章需求工程概述1、什么是软件需求?Davis认IEEE,软件工程标准词汇表将需求定义为:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。14IEEE,软件工程标准词汇表将需求定义为:14关于软件需求还有不同的定义,原因在于一方面需求工程发展过程还不长(20世纪90年代提出);另一方面,真正的需求实际是在人们的脑海中形成的,很难给予准确的定义。总的来说,软件需求是指软件系统必须满足的所有功能、性质和限制。15关于软件需求还有不同的定义,原因在于一方面需求工程发2、软件需求的分类目标需求:表示组织或客户高层次的目标;(描述了组织为什么要开发一个系统)业务需求:描述用户的目标,或用户要求系统必须完成的任务;功能需求:规定开发人员必须在产品中实现的软件功能;性能需求:实际的软件系统功能应达到的技术指标;约束与限制:软件开发人员在设计和实现软件系统时的限制。162、软件需求的分类目标需求:表示组织或客户高层次的目标;(描3、需求规格说明软件需求规格说明是软件所应满足的全部需求,并可用文档的方式完整和精确地陈述这些需求。173、需求规格说明软件需求规格说明是软件所应满足的全部4、需求工程指应用工程化的方法、技术和规格来开发和管理软件的需求。184、需求工程指应用工程化的方法、技术和规格来开发和管5、需求的开发和管理需求工程需求开发需求管理需求获取需求分析需求描述需求验证195、需求的开发和管理需求工程需求开发需求管理需求获取需求分析需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用户需求信息。需求分析:对获得的用户需求信息进行分析和综合,即提炼、分析和仔细审查已收集到的用户需求信息,并找出其中的错误、遗漏或其他不足的地方,以获得用户对软件系统的真正需求,建立软件系统的需求模型。20需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用3)需求定义:使用适当的描述语言,按标准的格式描述软件系统的需求,并产生需求规格说明及其相应文档。4)需求验证:审查和验证需求规格说明是否正确和完整地表达了用户对软件系统的需求。213)需求定义:使用适当的描述语言,按标准的格式描述软件系统的6、需求管理基准需求说明分析编写文档评审、商议需求变更过程市场需求客户管理市场客户管理项目环境当前基线需求开发需求管理修正后基线需求变更项目变更需求开发与管理之间的界线226、需求管理基准需求说明分析需求变更过程市场需求客户管理市场7、优秀需求的特点完整性:每一项需求都必须将所有实现的功能描述清楚,以便开发人员获得设计和实现这些功能所需的必要信息。正确性:每一项需求都必须准确地描述将要开发的功能。可行性:每一项需求都必须在已知系统和环境的限制范围内是可以实施的。237、优秀需求的特点完整性:每一项需求都必须将所有实现的功能描必要性:每一项需求都应把客户真正需要的和最终系统所遵从的标准记录下来。划分优先级:给每项需求、特性或使用实例分配一个实施优先级,以指明它在特定产品中所占的分量。无二义性:对所有需求说明都只能有一个明确统一的解释。可验证性:检查每项需求是否能通过设计测试用例或其他的验证方法。24必要性:每一项需求都应把客户真正需要的和最终系统所遵从的标准8、需求工程在软件开发中的地位

需求是制定项目计划的基础。需求工程所产生的最终产物需求规格说明是软件设计和软件实现的基础。需求规格说明也是测试工作和用户验收软件系统的依据。需求规格说明也是软件维护工作的依据。258、需求工程在软件开发中的地位需求是制定项目计划的基础。2小结1、什么是软件需求2、软件需求的分类3、需求的开发和管理4、优秀需求的特点5、需求工程在软件开发中的地位26小结1、什么是软件需求26软件需求分析与形式化方法

丁艳辉E-Mail:dingyanhui@27软件需求分析与形式化方法软件需求分析与形式化方法

这是一门什么样的课程?(What)为什么要学习这门课程?(Why)如何学习这门课程?(How)28软件需求分析与形式化方法这是一门什么样的课程?(What)《软件需求分析与形式化方法》

是一门什么样的课程?软件软件是程序以及开发、使用和维护程序需要的所有文档。软件的开发举例:盖房子29《软件需求分析与形式化方法》

是一门什么样的课程?软件软件是建造过程确定和分析需求提出并文档化房子的总体设计提出房子的详细规格说明识别并设计房子的组成部分(房子、管道、电)构建房子的每一个组成部分测试房子的每一个组成部分把房子的各个组成部分集成在一起,在住户搬进来之前做最后的修改由房子的住户持续进行维护30建造过程确定和分析需求4软件的开发包括以下活动需求分析和定义系统设计程序设计编写程序单元测试集成测试系统测试系统交付维护31软件的开发包括以下活动需求分析和定义5这是一门什么样的课程?研究如何有效地获得需求(需求开发),并有效地对需求进行管理(需求管理)。32这是一门什么样的课程?研究如何有效地获得需求(需求开发),6第2个问题:为什么要学习这么课?图1-1CHAOS报告数据分析33第2个问题:为什么要学习这么课?图1-1CHAOS报告表1-1项目超支、超期情况分析项目超支项目比例进度超期项目比例<20%15.5%<20%13.9%21%-50%31.5%21%-50%18.3%51%-100%29.6%51%-100%20.0%101%-200%10.2%101%-200%35.5%201%-400%8.8%201%-400%11.2%>400%4.4%>400%1.1%34表1-1项目超支、超期情况分析项目超支项目比例进度超期项目成功因素权重失败因素权重用户的参与15.9%不完整的需求13.1%执行层的支持13.9%缺乏用户参与12.4%清晰的需求描述13.0%资源不足10.6%合适的规划9.6%不切实际的用户期望9.9%现实的客户期望8.2%缺乏执行层的支持9.3%较小的里程碑7.7%需求变更频繁8.7%有才能的员工7.2%规划不足8.1%主权5.3%提供了不再需要的7.5%清晰地愿景和目标2.9%缺乏IT管理6.2%努力的工作和稳定的员工2.4%技术能力缺乏4.3%其他13.9%其他9.9%表1-2项目成败因素分析35成功因素权重失败因素权重用户的参与15.9%不完整的需求13“项目需求无疑是在软件项目前期造成麻烦的一个最大原因,一个又一个研究表明,当项目失败时,需求问题正是核心问题.”--------R.Glass36“项目需求无疑是在软件项目前期造成麻烦的一个最大原因,第2个问题:为什么要学习这门课?《软件需求分析与形式化方法》主要在需求分析阶段,有效地发现和解决与需求相关的问题。因此,需要学习这门课。37第2个问题:为什么要学习这门课?《软件需求分析与形式化方第3个问题:如何学习这门课?多看多思考多动手38第3个问题:如何学习这门课?多看12第一章需求工程概述1、什么是软件需求?例如,对于选课系统,用户有哪些需求?Davis认为,软件需求是从软件外部可见的,软件所具有的、满足于用户的特点、功能及属性等的集合。39第一章需求工程概述1、什么是软件需求?Davis认IEEE,软件工程标准词汇表将需求定义为:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。40IEEE,软件工程标准词汇表将需求定义为:14关于软件需求还有不同的定义,原因在于一方面需求工程发展过程还不长(20世纪90年代提出);另一方面,真正的需求实际是在人们的脑海中形成的,很难给予准确的定义。总的来说,软件需求是指软件系统必须满足的所有功能、性质和限制。41关于软件需求还有不同的定义,原因在于一方面需求工程发2、软件需求的分类目标需求:表示组织或客户高层次的目标;(描述了组织为什么要开发一个系统)业务需求:描述用户的目标,或用户要求系统必须完成的任务;功能需求:规定开发人员必须在产品中实现的软件功能;性能需求:实际的软件系统功能应达到的技术指标;约束与限制:软件开发人员在设计和实现软件系统时的限制。422、软件需求的分类目标需求:表示组织或客户高层次的目标;(描3、需求规格说明软件需求规格说明是软件所应满足的全部需求,并可用文档的方式完整和精确地陈述这些需求。433、需求规格说明软件需求规格说明是软件所应满足的全部4、需求工程指应用工程化的方法、技术和规格来开发和管理软件的需求。444、需求工程指应用工程化的方法、技术和规格来开发和管5、需求的开发和管理需求工程需求开发需求管理需求获取需求分析需求描述需求验证455、需求的开发和管理需求工程需求开发需求管理需求获取需求分析需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用户需求信息。需求分析:对获得的用户需求信息进行分析和综合,即提炼、分析和仔细审查已收集到的用户需求信息,并找出其中的错误、遗漏或其他不足的地方,以获得用户对软件系统的真正需求,建立软件系统的需求模型。46需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用3)需求定义:使用适当的描述语言,按标准的格式描述软件系统的需求,并产生需求规格说明及其相应文档。4)需求验证:审查和验证需求规格说明是否正确和完整地表达了用户对软件系统的需求。473)需求定义:使用适当的描述语言,按标准的格式描述软件系统的6、需求管理基准需求说明

温馨提示

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

评论

0/150

提交评论