《[信息与通信]软件项目管理第5章-需求管理课件.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]软件项目管理第5章-需求管理课件.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第5章软件项目需求管理2承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.83承德石油高等专科学校5.1软件项目需求管理概述影响软件项目成败的因素4承德石油高等专科学校n 软件开发的目标按时按预算开发出满足用户真实需要的软件。n 需求一个软件项目的开始阶段。在软件工程中,需求分析阶段是包括客户、用户、业务或需求分析员、开发人员、测试人员、用户文档编写者、项目管理者和客户管理者在内的所有的风险承担者都需要参与的阶段。5承德石油高等专科学校n需求定义l IEE
2、E 软件工程标准词汇表(1997 年)中将需求定义为:用户解决问题或达到目标所需的条件或权能(Capability);系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能;一种反映上面(1)或(2)所描述的条件或权能的文档说明6承德石油高等专科学校l 软件需求包括以下几个层次:业务需求(businessrequirement)用户需求(userrequirement)功能需求(functionalrequirement)同时也包括非功能需求、软件需求规格说明(softwarerequirementsspecification,SRS)等。7承德石油高等专科学校软件需求各组
3、成部分关系8承德石油高等专科学校n需求类型u 在UP(统一过程)中,软件需求是根据FURPS+模型来分类的u 其中FURPS 的含义如下:-Functional(功能性)-Usability(可用性)-Reliability(可靠性)-Performance(性能)-Supportability(可支持性)9承德石油高等专科学校u“+”是指一些辅助性的和次要的因素:Implementation(实现)Interface(接口)Operations(操作)Packaging(包装)Legal(授权)10承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.2
4、5.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.811承德石油高等专科学校需求过程所涉及的工作5.2需求开发和管理过程12承德石油高等专科学校n 需求工程也叫做需求过程或需求阶段,包括需求开发和需求管理。n 需求开发包括需求获取、需求分析、编写需求规格说明、验证需求四个阶段,在这四个阶段执行以下活动:-确定产品所期望的用户类;-获取每个用户类的需求;-了解实际用户任务和目标以及这些任务所支持的业务需求;-分析源于用户的信息以区别业务需求、功能需求、质量属性、业务规则,建议解决的方法和附加的信息;需求开发和管理过程13承德石油高等专科学校 分解需求
5、,并将需求中的一部分分配给软件组件;了解相关属性的重要性;划分实施优先级;编写需求规格说明和模型;评审需求规格,验证对用户需求的正确理解和认识。需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法,可用于获取、组织和记录系统需求并使客户和项目团队在系统需求变更上保持一致。u 有效的需求管理在于维护清晰明确的需求阐述、每种需求类型所适用的属性,以及与其它需求和其它项目工件之间的可追踪性。14承德石油高等专科学校需求开发和管理过程 需求管理活动包括u 定义需求基线u 评审需求变更并评估每项需求变更对软件产品的影响从而决定是否实施它。u 以一种可控制的方式将需求变更融入当前的软件项目。u
6、 让当前的项目计划和需求保持一致。u 估计变更所产生的影响并在此基础上协商新的约定u 实现通过需求可跟踪对应的设计、源代码和测试用例。u 在整个项目过程中跟踪需求状态及其变更情况。15承德石油高等专科学校n需求获取 需求获取的主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、系统环境等,对任务进行分析、从而开发、捕获和修订用户的需求,以建立良好的沟通渠道和方式。需求获取需要执行以下活动:-确定需求开发过程-编写项目视图和范围文档-获取涉众请求-选择每类用户的产品代表-建立典型的以用户为核心的队伍需求开发和管理过程16承德石油高等专科学校让用户代表确定用例召开应用程序
7、开发联系会议分析用户工作流程确定质量属性和其它非功能需求 需求分析u 需求分析包括提炼、分析和仔细审查已收集到的需求,为最终用户所看到的系统建立一个概念模型以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方。17承德石油高等专科学校需求开发和管理过程u 分析用户需求应该执行以下活动:绘制系统关联图 创建用户接口原型 分析需求可行性 确定需求的优先级别 为需求建立模型 建立数据字典 使用质量功能调配18承德石油高等专科学校需求开发和管理过程 需求规格说明u 软件需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所
8、有子系列项目规划、设计和编码的基础。u 需求分析完成的标志是提交一份完整的软件需求规格说明书(SRS)。u 软件需求规格说明作为产品需求的最终成果必须包括所有的需求。u 在开发人员的组织中要为编写软件需求文档定义一种标准模板。19承德石油高等专科学校1 2 3 4 5 6a.引言 目的 文档约定预期的读者和阅读建议产品的范围参考文献b.综合描述产品的前景产品的功能用户类和特征运行环境设计和实现上的限制假设和依赖附录c.外部接口需求附录用户界面附录硬件接口 软件接口通信接口d.系统特性说明和优先级激励/响应序列功能需求e.其它非功能需求性能需求安全设施需求安全性需求软件质量属性业务规则 用户文档
9、f.其它需求g.附件 词汇表 分析模型待确定问题的列表需求开发和管理过程20承德石油高等专科学校需求开发和管理过程 需求验证u 验证是为了确保需求说明准确、无二义性并完整地表达系统功能以及必要的质量特性。u 需求验证要求客户代表和开发人员共同参与,对提交后的需求规格说明进行验证,分析需求的正确性,完整性以及可行性等等。u 需求验证中的活动一般包括:审查需求文档 以需求为依据编写测试用例 编写用户手册 确定合格的标准 最后的签字21承德石油高等专科学校需求开发和管理过程 需求变更管理u 需求变更管理是项目管理中非常重要的一项工作。有效的需求变更管理能对变更带来的潜在影响及可能的成本费用进行评估。
10、u 需求变更管理中活动一般包括:确定需求变更控制过程 建立需求变更控制委员会 进行需求变更影响分析 建立需求基准版本和需求控制版本文档 维护需求变更的历史记录 跟踪每项需求的状态 跟踪所有受需求变更影响的工作产品 衡量需求稳定性22承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.823承德石油高等专科学校5.3需求获取方法 访谈和调研u 和用户进行访谈和调研通常是适用于任何环境下的最重要最直接的方法之一。u 访谈的一个主要目标是确保访谈者的偏见或主观意识
11、不会干扰自由的交流。u“环境无关问题”就是不涉及任何背景的问题。u 通过几次这样的访谈,开发人员和系统分析员能获得一些问题域中的知识,对要解决的问题有进一步的理解。24承德石油高等专科学校需求获取方法 专题讨论会u 专题讨论会是一种可用于任何情况下的软件需求调研方法。u 专题讨论会的目的是鼓励软件需求调研并且在很短的时间内对讨论的问题达成一致。u 专题讨论会一般由开发团队的成员主持,主要讨论系统应具备的特征或者评审系统特性。u 专题讨论会前的准备工作是能否成功的举行会议的关键。25承德石油高等专科学校应用程序 脑力风暴中确定的特征 系统特征定义家用自动照明系统自动照明设置用户可以制定每天自动照
12、明的时间计划,系统将按时间计划触发照明事件任务管理系统代理任务通知当用户将自己的任务代理给其他人时,系统自动发送Email 通知将接手该任务的人脑力风暴中为确定的问题定义系统特征需求获取方法 脑力风暴u 脑力风暴是一种对于获取新观点或创造性的解决方案而言非常有用的方法。u通常,专题讨论会的一部分时间是用于进行脑力风暴,找出关于软件系统的新想法和新特征。u脑力风暴包括两个阶段:想法产生阶段和想法精化阶段。26承德石油高等专科学校需求获取方法 场景串联u 场景串联的目的是为了尽早的从用户那里得到用户对建议的系统功能的意见。u场景串联提供了用户界面以说明系统操作流程,它容易创建和修改,能让用户知道系
13、统的操作方式和流程。u根据与用户交互的方式,场景串联被分成三种模式:静态的场景串联、动态的场景串联以及交互的场景串联。u选择提供哪种场景串联是根据系统的复杂性和需求缺陷的风险来确定的。27承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.828承德石油高等专科学校5.4需求分析建模方法 用例分析方法u 简介 软件需求分析者利用场景或经历来描述用户和软件系统的交互方式,并以此来获取软件需求。使用用例的分析方法来源于面向对象的思想。用例分析方法最大的特点在于面
14、向用例,在对用例的描述中引入了外部角色的概念。u相关技术 用例需求分析常常采用UML(UnifiedModelingLanguage,统一建模语言)技术,UML 是一种面向对象的建模语言。29承德石油高等专科学校需求分析建模方法 原型分析方法u 原型法是为了快速开发系统而推出的一种开发模式,旨在改进传统的结构化生命周期法的不足,缩短开发周期,减少开发风险。u 原型法的理念u 对原型的基本要求u 原型法进行软件需求分析的过程u 原型法的适用范围30承德石油高等专科学校需求分析建模方法 结构化分析方法u 结构化分析方法(StructuredMethod,结构化方法)是强调开发方法的结构合理性以及所
15、开发软件的结构合理性的软件开发方法。u 结构化的分析方法的基本步骤为:需求分析 业务流程分析 数据流程分析 编制数据字典u 结构化分析方法的优点与局限性。31承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.832承德石油高等专科学校5.5需求管理工具uRationalRequisiteProuBorlandCaliberuRationalRoseuRationalXDEuRationalClearCase33承德石油高等专科学校RationalRose
16、是基于UML 的可视化建模工具。UML 全称叫UnfiedModelingLanguage(统一建模语言),UML 是一种语言,一种表示法,就是一种交流沟通的工具,特别适用于软件密集型系统的表示。34承德石油高等专科学校UML(1)UML 是人类思想和计算机代码的一个连接桥梁(2)UML 所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。(3)UML 所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。35承德石油高等专科学校RationalRose1、对业
17、务进行建模(工作流);2、建立对象模型(表达信息系统内有哪些对象,它们之间是如何协作完成系统功能的);3、对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;4、建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等)5、生成目标语言的框架代码,VB、JA V A、DELPHI36承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.837承德石油高等专科学校5.6案例分析 本节以HRMS(HumanResourc
18、eManageSystem)的系统为例,介绍需求的开发和管理过程。需求开发u 需求获取5各模块 员工管理 员工培训管理 员工福利管理 招聘管理 报表38承德石油高等专科学校需求分 类 编号 系统典型需求功能需求(Functional)1 招聘人员:用户可以通过招聘人员2 申请职位:Web 用户可以填写信息申请职位3 查看职位申请信息:Web 用户可以查看职位申请信息4 处理职位申请:管理员可以处理职位申请5 修改申请人信息:管理员可以修改申请人的信息可用性(Usability)1 对于熟悉公司原系统的用户新系统应易于操作2 系统应支持Internet 环境3 系统应给用户提供在线指南可靠性(R
19、eliability)1系统应该在任何时间都能工作,若是出现故障,必须要在一个小时之内修复2 系统应能支持用户在指定的时间备份资料案例分析39承德石油高等专科学校性能需求(Performance)1管理系统必须支持公司内部员工和web 用户同时访问,并且支持同时在线人数不低于100人2 系统的响应时间不超过4秒安全性需求(Security)1 支持多用户访问系统2一般用户只能查看和修改自己的信息不能看到其他人的信息3 公司的下级员工不能查看上级员工的信息4 公司的上级员工可以查看下级员工的信息而不能修改可支持性(Supportability)1 系统采用B/S 结构,用户可以通过Interne
20、t 访问系统2培训系统可以在所有流行的浏览器(如Navigation,IE)上正常显示40承德石油高等专科学校案例分析 需求分析u 本项目采用原型分析方法和用例分析方法相结合来进行需求分析,以用例分析方法为主,对于每个UseCase,创建用户接口说明文档和Usecase 报告,同时建立这个用例的原型。41承德石油高等专科学校案例分析 其中各个角色描述如下:u 角色1:员工(Employee)u 角色2:部门经理(DepartmentManager)u 角色3:上级(Superior)u 角色4:分区经理(DivisionManager)u 角色5:运行官(OperationHead)u 角色6
21、:雇用经理(HiringManager)u 角色7:副董事总经理(DeputyManagingDirector)u 角色8:申请人(Applicant)42承德石油高等专科学校u 角色9:人力资源经理(HRManager)u 角色10:培训经理(TrainingAdministrator)u 角色11:培训中心经理(TrainingCenterAdministrator)u 角色12:商务信息员(BussinessAlert)u 角色13:资产经理(ResourceManager)u 角色14:董事总经理(ManagingDirector)43承德石油高等专科学校用例分析 HRMS中的用例图案
22、例分析44承德石油高等专科学校案例分析u 用例1:招聘员工(RecruitEmployee)u 用例2:候选人分类(CategorizeCandidate)u 用例3:更新面试信息(UpdateInterview)u 用例4:确认候选人(ConfirmCandidate)u 用例5:管理申请(ManageRequisition)u 用例6:记录申请者信息(RegisterApplicantData)u 用例7:修改申请者信息(ModifyApplicantData)u 用例8:确认申请信息(ValidateApplication)45承德石油高等专科学校案例分析 编写UseCase 报告u 为
23、系统中的每个用例编写UseCase 报告,则系统分析与设计人员可以更加清晰的掌握系统架构。u 格式如下:uUseCaseReport:创建员工记录【简短描述】【事件流】【特殊需求】【执行前条件】【执行后结果】【Usecase 图】【场景】46承德石油高等专科学校下表描述了该用例和主角与其他usecase 的关系。HRMS中的用例图案例分析47承德石油高等专科学校n需求变更管理 建立需求基准版本和需求控制版本文档。所有的需求文档都要进行版本控制,文档要包含文档类型、名称、创建者、创建时间、修改者、修改时间、版本号、评审人员等信息。在开发HRMS中,提交的需求文档包括用户界面说明文档、UseCas
24、e 报告、Glossary 文档、软件开发计划、UseCase 模型调研以及补充说明。所有的文档采用统一的编号规则和命名规则。l 文档编号规则系统名缩写“_”文档类型缩写_模块名缩写“_”编号版本号(后文没有+版本号)。l 文档命名规则文档类型“_”文档名“_”版本号。案例分析48承德石油高等专科学校需求变更管理流程案例分析49承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.850承德石油高等专科学校需求管理业务需求反映了组织机构或客户对系统、产品高层次
25、的目标要求,通常在项目定义与范围文档中予以说明。用户需求描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。功能需求定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。51承德石油高等专科学校需求管理需求分析报告报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。52承德石油高等专科学校需求管理1、分析人员要使用符合客户语言习惯的
26、表达2、分析人员要了解客户的业务及目标3、分析人员必须编写软件需求报告4、要求得到需求工作结果的解释说明(图表说明)5、开发人员要尊重客户的意见6、开发人员要对需求及产品实施提出建议和解决方案7、描述产品使用特性8、允许重用已有的软件组件9、要求对变更的代价提供真实可靠的评估10、获得满足客户功能和质量要求的系统53承德石油高等专科学校需求管理11、给分析人员讲解您的业务12、抽出时间清楚地说明并完善需求13、准确而详细地说明需求14、及时作出决定15、尊重开发人员的需求可行性及成本评估16、划分需求的优先级17、评审需求文档和原型18、需求变更要立即联系19、遵照开发小组处理需求变更的过程2
27、0、尊重开发人员采用的需求分析过程54承德石油高等专科学校5.7本章小结 本章讲述了软件项目需求管理的基本概念、特点、过程,通过本章的学习,大家应该了解软件需求管理在软件项目管理中的作用与重要性,并熟悉其基本的方法。软件需求包括以下几个层次:业务需求、用户需求和功能需求,也包括非功能需求、软件需求规格说明等。需求过程包括需求开发和需求管理。而需求开发又包括需求获取、需求分析、编写需求规格说明、验证需求四个阶段。需求获取是为了与客户建立良好的沟通渠道和方式。方法主要包括:访谈和调研、专题讨论会、脑力风暴、场景串联等。需求分析包括提炼、分析和仔细审查已收集到的需求。需求验证是为了确保需求说明准确、
28、无二义性并完整地表达系统功能以及必要的质量特性。常用的需求分析建模方法有用例分析方法、原型分析方法、结构化分析方法、功能列表方法等等。需求管理工具中具有代表性的包括CaliberRM,DOORS,RTM,RationalRequisitePro 等。55承德石油高等专科学校本章内容提要软件项目需求管理概述需求开发和管理过程需求获取方法5.15.25.3需求分析建模方法 5.4需求管理工具 5.5案例分析5.6本章小结 5.7复习思考题 5.856承德石油高等专科学校5.8复习思考题1.什么是软件需求?什么是软件需求管理?2.软件需求包括哪些层次?软件需求根据FURPS+模型是如何来分类的?3.软件需求开发包括哪四个阶段,在这四个阶段执行哪些活动?4.什么是软件需求规格说明?应如何编写?。5.什么是在软件需求变更管理,需求变更管理中有哪些活动?6.试分析需求分析建模方法的几种方法,并比较它们的优缺点。7.什么是需求管理工具?试述几种需求管理工具的用法。8.说说在以后的项目管理中,你将如何进行需求管理。