软件开发与需求管理的定义cczd.pptx





《软件开发与需求管理的定义cczd.pptx》由会员分享,可在线阅读,更多相关《软件开发与需求管理的定义cczd.pptx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件需求与需求管理软件需求与需求管理2002-4-4内内 容容软件发展的三个时期软件生存期过程软件开发软件需求需求工程需求变更及其控制CMM2级需求管理关键过程域 一、软件发展的三个时期表一时期年代阶段涉及注重主要使用语言标准模型初期50-60程序设计点编程技巧ALGOLFORTRANCOBOLBASIC中期70-80软件开发线结构化模块化PASCALGB8566软件开发规范瀑布原型现代90-软件过程面过程能力C,C+JAVAVB、VCISO/IEC12207软件生存期过程ISO9000螺旋CMM二、软件生存期过程ISO/IEC12207信息技术软件生存期过程基本过程支持过程组织过程软件生存期
2、过程图1-1 供应过程开发过程运行过程基本过程获取过程维护过程图1-2质量保证过程验证过程确认过程支持过程配置管理过程联合评审过程审核过程文档编制过程问题解决过程图1-3基础设施过程改进过程培训过程组织过程管理过程图1-4三、软件开发1.计算机系统人员硬件软件数据传输机构执行机构(剧作家、导演)(舞台剧本演员道具)图2计算机系统2.软件开发过程:活动任务系统需求分析系统结构设计软件需求分析建立软件需求评价软件需求联合评审软件结构设计软件详细设计软件编码和测试软件集成软件鉴定测试系统集成系统鉴定测试软件安装软件验收支持软件开发面临的实际问题软件开发面临的实际问题软件开发面临的实际问题3当前软件开
3、发项目的特点 规模大:LOC1万几十万HP激光打印驱动软件4万110万 复杂质量要求高满足客户需求和期望客户满意度统计开发和维护成本缺陷后期发现返工成本延误交付期四、软件需求1.系统需求分析软件系统需求(1)系统需求分配软件工程组硬件系统需求(2)其它成分系统需求(n)软件需求客户最终用户系统工程组图3系统需求分配2.软件需求定义(IEEE-STD-610)用户为解决某个问题、或为实现某一目标,要求软件必须满足的条件或能力。软件需求的三个层次业务需求用户需求功能需求和非功能需求非功能需求过程需求:交付需求,实现需求,遵循的标准性能需求:速度,容量,可靠性外部需求:互操作性,伦理性,机密性,安全
4、性,使用要求业务需求业务说明使用实例用户需求功能需求约束条件非功能需求软件需求规格说明图4软件需求的层次质量功能展开(QFDQualityFunctionDevelopment)客户需求常规需求:客户明确提出期望需求:并未明确提出的潜在需求,不言而喻的需求 兴奋需求:客户未想到,若实现客户 感到意外分配需求的实例系统需求ACCS应能使汽车保持在预期车速的2KMH范围内行驶分配给硬件的需求硬件应能使车速在规定的精确度1.5KMH范围内分配给软件的需求软件应能在车速超出预期车速0.5KMH时给硬件加/减速命令软件需求软件应能:读入当前车速值计算当前车速与预期车速之差若差值0.5KMH给出加/减速命
5、令图5汽车限速系统ACCS的需求分配3CMM2级关键过程域需求管理(KPARM)中对软件需求的解释:分配需求(allocatedrequirements):分配给软件的系统需求(1)分配需求包括:影响和确定软件项目活动的非技术性需求(在合同条款中规定),如:要交付的产品交付日期里程碑软件的技术需求,如:最终用户、操作人员、支持或集成的功能性能需求设计约束条件编程语言界面需求用于确认软件产品满足分配需求的验收准则(2)分配需求应当是:以软件来实现是可行的,而且是适合的;已得到清晰而正确的阐述;相互之间是一致的;可以测试的。同时,分配需求应当:被管理和控制(如必要可纳入软件配置管理)是制定软件开发
6、计划SDP的基础是制定软件需求的基础(3)与分配需求相关的组:软件评估组系统工程组系统测试组软件质量保证组SQA合同管理组文档支持组五、需求工程1需求工程需求开发需求管理获取需求分析需求定义需求验证需求需求变更控制需求跟踪需求状态跟踪需求文档版本控制需求开发需求管理需求工程图6需求工程的构成用户/系统市场管理者初始需求变更的需求获取,分析,定义,验证需求控制需求变更需求规格说明项目环境需求开发需求管理图7需求开发与需求管理2需求开发(1)获取需求确定目标用户、服务对象明确用户代表用户培训了解实际业务和业务需求(2)分析需求分清功能需求、性能需求、使用需求必要性可行性(3)定义需求编写软件需求规
7、格说明(SRS)作用要求:完整、正确、可行、无歧意、可验证形式:图、表、文字(4)验证需求联合评审六、需求变更1、难于完全避免初始需求变更的需求对问题的初始理解对问题的新理解时间图8需求的变更2、需求变更原因分析1)单纯的用户因素2)市场形势变化3)系统因素4)工作环境和要求变化5)需求开发的缺陷 需求分析、定义和评审不充分与用户沟通不畅3、需求变更对软件开发的影响使变更前开发工作和成果失效返工成为被迫采取的对策工作量及资源投入的增加使开发成本提高项目完成时间后延4、需求变更失控可能导致的后果未受控的需求变更引起需求和实现不一致需求文档V1系统实现V1系统实现V2需求变更受控的需求 变更使需求
8、和实现一致图7未受控及受控的需求变更需求文档V1需求文档V2系统实现V1系统实现V2需求变更5.降低需求变更风险的策略与用户充分沟通与用户共同明确确定的需求的意义项目开发工作项目开发组织用户*产品后续开发工作的基础*产品维护工作的重要参考*对用户的承诺*关系到项目开发工作的投入、交付期和产品质量*关系到能否如期获得所需的产品*作为合同的附件,关系到双方的权益*是产品验收的依据向用户说明需求不确切或频繁变更对开发工作的冲击使用户理解过多变更最终对用户不利与用户共同确定需求,作为合同附件,签字生效合同中含有对需求变更的条款采用原型方法开发,或螺旋模型开发项目计划中适当留有余地(时间进度、人力投入、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 需求 管理 定义 cczd

限制150内