当前位置:首页计算机类软件水平考试高级系统分析师->2008年上半年试题2当前企业中业务都是在全球化、快速变化环

2008年上半年试题2

当前企业中业务都是在全球化、快速变化环境中运营,传统软件开发过程无法适应由此产生快速软件开发需求。20 世纪 90 年代后期,一些软件开发人员在“Agile Allicance 2001”中系统地阐述了敏捷开发原则,试图强调灵活性在快速且有效地生产软件中所发挥作用。目前,众多软件生产企业已经在实际软件开发过程中接纳并实践了敏捷开发方法中基本原则。

【问题1】

敏捷开发有许多典型方法,包括极限编程(eXtreme Programming)、Scrum、Crystal、DSDM等。请问这些方法共同基本原则是什么?

【问题2】

敏捷开发支持者往往夸大该方法优点,但是在实践中,敏捷方法基本原则有时确实很难实施。请用200字以内文字说明敏捷方法中哪些原则在实践中难以实施。

【问题3】

敏捷开发方法中最有名是极限编程。请说明极限编程中结对编程(Pair Programming)概念。

【问题4】

敏捷开发方法在具体实践过程中,往往需要开发环境或工具支持,一般称为快速应用开发技术和可视化开发技术。请用150字以内文字说明快速应用开发技术所包含工具有哪些,并简要说明可视化开发技术基本概念和技术原理。

查看答案 纠错
答案:
本题解析:

一、试题分析

这是一道关于敏捷开发方法(主要是XP方法)问答题,共4个问题。在系统分析师考试指定参考用书《系统分析师技术指南》(张友生、王勇主编,清华大学出版社)中,详细介绍了敏捷开发方法和XP方法。

【问题1】

注重个体与交互,重点关注可以工作软件,提高客户参与度,以积极心态响应变化是敏捷方法论核心价值观。为了贯彻这四大价值观,敏捷联盟提出12条区别于重量级过程原则。

(1)尽早、持续交付有价值中间软件使客户满意。很多开发组织经常会在时间期限上进行没有原则地退让,其结果却是让客户一等再等,不仅没有按承诺兑现,甚至是时间超过一倍,但仍然不见软件踪迹。这种不守信状态,使得整个软件业走入了一个负螺旋发展。敏捷方法论提出了一种新逻辑,将尽早、持续地交付可运行中间成果,有价值中间结果,使得客户能够尽早地、持续地了解到软件开发进展,并且将需求变化、系统改进意见尽早地提出来,这会使得客户满意度大大提高。

(2)即使到了开发后期,也欢迎需求变化,利用响应变化创造竞争优势。敏捷方法论鼓励团队拥抱变化,通过应用各种技术来提高软件结构灵活性,本着简单原则进行设计,以响应变化能力作为团队核心竞争力。

(3)经常交付可工作软件,间隔时间可以是几周到几个月,间隔越短越好。由于敏捷方法论奉行“客户合作”、“客户参与”,而要让客户更加有效参与,经常性、频繁地交付可工作中间软件,将可以有效地加强开发人员与客户之间沟通,从而将隐藏需求变化及早触动。

(4)开发全过程,业务人员和开发人员必须天天都在一起工作。在开发中,不仅需要客户参与开发,还应该包括代表客户业务人员。因此在开发人员、客户、业务人员等相关干系人之间建立频繁而且密切交流与沟通,将是使项目保持高度灵活性关键。

(5)为开发人员提供环境和支持,给予信任,以人为本地构建项目。敏捷方法论是崇尚“以人为本”精神,认为项目成功最关键因素是人,其意义超过过程和工具。建立一支优秀团队,并在环境与精神上提供支持,给予信任,将是项目成功关键。这也是与传统“过程”为主管理思想最大不同。

(6)团队内部,最有效沟通方式莫过于面对面交谈。在重量级方法论中,人们尝试着通过编写规范、精美文档进行交流。而在敏捷方法论中则更加重视是开发团队成员之间面对面交谈,大家坐在一起,用一块白板,或是一张纸,一边绘制草图,一边交谈,这是最有效沟通方式。

(7)工作软件是度量进度最首要标准。要衡量工作进度,采用基点不是文档完成情况,不是已完成代码行数,而是可以工作软件完成了多少功能、实现了多少用例。这是敏捷方法论共同点,因为只有可工作软件才是有价值。

(8)提倡可持续开发速度,责任人、开发者和用户应保持一个长期、恒定开发速度。软件开发绝不是短跑,它更像一场挑战耐力马拉松长跑。因此,过早冲刺、在前期过度工作,将不利于项目按照持续开发速度进行下去。因此,敏捷方法论反对加班,因为这样行为会使得团队精力过早耗尽,过早地对项目失去兴趣和信心,从而得到事与愿违结果。

(9)不断关注好技能和设计会增加敏捷能力。保持软件高质量、简洁、健壮,是实现快速软件开发重要途径。因此只有大家都致力于编写高质量代码、不创造混乱,才能够提升敏捷能力。

(10)开发者本质是简单——使未完成工作最大化艺术。不管明天需求,只采用符合今天需求简单设计。因为谁也不知道明天是怎么样?变化太快了,今天设计考虑太多明天需求,就有可能做了过多无用功。

(11)自组织团队才能够做出最好架构设计和需求分析。最优秀团队不是被强权管理下团队,而是形成了一个良好协作,能够内部进行任务分解、协调团队。

(12)团队应定期在如何更有效工作方面进行反省,然后对自己行为做出改进。不断地回顾、总结,并从中找到团队未能最有效工作瓶颈点和问题点,并且通过细致分析与讨论,找到其要点,并做出相应改进是十分重要。

【问题2】

问题2问敏捷方法原则中哪些原则在实践中难以实施,这与问题1是相关联。只要理解了这些基本原则,这个问题就好解答。因为问是在“实践中难以实施”,所以这个问题可以答得灵活些,只要说得有道理都可以得分。

【问题3】

问题3考查结对编程概念,简单地说,结对编程就是2个人坐在一起写同一个程序。结对编程可以大大降低沟通成本,提高工作质量。

【问题4】

问题4是关于快速开发工具和可视化开发。快速应用开发(RAD)目是快速发布系统,RAD组合了5个方面技术,分别是进化原型、CASE工具(可进行正向工程和反向工程)、拥有能使用先进工具专门人员(一个RAD开发小组)、交互式JAD、时间表。例如,VB、Delphi、PB等都属于RAD工具。可视化开发就是在可视开发工具(例如,VB、Delphi、PB等)提供图形用户界面上,通过操作界面元素(例如,菜单、按钮等),由可视开发工具自动生成应用软件。这类应用软件工作方式是事件驱动。对每个事件,由系统产生相应消息,再传递给相应消息响应函数。

二、参考答案

【问题1】

(1)客户参与。

(2)增量式移交。

(3)开发团队技术应该得到承认和发扬。团队成员应该保持他们自己工作风格,不落俗套。

(4)接受变更。

(5)保持简单性。

【问题2】

(1)客户参与度往往依赖于客户参与意愿和客户自身代表性。

(2)团队成员性格可能不适合激烈投入,可能无法做到与其他成员之间良好沟通。

(3)对系统中变更作出优先级排序可能是极端困难。

(4)维护系统简洁性往往需要额外工作,但迫于移交时间表压力,可能没有时间执行系统简化过程。 【问题3】

结对编程:开发人员成对工作,检查彼此工作并提供支持,圆满完成任务。

【问题4】

快速应用开发中所包括工具有数据库编程语言、界面生成器、与办公应用连接、报告生成器。可视化开发是一种通过集成细粒度可复用构件来构造软件快速应用开发方法,其主要思想是用图形工具和可重用部件来交互地编制程序。可视化开发一般基于事件驱动原理。

更新时间:2022-07-11 07:54

你可能感兴趣的试题

单选题

企业通过多年项目实施经验总结归纳出IT项目可能出现风险列表属于( )范畴。

  • A.企业环境因素
  • B.定性分析技术
  • C.组织过程资产
  • D.风险规划技术
查看答案
单选题

风险分析最简单方法是( )。

  • A.概率分析
  • B.敏感性分析
  • C.德尔菲技术
  • D.效用理论
查看答案
单选题

规划风险应对是针对项目目标,制订提高机会,降低威胁方案和措施过程。( )不是规划风险应对工具与技术。

  • A.应急应对策略
  • B.概率和影响矩阵
  • C.专家判断
  • D.消极风险或威胁应对策略
查看答案
单选题

在定性风险分析中,使用定性分析将风险发生概率及其后果描述为极高、高、中、低、极低5级,此种分析方法称为( )

  • A.风险概率及影响评估
  • B.风险数据质量评估
  • C.风险分类
  • D.风险数据收集
查看答案
单选题

下面( )不是风险审计目标。

  • A.确定风险管理已经在项目整个生命周期中实施
  • B.确定项目被管理好,风险被控制
  • C.协助在早期阶段鉴别项目价值潜力退化
  • D.确保被识别和相当有威胁每一个风险都有计算预期值
查看答案
单选题

在一个信息系统集成项目中,对项目涉及客户端、服务器、网络和运行环境等进行集成时,不确定会遇到什么问题,这对项目来说是一个风险,因此项目经理计划找一个以前有相关技术经验专家来处理这个风险。该应对措施属于( )。

  • A.风险接受
  • B.风险转移
  • C.风险规避
  • D.风险减轻
查看答案
单选题

根据风险概率,及其风险发生影响量对风险进行优先级排列风险管理步骤是( )。

  • A.制订风险管理机制
  • B.风险识别
  • C.实施定性风险分析
  • D.定量风险分析
查看答案
单选题

在风险监控中,如果出现了风险登记单未预期风险或“观察清单”未包含风险,应该( )。

  • A.进行额外风险应对规划
  • B.进行风险审计
  • C.进行变差和趋势分析
  • D.召开状态审查会
查看答案
单选题

入侵检测通过对计算机网络或计算机系统中若干关键点收集信息并进行分析,发现网络或系统中是否有违反安全策略行为和被攻击迹象。进行入侵检测软件和硬件组合就构成了入侵检测系统。( )是入侵检测系统核心。

  • A.评估主要系统和数据完整性
  • B.信息收集
  • C.系统审计
  • D.数据分析
查看答案
单选题

网吧管理员小李发现局域网中有若干台电脑有感染病毒迹象,这时应首先( ),以避免病毒进一步扩散。

  • A.关闭服务器
  • B.启动反病毒软件查杀
  • C.断开有嫌疑计算机物理网络连接
  • D.关闭网络交换机
查看答案