免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2011年下半年 信息系统项目管理师 下午试卷 案例
  第2题      
  知识点:   电子政务   项目管理   编码   编码阶段   变更请求   项目范围说明书   需求分析

 
某市工商局为了给各个企业提供良好的服务,提高工作效率,决定建设电子政务系统,并选择A公司承担该项目,项目的工作经双方协定为9个月。A公司制定项目经理李某负责该项目。李某带领项目团队完成了项目的需求分析。编制了项目范围说明书,并通过了审查,得到了甲方的确认。
项目进入编码阶段后,工商局项目负责人通知李某,由于政策变化,一些业务流程发生变更,并答应延长项目工期2个月,同时支付相应的费用,李某凭借自己项目管理的经验,认为这些变更在约定的工期内可以完成,因此直接答应了对方的变更请求。随后李某找到了负责变更模块的项目组成员,要求其完成对业务流程变更的修改。
在项目继续实施的过程中,项目组成员抱怨业务流程变更较大,原来的代码很多需要重写,很难在计划的时间内完成业务流程的变更任务。而且,系统其他模块的成员发现已经完成的一些功能突然出现错误,经过分析发现是业务流程变更的影响。项目团队不得不重新修改并测试出现的问题的功能模块,从而导致项目进度大大落后于计划,整个项目看来很难在预定工期内完工。
 
问题:2.1   请指出工商局项目负责人提出的变更要求,除了项目范围外,可能会对项目管理的哪些方面造成影响。
 
问题:2.2   请简要分析李某在项目管理方面存在哪些问题,导致项目进度大大落后于计划。
 
问题:2.3   李某意识到项目存在的问题后,采取了改进措施,并与用户就项目进度重新达成了一致,项目进展较为顺利,在项目开发过程中,李某认为需要对项目需求变更进行验证和确认。作为项目经理,李某应如何开展此项工作?
 
 
 

   知识点讲解    
   · 电子政务    · 项目管理    · 编码    · 编码阶段    · 变更请求    · 项目范围说明书    · 需求分析
 
       电子政务
        电子政务的概念和内容
        电子政务的概念:指政府机构在其管理和服务职能中运用现代信息技术,实现政府组织结构和工作流程的重组优化,超越时间、空间和部门分隔的制约,建成一个精简、高效、廉洁、公平的政府运作模式。
        广义的政务概念除电子政务以外,还包括电子党务、电子政协和电子人大等。
        电子政务主要包括以下几个方面的内容:
        .政府间的电子政务。
        .政府对企业的电子政务。
        .政府对公民的电子政务。
        电子政务指导思想和指导原则
        我国电子政务建设的指导思想是:以邓小平理论和“三个代表”重要思想为指导,适应改革开放和现代化建设对政务工作的要求,转变政府职能,提高工作效率和监管的有效性,更好地服务人民群众;以需求为导向,以应用促发展,通过积极推广和应用信息技术,增强政府工作的科学性、协调性和民主性,全面提高依法行政能力,加快建设廉洁、勤政、务实、高效的政府,促进国民经济持续快速健康发展和社会全面进步。
        我国电子政务建设的指导原则有:
        .统一规划,加强领导。
        .需求主导,突出重点。
        .整合资源,拉动产业。
        .统一标准,保障安全。
        电子政务建设的主要任务和主要措施
        电子政务建设的主要任务有:
        .建设和整合统一的电子政务网络。
        .建设和完善重点业务系统。
        .规划和开发重要政务信息资源。
        .积极推进公共服务。
        .基本建立电子政务网络与信息安全保障体系。
        .加强公务员信息化培训与考核。
        .加快推进电子政务法制建设。
        加快电子政务建设的主要措施包括:
        .统一认识,加强领导。
        .明确分工,各司其职。
        .稳步推进,严禁重复建设。
        .利用统一网络平台。
        .规范试点。
        .保证建设和运行资金。
        .创造有利于电子政务发展的外部环境。
 
       项目管理
        定义
        把各种知识、技能、手段和技术应用于项目活动之中,以达到项目的要求。管理一个项目包括:
        .识别要求。
        .确定清楚而又能实现的目标。
        .权衡质量、范围、时间和成本方面的要求,使技术规格说明书、计划和方案适合于各干系人的不同需求与期望。
        项目管理需要的知识领域
        除了专门的项目管理技术以外,项目管理组至少应能理解和使用以下5方面的知识领域:
        .项目管理知识体系。
        .应用领域的知识、标准和规定。
        .项目环境知识。
        .通用的管理知识和技能。
        .软技能(处理人际关系技能)。
        项目管理体系
        项目管理体系是指用于管理项目的工具、技术、方法、资源和规程。项目管理计划说明如何使用项目管理体系。
        项目管理环境
        项目管理团队应该考虑的项目环境包括:
        .社会环境:经济、人口、教育、道德、种族、宗教和其他特征等。
        .政治环境:法律、风俗和政治风气等。
        .自然环境:生态和自然地理等。
        项目管理办公室
        项目管理办公室(PMO)是在管辖范围内集中、协调地管理项目的组织单元。也可指“大项目管理办公室”、“项目办公室”或“大项目办公室”。PMO监控项目、大项目或各类项目组合的管理。由PMO管理的项目不必要有特定的关系,PMO关注与上级组织或客户的整体业务目标相联系的项目或子项目之间的协调计划、优先级和执行情况。
        PMO执行的职责可以是一个宽广的范围,包括从以培训、软件、标准政策和规程、模板的形式提供项目管理支持功能,到实际直接管理项目和项目的结果。
        PMO可以存在于任何组织结构中,包括职能型组织。
        项目经理和项目管理办公室的区别如下:
        .追求的目标不同。项目经理关注于特定项目的目标,而PMO管理主要的大项目范围的变化,并将之视为更好地达到业务目标的潜在机会,其工作目标包含组织级的观点。
        .项目经理控制赋予项目的资源以最好地实现项目目标,而PMO对所有项目之间的共享资源进行优化使用。
        .项目经理管理本项目的范围、进度、费用和质量,而PMO管理整体的风险、整体的机会和所有项目的依赖关系。
        过程和过程组
        过程就是一组为了完成一系列事先指定的产品、成果或服务而必须执行的互相联系的行动和活动。
        项目管理过程由项目团队实施,包括两大类:
        .面向管理的过程。即项目管理过程,其目的是启动、规划、执行、监控和结束一个项目。
        .面向产品的过程。一般由项目生命期规定,并因领域而异。
        项目管理过程和创造产品的过程从项目开始到结束始终彼此重叠交互。
        任何项目都必须执行5个项目过程组,它们与应用领域或特定行业无关。过程组不是项目阶段,每一阶段或子项目都要重复过程组的所有子过程。
        .启动过程组。定义并批准项目或阶段。在多阶段项目中,后续阶段进行的启动过程是为了确认在指定项目章程与拟定初步项目范围说明书过程中所做的原假设与决策的合理性。启动过程组也定义了项目意图,确定了目标,并授权项目经理进行项目。
        .规划过程组。定义和细化目标,规划最佳的行动方案,即从各种备选方案中选择最优方案,以实现项目或阶段所承担的目标和范围。项目团队应让所有项目干系人参与项目计划过程。当项目计划工作结束时,不管是由组织还是由项目团队负责,都要有明确的指导方针,否则将无法确定如何进行后续的反馈和细化。项目管理计划的渐进明细经常被称作“滚动式计划”,这意味着计划是一个迭代和持续的过程。
        .执行过程组。整合人员和其他资源,在项目的生命期或某个阶段执行项目管理计划。
        .监控过程组。要求定期测量和监控项目进展,识别与项目管理计划的偏差,以便在必要时采取纠正措施,确保项目或阶段目标达成。
        .收尾过程组。正式接受产品、服务或工作成果,有序地结束项目或阶段。
        项目管理过程组和“计划-执行-检查-行动(即PDCA)”循环的对应关系如下图所示。
        
        项目管理过程组和PDCA循环的对应
        规划过程组与PDCA循环中的“计划”对应;执行过程组与循环中的“执行”对应;监控过程组与循环中的“检查”和“行动”对应。启动过程组是这些循环的开始,而收尾过程组是其结束。
        过程的交互
        项目管理过程组通过它们各自所产生的结果而联系起来——一个过程的结果或者输出通常会成为另一个过程的输入或者整个项目的最终结果。在项目过程组之间以及项目过程本身当中,这种联系是迭代的。
        如果一个项目被划分成阶段,每个阶段中的过程经常会反复进行。项目中过程组的相互作用如下图所示。
        
        过程组的相互作用
        5个项目过程组与44个项目管理过程及9个项目管理知识域的映射关系如下表所示。
        
        过程组、过程和类知识域的映射关系
        注:1.在《信息系统项目管理师教程》中,“团队组建”被划分为规划过程组。在PMBOK 2004版中,“团队组建”在执行过程组中,笔者认为划分在执行过程组中更合理。
        2.发包规划在《信息系统项目管理师教程》中也称为计划签约和编制合同。
 
       编码
               编码过程
               在给定了软件设计规格说明书后,下一步的工作就是编写代码。一般来说,编码工作可以分为四个步骤:
               (1)确定源程序的标准格式,制订编程规范。
               (2)准备编程环境,包括软硬件平台的选择,包括操作系统、编程语言、集成开发环境等。
               (3)编写代码。
               (4)进行代码审查,以提高编码质量。为提高审查的效率,在代码审查前需要准备一份检查清单,并设定此次审查须找到的bug数量。在审查时,要检查软件规格说明书与编码内容是否一致;代码对硬件和操作系统资源的访问是否正确;中断控制模块是否正确等。
               编码准则
               在嵌入式系统中,由于资源有限,且实时性和可靠性要求较高,因此,在开发嵌入式软件时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。也就是说,代码的执行速度要越快越好,系统占用的存储空间要越小越好,软件开发和维护的时间要越少越好。
               具体来说,在编写代码时,需要做到以下几点:
               .保持函数短小精悍。一个函数应该只实现一个功能,如果函数的代码过于复杂,将多个功能混杂在一起,就很难具备可靠性和可维护性。另外,要限制函数的长度,一般来说,一个函数的长度最好不要超过100行。
               .封装代码。将数据以及对其进行操作的代码封装在一个实体中,其他代码不能直接访问这些数据。例如,全局变量必须在使用该变量的函数或模块内定义。对代码进行封装的结果就是消除了代码之间的依赖性,提高了对象的内聚性,使封装后的代码对其他行为的依赖性较小。
               .消除冗余代码。例如,将一个变量赋给它自己,初始化或设置一个变量后却从不使用它,等等。研究表明,即使是无害的冗余也往往和程序的缺陷高度关联。
               .减少实时代码。实时代码不但容易出错、编写成本较高,而且调试成本可能更高。如果可能,最好将对执行时间要求严格的代码转移到一个单独的任务或者程序段中。
               .编写优雅流畅的代码。
               .遵守代码编写标准并借助检查工具。用自动检验工具寻找缺陷比人工调试便宜,而且能捕捉到通过传统测试检查不到的各种问题。
               编码技术
                      编程规范
                      在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
                      编程规范主要涉及的三方面内容:
                      .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
                      .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
                      .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
                      性能优化
                      由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
                      .尽量使用整数(char、short、int和long)的加法和减法。
                      .如果没有硬件支持,尽量避免使用乘法。
                      .尽量避免使用除法。
                      .如果没有硬件支持,尽量避免使用浮点数。
                      下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
                      
                      算术运算性能优化的例子
 
       编码阶段
        . 可靠性测试(含于单元测试);
        . 排错;
        . 调整可靠性活动计划;
        . 收集可靠性数据;
        . 明确后续阶段的可靠性活动的详细计划;
        . 编制可靠性文档。
 
       变更请求
        变更请求是关于修改任何文档、可交付成果或基准的正式提议。变更请求被批准之后将会引起对相关文档、可交付成果或基准的修改,也可能导致对项目管理计划其他相关部分的更新。其他变更请求包括必要的预防措施或纠正措施,用来防止以后的不利后果。变更请求可以是直接或间接的,可以由外部或内部提出,可能是自选或由法律/合同所强制的。
        变更请求可以包括:
        .纠正措施:为使项目工作绩效重新与项目管理计划一致而进行的有目的的活动。
        .预防措施:为确保项目工作的未来绩效符合项目管理计划而进行的有目的的活动。
        .缺陷补救:为了修正不一致的产品或产品组件而进行的有目的的活动。
        .更新:对正式受控的项目文件或计划等进行的变更,以反映出修改或增加的意见或内容。
 
       项目范围说明书
        项目范围说明书是对项目范围、主要可交付成果、假设条件和制约因素的描述。项目范围说明书记录了整个范围,包括项目和产品范围。项目范围说明书详细描述项目的可交付成果,以及为创建这些可交付成果而必须开展的工作。为了便于管理干系人的期望,项目范围说明书可明确指出哪些工作不属于本项目范围。项目范围说明书使项目团队能进行更详细的规划,在执行过程中指导项目团队的工作,并为评价变更请求或额外工作是否超过项目边界提供基准。
        详细的项目范围说明书包括以下内容:
        .产品范围描述:逐步细化项目章程和需求文件中所述的产品、服务或成果的特征。
        .验收标准:可交付成果通过验收前必须满足的一系列条件。
        .可交付成果:在某一过程、阶段或项目完成时,必须产出的任何独特并可核实的产品、成果或服务能力。可交付成果也包括各种辅助成果,如项目管理报告和文件。对可交付成果的描述可略可详。
        .项目的除外责任:通常需要识别出什么是被排除在项目之外的。明确说明哪些内容不属于项目范围,有助于管理干系人的期望。
        .制约因素:对项目或过程的执行有影响的限制性因素。需要列举并描述与项目范围有关且会影响项目执行的各种内外部制约或限制条件,例如,客户或执行组织事先确定的预算、强制性日期或进度里程碑。如果项目是根据协议实施的,那么合同条款通常也是制约因素。关于制约因素的信息可以列入项目范围说明书,也可以独立成册。
        .假设条件:在制订计划时,不需验证即可视为正确、真实或确定的因素。还应描述如果这些因素不成立,可能造成的潜在影响。在项目规划过程中,项目团队应该经常识别、记录并确认假设条件。关于假设条件的信息可以列入项目范围说明书,也可以独立成册。
        虽然项目章程和项目范围说明书的内容存在一定程度的重叠,但它们的详细程度完全不同。项目章程包括高层级的信息,而项目范围说明书则是对项目范围的详细描述。项目范围需要在项目过程中渐进明细。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (1)结构化分析方法。本节后续内容将详细讨论SA的内容。
        (2)面向对象分析方法。将在10.3节中进行详细介绍。
        (3)面向问题域的分析(Problem Domain Oriented Analysis, PDOA)方法。PDOA更多地强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量地捕获更多有关问题域的信息。PDOA方法现在还在研究阶段,并未广泛应用。
               业务流程分析
               业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
               业务流程分析的步骤如下:
               (1)通过调查掌握基本情况。
               (2)描述现有业务流程(绘制业务流程图)。
               (3)确认现有业务流程。
               (4)对业务流程进行分析。
               (5)发现问题,提出解决方案。
               (6)提出优化后的业务流程。
               在业务流程图中使用的基本符号如下图所示。
               数据流图
               DFD是结构化分析中的重要方法和工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
               
               业务流程图符号
               DFD从数据传递和加工的角度,利用图形符号通过逐层细分地描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:
               (1)DFD是理解和表达用户需求的工具,是系统分析的手段。由于DFD简明易懂,理解它不需要任何计算机专业知识,因此通过它同客户交流很方便。
               (2)DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
               (3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
               在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。下图是一个典型的DFD示例。
               
               办理取款手续的DFD
               为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。稍微复杂的实际问题,在DFD中常常出现十几个甚至几十个加工。这样的DFD看起来很不清楚。层次结构的DFD能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
               下图给出分层DFD的示例。数据处理S包括3个子系统1、2、3。顶层下面的第一层DFD为DFD/L1,第二层的DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,它的上层图称为父图,在它下一层的图则称为子图。
               
               分层数据流图
               概括地说,画DFD的基本步骤,就是“自顶向下,逐层分解”。检查和修改的原则如下:
               (1)DFD中的所有图形符号只限于前述4种基本图形元素。
               (2)顶层DFD必须包括前述4种基本元素,缺一不可。
               (3)顶层DFD中的数据流必须封闭在外部实体之间。
               (4)每个加工至少有一个输入数据流和一个输出数据流。
               (5)在DFD中,需按层给加工框编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。
               (6)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
               (7)可以在DFD中加入物质流,帮助用户理解DFD。
               (8)图上每个元素都必须有名字。
               (9)DFD中不可夹带控制流。
               数据字典
               数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有DFD,数据字典难以发挥作用;没有数据字典,DFD就不严格。只有把DFD和对DFD中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
               数据字典的设计包括:数据流设计、数据元素字典设计、数据处理字典设计、数据结构字典设计和数据存储设计。这些设计涵盖了数据的采集和范围的确定等信息。在数据字典的每一个词条中应包含以下信息:名称、别名或编号、分类、描述、何处使用。
               对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树及判定表。
               (1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许3种基本结构。结构化语言也只允许3种基本语句,即简单的祈使语句、判断语句和循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定,与自然语言的不同在于它只有极其有限的词汇和语句。结构化语言使用3类词汇:祈使句中的动词、数据字典中定义的名词及某些逻辑表达式中的保留字。
               (2)判定树:若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套,层次一多,可读性就会下降。用判定树来表示,可以更直观一些。
               (3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
   题号导航      2011年下半年 信息系统项目管理师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
 
第2题    在手机中做本题