单选题 软件架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。在对某个应用软件进行评估时,该应用软件采用的Web服务器所支持的并发连接数是整个系统性能的一个______;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个______。
单选题
  • A.检查点
  • B.敏感点
  • C.权衡点
  • D.风险点
【正确答案】 B
【答案解析】
单选题
  • A.检查点
  • B.敏感点
  • C.权衡点
  • D.风险点
【正确答案】 C
【答案解析】[解析] 软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。 在本题中,在对某个应用软件进行评估时,该应用软件采用的Web服务器所支持的并发连接数是整个系统性能的一个敏感点;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个权衡点。
单选题 以下关于敏捷开发原则的叙述中,错误的是______。
  • A.强调通过尽早地、持续地交付有价值的软件来使客户满意
  • B.经常交付可以工作的软件,但是每次都必须交付具有完整功能的系统
  • C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈
  • D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更
【正确答案】 B
【答案解析】[解析] 敏捷开发的主要原则如下: ● 最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。 ● 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 ● 经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。但不要求每次交付的都是系统的完整功能。 ● 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 ● 围绕被激励起来的人来构建项目,给他们提供所需要的环境和支持,并且信任他们能够完成工作。 ● 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 ● 工作的软件是首要的进度度量标准。 ● 责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 ● 不断地关注优秀的技能和好的设计会增强敏捷能力。 ● 简单——使未完成的工作最大化的艺术——是根本的。 ● 最好的架构、需求和设计出自于自组织的团队。 ● 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
单选题 以下敏捷软件开发方法中,______方法强调以业务为核心,快速而有效地进行系统开发。
  • A.极限编程
  • B.自适应软件开发
  • C.特性驱动开发
  • D.动态系统开发
【正确答案】 D
【答案解析】[解析] 在我们面临“软件危机”所带来的挑战之时,曾经通过采用严格的规范、详尽的文档来约束开发过程,以保证开发的质量与效果,获得了突出的成就。但是随着时代的进一步发展,商业周期越来越短,变化越来越快,甚至在软件开发的过程中,商业逻辑和需求已经悄然变化,这给本来还不成熟的软件产业带来了新的挑战。就在这种情况下,敏捷方法论应运而生。 2001年这些方法论的创始人走到一起,成立了敏捷联盟,发表了颇具影响力的敏捷宣言:个体和交互胜过过程和工具,可工作的软件胜过面面俱到的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。比较有影响力的敏捷方法论包括XP(极限编程)、FDD(特征驱动开发)、Crystal Method(水晶方法)、DSDM(动态系统开发方法)、ASD(自适应软件开发)、SCRUM、轻量型RUP等。 XP的思想源自Kent Beck和Ward Cunningham在软件项目中的合作经历。因为知道计划永远赶不上变化,XP无须开发人员在软件开始初期做出很多的文档。为了将以后出现bug的几率降到最低,XP提倡测试先行。XP的核心是其总结的沟通、简单、反馈、勇气四大价值观。它包括12种最佳实践,分别是计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户及编码标准。 SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。 该方法由Ken Schwaber和Jeff Sutherland提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。 Crystal Methods由Alistair Cockburn在20世纪90年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如XP的产出效率高,但会有更多的人能够接受并遵循它。 FDD由Peter Coad、Jeff de Luca、Eric Lefebvre共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。 ASD由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性,这一思想来源于复杂系统的混沌理论。ASD不像其他方法那样有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。 DSDM是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。 RUP其实是个过程的框架,它可以包容许多不同类型的过程,Craig Larman极力主张以敏捷型方式来使用RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP的主流OO开发方法而已。