免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2008年下半年 信息系统项目管理师 上午试卷 综合知识
  第25题      
  知识点:   面向对象软件开发   RUP   生命周期   信息系统项目
  关键词:   RUP   生命周期模型   项目风险   信息系统   需求   风险   生命周期        章/节:   信息系统及其技术和开发方法       

 
RUP信息系统项目生命周期模型之一,"确保软件结构、需求、计划足够稳定;确保项目风险已经降低到能够预计完成整个项目的成本和日程的程度。 针对项目的软件结构上的主要风险已经解决或处理完成"是该模型(25)阶段的主要任务。
 
 
  A.  构造
 
  B.  细化
 
  C.  初始
 
  D.  移交
 
 
 

 
  第26题    2016年上半年  
   44%
使用UML对系统进行分析设计时,需求描述中的“包含”、“组成”、“分为......部分”等词常常意味..
  第26题    2016年下半年  
   28%
以下关于UML的叙述中,不正确的是(26)。
  第26题    2011年上半年  
   49%
假设ICBCA_ACCOUNT和CBCA_ACCOUNT是用计算机语言定义的两个不同的类。前者代表工商银行账户,后者代表建设银行账户。ZhangSan_IC..
   知识点讲解    
   · 面向对象软件开发    · RUP    · 生命周期    · 信息系统项目
 
       面向对象软件开发
        面向对象的方法从问题模型开始,然后进行识别对象、不断细化的过程。它从本质上就是迭代和渐增的。开发过程是一次次的迭代反复过程,随着迭代的进行,系统功能不断完善。典型的面向对象开发方法有RUP(Rational Unified Process)和XP(eXtreme Programming),两者各有侧重,适用于不同的场景。
        1.RUP
        RUP是Rational公司开发和维护的过程产品。RUP以适合于大范围项目和机构的方式捕捉了许多现代软件开发过程的最佳实践。RUP的三个关键特征为迭代(Iterative)、以架构为中心(Architecture-Centric)和用例驱动(Use-Case Driven)。
        RUP的6个基本最佳实践如下:
        .迭代式开发。RUP支持专注于处理生命周期中每个阶段中最高风险的迭代开发方法,极大地减少了项目的风险性。
        .需求管理。RUP描述了如何提取、组织和文档化需要的功能和限制。
        .使用基于构件的体系结构。RUP提供了使用新的及现有构件定义体系结构的系统化方法。
        .可视化软件建模。RUP开发过程显示了对软件如何可视化建模,捕获体系结构及构件的构架和行为。
        .验证软件质量。RUP帮助计划、设计、实现、执行和评估软件质量,并且不是事后型的。
        .控制软件变更。RUP开发过程描述了如何控制、跟踪和监控修改以确保成功的迭代开发。
        RUP的二维开发模型
        RUP可以用二维坐标来描述。横轴表示时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴按内容组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow),如下图所示。
        RUP开发过程的各个阶段和里程碑
        RUP中的软件生命周期在时间上被分解为4个顺序的阶段,分别是初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。
        
        RUP的二维开发模型
        (1)初始阶段。
        初始阶段有时也称为先启阶段,该阶段的主要目标是为系统建立商业模型并确定项目的边界。任务包括识别和规避项目的主要风险,建立用例模型框架,并制订里程碑日期的阶段计划。
        初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。该里程碑评估项目的基本可行性。
        (2)细化阶段。
        细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目标,必须在理解整个系统的基础上,对体系结构做出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
        细化阶段结束时是第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。该里程碑为系统的架构建立了管理基准,并使项目小组能够在构建阶段中进行衡量。
        (3)构造阶段。
        在构造阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构造阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。
        构造阶段结束时是第三个重要的里程碑:初始操作(Initial Operational)里程碑。该里程碑确定产品是否已经可以部署到Beta测试环境。
        (4)交付阶段。
        交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量调整。在生命周期的这一点上,用户反馈应主要集中在产品调整、设置、安装和可用性问题上,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。
        在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下,这个里程碑可能与下一个周期的初始阶段的结束重合。
        RUP的核心工作流
        RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被使用。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。
        (1)商业建模(Business Modeling)。
        商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。
        (2)需求(Requirements)。
        需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化,最重要的是理解系统所解决问题的定义和范围。
        (3)分析和设计(Analysis&Design)。
        分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。
        (4)实现(Implementation)。
        实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。
        (5)测试(Test)。
        测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确地实现,识别并确认缺陷在软件部署之前被提出并处理。RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系统性能来进行。
        (6)部署(Deployment)。
        部署工作流的目的是成功地生成版本并将软件分发给最终用户。部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。
        (7)配置和变更管理(Configuration&Change Management)。
        配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员保持审计记录。
        (8)项目管理(Project Management)。
        软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。
        (9)环境(Environment)。
        环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册,并介绍了如何在组织中实现过程。
        2.XP
        极限编程(eXtreme Propgramming,XP)由Kent Beck在1996年开创,是一种演进式的原型化方法,以最大化发挥人的能量为核心目标,具有沟通高效、设计简单、反馈迅速等特点,是一种轻量级、敏捷的过程方法。
        XP是一种高度动态的过程,它通过非常短的迭代周期来应对需求的变化。XP一般适用于需求不确定、变化快、项目历时不超过半年、人数不超过10个、在同一地点工作的中小型团队。
        XP的生命周期包括4个基本活动:编码(coding)、测试(testing)、聆听(listening)、设计(designing)。
        XP的4个价值目标:
        .沟通:让开发人员集体负责所有代码并结队工作,鼓励与客户及团队内部保持沟通。
        .简化:鼓励只开发当前的功能,避免过多的文档,专注于最小化解决方案,做好为新特性改变设计,在系统隐喻和代码规范下不断重构的准备。
        .反馈:通过单元测试和功能测试获得快速反馈。
        .勇气:提倡积极面对现实和处理问题的勇气,拥抱变化。
        XP的12个最佳实践:
        .有计划的开发。通过结合使用标有优先级的“故事”卡和技术估算,确定下一版本的功能。
        .小型发布。以小的增量版本经常向客户发布软件。
        .系统隐喻。隐喻是一个高层次的系统构想,需要不断地细化架构来指导全部开发。
        .简单设计。通过保持代码简单从而保证设计简单。不断地在代码中寻找复杂点并且立刻进行移除。
        .测试驱动。“先测试,后编码”。用户编写测试内容以对“故事”进行测试。程序员编写测试内容来发现代码中的任何问题。在编写代码前先编写测试内容。
        .重构。这是一项简化技术,用来移除代码中的重复内容和复杂之处。
        .结对编程。团队中的两个成员使用同一台计算机开发所有的代码。一个人编写代码或者驱动,另一个人同时审查代码的正确性和可理解性。
        .集体代码所有权。任何人都拥有所有的代码。提高代码透明度,增强团队合作精神。
        .持续集成。每天按任务多次创建和集成系统,随着需求变化,进行不断的回归测试。
        .每周40小时工作制。程序员在疲劳时无法保证最高效率。连续两周加班是绝对不允许的,否则会影响工作效率。
        .现场客户。至少有一名真实的客户全天候工作于开发环境中,帮助定义系统、编写测试内容并回答问题。
        .编码规范。程序员采用统一的编码规范。
 
       RUP
        RUP是使用面向对象技术进行软件开发的最佳实践之一,是软件工程的过程。它对所有关键开发活动提供了使用准则、模板及工具等。
        RUP有六个基本最佳实践,分别如下:
        .迭代式开发:RUP支持专注于处理生命周期每个阶段中最高风险的迭代开发方法,极大地减少了项目的风险性。
        .需求管理:RUP描述了如何提取、组织和文档化需要的功能和限制。
        .使用基于构件的体系结构:RUP提供了使用新的及现有构件定义体系结构的系统化方法。
        .可视化软件建模:RUP开发过程显示了对软件如何可视化建模、捕获体系结构及构件的构架和行为。
        .验证软件质量:RUP帮助计划、设计、实现、执行和评估软件质量,并且不是事后型的。
        .控制软件变更:RUP开发过程描述了如何控制、跟踪和监控修改以确保成功的迭代开发。
 
       生命周期
        IT服务生命周期由规划设计(Planning&Design)、部署实施(Implementing)、服务运营(Operation)、持续改进(Improvement)和监督管理(Supervision)5个阶段组成,简称“PIOIS”。
        (1)规划设计:从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务。
        (2)部署实施:在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案。
        (3)服务运营:根据IT服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营的全面融合。
        (4)持续改进:根据IT服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量。
        (5)监督管理:本阶段主要依据ITSS对IT服务质量进行评价,并对IT服务供方的服务过程、交付结果实施监督和绩效评估。
 
       信息系统项目
               项目的基本概念
               什么是项目?简单地说,安排一场演出、开发一种新产品、建一幢大房子都可以被称为一个项目。所谓项目,简单地说,就是在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务。这个定义包括三层意思:一定的资源约束、一定的目标、一次性任务。这里的资源包括时间资源、经费资源、人力资源等。
               对项目的概念有了一定了解的基础上,我们来看一下项目的基本特征。
                      明确的目标
                      项目是一种有着明确目标——一种期望的产品或希望得到的服务的一次性活动。这里的目标包括几个方面。
                      (1)时间目标如在规定的时段内或规定的时间点之前完成。
                      (2)成果目标如提供某种规定的产品、服务或其他成果。
                      (3)其他需满足的要求包括必须满足的要求和应尽量满足的要求。
                      目标允许有一个变动的幅度,也就是可以修改的。不过一旦项目目标发生实质性变化,它就不再是原来的项目了,而将产生一个新的项目。
                      独特的性质
                      每一个项目都是唯一的、独特的。或者项目的成果与其他项目不同;或者项目的成果与其他项目类似,然而其时间和地点,内部和外部的环境,自然和社会条件有别于其他项目,总之项目总是独一无二的,没有两个项目是完全相同的。项目没有可以完全照搬的先例,也不会有完全相同的复制。
                      有限的生命周期
                      项目有具体的时间计划,它有一个开始时间和目标必须实现的截止日期。虽然不同项目可以划分为不同的具体阶段,不过,大多数项目的生命周期都可以划分为启动、规划、实施、结尾4个阶段。
                      特定的委托人
                      它既是项目结果的需求者,也是项目实施的资金提供者。他可能是一个人,或一个组织;委托人可能是企业外部的,被称作外部客户,也可能是企业内部的,比如企业内的别的部门,被称作内部客户。不管是外部客户还是内部客户,都是项目的委托人或项目成果的使用者。
                      实施的一次性
                      一次性是项目与其他常规运作的最大区别。项目有确定的起点和终点,项目不能重复。
                      组织的临时性和开放性
                      项目开始时要组建项目团队,项目团队在项目进展过程中,其人数、成员、职责在不断变化。某些成员是借调来的,项目终结时团队要解散,人员要转移。参与项目的组织往往有多个,甚至几十个或更多。他们通过协议或合同以及其他的社会关系结合到一起,在项目的不同时段以不同的程度介入项目活动。可以说,项目组织没有严格的边界,是有弹性的、模糊的、开放的。这一点与一般企事业单位和政府机构很不一样。
                      项目的不确定性和风险性
                      项目以所需的时间估计、成本估计、各种资源的有效性为项目计划的假定条件,这种假定带来了一定程度的不确定性,这种不确定性为项目的实现带来一定的风险。项目是一次性任务,做坏了没有机会重来。项目必须保证成功,因此必须精心设计、精心制作和精心控制,以达到预期目标。
                      结果的不可逆转性
                      不论结果如何,项目结束了,结果也就确定了。
               信息系统项目的概念
               通过上一节对项目的介绍,我们知道信息系统的建设也是一类项目。因为信息系统的建设符合项目的定义。我们知道,项目的定义中包含三层意思:一定的资源约束、一定的目标、一次性任务。首先,信息系统的建设是一次性的任务,有明确的任务范围和质量要求,有时间和进度的要求,有经费和资源的限制。因此,信息系统的建设是一类项目的建设过程。
               信息系统项目除了具有项目的特征之外,还具有自己的特点。
                      信息系统项目的目标不精确、任务边界模糊,质量要求主要由项目团队定义
                      在信息系统开发初期,项目团队调研时,客户只能提出一些初步的功能要求,提不出确切的需求。信息系统项目的任务范围在很大程度上取决于项目组所做的系统规划和需求分析。另外,因为大部分客户方都不是从事信息技术的人员,对信息技术的各种性能指标并不熟悉,所以,信息系统项目所应达到的质量要求也更多地由项目组定义,客户则尽可能地进行审查。为了更好地定义或审查信息系统项目的任务范围和质量要求,客户方可以聘请第三方的信息系统监理或咨询机构来监督项目的实施情况。
                      在信息系统项目开发过程中,客户的需求不断被激发,不断地被进一步明确,或者客户需求随项目进展而变化,从而导致项目进度、费用等计划的不断更改
                      尽管已经做好了系统规划、可行性研究,签订了较明确的技术合同,然而随着项目的进展,客户的需求不断地被激发,被进一步明确,导致程序、界面以及相关文档需要经常被修改。而且在修改过程中又可能产生新的问题,这些问题很可能经过相当长的时间后才会被发现。这就要求项目经理在项目开发过程中不断监控和调整项目计划的执行情况,尤其注重项目的变更管理。
                      信息系统项目是智力密集、劳动密集型项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定性的影响
                      信息系统项目工作的技术性很强,需要大量高强度的脑力劳动。尽管近年来信息系统辅助开发工具的应用越来越多,但是项目各阶段还是渗透了大量的手工劳动。这些劳动十分细致、复杂和容易出错,因而信息系统项目既是智力密集型项目,又是劳动密集型项目。并且,由于信息系统开发的核心成果——应用软件是不可见的逻辑实体,如果人员发生流动,对于没有深入掌握软件知识或缺乏信息系统开发实践经验的人来说,很难在短时间里做到无缝地承接信息系统的后续开发工作。
                      另外,信息系统的开发是项目团队整体的工作,为了高质量的完成项目,要充分发掘项目成员的才能和创新精神,不仅要求他们具有一定的技术水平和工作经验,还要求他们具有良好的心理素质和责任心,尤其要具有团队合作精神。项目经理在项目开发过程中,也应该注重项目成员之间的沟通协调,要将人力放到与进度和成本一样高的地位来看待。
   题号导航      2008年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第25题    在手机中做本题