免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2012年下半年 信息系统项目管理师 上午试卷 综合知识
  第1题      
  知识点:   信息系统项目   原型法
  关键词:   开发   信息系统   原型        章/节:   信息系统项目的生命周期       

 
信息系统项目采用原型法开发,以下做法中不正确的是(1)。
 
 
  A.  前期花足够的时间与客户充分沟通,完全明确需求后再开发实现
 
  B.  系统分析、设计和实现工作之间不做严格的界限划分
 
  C.  动态响应用户的需求,逐步纳入用户的具体要求,逐步修改系统开发计划
 
  D.  本着开发人员对需求的初步理解,快速开发一个原型系统,再反复修改
 
 
 

 
  第45题    2009年上半年  
   31%
某软件公司欲开发一个图像处理系统,在项目初期开发人员对需求并不确定的情况下,采用(45)方法比较合适。
 
   知识点讲解    
   · 信息系统项目    · 原型法
 
       信息系统项目
               项目的基本概念
               什么是项目?简单地说,安排一场演出、开发一种新产品、建一幢大房子都可以被称为一个项目。所谓项目,简单地说,就是在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务。这个定义包括三层意思:一定的资源约束、一定的目标、一次性任务。这里的资源包括时间资源、经费资源、人力资源等。
               对项目的概念有了一定了解的基础上,我们来看一下项目的基本特征。
                      明确的目标
                      项目是一种有着明确目标——一种期望的产品或希望得到的服务的一次性活动。这里的目标包括几个方面。
                      (1)时间目标如在规定的时段内或规定的时间点之前完成。
                      (2)成果目标如提供某种规定的产品、服务或其他成果。
                      (3)其他需满足的要求包括必须满足的要求和应尽量满足的要求。
                      目标允许有一个变动的幅度,也就是可以修改的。不过一旦项目目标发生实质性变化,它就不再是原来的项目了,而将产生一个新的项目。
                      独特的性质
                      每一个项目都是唯一的、独特的。或者项目的成果与其他项目不同;或者项目的成果与其他项目类似,然而其时间和地点,内部和外部的环境,自然和社会条件有别于其他项目,总之项目总是独一无二的,没有两个项目是完全相同的。项目没有可以完全照搬的先例,也不会有完全相同的复制。
                      有限的生命周期
                      项目有具体的时间计划,它有一个开始时间和目标必须实现的截止日期。虽然不同项目可以划分为不同的具体阶段,不过,大多数项目的生命周期都可以划分为启动、规划、实施、结尾4个阶段。
                      特定的委托人
                      它既是项目结果的需求者,也是项目实施的资金提供者。他可能是一个人,或一个组织;委托人可能是企业外部的,被称作外部客户,也可能是企业内部的,比如企业内的别的部门,被称作内部客户。不管是外部客户还是内部客户,都是项目的委托人或项目成果的使用者。
                      实施的一次性
                      一次性是项目与其他常规运作的最大区别。项目有确定的起点和终点,项目不能重复。
                      组织的临时性和开放性
                      项目开始时要组建项目团队,项目团队在项目进展过程中,其人数、成员、职责在不断变化。某些成员是借调来的,项目终结时团队要解散,人员要转移。参与项目的组织往往有多个,甚至几十个或更多。他们通过协议或合同以及其他的社会关系结合到一起,在项目的不同时段以不同的程度介入项目活动。可以说,项目组织没有严格的边界,是有弹性的、模糊的、开放的。这一点与一般企事业单位和政府机构很不一样。
                      项目的不确定性和风险性
                      项目以所需的时间估计、成本估计、各种资源的有效性为项目计划的假定条件,这种假定带来了一定程度的不确定性,这种不确定性为项目的实现带来一定的风险。项目是一次性任务,做坏了没有机会重来。项目必须保证成功,因此必须精心设计、精心制作和精心控制,以达到预期目标。
                      结果的不可逆转性
                      不论结果如何,项目结束了,结果也就确定了。
               信息系统项目的概念
               通过上一节对项目的介绍,我们知道信息系统的建设也是一类项目。因为信息系统的建设符合项目的定义。我们知道,项目的定义中包含三层意思:一定的资源约束、一定的目标、一次性任务。首先,信息系统的建设是一次性的任务,有明确的任务范围和质量要求,有时间和进度的要求,有经费和资源的限制。因此,信息系统的建设是一类项目的建设过程。
               信息系统项目除了具有项目的特征之外,还具有自己的特点。
                      信息系统项目的目标不精确、任务边界模糊,质量要求主要由项目团队定义
                      在信息系统开发初期,项目团队调研时,客户只能提出一些初步的功能要求,提不出确切的需求。信息系统项目的任务范围在很大程度上取决于项目组所做的系统规划和需求分析。另外,因为大部分客户方都不是从事信息技术的人员,对信息技术的各种性能指标并不熟悉,所以,信息系统项目所应达到的质量要求也更多地由项目组定义,客户则尽可能地进行审查。为了更好地定义或审查信息系统项目的任务范围和质量要求,客户方可以聘请第三方的信息系统监理或咨询机构来监督项目的实施情况。
                      在信息系统项目开发过程中,客户的需求不断被激发,不断地被进一步明确,或者客户需求随项目进展而变化,从而导致项目进度、费用等计划的不断更改
                      尽管已经做好了系统规划、可行性研究,签订了较明确的技术合同,然而随着项目的进展,客户的需求不断地被激发,被进一步明确,导致程序、界面以及相关文档需要经常被修改。而且在修改过程中又可能产生新的问题,这些问题很可能经过相当长的时间后才会被发现。这就要求项目经理在项目开发过程中不断监控和调整项目计划的执行情况,尤其注重项目的变更管理。
                      信息系统项目是智力密集、劳动密集型项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定性的影响
                      信息系统项目工作的技术性很强,需要大量高强度的脑力劳动。尽管近年来信息系统辅助开发工具的应用越来越多,但是项目各阶段还是渗透了大量的手工劳动。这些劳动十分细致、复杂和容易出错,因而信息系统项目既是智力密集型项目,又是劳动密集型项目。并且,由于信息系统开发的核心成果——应用软件是不可见的逻辑实体,如果人员发生流动,对于没有深入掌握软件知识或缺乏信息系统开发实践经验的人来说,很难在短时间里做到无缝地承接信息系统的后续开发工作。
                      另外,信息系统的开发是项目团队整体的工作,为了高质量的完成项目,要充分发掘项目成员的才能和创新精神,不仅要求他们具有一定的技术水平和工作经验,还要求他们具有良好的心理素质和责任心,尤其要具有团队合作精神。项目经理在项目开发过程中,也应该注重项目成员之间的沟通协调,要将人力放到与进度和成本一样高的地位来看待。
 
       原型法
        结构化方法和面向对象方法有一个共同点:在系统开发初期必须明确系统的功能要求,确定系统边界。从工程学角度来看,这是十分自然的,解决问题之前必须明确要解决的问题是什么,然而对于信息系统建设而言,明确问题本身不是一件轻松的事情。
        通常,原型是指模拟某种产品的原始模型。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本要求,使得用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。
               原型的分类
               软件原型是所提出的新产品的部分实现,建立原型的主要目的是为了解决在产品开发的早期阶段的需求不确定的问题,其目的是:明确并完善需求、探索设计选择方案、发展为最终的产品。
               原型有很多种分类方法。从原型是否实现功能来分,软件原型可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上。垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。
               从原型的最终结果来分,软件原型可分为抛弃型原型和演化型原型。抛弃型原型也称为探索型原型,是指达到预期目的后,原型本身被抛弃。抛弃型原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。演化型原型为开发增量式产品提供基础,是螺旋模型的一部分,也是面向对象软件开发过程的一部分。演化型原型主要用在必须易于升级和优化的系统,以适用于Web的项目。
               有些文献把原型分为实验型、探索型和演化型。探索型原型的目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。演化型原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型演化成最终系统。
               还有些文献也把原型分为抛弃式原型、演化式原型和递增式原型。
               原型类型的选择
               如果是在需求分析阶段要使用原型化方法,必须从系统结构、逻辑结构、用户特征、应用约束、项目管理和项目环境等多方面来考虑,以决定是否采用原型化方法。
               (1)系统结构:联机事务处理系统,相互关联的应用系统适合于用原型化方法,而批处理、批修改等结构不适宜用原型化方法。
               (2)逻辑结构:有结构的系统,如操作支持系统、管理信息系统、记录管理系统等适于用原型化方法,而基于大量算法的系统不适宜用原型化方法。
               (3)用户特征:不满足于预先做系统定义说明,愿意为定义和修改原型投资,不易肯定详细需求,愿意承担决策的责任,准备积极参与的用户是适合使用原型的用户。
               (4)应用约束:对已经运行系统的补充,不能用原型化方法。
               (5)项目管理:只有项目负责人愿意使用原型化方法,才适于用原型化的方法。
               (6)项目环境:需求说明技术应当根据每个项目的实际环境来选择。
               当系统规模很大、要求复杂、系统服务不清晰时,在需求分析阶段先开发一个系统原型是很值得的。特别是当性能要求比较高时,在系统原型上先做一些试验也是很有必要的。
               原型生存期
               原型的开发和使用过程叫做原型生存期。下图(a)是原型生存期的模型,下图(b)是模型的细化。
               
               原型生存期
               (1)快速分析:在分析者和用户的紧密配合下,快速确定软件系统的基本要求。
               (2)构造原型:在快速分析基础上,根据基本需求,尽快实现一个可运行的系统。构造原型时要注意2个基本原则,即集成原则(尽可能用现有软件和模型来构成,这需要相应的原型工具)和最小系统原则(耗资一般不超过总投资的10%)。
               (3)运行和评价原型:用户在开发者指导下试用原型,在试用的过程中考核、评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明描述是否满足用户的愿望。
               (4)修正和改进:根据修改意见进行修改。如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。开发者和用户在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。
               (5)判定原型完成:如果经过修改或改进的原型,达到参与者一致认可,则原型开发的迭代过程可以结束。为此,应判断有关应用的实质是否已经掌握,迭代周期是否可以结束等。判定的结果有两个不同的转向,一是继续迭代验证,另外则是进行详细说明。
               (6)判断原型细部是否说明:判断组成原型的细部是否需要严格地加以说明。原型化方法允许对系统必要成分或不能通过模型进行说明的成分进行严格的和详细的说明。
               (7)原型细部的说明:对于那些不能通过原型说明的所有项目,仍需通过文件加以说明。严格说明的成分要作为原型化方法的模型编入词典。
               (8)判定原型效果:考查用户新加入的需求信息和细部说明信息,看其对模型效果有什么影响?是否会影响模块的有效性?如果模型效果受到影响,甚至导致模型失效,则要进行修正和改进。
               (9)整理原型和提供文档。
               总之,利用原型化技术,可为软件的开发提供一种完整的、灵活的、近似动态的规格说明方法。
               原型开发技术
               通常用于构造原型的一些技术包括可执行规格说明、基于场景的设计、自动程序设计、专用语言、可复用的软件构件、简化假设和面向对象技术等。其中前三种还适用于用户界面的设计。
               (1)可执行规格说明:可执行规格说明是用于需求规格说明的一种自动化技术。可执行规格说明语言可描述系统要“做什么”,但它并不描述系统要“怎样做”。使用这种方法,人们可以直接观察他们用语言规定的任何系统性行为。可执行规格说明包括形式化规格说明、有限状态模型和可执行的数据流图。
               (2)基于场景的设计:一个场景可模拟在系统运行期间用户经历的事件。由于它提供了输入—处理—输出的屏幕格式和有关对话的模型。因此,场景能够给用户显示系统的逼真的视图,使用户得以判断是否符合他的意图。
               (3)自动程序设计:自动程序设计是可执行规格说明的替身,主要是指在程序自动生成环境的支持下,利用计算机实现软件的开发。它可以自动地或半自动地把用户的非过程性问题的规格说明转换为某种高级语言程序。
               (4)专用语言:专用语言是应用领域的模型化语言。在原型开发中使用专用语言,可方便用户和软件开发者在计划中的系统特性方面的交流。
               (5)软件复用技术:软件复用技术可分为两大类:合成技术和生成技术。
               ①合成技术:可复用的软件构件可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,利用这些构件来构造软件系统。用构件合成较大的构件有三种方式:一是连接;二是消息传递和继承;三是管道机制。
               ②生成技术:利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看做是模式的实例。可复用的模式有两种不同的形式:代码模式和规则模式。前者的例子是应用生成器,可复用的代码模式就存在于生成器自身。通过特定的参数替换,生成抽象软件模块的具体实体。后者的例子是变换系统,它通常采用超高级的规格说明语言,形式化地给出软件的需求规格说明,利用程序变换系统(有时要经过一系列的变换),把用超高级规格说明语言编写的程序转化成某种可执行语言的程序。
               (6)简化假设:简化假设是在开发过程中使设计者迅速得到一个简化的系统所做的假设。尽管这些假设可能实际上并不能成立,但它们在原型开发过程中可以使开发者的注意力集中在一些主要的方面。
               (7)面向对象技术:通常是指OO程序设计语言和面向对象的数据库等有关分析与设计技术的综合。使用OO技术,可以把现实世界中已存在的问题与实体,都采用对象去构成,能更好地体现出自然性、模块化、共享特性、并发特性、继承性、封装隐蔽性与可重用性等一系列功能化要求。如果能把OO数据库和OO程序设计语言等技术用于可重用的构件与原型语言,并且在其中体现出一致的“对象模型”本质,那么就有可能去统一“重用构件库”语言与原型化语言等。
               原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。
   题号导航      2012年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第1题    在手机中做本题