软件项目需求管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件项目需求管理主要内容软件项目需求概述软件需求开发和管理软件需求规格的定义方法一、软件项目需求概述1.什么是需求需求的基本概念宽泛地讲,需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。需求的重要性FrederickBrooks在他1987年经典文章“NoSilverBullet”中阐述了需求的重要性:开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。需求是产品的根源,需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。国内软件业的痼疾:人们并不清楚究竟该做什么,但却一直忙碌不停地开发。2.了解客户、最终用户、间接用户基本概念“用户”(user)是一种泛称,它可细分为“客户”(customer)、“最终用户”(theenduser)和“间接用户”(或称为关系人)。掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户。客户与最终用户可能是同一个人也可能不是同一个人。3.需求工程基本概念什么是需求工程把所有与需求直接相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。3.需求工程基本概念需求开发过程域需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》。需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《需求规格说明书》。系统设计人员将依据《需求规格说明书》开展系统设计工作。需求管理过程域需求管理的目的是在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。二、软件需求开发和管理1.需求开发的主要困难与对策知识技能问题态度问题合作关系用户说不清楚需求开发人员写不好需求文档用户经常变更需求2.如何开展需求调查准备调查执行调查《用户需求说明书》与《产品需求规格说明书》的主要区别与联系3.如何进行需求分析基本概念需求分析是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。“问答分析法”比较适合于用户需求调查阶段“建模分析法”比较适合于产品需求定义阶段。建模分析法建模分析方法主要有两大类:结构化分析法面向对象分析法4.什么是好的需求规格说明书正确清楚无二义性一致必要完备可实现可验证确定优先级阐述“做什么”而不是“怎么做”5.如何定义产品需求第一步:细化并分析用户需求第二步:撰写产品需求规格说明书第三步:进行需求确认软件需求说明书的参考模板案例6.需求管理:确认、跟踪、变更控制需求确认(评审和承诺)需求评审面临的困难需求承诺需求跟踪需求变更控制三、定义需求规格的方法需求规格原型方法结构化分析法面向对象的用例分析法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实现用例视图实现顺序视图、活动视图、状态视图等需求追踪的意义问题举例:作用地位忘记实现子需求变更时不清楚要变动的地方搞不清改动的影响面有多大取消需求,设计仍然在进行追踪信息是项目管理的重要依据追踪信息是变更的重要参考是可靠过程的重要标志定义追踪关系(Links)业务需求系统需求系统测试软件需求硬件需求原理图体系结构PCB图单元设计单元测例集成测例直接追踪后向追踪前向追踪实现举例:追踪表追踪表(需求)描述编号FR1.1FR1.2应用图形显示网络拓扑结构应能使用户在图形中选择并编辑特定网元追踪表(概要设计)描述编号HD2.1HD2.1.1HD2.2HD2.3网络图形显示绘制网元鼠标点击位置判断网元属性编辑界面追踪到HD2.1HD2.1,HD2.3追踪到LD2.1,IT2.1LD2.1.1LD2.2,IT2.2LD2.3追踪注意事项显示追踪和隐式追踪尽量使用专用工具信息访问权限注意审核及时维护父子关系间接追踪关系冲突关系

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功