2022年职业考证-软考-系统架构设计师考试全真模拟易错、难点剖析AB卷(带答案)
一.综合题(共15题)
1.
单选题
软件逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。在逆向工程导出信息的四个抽象层次中,(  )包括反映程序分部分之间相互依赖关系的信息; (  )包括反映程序段功能及程序段之间关系的信息。
问题1选项
A.实现级
B.结构级
C.功能级
D.领域级
问题2选项
A.实现级
B.结构级
C.功能级
D.领域级
【答案】第1题:B
第2题:C
【解析】第1题:逆向工程导出的信息可分为如下4个抽象层次。
① 实现级:包括程序的抽象语法树、符号表等信息。
② 结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图等。本题第一空描述的是结构级,选择B选项。
③ 功能级:包括反映程序段功能及程序段之间关系的信息。本题第二空描述的是功能级,选择C选项。
④ 领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息。
第2题:
2.
案例题
某企业委托软件公司开发一套包裹信息管理系统,以便于对该企业通过快递收发的包裹信息进行统一管理,在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中,邮政包裹单如图2-1所示:
图2-1 包裹详情单
【问题1】(13分)
请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?根据图2-1 包裹详情单应该设计出哪些关系模式的名称,并指出每个关系模式的主键属性。
【问题2】(6分)
请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。
【问题3】(6分)
请说明什么是派生属性?结合图2-1中包裹单信息说明哪个属性是派生属性。
【答案】【问题1】
逻辑数据模型设计过程包含的任务:
(1)构建系统上下文数据模型,包含实体及实体之间的联系:
(2)绘制基于主键的数据模型,为每个实体添加主键属性;
(3)构建全属性数据模型,为每个实体添加非主键属性:
(4)利用规范化技术建立系统规范化数据模型。
包裹单的逻辑数据模型中包含的实体:
(1)收件人(主键:电话);
(2)寄件人(主键:电话);
(3)包裹单(主键:编号)。
【问题2】
超类实体是将多个实体中相同的属性组合起来构造出的新实体。
用户(姓名、电话、单位名称、详细地址)
【问题3】
派生属性是指某个实体的非主键属性由该实体其他非主键属性决定。
包裹单中的总计是由资费、挂号费、保价费、回执费计算得出,所以是派生属性。
【解析】【问题1】
数据库设计分为概念结构设计、逻辑结构设计物理结构设计:
概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的数据模型,即概念模型。概念模型的表现形式即ER模型。
逻辑设计也称为逻辑结构设计,其主要任务是将概念设计阶段设计好的E-R图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(如:关系模式)。
物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构,所谓数据库的物理结构,主要是指数据库在物理设备上的存储结构和存取方法。
【问题2】
当较低层次上实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较高层次上实体类型为超类型,反之为子类型。子类到超类的过程为概化,超类到子类的过程为特化。
①子类与超类之间具有继承特点,即子类包含了超类的所有属性,并且可以比超类拥有更多的属性。
②这种继承性是通过子类实体和超类实体有相同的实体标识符实现的。
【问题3】
可以从其它属性得来的属性就叫派生属性。包裹图中的“总计”属性是派生属性。可以从资费、挂号费、保价费、回执费累加计算出来。
3.
单选题
根据传统的软件生命周期方法学,可以把软件生命周期划分为(  )
问题1选项
A.软件定义、软件开发、软件测试、软件维护
B.软件定义、软件开发、软件运行、软件维护
C.软件分析、软件设计、软件开发、软件维护
D.需求获取、软件设计、软件开发、软件测试
【答案】B
【解析】按照传统的软件生命周期方法学,可以把软件生命期划分为软件定义、软件开发、软件运行与维护3个阶段。试题中将运行与维护进行了拆分,但意思是一样的。
4.
单选题
针对二层C/S软件架构的缺点,三层CIS架构应运而生。在三层CIS架构中,增加了一个()。三层CS架构是将应用功能分成表示层、功能层和()三个部分。 其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。
问题1选项
A.应用服务器
B.分布式数据库
C.内容分发
D.镜像
问题2选项
A.硬件层
B.数据层
C.设备层
D.通信层
问题3选项
A.表示层
B.数据层
C.应用层
D.功能层
【答案】第1题:A
第2题:B
第3题:A
【解析】第1题:本题考查的是C/S架构风格的相关知识。
C/S架构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。
C/S软件架构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
但随着企业规模的日益扩大,软件的复杂程度不断提高,传统的二层C/S结构存在以下几个局限:
1.二层C/S结构为单一服务器且以局域网为中心,所以难以扩展至大型企业广域网或Internet;
2.软、硬件的组合及集成能力有限;
3.服务器的负荷太重,难以管理大量的客户机,系统的性能容易变坏;
4.数据安全性不好。因为客户端程序可以直接访问数据库服务器,那么,在客户端计算机上的其他程序也可想办法访问数据库服务器,从而使数据库的安全性受到威胁。
正是因为二层C/S有这么多缺点,因此,三层C/S结构应运而生。三层C/S结构是将应用功能分成表示层、功能层和数据层三个部分。
软件测试app
表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,并显示应用输出的数据。在变更用户接口时,只需改写显示控制和数据
检查程序,而不影响其他两层。检查的内容也只限于数据的形式和取值的范围,不包括有关业务本身的处理逻辑。
功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。
数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。因此,一般从功能层传送到数据层的要求大都使用SQL语言。
第2题:
第3题:
5.
单选题
赵某购买了一款有注册商标的应用App,擅自复制成光盘出售,其行为是侵犯( )的行为。
问题1选项
A.注册商标专用权
B.软件著作权
C.光盘所有权
D.软件专利权
【答案】B
【解析】
通俗一点来说,赵某的行为是制作并出售盗版光盘的行为,此时侵犯的是版权,即著作权。
6.
单选题
以下关于计算机内存管理的描述中,()属于段页式内存管理的描述。
问题1选项
A.一个程序就是一段,使用基址极限对来进行管理
B.一个程序分为许多固定大小的页面,使用页表进行管理
C.程序按逻辑分为多段,每一段内又进行分页,使用段页表来进行管理
D.程序按逻辑分成多段,用一组基址极限对来进行管理。 基址极限对存放在段表里
【答案】C
【解析】本题考查的是段页式存储的基本概念。
段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名,使用段页表来进行管理。所以正确答案为C选项。选项A的管理方法属于分区式管理;选项B的管理方法属于页式管理;选项D的管理方法属于段式管理。
7.
单选题
信息系统规划方法中,关键成功因素法通过对关键成功因素的识别,出实现目标所需要的关键信息集合,从而确定系统开发的(  )。关键成功因素来源于组织的目标,通过组织的目标分解和关键成功因素识别、(  )识别,一直到产生数据字典 。
问题1选项
A.系统边界
B.功能指标
C.优先次序
D.性能指标
问题2选项
A.系统边界
B.功能指标
C.优先次序
D.性能指标
【答案】第1题:C
第2题:D
【解析】本题考查的是信息系统总体规划方法论中的关键成功因素法。
关键成功因素法(CSF):通过分析出使得企业成功的关键因素,然后再围绕这些关键因素来确定系统的需求,并进行规划。基本思想在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的和主要的(即关键成功因素)。通过对关键成功因素的识别,出实现目标所需的关键信息集合,从而确定系统开发的优先次序。关键成功因素来自于组织的目标,通过组织的目标分解和识别关键成功因素识别、性能指标识别,
一直到产生数据字典。
8.
单选题
软件方法学是以软件开发方法为研究对象的学科。其中,(  )是先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。(  )是根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,构成所要求的系统。(  )是建立在严格数学基础上的软件开发方法。
 
问题1选项
A.面向对象开发方法
B.形式化开发方法
C.非形式化开发方法
D.自顶向下开发方法
问题2选项
A.自底向上开发方法
B.形式化开发方法
C.非形式化开发方法
D.原型开发方法
问题3选项
A.自底向上开发方法
B.形式化开发方法
C.非形式化开发方法
D.自顶向下开发方法
【答案】第1题:D
第2题:A
第3题:B
【解析】本题是对软件开发方法相关内容的考查。
软件开发方法是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。
从开发风范上开,可分为自顶向下的开发方法和自底向上的开发方法。(在实际软件开发中,大都是两种方法结合,只不过是应用于开发的不同阶段以何者为主而已)
“先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决”描述的是自顶向下的开发,第一空选择D选项。
“根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,构成所要求的系统”描述的是自底向上的开发,第二空选择A选项。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。