©2009BUPTTSEG软件工程模型与方法Models&MethodsofSoftwareEngineering第四章软件需求分析修佳鹏media@bupt.edu.cn©2009BUPTTSEG北京邮电大学通信软件工程中心2本章内容4.1什么是软件的需求4.2软件需求分析的目标和任务4.3软件需求分析建模的原则和方法4.4软件需求工程4.5软件需求分析过程©2009BUPTTSEG北京邮电大学通信软件工程中心3本章目标为何要进行软件的需求分析?软件的需求分析处于软件生命周期的那个阶段?起到什么作用?怎样才能做好软件需求分析?软件需求分析的过程和步骤是什么?软件需求分析的最终结果是什么?©2009BUPTTSEG北京邮电大学通信软件工程中心44.1什么是软件的需求4.1.1需求的定义4.1.2需求分析失败案例©2009BUPTTSEG北京邮电大学通信软件工程中心54.1.1需求的定义需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。Boehm给出软件需求的定义:研究一种无二义性的表达工具,它能为用户和软件人员双方都接受,并能够把“需求”严格地、形式地表达出来。“需求、设计、编程、测试四者究竟哪个环节最重要?”首先,每个环节都是很重要,任何一个环节出现问题,都会导致软件的质量问题。但是,从风险管理的角度来看,需求是软件产品的起源,因而是最重要的一个环节。©2009BUPTTSEG北京邮电大学通信软件工程中心64.1.2需求分析失败案例某大型的电信设备供应商,案例中涉及6个部门A,B,C,D,E和F,它们之间的关系如下图所示:F客户F客户E:网管软件承包商E:网管软件承包商D销售机构D销售机构A:增值业务研发机构A:增值业务研发机构C:项目管理机构C:项目管理机构B:核心平台研发机构B:核心平台研发机构一年前,B研制了一种数据接入服务器的原型。B对A讲:“我们的接入服务器前途很好,请你们帮助开发网管软件(属于增值业务范畴),大家合作把产品做好,一起发财。”D对B和A讲:“你们把接入服务器和网管软件做好,我们负责卖,挣了钱大家一起分。”©2009BUPTTSEG北京邮电大学通信软件工程中心74.1.2需求分析失败案例A觉得机会难得,于是向C申请立项。立项后,A把项目外包给专业做网管软件的公司E,期望半年内完成。由于接入服务器是B的,于是A和E就派开发人员到B处搞需求分析。B的接入服务器并不成熟,老在变,三方折腾了好久,最终E用了一年时间把接入服务器的网管软件做出来了。E把网管软件交...