需求工程.doc
《需求工程.doc》由会员分享,可在线阅读,更多相关《需求工程.doc(5页珍藏版)》请在咨信网上搜索。
1、第1章 需求问题本章要点:需求是软件项目成败的关键所在越早发现需求错误,越早改正它,其代价越小需求是系统必须具有的能力好的需求特征:无歧义、完整、一致、可检验、确定的、可跟踪的、正确的、可行的和必要的中国有句谚语:“好的开始就等于成功的一半”;西方谚语是:“Garbage in,garbage out!”两者都表明,从项目一开始,就要有正确的用户需求1.1软件开发的目标:满足用户的需要1.2项目失败原因:(1)缺乏用户介入(2)不完整的需求和规格说明 (3)不断改变的需求和规格说明项目成功的原因:(1)用户介入(2)高层管理的支持 (3)需求陈述清晰1.3需求在项目中的作用:奠定了软件工程和项
2、目管理的基础1.4需求错误的代价会随着项目的展开而发生变化。如果需求错误能够被及时的修复,那么其代价就会被限制在一定范围内。如果不能及时发现并修正需求错误,让它泄漏到其后的项目设计等阶段,那么修正成本会越来越高,只要原因是:面向需求的错误被发现的时候,开发小组已经投入了时间和精力对这些错误的需求进行设计。其结果是设计可能作废或者返工。另外,它也可能掩盖了错误的真是特征。可能会提高成本的几个方面: 重新进行需求规格说明、重新设计、重新编码、重新测试、改变订单、纠正活动、报废、收回有缺陷的软件产品以及相关的用户手册、产品赔偿或保修的成本、重新安装新版本的成本、重新建档的成本1.5高质量的需求过程带
3、来的好处: 简化软硬件的集成、确保软硬件系统功能匹配适当、降低需求变更带来的负面影响、有利于系统测试、确保产品质量、使所有涉众感到满意1.6若干需求的定义: IEEE软件工程标准词汇表(1997版) (1)用户解决问题或达到目标所需的条件或能力 (2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力 (3)一种反应上面(1)或(2)所描述的条件或能力的文档说明 一个包容且更为精炼的定义: (1)用户解决某一问题或达到某一目标所需的软件功能(2)系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备额软件功能1.7好的需求应具有的特性: 概括为“内涵
4、一致,外延完整”具体:一致性 全面性1.7.1歧义因素1.7.2完整性因素1.7.3一致性因素1.7.4可检验性因素1.7.5确定性因素1.7.6可跟踪性因素1.7.7正确性因素1.7.8可行性因素1.7.9必要性因素第2章 需求的层次本章要点:需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求需求路线图:涉众需要系统的特性建立软件需求软件需求包括不同的层次:业务需求、用户需求、功能需求和非功能需求 业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目前景文档中予以说明 用户需求描述了用户使用产品必须要完成的任务,这在用例文档或方案脚本说明中予以说明 功能需求定义了开
5、发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。这些软件功能首先表现为系统特性。功能需求,连同其后说明的非功能需求,在软件需求规格说明中说明 非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的的限制2.1业务需求2.2用户需求2.3功能需求2.4非功能性需求 2.4.1可靠性 影响可靠性的因素:MTBF(平均无故障时间)MTTR(平均修复时间)即使出现故障,系统也能可靠运行吗?复制和故障转移的方案是什么?系统故障时,需要手动干预,还是系统可以自动进行故障转移?系统的安全性如何?实现可靠性会对性能造成
6、负面影响吗?实现可靠性的成本有多高? 2.4.2可用性 2.4.3有效性 有效性划分为性能和可伸缩性两个子范围 2.4.4可维护性 2.4.5可移植性 2.4.6约束 约束是指对开发人员在软件产品设计和构造上的限制2.5需求路线图需求路线图反映了从用户需求到软件需求的一般路径,即从问题领域转向解决方案领域。具体路径可以表述为涉众需要系统的特征建立软件需求涉众的需要是新系统必须解决的业务或运行问题的一个反映特性是系统为了完成涉众的一个或多个需要而提供的服务特性附加属性用来在特性和其他项目信息之间建立联系特性属性: 状态:跟踪项目基线定义及后续开发的进程 优先级/效益:用于范围管理和确定开发优先级
7、。所有特性并非平等的。根据特性的相对优先级把它们划分等级 工作量:有助于建立符合实际的进度、目标和开支预算。预测团队的工作量等级,有助于对在给定的时间范围内能完成什么,不能完成什么建立预期 风险:对特性导致风险的预测,如成本过高、进度延迟甚至项目被取消等 稳定性:对特性出现变更的可能性的预测,用于帮助建立开发优先级,以及确定哪些是需要继续启发的 目标发布:记录特性第一次出现的最早产品版本 分配给:指出谁将负责实现特性 原因:用来跟踪所要求的特性来源 第3章 软件需求与产品生命周期本章要点主要软件生命周期模型(瀑布模型、快速应用开发模型(RAD)、螺旋模型、RUP、迭代模型)的特点分析敏捷方法形
8、式化方法如何选择生命周期模型3.1瀑布模型 软件工程的线性顺序模型,有时也称“传统生命周期”或“瀑布模型” 瀑布模型提出了软件开发的系统化的、顺序的方法,从系统需求开始,随后是分析、设计、编码、测试和维护。借鉴了传统的工程周期 瀑布模型包含以下活动:系统工程和建模软件需求分析设计代码生成测试维护 瀑布模型的优点:客户很容易熟悉该模型以有序的方式解决复杂的问题,易于理解,目标简单完成所需要的活动可以严格控制项目进程,使项目管理易于实施方便按阶段设置里程碑,便于项目跟踪定义了质量控制过程。运用该过程来确定系统的质量 瀑布模型的缺点:它有内在的线性顺序它不能准确反映软件开发中解决问题的特点它的状态和
9、进展容易给人以错觉最后集成造成较大的风险他是文档驱动的,文档工作量非常大当瀑布模型必须面对范围管理的挑战时,就显得力不从心了实际的项目很少按照该模型给出的顺序进行用户常常难以清楚的给出所有需求,而瀑布模型却要求如此开发者常常被不必要地耽搁 采用瀑布模型需要具备以下这些项目特征:在系统开发前需要对要求有完整、全面、清晰的了解上述需求不存在隐含的不可克服的风险需求变更不能过于频繁不同渉众的需求互相兼容,不存在明显的冲突开发团队掌握了解决需求问题的有效方法开发期限允许分阶段的串行工作3.2快速应用开发模型(RAD)RAD方法包含如下几个阶段: 需求计划阶段 用户描述 构建阶段 结束RAD模型的优点列
10、举如下: 采用高效率的开发工具,从而减少了整个产品的开发周期。提高了生产率,降低了成本 用户能够储蓄地参与开发,提高了用户参与程度,从而使用户的满意度上升,保证了系统能够满足用户的需要 工作重点从文档转为构建,所见即所得RAD模型的缺陷: 如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响 要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降 盲目应用时,会缺乏成本概念和项目完成的时间限制。项目有永远不能完结的风险 对于大型的但可伸缩的项目,RAD需要足够的人力资源以创建足够的RAD组 RAD要求承担必要的快速活动的开发者和用户在一个很短的时间框架下完成一个系统。如果两房中的
11、任何一方没有完成约定,都会导致RAD项目失败以下几种情况时,项目可以采用RAD模型:系统可模块化和可缩放用户能参与到整个生命周期中项目开发周期很短,通常约60天项目团队熟悉问题领域,能熟练使用开发工具3.3螺旋模型螺旋模型每一次迭代包含以下6步: (1)决定目标,替代方案和约束 (2)识别和解决项目和风险 (3)评估技术方案和替代方案 (4)开发本次迭代的交付物和验证迭代产生的正确性 (5)计划下一次迭代 (6)提交下一次迭代的步骤和方案螺旋模型的优点: 能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失 使用户能够尽早讲信息经常反馈给开发人员,保证了产品的正确性和高质量 可以方
12、便地评估和验证每次迭代的成果,实现从开发到维护的无缝连接螺旋模型的缺点: 如果项目本身是低风险的或者规模较小,采用该模型可能产生昂贵的成本。每一次螺旋结束后评估风险的时间及人工耗费都较大模型本身比较复杂,开发人员和用户难于掌握 大量的中间阶段会产生额外的内外部文档 难以定义没个阶段的目标以下情形可采用螺旋模型: 适用于大型项目;更适用于内部开发 用于新功能、新产品或需要采用新技术时 收益不确定,项目不能确保成功时 用户不能确定其需求或需求很复杂时3.4 统一软件开发过程(RUP)RUP是一个面向对象且基于网络的程序开发方法论 3.4.1统一开发过程RUP的二维开发模型 3.4.2RUP的核心概
13、念 角色:描述某个人活着一个小组的行为与职责。RUP预先定义了很多角色 活动:是一个有明确目的的独立工作单元 工件:是活动生成、创建或修改的一段信息 3.4.3RUP中的各个阶段和里程碑: (1)初始阶段 生命周期目标里程碑 (2)细化阶段 生命周期结构里程碑 (3)构造阶段 初始功能里程碑 (4)交付阶段 产品发布里程碑 3.4.4RUP的核心工作流 6个核心过程工作流:(1)业务建模 (2)需求 (3)分析和设计 (4)实现 (5)测试 (6)部署 3个核心支持工作流: (1)配置和变更管理 (2)项目管理 (3)环境 3.4.5RUP的裁剪(1)确定本项目需要哪些工作流 (2)确定每个工
14、作流需要哪些产品 (3)确定4个阶段之间如何演进 (4)确定没个阶段内的迭代计划 (5)规划工作流内部结构 3.4.6RUP的迭代开发模式 与传统的瀑布模型相比,迭代过程具有其自身的优点: (1)降低了在一个增量上的开支风险 (2)降低了产品无法按照既定进度进入市场的风险 (3)加快了整个开发工作的进度 (4)迭代过程使适应需求的变化会更容易些 3.4.7RUP的6大经验(1)迭代式开发 (2)管理需求 (3)基于组件的体系结构 (4)可视化建模 (5)验证软件质量 (6)控制软件变更 3.4.8RUP的十大要素(1)开发一个前景 (2)达成计划 (3)标识和减小风险 (4)分配和跟踪任务 (
15、5)检查商业理由 (6)设计组件构架(7)对产品进行增量式的构建和测试 (8)验证和评价结果 (9)管理和控制变化 (10)提供用户支持 3.4.9RUP总结 RUP的长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,具有较大的通用性。 RUP的不足:RUP只是一个开发过程,并没有涵盖软件过程的全部内容。3.5 迭代式模型 3.5.1迭代 迭代的定义:迭代包括产生产品发布(稳定、可执行产品版
16、本)的全部开发活动和要使用该发布必需的所有其他外围元素。 3.5.2迭代方法在需求管理中的优势 迭代方法的优点:(1)更好的需求变化适应性 (2)更好的范围管理 3.5.3迭代模型与瀑布模型的差别: 迭代模型和瀑布模型的最大差别就在于风险的暴露时间上3.5.4迭代方法常见的问题:(1)过分详细的规划 (2)项目不收敛 (3)做起来再说 (4)回避棘手问题 (5)忘记新风险 (6)不同的小组按自己的进度进行工作(7)第一次迭代做太多的事情 (8)太多的迭代 (9)迭代重叠 3.5.5应用迭代方法给分析人员带来的新思维3.6 敏捷方法敏捷方法的价值观:(1)沟通 (2)简单 (3)反馈 (4)勇气
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 工程
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。