2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)试卷号84_第1页
2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)试卷号84_第2页
2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)试卷号84_第3页
2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)试卷号84_第4页
2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)试卷号84_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、住在富人区的她2022年职业考证-软考-系统架构设计师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题某Web网站向CA申请了数字证书。用户登录过程中可通过验证( ),确认该数字证书的有效性,以( )。问题1选项A.CA的签名B.网站的签名C.会话密钥D.DES密码问题2选项A.向网站确认自己的身份B.获取访问网站的权限C.和网站进行双向认证D.验证该网站的真伪【答案】第1题:A第2题:D【解析】本题考查安全相关知识。每个数字证书上都会有其颁发机构的签名,我们可以通过验证CA对数字证书的签名来核实数字证书的有效性。如果证书有效,

2、说明此网站经过CA中心的认证,是可信的网站,所以这个动作是用来验证网站真伪的,而不能验证客户方的真伪。2.单选题创建型模式支持对象的创建,该模式允许在系统中创建对象,而不需要在代码中标识出特定的类型,这样用户就不需要编写一系列相关或相互依赖的对象在不指定具体类的情况下。( )模式为创建一系列相关或相互依赖的对象提供了一个接口,( )模式将一个复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象,( )模式允许对象在不了解要创建对象的确切类以及如何创建细节的情况下创建自定义对象。问题1选项A.PrototypeB.Abstract FactoryC.BuilderD.Singlet

3、on问题2选项A.PrototypeB.Abstract FactoryC.BuilderD.Singleton问题3选项A.PrototypeB.Abstract FactoryC.BuilderD.Singleton【答案】第1题:B第2题:C第3题:A【解析】第1题:本题考查的是设计模式的知识内容。Prototype(原型模式):用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象。允许对象在不了解创建对象的确切类以及如何创建细节的情况下创建自定义对象。Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。Bui

4、lder(生成器模式):将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示。Singleton(单例模式):保证一个类只有一个实例,并提供一个访问它的全局访问点。第2题:第3题:3.单选题对应软件开发过程的各种活动,软件开发工具有需求分析工具、( )、编码与排错工具、测试工具,按照描述需求定义的方法,可将需求分析工具分为基于自然语言或图形描述的工具,和基于( ) 的工具。问题1选项A.设计工具B.分析工具C.耦合工具D.监控工具问题2选项A.用例B.形式需求定义语言C.UMLD.需求描述【答案】第1题:A第2题:B【解析】本题考查的是系统开发基础中软件系统工具的知识内容。软

5、件开发工具用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。1、需求分析工具用以辅助软件需求分析活动,辅助系统分析员从需求定义出发,生成完成的、清晰的、一致的功能规范。按描述需求定义的方法可以将需求分析工具分为基于自然语言或图像描述的工具和基于形式化需求定义语言的工具。(1)基于自然语言或图形描述的工具:这类工具采用分解与抽象等基本手段,对用户问题逐步求精,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。比如结构化分析方法采用的数据流图。(2)基

6、于形式化需求定义语言的工具:基于形式化需求定义语言的工具大多以基于知识的需求智能助手的形式出现,并把人工智能技术运用于软件工程。这类工具通常具有一个知识库和一个推理机制。(3)其他需求分析工具:可执行规范语言以及原型技术为需求分析工具提供了另一条实现途径,这些工具通过运行可执行规范或原型,将有关的结果显示给用户和系统分析员,以便进行需求确认。2、设计工具:设计工具用以辅助软件设计活动,辅助设计人员从软件功能规范出发,得到相应的设计规范。3、编码与排错工具:编码工具和排错工具用以辅助程序员进行编码活动。编码工具辅助程序员用某种程序语言编制源程序,并对源程序进行翻译,最终转换成可执行的代码,主要有

7、编辑程序、汇编程序、编译程序和生成程序等。排错工具用来辅助程序员寻找源程序中错误的性质和原因,并确定其出错的位置,主要有源代码排错程序和排错程序生成程序两类。4、软件维护工具:软件维护工具辅助软件维护过程中的活动,辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。5、软件管理和软件支持工具:软件管理过程和软件支持过程往往要涉及到软件生存周期中的多个活动,软件管理和软件支持工具用来辅助管理人员和软件支持人员的管理活动和支持活动,以确保软件高质高效地完成。其中常用的工具有项目管理工具、配置管理工具、软件评价工具

8、等。4.案例题某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等,在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:a)根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能;b)在正常负载情况下,系统应该在0.2s内对用户的界面操作请求进行响应;c)系统应该具备完善的安全防护措措施,能够对黑客的攻击行为进行检测和防御;d)系统主站点断电后应在3s内将请求重定向到备用站点;e)系统支持中文昵称,但用户名必须以字母开头,长度不少于8个字符;f)系统宕机后,需要在15s内发现错误

9、,并启用备用系统;g)在正常负载情况下,户的代码提交请求应在0.5s内完成;h)系统支持硬件设备灵活扩容,应保证在2人天内完成所有的部署与测试工作;i)系统需要针对代码仓库的所有操作进行详细记录;便于后期查阅与审计;j)更改系统web界面风格需要在4人天内完成;k)系统本身需要提供远程调试接口,支持开发团队进行远程排错;在对系统需求、质量属性和架构特性进行分析的基础上,该公司的系统果构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对候选系统架构进行评估。【问题1】(13分)针对该系统的功能,李工建议采用管道过滤器(pipe and fiter)的架构风格,而王工则建议采用仓库(rep

10、ository) 架构风格。请指出该系统更适合采用哪种架构风格,并针对系统的主要功能,从数据处理方式、系统的可扩展性和处理性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的 (1) (4)空白处。【问题2】(12分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、 (2)空白处,并选择题干描述的(a) (k)填入(3) (6) 空白处,完成该系统的效用树。【答案】【问题1】1.应该采用仓库风格。(5分)2.表(1)-(4)空的空白分别为:(8分)该系统更适合采用仓库架构风格。(1)

11、数据存储在中心仓库,处理流程独立,支持交互式处理。(2)数据与处理紧密关联,调整处理流程需要系统重新启动。(3)数据与处理分离,需要加载数据,性能降低。(4)数据处理组件之间一般无依赖关系,可并发调用,提高性能。【问题2】(12分)(1)安全性(2)可修改性(3)g(4)i(5)f(6)j【解析】本题考查的是架构设计过程中涉及到的一些质量属性,以及架构风格的对比。【问题1】在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。在仓

12、库(repository)风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行。一方面,若构件控制共享数据,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。通过交互方式、数据结构、控制结构和扩展方法分别对仓库风格和管道过滤器风格进行对比,如下所示:交互方式:管理过滤器很明显是顺序结构或循环结构,数据在管理中进行传递。而仓库结构是数据在中心位置,所有的处理均是中心结点与周边结点之间的交互,从形态来看,是星型的。数据结构:从数据结构来看,仓库风格会使用一个文件将数据保存起来,所有的操作围绕这个文件进行。而管道过滤器则是在

13、过滤器之间传递数据流。控制结构:从控制结构来说仓库风格是业务功能驱动,而管道过滤器是由数据流驱动的。扩展方法:从扩展方法来讲,管道过滤器是通过过滤器提供标准接口与其它过滤器对接,而数据仓库风格,要共享数据,扩展功能,只要功能的操作与数据模型本身是匹配的就行了,就像我们要共享一个数据库做系统集成,此时共享同一数据库的多个应用系统所用的数据模型一定会是一致的,否则无法去共享。【问题2】本题主要考查考生对于软件质量属性的理解、掌握和应用。本题考查的是架构设计过程中涉及到的一些质量属性,以及架构风格的对比。常用的质量属性包括:1、性能性能(performance)是指系统的响应能力,即要经过多长时间才

14、能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。2、可靠性可靠性(reliability)是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。3、可用性可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。4、安全性安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。5、可修改性可修改性(modifiability)是指能够快速地以较高的性能价格比对

15、系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。6、易用性软件开发工具应有十分友好的用户界面,用户乐于使用;工具应能剪裁和定制,以适应特定用户的需要;工具应能提示用户的交互操作,提供简单有效的执行方式;工具还应能检查用户的操作错误,尽可能自动改正错误。 识别软件架构质量属性是进行架构设计的重要步骤。根据对相关质量属性的定义和含义,其中:“c)系统应该具备完善的安全防护措措施,能够对黑客的攻击行为进行检测和防御”、“i)系统需要针对代码仓库的所有操作进行详细记录;便于后期查阅与审计”属于安全性;“h)系统支持硬件设备灵活扩容,应保证在2人天内完成”、“j)更改

16、系统web界面风格需要在4人天内完成”这描述的是系统的可修改性;“g)在正常负载情况下,户的代码提交请求应在0.5s内完成”描述的是性能属性。 5.单选题某计算机系统页面大小为4K,进程P1的页面变换表如下图所示,若P1要访问数据的逻辑地址为十六进制1B1AH,那么该逻辑地址经过变换后,其对应的物理地址应为十六进制( )。问题1选项A.1B1AHB.3B1AHC.6B1AHD.8B1AH【答案】C【解析】本题考查页式存储中的逻辑地址转物理地址。由于页面大小为4K,所以页内地址长度为12个二进制位,对应逻辑地址中的:B1A,所以页号为1,通过查询页表可知对应物理块号为6,所以物理地址为6B1A。

17、6.单选题特定领域软件架构(Domain Specific Software Architecture,DSSA)是指特定应用领域中为一组应用提供组织结构参考的标准软件架构。从功能覆盖的范围角度,( )定义了一个特定的系统族,包含整个系统族内的多个系统,可作为该领域系统的可行解决方案的一个通用软件架构;( )定义了在多个系统和多个系统族中功能区域的共有部分,在子系统级上涵盖多个系统族的特定部分功能。问题1选项A.垂直域B.水平域C.功能域D.属性域问题2选项A.垂直域B.水平域C.功能域D.属性域【答案】第1题:A第2题:B【解析】在特定领域架构中,垂直域关注的是与行业相关的,聚焦于行业特性的

18、内容,而水平域关注的是各行业共性部分的内容。7.单选题中间件基本功能包括,为客户机和服务器提供( ), 提供( )保证交易的一致性,提供应用的( ) 。问题1选项A.连接和通信B.应用程序接口C.通信协议支持D.数据交换标准问题2选项A.安全控制机制B.交易管理机制C.标准信息格式D.数据映射机制问题3选项A.基础硬件平台B.操作系统服务C.网络和数据库D.负载均衡和高可用性【答案】第1题:A第2题:B第3题:D【解析】本题考查的是中间件的知识内容。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。中间件可以:1、负责客户机与服务器之间的连接和通信,以及客户

19、机与应用层之间的高效率通信机制。2、提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。3、提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。4、提供多层架构的应用开发和运行的平台,以及应用开发框架,支持模块化的应用开发。5、屏蔽硬件、操作系统、网络和数据库的差异。6、提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。8.单选题软件活动主要包括软件描述、( )、软件有效性验证和( ),( )定义了软件功能及使用限制。问题1选项A.软件模型B.软件需求C.软件分析D.软件开发问题2选项A.软件分析B.软件测试C.软

20、件演义D.软件进化问题3选项A.软件分析B.软件测试C.软件描述D.软件开发【答案】第1题:D第2题:D第3题:C【解析】本题考查的是系统开发基础的知识。软件生命周期模型又称软件开发模型(software develop model)或软件过程模型(software process model),它是从某一个特定角度提出的软件过程的简化描述。软件过程模型是软件开发实际过程的抽象与概括,它应该包括构成软件过程的各种活动,也就是对软件开发过程各阶段之间关系的一个描述和表示。软件过程模型的基本概念:软件过程是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完成,软件活动主要有如下一些:1、软

21、件描述。必须定义软件功能以及使用的限制。2、软件开发。也就是软件的设计和实现,软件工程人员制作出能满足描述的软件。3、软件有效性验证。软件必须经过严格的验证,以保证能够满足客户的需求。4、软件进化。软件随着客户的需求不断改进。9.案例题阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。【说明】某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述

22、如下:(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;(c)平台支持分布式部署,当主站点断电后,应在20秒内将请求重定向到备用站点;(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;(e)平台主站点宕机后,需要在15秒内发现错误并启用备用系统;(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;(

23、i)平台部署后,针对界面风格的修改需要在3人天内完成;(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。【问题1】 (9分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并从

24、题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。【问题2】 (16分)针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(pipe-and-filter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。【答案】【问题1】(1)性能(2)可修改性(3)(e)可用性 (4)(j)性能 (5)(h)安全性(6)(i)可修改【问题2

25、】本题系统中有多个应用场景提到了系统分角色有不同的操作流程与界面,以及在修改扩充系统时,需要能够在限定时间内快速完成任务。基于这样的情况,我们从两方面进行分析:解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要

26、对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,但弱于完全自定义的解释器。【解析】本题是架构案例中的经典题型,问题1难度低,出现的频度高,是要求必须掌握的。【问题1】首先我们需要注意的是:在架构评估中,质量效用树,默认有4大质量属性,分别为:性能、可用性、安全性和可修改性,这个条件题目一般不直接给出,需要考生掌握这个知识背景。所以(1)和

27、(2)只能在性能和可修改性中选择。由于(f)是性能要求,所以(1)填性能,(2)为可修改性。(e)强调了系统出故障限定多长时间切换到备用系统,是典型的系统修复时间限定,属于可用性。(j)强调响应时间,应为性能。(h)强调记录操作并审计,属于安全性。(i)强调做系统修改时,时限要求,为可修改性。【问题2】此问考查架构风格的应用,给出3种备选风格供我们选择,其中特别强调了流程定义的灵活性和可扩展性,这里面流程定义符合我们课程中强调的“自定义”的特性,最合适的解决方案是解释器,它是自定义流程,所以最为灵活。有了结论,便可按“顺势而为”的技巧组织答题内容了。同时本题一定注意在回答时,按题目要求把场景加

28、进来。答题描述层面可参看以下说法:解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般

29、,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,但弱于完全自定义的解释器。10.单选题以下关于敏捷方法的描述中,不属于敏捷方法核心思想的是( )问题1选项A.敏捷方法是适应型,而非可预测型B.敏捷方法以过程为本C.敏捷方法是以人为本,而非以过程为本D.敏捷方法是迭代代增量式的开发过程【答案】B【解析】敏捷方法是以人为本,而非以过程为本,所以B选项错误。此处注意一个解题技巧,B和C的说法冲突,此时,这两个选项中至少有一个是错误的。11.单选题信息系统规划方法中,关

30、键成功因素法通过对关键成功因素的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的( )。关键成功因素来源于组织的目标,通过组织的目标分解和关键成功因素识别、( )识别,一直到产生数据字典 。问题1选项A.系统边界B.功能指标C.优先次序D.性能指标问题2选项A.系统边界B.功能指标C.优先次序D.性能指标【答案】第1题:C第2题:D【解析】本题考查的是信息系统总体规划方法论中的关键成功因素法。关键成功因素法(CSF):通过分析找出使得企业成功的关键因素,然后再围绕这些关键因素来确定系统的需求,并进行规划。基本思想在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的

31、和主要的(即关键成功因素)。通过对关键成功因素的识别,找出实现目标所需的关键信息集合,从而确定系统开发的优先次序。关键成功因素来自于组织的目标,通过组织的目标分解和识别关键成功因素识别、性能指标识别,一直到产生数据字典。12.单选题对应软件开发过程的各种活动,软件开发工具有需求分析工具、()。 编码与排错工具、测试工具等。按描述需求定义的方法可将需求分析工具分为基于自然语言或图形描述的工具和基于()的工具。问题1选项A.设计工具B.分析工具C.耦合工具D.监控工具问题2选项A.用例B.形式化需求定义语言C.UMLD.需求描述【答案】第1题:A第2题:B【解析】第1题:本题考查的软件开发工具的相

32、关知识。软件开发工具用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。1、需求分析工具用以辅助软件需求分析活动,辅助系统分析员从需求定义出发,生成完成的、清晰的、一致的功能规范。按描述需求定义的方法可以将需求分析工具分为基于自然语言或图像描述的工具和基于形式化需求定义语言的工具。(1)基于自然语言或图形描述的工具:这类工具采用分解与抽象等基本手段,对用户问题逐步求精,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。比如结构化分析方法采用的数据流图

33、。(2)基于形式化需求定义语言的工具:基于形式化需求定义语言的工具大多以基于知识的需求智能助手的形式出现,并把人工智能技术运用于软件工程。这类工具通常具有一个知识库和一个推理机制。(3)其他需求分析工具:可执行规范语言以及原型技术为需求分析工具提供了另一条实现途径,这些工具通过运行可执行规范或原型,将有关的结果显示给用户和系统分析员,以便进行需求确认。2、设计工具:设计工具用以辅助软件设计活动,辅助设计人员从软件功能规范出发,得到相应的设计规范。3、编码与排错工具:编码工具和排错工具用以辅助程序员进行编码活动。编码工具辅助程序员用某种程序语言编制源程序,并对源程序进行翻译,最终转换成可执行的代

34、码,主要有编辑程序、汇编程序、编译程序和生成程序等。排错工具用来辅助程序员寻找源程序中错误的性质和原因,并确定其出错的位置,主要有源代码排错程序和排错程序生成程序两类。4、软件维护工具:软件维护工具辅助软件维护过程中的活动,辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。5、软件管理和软件支持工具:软件管理过程和软件支持过程往往要涉及到软件生存周期中的多个活动,软件管理和软件支持工具用来辅助管理人员和软件支持人员的管理活动和支持活动,以确保软件高质高效地完成。其中常用的工具有项目管理工具、配置管理工具、软

35、件评价工具等。第2题:13.单选题某软件企业在项目开发过程中目标明确,实施过程遵守既定的计划与流程,资源准备充分,权责到人,对整个流程进行严格的监测,控制与审查,符合企业管理体系与流程制度。因此,该企业达到了CMMI评估的( )。问题1选项A.可重复级B.已定义级C.量化级D.优化级【答案】B【解析】本题考查CMMI各级需要达到的规范程度,题目中虽未明示管理过程域,但体现的思想是符合企业的体系与流程,而可重复级仅到项目层次,只有到已定义级,才是针对企业,而此时又未强调量化,所以应选已定义级。14.案例题阅读以下关于软件系统设计与建模的叙述,在答题纸上回答问题1至问题3。【说明】某医院拟委托软件

36、公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:(a)注册登录,(b)信息浏览,(c)账号管理,(d)预约挂号,(e)查询与取消预约,(F)号源管理,(g)报告查询,(h)预约管理,(i)报表管理和(j)信用管理等。【问题1】 (6 分)若采用面向对象方法对预约挂号管理系统进行分析,得到如图2-1所示的用例图。请将合适的参与者名称填入图2-1中的(1)和(2)处,使用题干给出的功能描述(a)(j),完善用例(3)(12)的名称,将正确答案填在答题纸上。【问题2】 (10分)预约人员(患者)登录系统后发起预约挂号请求,进入预约界

37、面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预约界面,并显示给预约人员;预约人员选择医生及就诊时间后确认预约,系统反馈预约结果,并向用户显示是否预约成功。采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述,完善图2-2中对象(1),及消息(2)(4)的名称,将正确答案填在答题纸上,请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别。【问题3】 (9分)采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联

38、关系,针对上述模型,说明哪些模型可用于软件的需求分析?【答案】【问题1】(1)系统管理员(2)患者(3)(a)注册登录(4)-(8)(c)账号管理(f)号源管理(h)预约管理(i)报表管理(j)信用管理(9)-(12)(b)信息浏览(d)预约挂号(e)查询与取消预约(g)报告查询【问题2】(1)预约人员(患者)(2)预约挂号请求(3)显示医生可预约时段(4)显示预约是否成功顺序图强调的是对象交互的时间次序。通信图强调的是对象之间的组织结构。【问题3】概念:对象模型描述了系统的静态结构,一般使用对象图来建模。对象模型是整个体系中最基础,最核心的部分。动态模型描述了系统的交互次序,一般使用状态图来

39、建模。功能模型描述 了系统的数据变换,一般使用数据流图来建模。相互关系:对象模型描述了动态模型和功能模型所操作的数据结构,对象模型中的操作对应于动态模型中事件和功能模型中的函数;动态模型描述了对象模型的控制结构,告诉我们哪些决策是依赖于对象值,哪些引起对象的变化,并激活功能;功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,而功能模型作用在对象模型说明的数据上,同时还表示了对对象值的约束。【解析】本题考查UML建模相关知识内容【问题1】该问考查UML中的用例图填充,首先根据题意可以分析出患者这个参与者。而另一个参与者题目没有明示,然而从账号管理、号源管理、预约管理等用例来看,定性为“

40、系统管理员”较为合适,系统管理员是一个系统中比较常见的角色,起系统管理职能。然后通过用例的名称来分析判断哪些用例归属于患者哪些归属于系统管理员,按这个逻辑很容易分析出:患者:(a)注册登录(b)信息浏览(d)预约挂号(e)查询与取消预约(g)报告查询系统管理员:(a)注册登录(c)账号管理(f)号源管理(h)预约管理(i)报表管理(j)信用管理从而根据图中参与者对应的用例数给参与者和用例定位到具体的空中。【问题2】该问考查UML中的顺序图,本问比较容易,紧扣题目描述来组织内容即可,从题干中“预约人员(患者)登录系统后发起预约挂号请求,进入预约界面”的信息可知(1)应为预约人员(患者),(2)为

41、预约挂号请求;从题干中“将医生出诊时段反馈到预约界面,并显示给预约人员”的信息可知(3)应为显示医生可预约时段;从题干中“系统反馈预约结果,并向用户显示是否预约成功”的信息可知(4)应为显示预约是否成功。【问题3】该问考了一个较为早期提出的面向对象模型OMT。OMT方法的OOA模型包括对象模型、动态模型和功能模型。对象模型表示静态的,结构化的“数据”性质,它是对模拟客观世界实体的对象及对象间的关系映射,描述了系统的静态及结构。通常用类图表示。对象模型描述系统中对象的静态结构、对象之间的关系、对象的属性、对象的操作。对象模型表示静态的、结构上的、系统的“数据”特征。对象模型为动态模型和功能模型提

42、供了基本的框架。对象模型用包含对象和类的对象图来表示。动态模型表示瞬间的,行为化的系统控制性质,他规定了对象模型中的对象合法化变化序列。通常用状态图表示。动态模型描述与时间和操作顺序有关的系统特征-激发事件、事件序列、确定事件先后关系的状态以及事件和状态的组织。动态模型表示瞬间的、行为上的、系统的“控制”特征。动态模型用状态图来表示,每张状态图显示了系统中一个类的所有对象所允许的状态和事件的顺序。功能模型表示变化的系统的功能性质,它指明了系统应该做什么,因此直接地反映了用户对目标系统的需求,通常用数据流图表示。功能模型描述与值变换有关的系统特征-功能、映射、约束和函数依赖。15.单选题( )是

43、在逆向工程所获取信息的基础上修改或重构已有的系统,产生系统的一个新版本。问题1选项A.逆向分析(Reverse Analysis)B.重组(Restructuring)C.设计恢复(Design Recovery)D.重构工程(Re-engineering)【答案】D【解析】所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。与之相关的概念是:重构(restructuring),指在同一抽象级别上转换系统描述形式;设计恢复(design recovery),指借助工具从已有程序中抽象

44、出有关数据设计、总体结构设计和过程设计的信息(不一定是原设计)。重构/再工程(re-engineering),也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。本题描述的是重构工程,选择D选项。16.单选题中间件是提供平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件的基本功能包括:为客户端和服务器之间提供();提供()保证交易的一致性:提供应用的() 。问题1选项A.连接和通信B.应用程序接口C.通信协议支持D.数据交换标准问题2选项A.安全控制机制B.交易管理机制C.标准消息格式D.数据映射机制问题3选项A.基础硬件平台B.操作系

45、统服务C.网络和数据库D.负载均衡和高可用性【答案】第1题:A第2题:B第3题:D【解析】第1题:本题考查的是构件与中间件相关知识。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。中间件可以:1、负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。2、提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。3、提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。4、提供多层架构的应用开发和运行的平台,以及应用开发框架,支持模块化的应用开发。5、屏蔽硬件、操作系统、网络和数据库的差

46、异。6、提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。第2题:第3题:17.单选题一个完整的软件系统需从不同视角进行描述,下图属于软件架构设计中的( ),用于( )视图来描述软件系统 。问题1选项A.对象图B.时序图C.构件图D.类图问题2选项A.进程B.开发C.物理D.用户【答案】第1题:D第2题:B【解析】第1题:本题第一空选择D选项。图示展示的是类图的结构。注意区分类图和对象图。对象图标记的是对象名,命名形式 对象名:类名,或者 :类名。这里没有出现冒号,表示的是类图。对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图

47、中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。本题第二空选择B选项。“4+1”视图模型从五个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,五个视图结合在一起才能反映软件架构的全部内容。(1)逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问

48、题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,在设计中要注意保持一个单一的、内聚的对象模型贯穿整个系统。(2)开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,例如,软件开发的容易性、软件的复用性和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统I/O关系的模型图和子系统图来描述。其中类图属于开发视图。(3)进程

49、视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。(4)物理视图。物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的

50、影响最小化。(5)场景视图。场景视图可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景视图是最重要的需求抽象。场景视图对应UML中的用例视图。在开发软件架构时,它可以帮助架构设计师找到构件及其相互关系。同时,架构设计师也可以用场景来分析一个特定的视图,或描述不同视图的构件之间是如何相互作用的。场景视图可以用文本表示,也可以用图形表示。第2题:18.单选题按照外部形态,构成一个软件系统的构件可以分为五类,其中,()是指可以进行版本替换并增加构件新功能。问题1选项A.装配的构件B.可修改的构件C.有限制的构件D.适应性构件【答案】B【解析】本题考查构件的基本概念。如果把

51、软件系统看成是构件的集合,那么从构件的外部形态来看,构成一个系统的构件可分为5类:(1)独立而成熟的构件。独立而成熟的构件得到了实际运行环境的多次检验,该类构件隐藏了所有接口,用户只需用规定好的命令进行使用。例如,数据库管理系统和操作系统等。(2)有限制的构件。有限制的构件提供了接口,指出了使用的条件和前提,这种构件在装配时,会产生资源冲突、覆盖等影响,在使用时需要加以测试。例如,各种面向对象程序设计语言中的基础类库等。(3)适应性构件。适应性构件进行了包装或使用了接口技术,把不兼容性、资源冲突等进行了处理,可以直接使用。这种构件可以不加修改地使用在各种环境中。例如ActiveX等。(4)装配

52、的构件。装配(assemble)的构件在安装时,已经装配在操作系统、数据库管理系统或信息系统不同层次上,使用胶水代码(glue code)就可以进行连接使用。目前一些软件商提供的大多数软件产品都属这一类。(5)可修改的构件。可修改的构件可以进行版本替换。如果对原构件修改错误、增加新功能,可以利用重新“包装”或写接口来实现构件的替换。这种构件在应用系统开发中使用得比较多。19.单选题根据传统的软件生命周期方法学,可以把软件生命周期划分为( )问题1选项A.软件定义、软件开发、软件测试、软件维护B.软件定义、软件开发、软件运行、软件维护C.软件分析、软件设计、软件开发、软件维护D.需求获取、软件设

53、计、软件开发、软件测试【答案】B【解析】按照传统的软件生命周期方法学,可以把软件生命期划分为软件定义、软件开发、软件运行与维护3个阶段。试题中将运行与维护进行了拆分,但意思是一样的。20.单选题混成系统是嵌入式实时系统的一种重要的子类。以下关于混成系统的说法中,正确的是( )。问题1选项A.混成系统一般由离散分离组件并行组成,组件之间的行为由计算模型进行控制B.混成系统一般由离散分离组件和连续组件并行或串行组成 ,组件之间的行为由计算模型进行控制C.混成系统一般由连续组件串行组成,组件之间的行为由计算模型进行控制D.混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由同步/异步

54、事件进行管理【答案】B【解析】混成系统:一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制。选项A只提到离散组件,缺少对连续组件的描述,是错误的。B选项是正确的描述,本题选择B选项。C选项缺少对离散组件的描述,只提到连续组件,所以是错误的。组件之间的行为应该是由计算模型进行控制,D选项描述是错误的。同步/异步事件是任务通信机制的一种,与计算模型并不等价。21.单选题以下关于区块链应用系统中“挖矿”行为的描述中,错误的是()。问题1选项A.矿工“挖矿”取得区块链的记账权,同时获得代币奖励B.“挖矿”本质上是在尝试计算一个Hash碰撞C.“挖矿”是一种工作量证明机制D.可

55、以防止比特币的双花攻击【答案】D【解析】本题考查了区块链技术的相关应用。比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为区块奖励,奖励获得答案的人。A选项正确。本质上,挖矿的过程就是计算哈希函数,并以此来确认交易的过程。哈希函数值具有不可篡改、不可逆性。但哈希函数输入的原始数据长度是不定长的,可以随意长度,而得出的摘要值是固定长度的。因此,存在一个可能,同样一个哈希值对应的不止一个数据串。这个现象

56、就是哈希碰撞。B选项正确。工作量证明机制(PoW)是我们最熟知的一种共识机制。工作量证明机制PoW就是工作越多,收益越大。这里的工作就是计算出一个满足规则的随机数,谁能最快地计算出唯一的数字,谁就能做信息公示人。C选项正确。“双花”问题是指一笔数字现金在交易中被反复使用的现象。传统的加密数字货币和其他数字资产,都具有无限可复制性,人们在交易过程中,难以确认这笔数字现金是否已经产生过一次交易。在区块链技术中,中本聪通过对产生的每一个区块盖上时间戳(时间戳相当于区块链公证人)的方式保证了交易记录的真实性,保证每笔货币被支付后,不能再用于其他支付。在这个过程中,当且仅当包含在区块中的所有交易都是有效

57、的且之前从未存在过的,其他节点才认同该区块的有效性。所以双花攻击解决的方法就是通过时间戳。用户发起的每一笔交易都有时间记录,“挖矿”行为不能防止双花攻击,D选项错误。22.单选题基于网络的数据库系统(Netware Database System,NDB)是基于4G/5G的移动通信之上,在逻辑上可以把嵌入式设备看作远程服务器的一个客户端。以下有关NDB的叙述中,不正确的是( )。问题1选项A.NDB主要由客户端、通信协议和远程服务器等三部分组成B.NDB的客户端主要负责提供接口给嵌入式程序,通信协议负责规范客户端与远程服务器之间的通信,远程服务器负责维护服务器上的数据库数据C.NDB具有客户端

58、小、无需支持可剪裁性、代码可重用等特点D.NDB是以文件方式存储数据库数据。即数据按照一定格式储存在磁盘中,使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读写【答案】C【解析】基于网络的数据库系统(Netware Database System,NDB)是基于4G/5G的移动通信之上,主要由客户端、通信协议和远程服务器等三部分组成。NDB的客户端主要负责提供接口给嵌入式程序,在逻辑上可以把嵌入式设备看作远程服务器的一个客户端;通信协议负责规范客户端与远程服务器之间的通信;远程服务器负责维护服务器上的数据库数据。NDB是以文件方式存储数据库数据。即数据按照一定格式储存在磁盘中,使用时由

59、应用程序通过相应的驱动程序甚至直接对数据文件进行读写基于网络的数据库系统一般是用于嵌入式设备,像这种系统都要求支持可裁剪,因为嵌入式设备资源有限,要根据实际情况安排部署。23.单选题某企业开发信息管理系统平台进行E-R图设计,人力部门定义的是员工实体具有属性:员工号、姓名、性别、出生日期、联系方式和部门,培训部门定义的培训师实体具有属性:培训师号,姓名和职称,其中职称=初级培训师,中级培训师,高级培训师,这种情况属于( )。在合并E-R图时,解决这一冲突的方法是( )。问题1选项A.属性冲突B.结构冲突C.命名冲突D.实体冲突问题2选项A.员工实体和培训师实体均保持不变B.保留员工实体、删除培

60、训师实体C.员工实体中加入职称属性,剔除培训师实体D.将培训师实体所有属性并入员工实体,删除培训师实体【答案】第1题:B第2题:C【解析】ER图集成时产生的冲突及解决办法:属性冲突:包括属性域冲突和属性取值冲突。命名冲突:包括同名异义和异名同义。结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。本题中,培训师属于员工的一种,所以不应该抽象为两个不同实体,这个冲突属于结构冲突,解决方案是员工实体中加入职称属性,剔除培训师实体。24.单选题进程P有8个页面,页号分别为07,页面大小为4K ,假设系统给进程P分配了4个存储块,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论