20240807软考架构-------软考31-35答案解析

每日打卡题31-35答案

31、【2015年真题】 难度:一般

对于遗留系统的评价框架如下图所示,那么处于"高水平、低价值"区的遗留系统适合于采用的演化策略为 ( )。

A.淘汰B.继承C.改造D.集成

答案:D

解析:

把对遗留系统的评价结果分列在坐标的4个象限内。对处在不同象限的遗留系统采取不同的演化策略。

①淘汰策略。第四象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上考虑更合算。

②继承策略。第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。称这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

③改造策略。第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,称这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。

④集成策略。第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。

32、【2015年真题】 难度:一般

(1) 的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。其测试的技术依据是 (2) 。

(1)A.单元测试 B.集成测试 C.系统测试 D.回归测试

(2)A.软件详细设计说明书 B.技术开发合同

C.软件概要设计文档 D.软件配置文档

答案:(1)B (2)C

解析:

软件测试可分为单元测试、集成测试、配置项测试、系统测试、验收测试和回归测试等类别。

单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或面向对象软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。单元测试的技术依据是软件详细设计说明书。

集成测试的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。集成测试的技术依据是软件概要设计文档。

系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同。

配置项测试的对象是软件配置项,配置项测试的目的是检验软件配置项与软件需求规格说明的一致性。

确认测试主要验证软件的功能、性能和其他特性是否与用户需求一致。

验收测试是指针对软件需求规格说明,在交付前以用户为主进行的测试。

回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的复合型,以及软件原有的、正确的功能、性能和其他规定的要求的不损害性。

33、【2016年真题】 难度:简单

螺旋模型在 的基础上扩展而成。

A.瀑布模型 B.原型模型 C.快速模型 D.面向对象模型

答案:B

解析:螺旋模型是在原型模型的基础上扩展而成的。

34、【2016年真题】 难度:简单

(1) 适用于程序开发人员在地域上分布很广的开发团队。 (2) 中,编程开发人员分成首席程序员和"类"程序员。

(1)A.水晶系列(Crystal)开发方法 B.开放式源码(Opensource)开发方法

C.SCRUM开发方法 D.功用驱动开发方法(FDD)

(2)A.自适应软件开发(ASD) B.极限编程(XP)开发方法

C.开放统-过程开发方法(OpenUP) D.功用驱动开发方法(FDD)

答案:(1)B (2)D

解析:

(1)XP(ExtremeProgramming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的。它源于Smalltalk圈子,特别是KentBeck和WardCunningham在20世纪80年代末的密切合作。XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的。

(2)Cockburn的水晶系列方法,水晶系列方法是由AlistairCockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。

(3)开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一地点工作。开放源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的"补丁"文件发给维护者。然后由维护者将这些"补丁"或是新增的代码并入源码库。

(4)SCRUM。SCRUM己经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。

(5)Coad的功用驱动开发方法(FDD-FeatureDrivenDevelopment)FDD是由JeffDeLuca和大师PeterCoad提出来的。像其他方法一样,它致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周。

在FDD中,编程开发人员分成两类:首席程序员和"类"程序员(classowner)。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而"类"程序员则主要做源码编写。

(6)ASD方法,ASD(AdaptiveSoftwareDevelopment)方法由JimHighsmith提出,其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。

35、【2016年真题】 难度:一般

在软件系统工具中,版本控制工具属于 (1) ,软件评价工具属于 (2) 。

(1)A.软件开发工具 B.软件维护工具

C.编码与排错工具 D.软件管理和软件支持工具

(2)A.逆向工程工具 B.开发信息库工具

C.编码与排错工具 D.软件管理和软件支持工具

答案:(1)B(2)D

解析:

软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。

软件开发工具:需求分析工具、设计工具、编码与排错工具。

软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。

软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

相关推荐
飞翔的佩奇2 分钟前
Java项目: 基于SpringBoot+mybatis+maven医院管理系统(含源码+数据库+任务书+开题报告+毕业论文)
java·数据库·spring boot·毕业设计·maven·mybatis·医院管理系统
java—大象4 分钟前
基于JavaWeb开发的java+Springboot操作系统教学交流平台详细设计实现
java·开发语言·spring boot
nvd1110 分钟前
Java ETL - Apache Beam 简介
java·apache·etl
晴子呀27 分钟前
Spring底层原理大致脉络
java·后端·spring
DreamByte28 分钟前
Python Tkinter小程序
开发语言·python·小程序
只吹45°风34 分钟前
Java-ArrayList和LinkedList区别
java·arraylist·linkedlist·区别
覆水难收呀37 分钟前
三、(JS)JS中常见的表单事件
开发语言·前端·javascript
阿华的代码王国41 分钟前
【JavaEE】多线程编程引入——认识Thread类
java·开发语言·数据结构·mysql·java-ee
黑蛋同志41 分钟前
array和linked list的区别
java
繁依Fanyi1 小时前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云