
GIS设计项目管理与质量保证.ppt
81页第十一章第十一章 GIS设计项目管理与目管理与质量保量保证《《GIS设计与实现设计与实现》》教程教程Ø软件项目的失败主要原因:项目管理不善软件项目的失败主要原因:项目管理不善Ø项目管理定义:通过计划、组织和控制等一系列活动,合理项目管理定义:通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程地配置和使用各种资源,以达到既定目标的过程Ø项目管理内容项目管理内容l软件项目的工作范围软件项目的工作范围l可能风险可能风险l需要资源需要资源(人、硬件/软件人、硬件/软件)l要实现的任务要实现的任务l经历的里程碑经历的里程碑l花费工作量花费工作量(成本成本)引言引言Ø在在GIS设计与开发过程中,项目管理与质量保证是一对孪生设计与开发过程中,项目管理与质量保证是一对孪生姐妹l只有有效的项目管理才能产生优质的质量保证只有有效的项目管理才能产生优质的质量保证l有了质量保证,项目管理的过程才能顺利进行有了质量保证,项目管理的过程才能顺利进行ØGIS设计项目管理先于任何技术活动之前开始,并且贯穿于设计项目管理先于任何技术活动之前开始,并且贯穿于GIS设计的整个生命周期之中。
设计的整个生命周期之中引言引言ØGIS设计项目管理关注点设计项目管理关注点l成本估算成本估算l项目进度项目进度l项目度量项目度量l风险评估风险评估l产品质量产品质量l人员安排人员安排……引言引言ØGIS设计项目管理目管理过程程l项目启目启动阶段:确定段:确定项目范目范围、、组建建项目目团队、建立、建立项目目环境境l项目目规划划阶段:段:进行行项目估算、目估算、资源源组织配置、确定配置、确定进度安排度安排l项目目实施施阶段:追踪段:追踪项目目执行、控制行、控制项目目风险、管理、管理项目目变更更l项目收尾目收尾阶段:段:进行行项目目验收、修改收、修改项目目计划、划、总结项目目经验引言引言引言引言GIS项目管理目管理过程程教学提纲教学提纲第一第一节 GIS项目估算目估算第二第二节 GIS项目目进度安排度安排第三第三节 GIS软件度量件度量第四第四节 GIS项目目风险分析分析第五第五节 GIS项目追踪与控制目追踪与控制第六第六节 GIS软件件质量保量保证第一第一节 GIS项目估算目估算第一节第一节 GIS项目估算项目估算Ø在在GIS设计项目管理过程中关键的活动:制定项目计划,在设计项目管理过程中关键的活动:制定项目计划,在制定计划时必须对制定计划时必须对GIS项目做出估算。
项目做出估算Ø这种估算大多是利用以前的花费做为参考而做出的这种估算大多是利用以前的花费做为参考而做出的l如果新项目与以前的一个项目在大小上和功能上十分类似,则新项如果新项目与以前的一个项目在大小上和功能上十分类似,则新项目需要工作量、开发持续时间、成本大致与那个老项目相同目需要工作量、开发持续时间、成本大致与那个老项目相同l假使项目背景完全生疏,只能过去的经验做出估算假使项目背景完全生疏,只能过去的经验做出估算l管理人员大多使用不止一种估算技术,并用一种估算技术做为另一管理人员大多使用不止一种估算技术,并用一种估算技术做为另一种估算技术的交叉检查种估算技术的交叉检查第一节第一节 GIS项目估算项目估算ØGIS项目估算的内容体系项目估算的内容体系注:注:*为项目估算重点为项目估算重点GIS项目估算的内容体系项目估算的内容体系一、一、资源估算源估算二、成本估算二、成本估算三、三、时间估算估算第一节第一节 GIS项目估算项目估算一、资源估算一、资源估算Ø资源估算内容资源估算内容l人力资源估算:资源估算中的核心一环人力资源估算:资源估算中的核心一环ü指在指在GIS设计和开发的各个阶段所需的各种人员的数目以及他们的技术水平和专设计和开发的各个阶段所需的各种人员的数目以及他们的技术水平和专业配置。
业配置l硬件资源估算硬件资源估算ü作为作为GIS项目开发的一种工具而投入的,包括开发项目开发的一种工具而投入的,包括开发GIS软件的宿主机、安装软件的宿主机、安装GIS软软件的目标机以及其他硬件件的目标机以及其他硬件l软件资源估算软件资源估算ü对对GIS开发平台和其他开发平台以及各种计算机设计辅助工具等进行描述、使用、开发平台和其他开发平台以及各种计算机设计辅助工具等进行描述、使用、估算和评价等估算和评价等一、资源估算一、资源估算Ø资源估算主要说明三种资源的特性资源估算主要说明三种资源的特性l资源的描述资源的描述l资源的有效性说明资源的有效性说明l资源在何时开始需要资源在何时开始需要l使用资源的持续时间使用资源的持续时间二、成本估算二、成本估算Ø成本估算主要是对软件开发成本进行估算成本估算主要是对软件开发成本进行估算Ø对于一个大型的对于一个大型的GIS项目,由于项目的复杂性,开发成本的项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理估算不是一件简单的事,要进行一系列的估算处理Ø主要成本估算方法主要成本估算方法l类比估算法(自顶向下的估算方法)类比估算法(自顶向下的估算方法)l分解估算法(自底向上的估计法)分解估算法(自底向上的估计法)l差别估算法差别估算法l经验模型估算法经验模型估算法二、成本估算二、成本估算| |类比估算法类比估算法Ø类比估算法的主要思想类比估算法的主要思想l从项目的整体出发,进行类推。
从项目的整体出发,进行类推Ø类比估算法基础类比估算法基础l假设新项目设计和开发所需的工作量、时间、开发成本与已完成项假设新项目设计和开发所需的工作量、时间、开发成本与已完成项目是成比例的目是成比例的二、成本估算二、成本估算| |类比估算法类比估算法Ø类比估算法计算过程类比估算法计算过程l总结已完成类似项目所消耗的总成本(或总工作量)总结已完成类似项目所消耗的总成本(或总工作量)l推算将要开发的软件的总成本(或总工作量)推算将要开发的软件的总成本(或总工作量)l按比例将总成本分配到各开发任务单元中按比例将总成本分配到各开发任务单元中l根据各个任务单元成本,检验估算是否能满足要求根据各个任务单元成本,检验估算是否能满足要求二、成本估算二、成本估算| |类比估算法类比估算法Ø类比估算法优点类比估算法优点l估算工作量小,速度快估算工作量小,速度快Ø类比估算法缺点类比估算法缺点l对对GIS项目中的特殊困难估计不足,估算出来的成本盲目性大项目中的特殊困难估计不足,估算出来的成本盲目性大l有时会遗漏被有时会遗漏被GIS项目的某些部分的成本项目的某些部分的成本二、成本估算二、成本估算| |分解估算法分解估算法Ø分解估算法的主要思想分解估算法的主要思想l从项目的底层任务出发,层层累加。
从项目的底层任务出发,层层累加Ø分解估算法过程分解估算法过程l把待开发的软件细分把待开发的软件细分l明确每一个子任务都所需要的开发工作量明确每一个子任务都所需要的开发工作量l把子任务工作流加起来,得到软件开发的总工作量把子任务工作流加起来,得到软件开发的总工作量二、成本估算二、成本估算| |分解估算法分解估算法Ø分解估算法的优点分解估算法的优点l估算各个部分的准确性高估算各个部分的准确性高Ø分解估算法的缺点分解估算法的缺点l缺少各项子任务之间相互联系所需要的工作量缺少各项子任务之间相互联系所需要的工作量l缺少许多与软件开发有关的系统级工作量缺少许多与软件开发有关的系统级工作量l必须用其它估算方法检验和校正必须用其它估算方法检验和校正二、成本估算二、成本估算| |差别估算法差别估算法Ø差别估算法差别估算法l综合了上述两种方法的特点综合了上述两种方法的特点Ø差别估算法主要过程差别估算法主要过程l把待开发的把待开发的GIS项目与过去已完成的项目与过去已完成的GIS项目进行类比,区分出两个项目进行类比,区分出两个项目中类似的部分和不同的部分项目中类似的部分和不同的部分l类似的部分按实际量进行计算。
类似的部分按实际量进行计算l不同的部分则采用相应方法进行估算不同的部分则采用相应方法进行估算二、成本估算二、成本估算| |差别估算法差别估算法Ø差别估算法的优点差别估算法的优点l可以提高估算准确值可以提高估算准确值Ø差别估算法的缺点差别估算法的缺点l不容易确定类似的界限不容易确定类似的界限二、成本估算二、成本估算| |经验模型估算法经验模型估算法Ø经验模型估算法经验模型估算法l依据开发成本估算模型进行估算依据开发成本估算模型进行估算l通常采用经验公式来预测软件项目计划所需要的成本、工作量和进通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据l用以支持大多数模型的经验数据都是从有限的项目样本中得到的用以支持大多数模型的经验数据都是从有限的项目样本中得到的二、成本估算二、成本估算| |经验模型估算法经验模型估算法Ø经验模型估算法的优点经验模型估算法的优点l估算工作量小,速度快估算工作量小,速度快Ø经验模型估算法的缺点经验模型估算法的缺点l没有一种估算模型能够适用于所有的没有一种估算模型能够适用于所有的GIS项目开发项目开发三、时间估算三、时间估算Ø使用时间估算模型计算开发时间使用时间估算模型计算开发时间lWalston_Felix模型模型 T=2.5E0.35l原始的原始的COCOMO模型模型 T=2.5E0.38lCOCOMO2模型模型 T=3.0E0.33+0.2×(b-1.01)lPutnam模型模型 T=2.4E1/3l其中,其中,E是开发工作量(以人月为单位,在成本估算中计算得到),是开发工作量(以人月为单位,在成本估算中计算得到),T是开发时间(以月为单位)是开发时间(以月为单位) 第二第二节 GIS项目目进度安排度安排第二节第二节 GIS项目进度安排项目进度安排ØGIS项目进度安排项目进度安排——航海中的导航图。
航海中的导航图Ø没有项目进度安排,没有项目进度安排,GIS项目开发就会陷入混乱,甚至会出项目开发就会陷入混乱,甚至会出现相互扯皮之事,何时到达彼岸(系统实现)毫无把握现相互扯皮之事,何时到达彼岸(系统实现)毫无把握Ø项目进度安排主要内容项目进度安排主要内容l把工作量分配给特定的软件工程任务把工作量分配给特定的软件工程任务l规定完成各项任务的起止日期规定完成各项任务的起止日期l将估算出的项目工作量分布于计划好的项目持续期内将估算出的项目工作量分布于计划好的项目持续期内l制定项目进度图表制定项目进度图表第二节第二节 GIS项目进度安排项目进度安排Ø在完成项目估算后,根据估算的时间、资源和成本合理地进在完成项目估算后,根据估算的时间、资源和成本合理地进行行GIS项目的进度安排项目的进度安排Ø“40--20--40”规则规则l在整个软件开发过程中,编码工作量仅占在整个软件开发过程中,编码工作量仅占 20%,编码前工作量占%,编码前工作量占40%,编码后工作量占%,编码后工作量占 40%l40--20--40 规则只应用来做为规则只应用来做为 一个指南,实际的工作量分配比例一个指南,实际的工作量分配比例必须按照各项目的特点来决定。
必须按照各项目的特点来决定Ø项目进度安排将随着时间的流逝而不断演化项目进度安排将随着时间的流逝而不断演化一、一、GIS项目目进度安排考度安排考虑因素因素二、二、GIS项目目进度安排表度安排表第二节第二节 GIS项目进度安排项目进度安排一、一、GIS项目进度安排考虑因素项目进度安排考虑因素1.系统的验收与交付日期系统的验收与交付日期2.进度计划策略进度计划策略3.定义和识别定义和识别GIS各项任务各项任务4.掌握每一任务的结束时间掌握每一任务的结束时间5.度量进度和质量度量进度和质量6.非技术因素的影响非技术因素的影响第二节第二节 GIS项目进度安排项目进度安排Ø系统的验收与交付日期系统的验收与交付日期l验收与交付日期有两种形式:一种是验收与交付日期有两种形式:一种是GIS系统最终验收与交付日期已经确系统最终验收与交付日期已经确定,定,GIS开发部门必须在规定的期限内完成开发部门必须在规定的期限内完成l另一种只确定另一种只确定GIS系统最终验收与交付的大致年限,最后交付日期由系统最终验收与交付的大致年限,最后交付日期由GIS开开发部门确定发部门确定l无论哪种交付形式,进度安排的时间准确程度要比时间估算的准确程度更无论哪种交付形式,进度安排的时间准确程度要比时间估算的准确程度更为重要。
为重要l一旦进度安排落空,会带来很多负面影响,如:市场机会的丧失(有可能一旦进度安排落空,会带来很多负面影响,如:市场机会的丧失(有可能系统开发出来已经过时了)、用户的不满意和成本的增加等系统开发出来已经过时了)、用户的不满意和成本的增加等一、一、GIS项目进度安排考虑因素项目进度安排考虑因素Ø进度计划策略进度计划策略l有两种进度计划策略,一种是计划得紧一点,这就需投入较多的资源(主有两种进度计划策略,一种是计划得紧一点,这就需投入较多的资源(主要是要是GIS设计与开发小组的人数)设计与开发小组的人数)l一种是计划得松一点,这样相对投入的资源就少些一种是计划得松一点,这样相对投入的资源就少些Ø从实际的经验而言,从实际的经验而言,GIS设计与开发小组的人数与软件生产率是设计与开发小组的人数与软件生产率是成反比的,人数越多,成反比的,人数越多,GIS软件的生产效率越低软件的生产效率越低l当许多人共同承担当许多人共同承担GIS开发项目中的某一任务时,人与人之间必须通过交开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的通信问题流来解决各自承担任务之间的通信问题l如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而会下降。
不会提高反而会下降lGIS软件设计与开发小组的规模不能太大,一般在软件设计与开发小组的规模不能太大,一般在2~8人左右为宜人左右为宜一、一、GIS项目进度安排考虑因素项目进度安排考虑因素Ø定义和识别定义和识别GIS各项任务各项任务l定义定义GIS任务要做到无二性,即分工明确,谁在什么时间内完成什任务要做到无二性,即分工明确,谁在什么时间内完成什么功能不能有丝毫含糊么功能不能有丝毫含糊l定义好定义好GIS任务后,就应做出分工表,使每个人都知道自己在什么任务后,就应做出分工表,使每个人都知道自己在什么时间里必须干什么,使自己的工作真正到位时间里必须干什么,使自己的工作真正到位一、一、GIS项目进度安排考虑因素项目进度安排考虑因素Ø掌握每一任务的结束时间掌握每一任务的结束时间lGIS项目管理人员应该掌握每一任务的结束时间,识别和监控关键项目管理人员应该掌握每一任务的结束时间,识别和监控关键路径以及如何确定任务的并行性,以确保项目顺利进行路径以及如何确定任务的并行性,以确保项目顺利进行l关键路径是项目进度安排中的重点,应把它列为里程碑关键路径是项目进度安排中的重点,应把它列为里程碑l关键路径通不过,对后面的安排影响很大。
关键路径通不过,对后面的安排影响很大Ø度量进度和质量度量进度和质量l即对质量把关程度,质量把关严了,则进度会慢些即对质量把关程度,质量把关严了,则进度会慢些Ø非技术因素的影响非技术因素的影响l风险因素风险因素……一、一、GIS项目进度安排考虑因素项目进度安排考虑因素Ø为什么需要进度安排表?为什么需要进度安排表?l为监控软件项目的进度计划和工作的实际进展情况为监控软件项目的进度计划和工作的实际进展情况l为表现各项任务之间进度的相互依赖关系为表现各项任务之间进度的相互依赖关系ØGIS项目进度安排表项目进度安排表l里程碑表示法(里程碑表示法(Milestone Chart Method))l直方图法(直方图法(Histogram method))l墙纸法(墙纸法(Wall Paper Method))l关键路径法(关键路径法(CPM法法——Critical Path Method)) l甘特图法(甘特图法(Gantt Chart Method))二、二、 GIS项目进度安排表项目进度安排表Ø里程碑表示法:将每个主要的任务均作为一个阶段来处理里程碑表示法:将每个主要的任务均作为一个阶段来处理l优点:看上去一目了然,制作和修改都很方便。
优点:看上去一目了然,制作和修改都很方便l缺点:不能表达各项任务之间的关系,不能用日历来表达进程,项缺点:不能表达各项任务之间的关系,不能用日历来表达进程,项目进度控制能力较差目进度控制能力较差二、二、 GIS项目进度安排表项目进度安排表| |里程碑表示法里程碑表示法任务编码任务编码主要内容主要内容负责小组负责小组预计完成日期预计完成日期实际完成日期实际完成日期常规任务常规任务里程碑表示法里程碑表示法Ø直方图法以时间为线索,采用直方图的形式对项目中的各任直方图法以时间为线索,采用直方图的形式对项目中的各任务进行直观的表达务进行直观的表达l优点:容易看出各项任务的先后顺序,便于控制项目的进度优点:容易看出各项任务的先后顺序,便于控制项目的进度l缺点:缺乏对项目各任务之间相互影响的描述,不能断定某一任务缺点:缺乏对项目各任务之间相互影响的描述,不能断定某一任务推迟对其它任务的影响推迟对其它任务的影响 二、二、 GIS项目进度安排表项目进度安排表| |直方图法直方图法 时间维时间维任务维任务维时间段时间段1 1时间段时间段2 2时间段时间段3 3…………任务任务1 1时间柱时间柱任务任务2 2时间柱时间柱……………………直方图表示法直方图表示法二、二、 GIS项目进度安排表项目进度安排表| |墙纸法墙纸法Ø墙纸法:召集所有任务的参与者,根据项目进度和个人时间墙纸法:召集所有任务的参与者,根据项目进度和个人时间安排共同制定出项目和个人的进度表安排共同制定出项目和个人的进度表 。
l优点:直接对每个具体人员安排任务优点:直接对每个具体人员安排任务l缺点:需项目参与人员主动参与项目进度计划的制定,对项目管理缺点:需项目参与人员主动参与项目进度计划的制定,对项目管理者的组织能力和处理人事关系的能力要求较高者的组织能力和处理人事关系的能力要求较高 时间维时间维技术人员技术人员时间段时间段1 1时间段时间段2 2时间段时间段3 3…………人员人员1 1时间柱时间柱人员人员2 2时间柱时间柱……………………墙纸进度表示法墙纸进度表示法二、二、 GIS项目进度安排表项目进度安排表| |关键路径法关键路径法Ø关键路径法关键路径法l采用三种规则来表达项目中各任务之间的先后顺序和制约的双重关系采用三种规则来表达项目中各任务之间的先后顺序和制约的双重关系l优点:分析能力很强,能够完全表达任务之间的顺序关系优点:分析能力很强,能够完全表达任务之间的顺序关系l缺点:制作起来相当麻烦缺点:制作起来相当麻烦关键路径表示法的规则关键路径表示法的规则二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法Ø甘特图法甘特图法l以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。
的活动顺序与持续时间甘特图示例甘特图示例Ø甘特图中,文档编制与评审是软件开发进度的里程碑甘特图中,文档编制与评审是软件开发进度的里程碑l交付文档并通过评审,是能否继续下一阶段任务的标准交付文档并通过评审,是能否继续下一阶段任务的标准Ø甘特图的优点甘特图的优点l标明各任务的计划进度和当前进度,动态地反映软件开发进展情况标明各任务的计划进度和当前进度,动态地反映软件开发进展情况l直观简明和容易掌握、容易绘制直观简明和容易掌握、容易绘制Ø甘特图的缺点甘特图的缺点l难以反映多个任务之间复杂的逻辑依赖关系难以反映多个任务之间复杂的逻辑依赖关系l进度计划的关键部分不明确,难于判定哪些部分是主攻和主控对象进度计划的关键部分不明确,难于判定哪些部分是主攻和主控对象二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法Ø以以LUPMIS为例为例l确定系统建设分成系统建设准备、用户需求调查与系统分析、系统确定系统建设分成系统建设准备、用户需求调查与系统分析、系统总体设计、系统详细设计、系统实现、系统集成、系统测试、系统总体设计、系统详细设计、系统实现、系统集成、系统测试、系统验收、系统试用与培训及系统正式运行十个阶段展开。
验收、系统试用与培训及系统正式运行十个阶段展开l根据其他类似根据其他类似GIS系统开发经验,确定系统开发经验,确定LUPMIS建设期限为建设期限为1年l定义系统建设各项任务,并分解任务到每个人员,做出任务分工表定义系统建设各项任务,并分解任务到每个人员,做出任务分工表l制作甘特图制作甘特图二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法Ø以以LUPMIS为例为例二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法LUPMIS总体进度安排甘特图总体进度安排甘特图Ø以以LUPMIS为例为例l在执行计划的过程中,经常检查项目实际进度情况在执行计划的过程中,经常检查项目实际进度情况l与进度计划相比较,若出现偏差,便分析产生的原因及对工期的影与进度计划相比较,若出现偏差,便分析产生的原因及对工期的影响程度,确定必要的调整措施,并更新原计划响程度,确定必要的调整措施,并更新原计划l这一过程如此不断地循环,直至项目完成这一过程如此不断地循环,直至项目完成l项目实际进度控制的目标就是确保项目按既定工期完成,在保证项项目实际进度控制的目标就是确保项目按既定工期完成,在保证项目质量、不增加项目实际成本的条件下,尽可能缩短项目工期。
目质量、不增加项目实际成本的条件下,尽可能缩短项目工期二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法Ø以以LUPMIS为例为例l在执行计划的过程中,经常检查项目实际进度情况在执行计划的过程中,经常检查项目实际进度情况l与进度计划相比较,若出现偏差,便分析产生的原因及对工期的影与进度计划相比较,若出现偏差,便分析产生的原因及对工期的影响程度,确定必要的调整措施,并更新原计划响程度,确定必要的调整措施,并更新原计划l这一过程如此不断地循环,直至项目完成这一过程如此不断地循环,直至项目完成l项目实际进度控制的目标就是确保项目按既定工期完成,在保证项项目实际进度控制的目标就是确保项目按既定工期完成,在保证项目质量、不增加项目实际成本的条件下,尽可能缩短项目工期目质量、不增加项目实际成本的条件下,尽可能缩短项目工期二、二、 GIS项目进度安排表项目进度安排表| |甘特图法甘特图法第三第三节 GIS软件度量件度量ØGIS软件度量贯穿于软件度量贯穿于GIS设计全过程以及软件交付用户使用设计全过程以及软件交付用户使用之后之后l在软件交付之前得到的度量可作为判断设计和测试质量好坏的依据。
在软件交付之前得到的度量可作为判断设计和测试质量好坏的依据这一类度量包括程序复杂性、有效的模块性和总的程序规模这一类度量包括程序复杂性、有效的模块性和总的程序规模l在软件交付之后的度量则把注意力集中于还未发现的差错数和系统在软件交付之后的度量则把注意力集中于还未发现的差错数和系统的可维护性方面的可维护性方面第三节第三节 GIS软件度量软件度量ØGIS软件度量:直接度量和间接度量软件度量:直接度量和间接度量lGIS建设过程的直接度量包括所投入的成本和工作量建设过程的直接度量包括所投入的成本和工作量lGIS产品的直接度量包括产生的代码行数(产品的直接度量包括产生的代码行数(LOC)、执行速度、存储)、执行速度、存储量大小、在某种时间周期中所报告的差错数量大小、在某种时间周期中所报告的差错数lGIS产品的间接度量包括功能性、复杂性、效率、可靠性、可维护性产品的间接度量包括功能性、复杂性、效率、可靠性、可维护性和许多其它的质量特性和许多其它的质量特性第三节第三节 GIS软件度量软件度量ØGIS软件度量方法分类软件度量方法分类l面向规模的度量面向规模的度量l面向功能的度量面向功能的度量l面向人的度量面向人的度量l各度量又包括生产率度量、质量度量、各度量又包括生产率度量、质量度量、技术度量技术度量l起着质量度量是起着质量度量是GIS软件度量的灵魂软件度量的灵魂第三节第三节 GIS软件度量软件度量软件度量域的分件度量域的分类Ø面向规模的的度量面向规模的的度量l用于收集与直接度量有关的软件工程输出的信息和质量信息。
用于收集与直接度量有关的软件工程输出的信息和质量信息l面向规模的度量是对面向规模的度量是对GIS和和GIS系统开发过程的直接度量系统开发过程的直接度量l建立一个面向规模的数据表格来记录项目的某些信息建立一个面向规模的数据表格来记录项目的某些信息l对于每一个项目,可以根据表格中列出的基本数据计算简单的面向对于每一个项目,可以根据表格中列出的基本数据计算简单的面向规模的生产率和质量的度量规模的生产率和质量的度量第三节第三节 GIS软件度量软件度量| |面向规模的度量面向规模的度量Ø项目项目aaa-01面向规模的的度量面向规模的的度量l规模为规模为 12.1 KLOC(千代码行)(千代码行)l在交付用户后发现在交付用户后发现29个错误个错误l 工作量用了工作量用了 24个人月个人月l 成本为成本为168万元万元l 文档页数为文档页数为365l 有有3个人参加了项目个人参加了项目第三节第三节 GIS软件度量软件度量| |面向规模的度量面向规模的度量面向面向规模的数据表格模的数据表格Ø面向功能的度量面向功能的度量l面向功能的软件度量是对软件和软件开发过程的间接度量面向功能的软件度量是对软件和软件开发过程的间接度量。
l面向功能度量主要考虑程序的面向功能度量主要考虑程序的“功能性功能性”和和“实用性实用性”,而不是对,而不是对 代码行数计数代码行数计数l该度量是一种叫做功能点方法的生产率度量法,利用软件信息域中该度量是一种叫做功能点方法的生产率度量法,利用软件信息域中的一些计数和软件复杂性估计的经验关系式而导出功能点的一些计数和软件复杂性估计的经验关系式而导出功能点 第三节第三节 GIS软件度量软件度量| |面向功能的度量面向功能的度量Ø面向人的度量面向人的度量l收集有关软件开发人员开发计算机软件所用方式的信息收集有关软件开发人员开发计算机软件所用方式的信息l收集有关软件使用人员理解有关工具和方法的效率的信息收集有关软件使用人员理解有关工具和方法的效率的信息l最终将最终将GIS软件对人的可使用性量化为软件对人的可使用性量化为“用户友好性用户友好性”第三节第三节 GIS软件度量软件度量| |面向人的面向人的度量度量Ø质量度量准则:质量度量准则:正确性、可维护性、完整性和可使用性正确性、可维护性、完整性和可使用性l正确性:一个程序必须正确地运行,并为它的用户提供需要的输出正确性:一个程序必须正确地运行,并为它的用户提供需要的输出。
正确性的度量是每千代码行正确性的度量是每千代码行(KLOC)的平均差错数的平均差错数l可维护性:软件维护比其它的软件工程活动需要更多的工作量没可维护性:软件维护比其它的软件工程活动需要更多的工作量没有一种方法可以直接度量可维护性,必须采取间接度量:平均变更有一种方法可以直接度量可维护性,必须采取间接度量:平均变更等待时间等待时间l完整性:完整性度量一个系统抗拒对它的安全性攻击(事故的和人完整性:完整性度量一个系统抗拒对它的安全性攻击(事故的和人为的)的能力为的)的能力l可使用性:如果一个程序不具有可使用性:如果一个程序不具有“用户友好性用户友好性”,即使它所执行的,即使它所执行的功能很有价值,也常常会失败功能很有价值,也常常会失败第三节第三节 GIS软件度量软件度量| |质量质量度量度量第四第四节 GIS项目目风险分析分析Ø有时,有时,GIS开发部门花费了大量的时间和精力去开发开发部门花费了大量的时间和精力去开发GIS,但,但到系统开发出来时,发现它已过时了,或运行了很短的一段到系统开发出来时,发现它已过时了,或运行了很短的一段时间就不能满足需求了时间就不能满足需求了Ø为什么会出现这种现象呢?为什么会出现这种现象呢?Ø原因在于在原因在于在GIS项目管理过程中,没有很好地进行风险分析项目管理过程中,没有很好地进行风险分析和风险处理,或是意识到了风险而置之不理。
和风险处理,或是意识到了风险而置之不理第四节第四节 GIS项目风险分析项目风险分析??Ø在在GIS项目管理中,进行风险分析是基于下面三方面考虑项目管理中,进行风险分析是基于下面三方面考虑l关心系统的成功与否,风险在其中扮演着什么角色关心系统的成功与否,风险在其中扮演着什么角色l关心各方面的变化,如用户需求的某些变化、新的开发技术的出现以关心各方面的变化,如用户需求的某些变化、新的开发技术的出现以及所有其它与项目有关的实体的变化,会带来什么影响及所有其它与项目有关的实体的变化,会带来什么影响l规避风险问题,应当采用何种新方法、新技术、新工具,应当配置多规避风险问题,应当采用何种新方法、新技术、新工具,应当配置多少人力,在质量上和速度上要达到什么程度才能规避风险少人力,在质量上和速度上要达到什么程度才能规避风险第四节第四节 GIS项目风险分析项目风险分析一、一、风险识别二、二、风险估估计三、三、风险评价价四、四、风险驾驭与与监控控第四节第四节 GIS项目风险分析项目风险分析Ø风险识别:指识别项目、技术和商业中各自潜在的问题风险识别:指识别项目、技术和商业中各自潜在的问题l项目风险:是识别项目中潜在的预算、进度、资源、用户和需求等方项目风险:是识别项目中潜在的预算、进度、资源、用户和需求等方面的问题以及它们对面的问题以及它们对GIS项目的影响。
项目的影响l技术风险:是识别项目中潜在的设计、实现、接口、检验和维护等方技术风险:是识别项目中潜在的设计、实现、接口、检验和维护等方面的问题,包括技术陈旧、技术不确定、最新技术(不成熟)等问题面的问题,包括技术陈旧、技术不确定、最新技术(不成熟)等问题l商业风险:是识别项目中的竞争对手等问题商业风险:是识别项目中的竞争对手等问题一、风险识别一、风险识别Ø目前风险识别的方法是使用一个目前风险识别的方法是使用一个“风险项目检查表风险项目检查表”,列出,列出一组提问来帮助项目计划和管理人员判断在项目与技术上存一组提问来帮助项目计划和管理人员判断在项目与技术上存在哪些问题在哪些问题l投入的设计与开发人员是最优秀的吗?投入的设计与开发人员是最优秀的吗?l整个整个GIS项目开发期间人员如何投入?项目开发期间人员如何投入?l投入的人员够吗?投入的人员够吗?l按技能水平和专业对人员做了合理的组合了吗?按技能水平和专业对人员做了合理的组合了吗?l项目成员接受过必要的培训吗?项目成员接受过必要的培训吗?l……一、风险识别一、风险识别Ø风险估计是指估计风险发生的可能性以及概率风险估计是指估计风险发生的可能性以及概率。
Ø在在GIS开发过程中,通常由项目计划人员、管理人员与技术开发过程中,通常由项目计划人员、管理人员与技术人员等组成小组,通过四种风险估计活动来进行风险估计人员等组成小组,通过四种风险估计活动来进行风险估计l建立一个尺度或标准来表示一个风险发生的可能性建立一个尺度或标准来表示一个风险发生的可能性l描述风险的后果描述风险的后果l估计风险对项目和产品的影响估计风险对项目和产品的影响l确定风险估计的正确性确定风险估计的正确性二、风险估计二、风险估计Ø风险评价:在风险识别和风险估计的基础上,评估发生风险风险评价:在风险识别和风险估计的基础上,评估发生风险的可能性及危害程度,决定是否需要采取相应的措施的可能性及危害程度,决定是否需要采取相应的措施l在风险评价的过程中进行应该进一步检验在风险估计时所得的估计的在风险评价的过程中进行应该进一步检验在风险估计时所得的估计的准确性l尝试对已暴露的风险进行优先排队,并着手考虑控制和消除可能出现尝试对已暴露的风险进行优先排队,并着手考虑控制和消除可能出现风险的方法风险的方法l对于对于GIS软件项目来说,成本、进度和性能是三种典型的风险参照水软件项目来说,成本、进度和性能是三种典型的风险参照水准,如果风险的某种组合超出了一个或多个参照水准的话,就要终止准,如果风险的某种组合超出了一个或多个参照水准的话,就要终止工作。
工作三、风险评价三、风险评价Ø一旦预计的风险在实际中出现,它就转化为前进中的障碍,一旦预计的风险在实际中出现,它就转化为前进中的障碍,必须马上解决因此,风险的驾驭与监控显得更为重要必须马上解决因此,风险的驾驭与监控显得更为重要Ø风险驾驭风险驾驭l利用某些先进的技术和方法,如可靠性工程学、软件心理学、面向对利用某些先进的技术和方法,如可靠性工程学、软件心理学、面向对象分析与设计方法、先进的开发平台和性能优越的数据库软件以及某象分析与设计方法、先进的开发平台和性能优越的数据库软件以及某些先进的项目管理方法等设法避开或转移风险些先进的项目管理方法等设法避开或转移风险l与每一风险相关的三元组(风险描述、风险可能性、风险影响)是建与每一风险相关的三元组(风险描述、风险可能性、风险影响)是建立风险驾驭步骤的基础立风险驾驭步骤的基础四、四、风险驾驭与监控风险驾驭与监控Ø风险监控风险监控——一种项目追踪活动一种项目追踪活动l做里程碑时间跟踪和主要风险因素跟踪,判断一个预测的风险在事实做里程碑时间跟踪和主要风险因素跟踪,判断一个预测的风险在事实上是否发生了上是否发生了l进行风险再估计,确保针对某个风险制定的风险消除步骤正在被合理进行风险再估计,确保针对某个风险制定的风险消除步骤正在被合理地使用。
地使用l收集可用于将来的风险分析的信息多数情况下,项目中发生的问题收集可用于将来的风险分析的信息多数情况下,项目中发生的问题总能追踪到许多风险总能追踪到许多风险Ø风险的分析、识别、估计、驾驭与监控都要花费时间,但这风险的分析、识别、估计、驾驭与监控都要花费时间,但这些花费是值得的些花费是值得的四、四、风险驾驭与监控风险驾驭与监控第五第五节 GIS项目目风险分析分析Ø在在GIS项目管理中,只顾项目的实施,而不进行追踪和控制项目管理中,只顾项目的实施,而不进行追踪和控制是不行的,因为实际情况时刻都在变化是不行的,因为实际情况时刻都在变化ØGIS项目追踪的主要方法包括:项目追踪的主要方法包括:l定期或不定期举行项目进展会议定期或不定期举行项目进展会议l评价在评价在GIS软件工程中产生的所有评审结果软件工程中产生的所有评审结果l比较在比较在GIS项目资源表中所列出的每一个项目任务的实际开始与结束项目资源表中所列出的每一个项目任务的实际开始与结束时间、计划开始与结束时间时间、计划开始与结束时间l非正式地与开发人员交谈,以取得他们对非正式地与开发人员交谈,以取得他们对GIS开发进展和刚出现的问开发进展和刚出现的问题的客观评价。
题的客观评价Ø在实际应用中,这些追踪技术都是综合使用的在实际应用中,这些追踪技术都是综合使用的四、四、风险驾驭与监控风险驾驭与监控ØGIS项目管理人员还可以利用项目管理人员还可以利用“控制控制”来管理项目资源、进来管理项目资源、进度问题以及指导项目工作人员度问题以及指导项目工作人员l如果项目进行得很顺利(即项目进展顺利、无预算超支,并逐步到达如果项目进行得很顺利(即项目进展顺利、无预算超支,并逐步到达里程碑),控制可以适当放宽里程碑),控制可以适当放宽l当问题出现时,当问题出现时,GIS项目管理人员必须以最快速度排除例如,在出项目管理人员必须以最快速度排除例如,在出现问题领域可能需要追加一些资源,人员可能要重新部署,或者项目现问题领域可能需要追加一些资源,人员可能要重新部署,或者项目进度表要进行调整等进度表要进行调整等四、四、风险驾驭与监控风险驾驭与监控第六第六节 GIS软件件质量保量保证Ø软件质量定义:软件质量定义:“软件与明确地和隐含地定义的需求相一致的程度软件与明确地和隐含地定义的需求相一致的程度”l明确声明的功能和性能需求明确声明的功能和性能需求l明确文档化过的开发标准。
明确文档化过的开发标准l任何专业开发的软件产品都应该具有的隐含特征任何专业开发的软件产品都应该具有的隐含特征Ø质量就是生命,质量就是生命,GIS软件质量是贯穿软件质量是贯穿GIS软件生命周期的一个软件生命周期的一个极为重要的问题极为重要的问题lGIS软件质量是软件质量是GIS开发过程中所采用的各种开发技术和验证方法的开发过程中所采用的各种开发技术和验证方法的最终体现最终体现l在在GIS项目管理过程中,要特别重视项目管理过程中,要特别重视GIS的质量保证,以生产高质量的质量保证,以生产高质量的的GIS产品第六节第六节 GIS软件质量保证软件质量保证ØGIS软件质量一般可以从以下三方面进行评价软件质量一般可以从以下三方面进行评价l软件需求(包括软件需求(包括GIS用户需求)不符合需求的用户需求)不符合需求的GIS软件就是质量不软件就是质量不合格的软件合格的软件l开发准则如果不遵守开发准则,开发准则如果不遵守开发准则,GIS软件质量就得不到保证软件质量就得不到保证l其它需求如果软件只满足那些精确定义了的需求,而不能满足隐含其它需求如果软件只满足那些精确定义了的需求,而不能满足隐含的需求,软件质量也得不到保证。
的需求,软件质量也得不到保证第六节第六节 GIS软件质量保证软件质量保证一、一、GIS软件件质量特性量特性二、二、GIS软件件质量保量保证体系体系三、三、实现质量保量保证的方法的方法第六节第六节 GIS软件质量保证软件质量保证ØGIS软件质量是各种特性的复杂组合体,与它的特性是密切软件质量是各种特性的复杂组合体,与它的特性是密切相关的,讨论相关的,讨论GIS软件的质量,问题最终要归结到定义软件软件的质量,问题最终要归结到定义软件的质量特性的质量特性Ø人们通常采用软件质量模型来描述软件质量的特性人们通常采用软件质量模型来描述软件质量的特性l这些模型的共同特点是把软件质量特性定义为分层模型这些模型的共同特点是把软件质量特性定义为分层模型l在这种分层模型中,最基本的特性称为基本质量特性,它又可以由一在这种分层模型中,最基本的特性称为基本质量特性,它又可以由一些子质量特性来定义和度量些子质量特性来定义和度量l目前常用的评价模型为目前常用的评价模型为McCall软件质量评价模型和软件质量评价模型和ISO软件质量评价软件质量评价模型一、一、GIS软件质量特性软件质量特性ØMcCall软件质量评价模型软件质量评价模型一、一、GIS软件质量特性软件质量特性| |McCall评价模型评价模型质量特性质量特性含义含义正确性正确性在预定环境下,软件满足设计规格说明及用户预期目标的程度。
它要求软件没有错误在预定环境下,软件满足设计规格说明及用户预期目标的程度它要求软件没有错误可靠性可靠性软件按要求设计,在规定时间和条件下不出故障,持续运行的程度软件按要求设计,在规定时间和条件下不出故障,持续运行的程度效率效率为了完成预定的功能,软件系统所需资源的多少为了完成预定的功能,软件系统所需资源的多少完整性完整性为了某一目的而保护数据,避免它受到偶然的或有意的破坏、改动或遗失的能力;同时,受到攻击后,能进行数为了某一目的而保护数据,避免它受到偶然的或有意的破坏、改动或遗失的能力;同时,受到攻击后,能进行数据的恢复据的恢复可使用性可使用性对于一个软件系统,用户学习、使用软件及为准备输入和解释输出所需工作量的大小对于一个软件系统,用户学习、使用软件及为准备输入和解释输出所需工作量的大小可维护性可维护性为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小断和修改所需工作量的大小可测试性可测试性测试软件以确保其能够执行预定功能所需工作量的测试软件以确保其能够执行预定功能所需工作量的大小大小灵活性灵活性修改或改进一个已投入运行的软件所需工作量的大小修改或改进一个已投入运行的软件所需工作量的大小可移植性可移植性将一个软件系统从一个计算机环境移植到另一个环境中运行所需工作量的大小。
将一个软件系统从一个计算机环境移植到另一个环境中运行所需工作量的大小复用性复用性一个软件能再次用于其它应用(该应用的功能与此软件或软件部件所完成的功能有联系)的程度一个软件能再次用于其它应用(该应用的功能与此软件或软件部件所完成的功能有联系)的程度互操作性互操作性连接一个软件和其它系统所需工作量的大小连接一个软件和其它系统所需工作量的大小ØMcCall质量特性又可分成三类:面向软件产品的运行、修改质量特性又可分成三类:面向软件产品的运行、修改和转移,分别反映用户在使用软件产品时的和转移,分别反映用户在使用软件产品时的3种不同倾向或观种不同倾向或观点点McCall软件质量评价模型特性分类软件质量评价模型特性分类一、一、GIS软件质量特性软件质量特性| |McCall评价模型评价模型Ø在在GIS项目管理中,面向产品运行的质量特性是最重要的,项目管理中,面向产品运行的质量特性是最重要的,面向产品转移、产品修正的质量特性次之面向产品转移、产品修正的质量特性次之Ø从一定意义上说,面向产品运行的质量特性是其它两种质量从一定意义上说,面向产品运行的质量特性是其它两种质量特性的基础特性的基础一、一、GIS软件质量特性软件质量特性| |McCall评价模型评价模型Ø按照按照ISO有关规定,软件质量评价模型由高层、中层、低层有关规定,软件质量评价模型由高层、中层、低层三层组成三层组成l高层对应着软件质量需求评价准则(高层对应着软件质量需求评价准则(SQRC)。
l中层对应着软件质量设计评价准则(中层对应着软件质量设计评价准则(SQDC)l低层对应着软件质量度量评价准则(低层对应着软件质量度量评价准则(SQMC)ØISO认为,应对高层和中层建立国际标准,在国际范围内推认为,应对高层和中层建立国际标准,在国际范围内推广软件质量管理(广软件质量管理(SQM)技术,而低层则可由各使用单位根)技术,而低层则可由各使用单位根据实际情况制定据实际情况制定Ø这种做法是值得这种做法是值得GIS开发部门借鉴的开发部门借鉴的一、一、GIS软件质量特性软件质量特性| |ISO评价模型评价模型ØGIS软件质量保证体系是指在软件质量保证体系是指在GIS设计的各个阶段、各个部门设计的各个阶段、各个部门要进行的与质量有关的各项活动的总称要进行的与质量有关的各项活动的总称ØGIS软件质量保证体系包括:软件质量保证体系包括:l软件质量特性的确定软件质量特性的确定l质量保证标准与方针的制定质量保证标准与方针的制定l重要质量问题的提出与分析重要质量问题的提出与分析l各阶段的质量保证工作各阶段的质量保证工作l总结实现阶段的质量保证活动等总结实现阶段的质量保证活动等 二、二、 GIS软件质量保证体系软件质量保证体系Ø质量保证体系可以用图来表示,质量保证体系图内容包括:质量保证体系可以用图来表示,质量保证体系图内容包括:l用户、项目负责人和各部门横向安排。
用户、项目负责人和各部门横向安排l纵向安排顺序列出软件质量保证活动的各项工作纵向安排顺序列出软件质量保证活动的各项工作l质量保证计划质量保证计划l确定质量目标以及在每个阶段为达到总目标所应达到的要求,对进度确定质量目标以及在每个阶段为达到总目标所应达到的要求,对进度作出安排,并确定所需的人力、资源和成本作出安排,并确定所需的人力、资源和成本l明确各种软件人员的职责明确各种软件人员的职责Ø根据质量保证体系图,建立在各阶段中执行质量评价的质量根据质量保证体系图,建立在各阶段中执行质量评价的质量评价和检查系统及质量信息系统,并使之有效地运行评价和检查系统及质量信息系统,并使之有效地运行二、二、 GIS软件质量保证体系软件质量保证体系Ø软件质量保证(软件质量保证(software quality assurance,SQA)的方法)的方法l基于非执行的测试(也称为技术复审),主要用来保证在编码之前各基于非执行的测试(也称为技术复审),主要用来保证在编码之前各阶段产生的文档的质量阶段产生的文档的质量l基于执行的测试(即软件测试),在程序编写之后,它是保证软件质基于执行的测试(即软件测试),在程序编写之后,它是保证软件质量的最后一道防线。
量的最后一道防线l程序正确性证明,使用数学方法严格验证程序是否与对它的说明完全程序正确性证明,使用数学方法严格验证程序是否与对它的说明完全一致三、实现质量保证的方法三、实现质量保证的方法Ø非执行的测试(技术复审)必要性非执行的测试(技术复审)必要性l能够较早发现软件错误,防止错误被传播到软件过程的后续阶段能够较早发现软件错误,防止错误被传播到软件过程的后续阶段l在大型软件产品中在大型软件产品中60%~70%检测出的错误属于规格说明错误或设计检测出的错误属于规格说明错误或设计错误,而正式技术复审在此类错误的有效性高达错误,而正式技术复审在此类错误的有效性高达75%l复审可大大降低后续开发和维护阶段的成本复审可大大降低后续开发和维护阶段的成本Ø正式技术复审包括走查和审查等具体方法,主要审查整个文正式技术复审包括走查和审查等具体方法,主要审查整个文档以发现错误并整理一份审查报告档以发现错误并整理一份审查报告三、实现质量保证的方法三、实现质量保证的方法Ø执行的测试(软件测试)必要性执行的测试(软件测试)必要性l测试并不仅仅是为了找出错误测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发通过分析错误产生的原因和错误的发生趋势生趋势,可以帮助项目管理者可以帮助项目管理者 。
l可以发现当前软件开发过程中的缺陷,以便及时改进可以发现当前软件开发过程中的缺陷,以便及时改进l可以帮助测试人员设计出有针对性的测试方法,改善测试的效率和有可以帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性Ø没有发现错误的测试也是有价值的没有发现错误的测试也是有价值的,完整的测试是评定软件质完整的测试是评定软件质量的一种方法量的一种方法三、实现质量保证的方法三、实现质量保证的方法Ø程序正确性证明的必要性程序正确性证明的必要性l测试只能证明程序中有错误,并不能证明程序中没有错误测试只能证明程序中有错误,并不能证明程序中没有错误l正确性证明的基本思想是证明程序能完成预定的功能,应该提供对程正确性证明的基本思想是证明程序能完成预定的功能,应该提供对程序功能的严格数学说明,然后根据程序代码证明程序确实能实现它的序功能的严格数学说明,然后根据程序代码证明程序确实能实现它的功能说明功能说明l程序正确性证明只证明程序功能是正确的,并不能证明程序的动态特程序正确性证明只证明程序功能是正确的,并不能证明程序的动态特性是符合要求的性是符合要求的l正确性证明过程本身也可能发生错误正确性证明过程本身也可能发生错误。
l软件测试也仍然是需要的,对于大型软件的正确性验证是不实用的软件测试也仍然是需要的,对于大型软件的正确性验证是不实用的三、实现质量保证的方法三、实现质量保证的方法。
