软件项目需求管理_第1页
软件项目需求管理_第2页
软件项目需求管理_第3页
软件项目需求管理_第4页
软件项目需求管理_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件项目需求工程主要内容软件项目需求概述软件需求开发和管理软件需求规格的定义方法一、软件项目需求概述1.什么是需求需求的基本概念宽泛地讲,需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。需求的重要性FrederickBrooks在他1987年经典文章“NoSilverBullet”中阐述了需求的重要性:开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。需求是产品的根源,需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。国内软件业的痼疾:人们并不清楚究竟该做什么,但却一直忙碌不停地开发。2.了解客户、最终用户、间接用户基本概念“用户”(user)是一种泛称,它可细分为“客户”(customer)、“最终用户”(theenduser)和“间接用户”(或称为关系人)。掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户。客户与最终用户可能是同一个人也可能不是同一个人。3.需求工程基本概念什么是需求工程把所有与需求直接相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。3.需求工程基本概念需求开发过程域需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》。需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《产品需求规格说明书》。系统设计人员将依据《产品需求规格说明书》开展系统设计工作。需求管理过程域需求管理的目的是在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。二、软件需求开发和管理1.需求开发的主要困难与对策知识技能问题态度问题合作关系用户说不清楚需求开发人员写不好需求文档用户经常变更需求2.如何开展需求调查准备调查调研单准备预约执行调查调研会议阅读文档远程调研(电话mail)需求分析2.、调研单调研内容需要文档(是否复印)计划时间计划方式联系人联系方式3.如何进行需求分析基本概念需求分析是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。“问答分析法”比较适合于用户需求调查阶段“建模分析法”比较适合于产品需求定义阶段。问答分析方法问答分析最重要的问题是:“是什么”和“为什么”。其它常见的问题有:需求存在二义性吗?需求文档的上下文有矛盾吗?需求完备吗?需求是必要的吗?需求可实现吗?需求可验证吗?需求的优先级确定了吗?

三、定义需求规格的方法需求规格原型方法结构化分析法面向对象的用例分析法关键功能列表法1.原型方法定义按照用户的需要,快速形成一个操作流程界面可能只是一个框架,具体的功能没有实现,只是结果静态的操作流程,以便与用户快速就需求达成一致主要考虑系统的功能需求,很少考虑非功能需求需求分析原型开发原型评价需求规格原型方法的类型进化型开发出来用于了解问题,并形成被交付软件的部分或全部的基础抛弃型开发出来获以便更多地了解问题或探究可能的方案的灵活性或者合理性,是尝试性软件,不用于被交付软件的实际部分2.结构化分析方法20世纪70年发展起来的面向数据流的方法是一种自顶向下逐步求精的分析方法根据软件内部数据传递、变换的关系进行分析的技术数据流图(DFD)数据字典(DD)系统流程图数据流图是一种描述软件系统逻辑模型的图形符号数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。数据字典描述系统中涉及的每个数据,是数据描述的集合,通常配合数据流图使用,用来描述数据流图中出现的各种数据和加工.组成数据项:数据元素数据流:由数据项组成的数据流数据文件:表示对数据文件的存储数据流图需求分析实例:建立学生管理系统学管科体检科学籍科学生处学管科体检科学籍科学生管理信息系统学生处领导学生基本信息学生健康信息学生成绩学生健康情况表学生成绩单查询要求不及格人数人数统计表数据字典-数据流学生基本信息:学号十姓名学生健康信息:学号十健康情况学生成绩:学号十{课程名+成绩}查询要求:[健康查询单|平均成绩查询单l不及格人数查询]学生健康情况表:优%十良%十一般%十差%学生成绩单:学号十姓名十{课程名+成绩}+总成绩不及格人数统计表:学号十成绩十不及格总人数数据字典-文件文件文件名:基本信息组成:{学号十姓名十入学成绩十生源}组织:按学号递增顺序排列文件名:健康文件组成:{学号+姓名+健康情况}组织:按照健康情况为优、良、一般、差顺序排列文件名:成绩文件组成:{学号+姓名+平均成绩}组织:按照评剧成绩递增顺序排列加工说明加工编号2.1加工名称:学生基本信息处理输入流:合法的学生信息输出流:录入单,修改单,删除单加工逻辑:根据输入的要求,对学生基本信息进行录入、修改或删除3.用例需求(usecase)分析用例需求分析方法采用一种面向对象的情景分析方法用例是系统向用户提供一个有价值的结果的某项功能所有的用例结合起来就构成了用例模型从用户角度出发考虑的功能需求UML

UnifiedModelingLanguage统一建模语言,是一种通用的模拟语言。Booch,Rumbaugh

和Jocobson

基础上发展起来的。1997年11月国际对象管理组织OMG批准将UML作为基于面向对象技术的标准建模语言。UML制定了一整套完整的面向对象的标记和处理方法。UML需求视图用例视图(UsecaseDiagram)顺序图(SequenceDiagram)状态图(StateDiagram)活动图(ActivityDiagram)用例视图用例视图主要是展示了外部行为者所观察到的系统将提交的功能.即:各类外部行为者与系统所提供的用例的连接用例(Usecase):系统所提供的功能描述角色(Actor):可能使用用例的人或者外部系统UML图符

用例实例

用例实例

顺序图示顺序图展示了几个对象之间的动态协作关系,主要用来显示对象之间发送消息的顺序,还显示对象之间的交互,即系统执行某一特定时间点所发生的事。

活动视图

活动图用来描述执行工作流程中涉及的活动,展示了连续的活动流。

UseCase需求分析方法综述识别出系统的Actor描述主要的Usecase实现用例视图实现顺序视图、活动视图、状态视图等4.关键功能列表KFL是对项目的功能需求进行详细说明的一种方法。可以作为用例分析方法的附加说明,详细说明某个用例的具体功能。4.什么是好的需求规格说明书正确清楚无二义性一致必要完备可实现可验证确定优先级阐述“做什么”而不是“怎么做”5.如何定义产品需求第一步:细化并分析用户需求第二步:撰写产品需求规格说明书第三步:进行需求确认软件需求说明书的参考模板6.需求管理:确认、跟踪、变更控制需求确认(评审和承诺)需求评审面临的困难需求承诺需求跟踪需求变更控制需求追踪的意义问题举例:作用地位

忘记实现子需求变更时不清楚要变动的地方搞不清改动的影响面有多大取消需求,设计仍然在进行

追踪信息是项目管理的重要依据追踪信息是变更的重要参考是可靠过程的重要标志定义追踪关系(Links)业务需求系统需求系统测试软件需求硬件需求原理图体系结构PCB图单元设计单元测例集成测例直接追踪间接追踪后向追踪前向追踪实现举例:追踪表追踪表(需求)描述编号FR1.1FR1.2应用图形显示网络拓扑结构应能使用户在图形中选择并编辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论