资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,软件项目管理,(2),第,2,章,1,教学目标,了解项目生存期模型,掌握软件需求管理,掌握,SA,分析方法,2,建筑工程类项目典型生存期模型,3,制药项目典型生存期模型,4,生存期模型选择,Product,realization,Input,Output,Product,Customer,Requirements,Customer,Satisfaction,5,1,、软件生存期模型,软件生存期模型,:,软件开发的一种框架,说明了软件的活动和进行软件开发的过程,可以是以活动为中心,可以以产品为中心的。,特征,:,描述了开发的主要阶段,定义了每一个阶段要完成的主要过程和活动,规范了每一个阶段的输入和输出,提供了一个框架,可以将必要的活动映射到该框架中。,6,瀑布,V,模型,原型,增量,螺旋式,快速应用开发,渐近式阶段,常见的生存期模型,7,2,、软件项目需求管理,需求管理问题,需求的隐含错误,需求不明确、含糊,用户不断增加需求、变更需求,用户刁难,开发人员的镀金,8,在软件项目开发过程中,经常发生两个普遍的问题,:,1,)在开发结束时,由于系统不满足用户的要求而被拒绝接受,2,)由于需求定义和需求文档不正确,导致成本不断增加、进度滞后,需求问题通常是项目开发中最主要、最普遍的问题源。,9,1,、软件需求,软件需求,是指用户对软件的,功能和性能,的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。,业务需求,用户需求,功能需求,软件需求规格,非功能性需求,质量特性,约束和假设,系统需求,软件需求层次,10,从项目管理的角度看,功能需求,性能需求,环境需求,资源使用需求,成本消耗需求,开发进度需求,显示约束,预先估计以后系统可能达到的目标,11,从项目开发的角度,功能需求:,最主要的需求,需要计算机系统解决的问题,就是对数据处理的要求。功能需求规定了系统必须执行的功能,非功能需求:,一些限制性要求,是对实际使用环境所做的要求,例如,性能要求、可靠性要求、安全性,要求等。,非功能需求比功能需求要求更严格,更不易满足,不能满足非功能需求,系统将无法运行。,12,项目,失败的原因分析,No.,Top 10 Factors,平均值,1,Inadequate requirements specification,不充分的需求规范,4.5,2,Changes in requirements,需求的改变,4.3,3,Shortage of systems engineers,缺乏系统工程师,4.2,4,Shortage of software managers,缺乏软件管理人员,4.1,5,Shortage of qualified project managers,缺乏合格的,项目经理,4.1,6,Shortage of software engineers,缺乏软件工程师,3.9,7,Fixed,-,price contract,固定价合同,3.8,8,Inadequate communications for system integration,系统集成阶段,交流与沟通不充分,3.8,9,Insufficient experience as team,团队缺乏经验,3.6,10,Shortage of application domain experts,缺乏应用领域专家,3.6,Scale:5=Very Serious 3=Serious 1=No Serious,Source:Carnegie-Mellon University,Software Engineering Institute,13,2,、软件需求管理的过程,需求分析,编写需求规格,需求验证,需求获取,需求变更,需求确认,需求变更,14,需求开发(确认,),和管理基本任务,需求工程,需求管理,需求开发,需求获取,需求分析,需求规格说明,需求验证,变更管理,版本控制,风险分析,15,(,1,)需求获取,用户要求,扩展需求,基线需求,软件需求,16,(,2,)需求分析,需求分析,是为最终用户所看到的系统建立一个概念模型,是对需求的抽象描述。,需求分析模型,17,(3),需求规格,需求分析工作完成的一个基本标志是形成了,一份完整的、规范的需求规格说明书,需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。,18,软件需求规格说明的原则,从现实中分离功能,即描述要“做什么”而不是“怎样实现”,要求使用面向处理的规格说明语言(或称系统定义语言),如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中,规格说明应该包括系统运行环境,规格说明应该是一个认识模型,规格说明应该容许不完备性并允许扩充,19,规格文档参考,引言,系统定义,应用环境,功能规格,性能需求,产品提交,实现约束,质量描述,其它,签字认证,20,(,4,)需求验证,需求是正确的吗,?,需求是一致的吗?,需求是完全的吗?,需求是实际可行的吗?,需求是必要的吗?,需求是可检验的吗?,需求是可跟踪的吗?,最后的签字,21,(,5,)需求变更管理,需求总是在变,需要基线管理,22,需求变更管理,确定需求变更控制过程,建立变更控制委员会(,SCCB),进行需求变更影响分析,跟踪所有受需求变更影响的工作产品,建立需求基准版本和需求控制版本文档,维护需求变更的历史记录,跟踪每项需求的状态,衡量需求稳定性,23,需求变更管理流程,管理和控制需求基线的过程,需求变更控制系统,一个正式的文档,说明如何控制需求变更,建立变更审批系统,24,变更申请,需求方,开发方,忽略,选择变更方式,SCCB,评估,项目经理自行决定,根据评估结果,拒绝,接受本次修改,下个版本再修改,修改合同相关信息,修改相关需求,修改相应的项目计划,需求变更管理流程示意,25,表,4-3,需求变更提交单,软件基线产品修改提交单,申请人,韩万江,申请日期,2002.,10,11,项目名称,项目管理系统,阶段名称,系统设计,文件名称,RCR-PM-01.doc,RCR-PM-02.doc,变更简述如下,修改内容,1,)修改测试流程控制:将,2,个角色,,3,个渠道流,改为,3,个角色,,4,个渠道流,详见,RCR-PM-01.doc,2,),增加开发人员技能信息库管理,详见,RCR-PM-02.doc,验证意见,同意,RCR-PM-01.doc,变更。,RCR-PM-02.doc,的变更可以推迟到下一个版本实施,验证,人,杨炎泰,验证日期,2002,10,11,SCCB,韩万江,姜岳尊,孙泉,填表人,韩万江,需求变更管理流程文档,26,需求建模的基本方法,原型方法,结构化分析法,面向对象的用例分析,法,功能列表法,其他,27,原型方法,按照用户的需要,快速形成一个操作流程界面,可能只是一个框架,具体的功能没有实现,只是结果,静态的操作流程,以便与用户快速就需求达成一致,主要考虑系统的功能需求,很少考虑非功能需求,需求分析,原型开发,原型评价,28,原型方法的类型,进化型,开发出来用于了解问题,并形成被交付软件的部分或全部的基础,抛弃型,开发出来获以便更多地了解问题或探究可能的方案的灵活性或者合理性,是尝试性软件,不用于被交付软件的实际部分,29,结构化分析方法(,SA,Structured Analysis,),20,世纪,70,年发展起来的面向,数据流,的方法,是一种,自顶向下逐步求精,的分析方法,根据软件内部数据传递、变换的关系进行分析的,结构化分析方法,-,技术,数据流,图,(DFD),数据字典,(DD),系统流程图,30,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用,层次结构,的数据流图。按照系统的层次结构进行,逐步分解,,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。,或,或,或,符 号,含 义,数据的源点或终点,数据流,数据存储,加工,31,描述银行取款过程的,数据流图,32,分层数据流图,33,数据字典(,DD,),描述系统中涉及的,每个数据,是数据描述的集合,通常配合数据流图使用,用来描述数据流图中出现的各种数据和加工,.,数据字典,-,组成,数据项,:,数据元素,数据流,:,由数据项组成的数据流,数据文件,:,表示对数据文件的存储,34,数据流图,-,顶层,学管科,体检科,学籍科,学生管理,信息系统,学生处领导,学生基本信息,学生健康信息,学生成绩,学生健康情况表,学生成绩单,查询要求,不及格人数,人数统计表,例:,学生管理系统,的数据流图,涉及部门:,学管科、体检科、学籍科、学生处,。,35,数据流,图,-0,层,数据流图,-,第,1,层,36,数据流图,-1,层,数据流图,-,第,2,层,37,数据流图,-,第,2,层,38,建立数据流模型要遵循以下的原则:,(1),每个,加工,至少应有,一个输入数据流,(,反映被处理数据的来源,),和,一个输出数据流,(,反映加工的结果,),。,(2),数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。,(3),对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的,子图,。应保证分层数据流图中任意对应的,父图和子图的输入,/,输出数据保持一致,。,建立数据流模型的原则,39,(4),在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。,(5),在父图中不要出现子图中涉及的局部数据存储文件。,(6),数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明,系统应该,“,做什么,”,,,而不需要指明系统,“,如何做,”,。,(7),数据流图的分解速度应保持适中。通常一个加工每次可分解为,2,4,个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。,(8),为了便于数据流图在计算机上的输入和输出,免去画斜线、弧线、圆等符号的麻烦。,建立数据流模型的原则(续),40,数据字典中的基本符号及其含义,符 号,含 义,说 明,=,表示定义为,用于对,=,左边的条目进行确切的定义,+,表示与关系,X=a+b,表示,X,由,a,和,b,共同构成,|,表示或关系,X=a|b,与,X=a,b,等价,表示,X,由,a,或,b,组成,(,),表示可选项,X=(a),表示,a,可以在,X,中出现,也可以不出现,表示重复,大括号中的内容重复,0,到多次,m,n,表示规定次数的重复,重复的次数最少,m,次,最多,n,次,“”,表示基本数据元素,“”中的内容是基本数据元素,不可再分,.,连接符,month=1.12,表示,month,可取,1,12,中的任意值,*,表示注释,两个星号之间的内容为注释信息,41,数据字典,-,数据流,学生基本信息:学号,十,姓名,学生健康信息:学号十健康情况,学生成绩:学号十,课程名,+,成绩,查询要求:,健康查询单,|,平均成绩查询,单,|,不及格人数查询,学生健康情况表:优十良十一般十差,学生成绩单:学号十姓名十,课程名,+,成绩,+,总成绩,不及格人数统计表:学号十成绩十不及格总人数,42,数据字典,-,数据文件,文件名:基本信息,组成:学号十姓名十入学成绩十生源,组织:按学号递增顺序排列,文件名:健康文件,组成:,学号,+,姓名,+,健康情况,组织:按照健康情况为优、良、一般、差顺序排列,文件名:成绩文件,组成:,学号,+,姓名,+,平均成绩,组织:按照评剧成绩递增顺序排列,43,系统流程图,系统包含的部分以及各个部分之间的关系,是描述物理系统的工具,用图形符号表示系统中的元素,表达了系统中各个元素之间的信息流动情况,44,系统流程图符号,45,课程小结,项目生存期模型,软件需求管理,SA,分析方法,46,
展开阅读全文