软件需求工程的概念.ppt
《软件需求工程的概念.ppt》由会员分享,可在线阅读,更多相关《软件需求工程的概念.ppt(63页珍藏版)》请在三一办公上搜索。
1、63,1,软件需求工程的概念,北京航空航天大学软件工程研究所罗燕京 2013.2第7版,63,2,软件需求工程的概念,对软件需求的认识软件需求工程的基本框架需求与其他项目过程的联系需求工程描述,63,3,对软件需求的认识,63,4,1.1 对软件需求的初级认识,需求不是根本问题,编码才是软件开发工作。给我一个项目,无论需求多么复杂我一定能完成它。需求很重要,但很容易搞清它。在初级软件开发人员的潜意识中需求不是那么可怕,编程技术才是重要的。当这些问题与需求管理处理技能不足,缺乏管理工具,出现需求管理混现时才会逐渐引起项目管理者的重视。,1.2 业界的当前状况,根本某软件公司近五年的实践总结,在软
2、件项目开发中的主要分类10种问题;总结的10种问题分类中需求过程占了30%;需求问题占了47%;,63,5,63,6,具体问题实例,我们不了解客户的配合工作执行情况,很难有机会与客户交流项目进度情况,存在沟通理解偏差的情况;前期需求方面加大力度,明确及确认各项需求边界,做好需求变更控制;xx项目需求变更过大,不能有效控制;频繁的人员变动及需求变更导致进度不断延迟;需求没有在实际开发开展之前与客户达成共识;,63,7,具体问题实例,总体感觉项目范围界限没有用需求规格说明书或者需求说明书规范,导致在系统设计、开发的过程中发现问题无据可查。客户不断的提出修改要求,使最初的有序开发,逐步转变为疲于应付
3、客户新要求面对需求频繁变更给我们带来的许多不确定性的问题,目前没有太好的办法来解决。客户方对自己的需求并不清晰,开发项目过程受客户方影响过大,客户方在适用阶段才提出了不少的变更;,63,8,具体问题实例,没有受控的需求,甚至需求还未完成的基础上就已开始了测试工作;一份与客户达成共识的需求规格说明书很重要!售前工作方面提升的空间很大,包括与客户沟通、收集客户需求、编写方案、等等技术技能方面都比较欠缺,对行业领域内的专业知识还需要进一步的积累;,63,9,总结评估,说明大部分软件项目所遇到的问题是基本一致的;说明软件研发人员对所遇到的问题的认识是基本一致的;说明大多数软件项目的技术过程瓶颈是基本一
4、致的;说明软件需求过程问题是当前项目研发中的主要过程技术瓶颈;,63,10,1.3 项目失败的根本原因,需求来源:市场需求主导不足不完整的需求缺乏用户介入不实际的客户期望需求和规范的变更缺乏高层的支持胜任的团队成员大少缺乏项目管理经验,63,11,63,12,1.4 相对重要的软件问题,一次调查以确定在产业中相对重要的软件问题,根据3800个被调查人的回答,大约半数的被调查者回答的两个最大问题是:1)需求规格说明 2)管理客户需求相对而言编码不是问题很显然,我们完全可以把需求当作导致软件问题的最根本原因。,63,13,需求错误的频率,缺陷来源 潜在缺陷 排除的效率 提交的缺陷需求 1.00 7
5、7%0.23设计 1.25 85%0.19编码 1.75 95%0.09建档 0.60 80%0.12不恰当修复 0.40 70%0.12合计 5.00 85%0.75,63,14,需求错误的频率,需求错误在提交缺陷(用户着到的缺陷)中是最高的,占了大约全部提交缺陷的三分之一。因此需求错误是系统开发错误中最常见的一类错误。,63,15,1.5 需求错误的高昂代价,如果把编码阶段发现和修复一个错误所需要的努力用1个成本单元表示的话,那么需求阶段的错误修复成本是它的5到10倍。而且,在维护阶段发现和修复一个错误的成本超过20倍。在项目的需求阶段发现错误所花费的成本与维护阶段发现错误的成本比例是20
6、0:1,63,16,在生命周期不同阶段修复缺陷的相对成本,20,5,2,1,0.5,0.1,需求,设计,编码,单元测试,验收测试,维护,63,17,结论,需求错误可能是最常见的错误。需求错误可能是修改花费最昂贵的错误。需求错误可能消耗整个项目预算的25%到40%。给定需求错误的频率及其“修改成本”的倍增效果因子,可以预言,需求错误将占去返工成本的70%或更多。返工通常会消耗项目预算的30%到50%,因此得出:需求错误很容易就消耗掉整个项目预算的25%到40%!,63,18,1.6 软件需求的主要问题,领域知识需求过程需求方法需求技术需求工具需求管理经验高层管理的支持胜任的团队成员资金与时间,6
7、3,19,软件需求的主要问题,63,20,什么是好的需求,好的需求是正确的、无歧义的、可检验和可验证的并且是可跟踪的。好的需求集合是完整的、一致的和可修改的。(IEEE软件需求规格说明标准),63,21,对现代软件需求的认识,软件需求是领域知识的学习、经验积累的过程。软件需求是领域知识的传递过程。软件需求是在软件开发过程中迭代增量的认识过程。软件需求是不断变化的,我们要承认和适应这种变化,要学习适应软件变化的技术和方法。软件需求是软件开发过程中最关键的过程。,63,22,软件需求工程的基本框架,63,23,软件需求工程的概念,软件需求工程包括了以下主要内容:对软件需求基本知识的学习和了解掌握一
8、个基本的需求过程熟练过程活动的方法和技术,软件需求过程的六个主要活动,软件需求过程包括需求开发和需求管理两大类活动。需求开发活动需求获取需求分析需求定义需求管理活动需求验证和确认需求跟踪需求变更控制,63,24,63,25,开发过程产品,软件需求工程的基本框架,63,26,需求处理过程的生命周期,63,27,软件需求过程,软件需求过程包括需求开发和需求管理两大类活动。需求开发活动需求获取、需求分析、需求定义需求管理活动需求验证和确认、需求跟踪、需求变更控制,63,28,需求开发与需求管理之间的界限,63,29,基本的软件需求过程,63,30,好的过程属性,过程被书面化过程是灵活的,可变的每个人
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 工程 概念

链接地址:https://www.31ppt.com/p-5018960.html