筛选系统架构设计师考试上午综合知识易错常考真题,及详细解答

前言

系统架构设计师考试上午考试,都是综合知识选择题,主要考察的是对基本知识点的掌握。每个人对于这一部分的备考方式也不尽相同,有的人喜欢先看书,有的人喜欢做题目,有的人喜欢针对性的复习做题,推荐每天定量做复习题。做题的同时,您会发现每次几乎都能碰到与往年雷同或者相似的考题,所以要对常考知识点进行针对性记忆,及在平时多总结及实践。

本博文,摘选于系统架构设计师考试的上午真题!致敬1024程序员的节日!

嵌入式系统

采用微内核结构的操作系统提高了系统的灵活性和可扩展性,(1)。
A.并增强了系统的可靠性和可移植性,可运行于分布式系统中
B.并增强了系统的可靠性和可移植性,但不适用于分布式系统
C.但降低了系统的可靠性和可移植性,可运行于分布式系统中
D.但降低了系统的可靠性和可移植性,不适用于分布式系统

解析

在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”,而且还能显著地减少开发系统所付出的开销。采用微内核结构的操作系统与传统的操作系统相比,其优点是提高了系统的灵活性、可扩充性,增强了系统的可靠性,提供了对分布式系统的支持。其原因如下。
①灵活性和可扩展性:由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只需在相应的服务器中增加新的功能,或再增加一个专门的服务器。与此同时,也必然改善系统的灵活性,不仅可在操作系统中增加新的功能,还可修改原有功能,以及删除已过时的功能,以形成一个更为精干有效的操作系统。
②增强了系统的可靠性和可移植性:由于微内核是出于精心设计和严格测试的,容易保证其正确性;另一方面是它提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。此外,由于所有服务器都是运行在用户态,服务器与服务器之间采用的是消息传递通信机制,因此,当某个服务器出现错误时,不会影响内核,也不会影响其他服务器。另外,由于在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其他绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的。
③提供了对分布式系统的支持:由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统。事实上,只要在分布式系统中赋予所有进程和服务器唯一的标识符,在微内核中再配置一张系统映射表(即进程和服务器的标识符与它们所驻留的机器之间的对应表),在进行客户与服务器通信时,只需在所发送的消息中标上发送进程和接收进程的标识符,微内核便可利用系统映射表将消息发往目标,而无论目标是驻留在哪台机器上。

操作系统

若操作系统文件管理程序正在将修改后的(2)文件写回磁盘时系统发生崩溃,对系统的影
响相对较大。

A.用户数据
B.用户程序
C.系统目录
D.空闲块管理

解析

操作系统为了实现“按名存取”,必须为每个文件设置,用于描述和控制文件的数据结构,专门用于文件的检索,因此至少要包括文件名和存放文件的物理地址,该数据结构称为文件控制块(File Control Block,FCB),文件控制块的有序集合称为文件目录,或称系统目录文件。若操作系统正在将修改后的系统目录文件写回磁盘时系统发生崩溃,则对系统的影响相对较大。

虚拟存储系统

某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配4 个页面的主存空间,其中一个页面用来存放程序。现有某作业的程序如下:
Var A: Array[1..100,1..100] OF integer;
i,j: integer;
FOR i:=1 to 100 DO
FOR j:=1 to 100 DO
A[i,j]:=0;
每个页面可存放200 个整数变量,变量i、j 存放在程序页中。初始时,程序及i、j 均已在内存,其余3 页为空

矩阵A 按行序存放,那么程序执行完后共产生(3)次缺页中断;

若矩阵A 按序存放,那么当程序执行完后共产生(4)次缺页中断。

(3)   (4)
A.50   A.50
B.100   B.100
C.5000   C.5000
D.10000   D.10000

解析

从题干可知,作业共有4个页面的主存空间,其中一个已被程序本身占用,所以在读取变量时可用的页面数只有3个。每个页面可存放200个整数变量,程序中A数组共有100*100=10000个变量。

存放时,每个页面调入的200个变量,刚好是程序处理的200个变量,所以缺页次数为10000/200=50。

而按存放时,虽然每个页面调取数据时,同样也读入了200个变量,但这200个变量中,只有2个近期需要访问的(如第1个页面调入的是A[*,1]与A[*,2]程序近期需要访问的变量只有A[1,1]和A[1,2]),所以缺页次数为10000/2=5000。

数据库设计

在数据库设计的(5)阶段进行关系规范化。
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计

解析

按照规范的设计方法,一个完成的数据库设计一般分为以下六个阶段:

  • 需求分析: 分析用户的需求,包括数据、功能和性能需求;
  • 概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
  • 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换,进行关系规范化;
  • 数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存储路径
  • 数据库的实施:包括编程、测试和试运行;
  • 数据库运行和维护:系统的运行和数据库的日常维护

某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。
a. 若数据库设计中要求:
① 仓库关系W 中的“负责人”引用员工关系的员工号
② 库存关系I 中的“仓库号,产品号”惟一标识I 中的每一个记录
③ 员工关系E 中的职称为“工程师”的月薪不能低于3500 元
则①②③依次要满足的完整性约束是(6)。
b. 若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:
SELELCT 产品名称, SUM(产品数量)  FROM P, I WHERE P.产品号= I.产品号(7);
(6)
A.实体完整性、参照完整性、用户定义完整性
B.参照完整性、实体完整性、用户定义完整性
C.用户定义完整性、实体完整性、参照完整性
D.实体完整性、用户定义完整性、参照完整性
(7)
A.ORDER BY 产品名称
B.ORDER BY 产品数量
C.GROUP BY 产品名称
D.GROUP BY 产品数量

解析

(6)①仓库关系W中的“负责人引用员工关系的员工号-->参照完整性
②库存关系I中的“仓库号,产品号”惟一标识I中的每一个记录-->仓库号,产品号当然指得是仓库和产品两个实体啦!
③员工关系E中的职称为“工程师”的月薪不能低于3500元-->有精确的数字,明显的用户定义

(7)ORDER 是排序,什么从大到小,从小到大,所以A、B不对
GROUP按组分类
“若需得到每种产品的名称和该产品的总库存量”,答案C  GROUP BY产品名称正好符合题意。
题目没有说,没有问“种产品数量”,问的是“产品的总库存量”。

该SQL查询要求对查询结果进行分组,即具有相同名称的产品的元组为一组,然后计算每组的库存数量

参考答案:(6) B (7)C

解析

注意到关系R与关系S里的属性名C与D,是重名的,是要点,是关键,是核心
说他们的时候,一定要带上关系名,以示区别
A,C都没有带。
D里,D<C也没有带上关系名哟!
参考答案:B

计算机系统

计算机执行程序,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将
(9)的内容送到地址总线上。
A.程序计数器PC
B.指令寄存器IR
C.状态寄存器SR
D.通用寄存器GR

解析

关键词,“计算机执行程序时”,“首先是将”。
参考答案:A

充电

  • 程序计数器是什么?

程序计数器是用于存放下一条指令所在单元的地址的地方
单片机及汇编语言中常称作PC(programcounter)。
PC是什么单词的缩写:ProgramCounter

  • 为什么需要程序计数器?

为了保证程序(在操作系统中理解为进程),能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址
程序计数器正是起到这种作用,所以通常又称为指令计数器。

  • 程序计数器的处理流程

在程序开始执行前,必须将它的起始地址,即程序的一条指令,所在的内存单元地址送入PC,因此程序计数器(PC)的内容,即是从内存提取的第一条指令的地址。

当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保存的,总是将要执行的下一条指令的地址。由于大多数指令,都是按顺序来执行的,所以修改的过程,通常只是简单的对PC加1

  • 程序计数器的异常处理流程

但是,当遇到转移指令,如JMP指令时,后继指令的地址(即PC的内容),必须从指令寄存器中的地址字段取得。

在这种情况下,下一条从内存取出的指令,将由转移指令来规定,而不像通常一样按顺序来取得。因此程序计数器的结构,应当是具有寄存信息计数两种功能的结构。

内存按字节编址,利用8K×4bit 的存储器芯片构成84000H 到8FFFFH 的内存,共需(10)
片。
A.6
B.8
C.12
D.24

解析

数学解法,假设需要N片存储芯片,则有
8K ×4bit/8bit× N = (8FFFF – 84000 + 1) = C000 =12 ×16­­­3  =  12× (24)3= 12×212
即1024 ×4×N = 12×212 = 12 × 22 × 210 = 12 × 4 × 1024
N = 12

注意题目说内存按字节编址,而存储器芯片,又是按bit比特位来说存储容量的。
也就是说84000H到8FFFFH的内存,指的是按字节来编写地址的。
也就是说注意单位的统一,然后来计算。
参考答案:C

某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻
数据块的平均移动距离为10 个磁道,每块的旋转延迟时间传输时间分别为100ms 和2ms,
则读取一个100 块的文件需要(11)ms 的时间。
A.10200
B.11000
C.11200
D.20200

解析

访问一个数据块的时间,应为寻道时间+旋转延迟时间+传输时间。根据题意,每块的旋转延迟时间传输时间需102ms,磁头从一个磁道移至另一个磁道需要10ms,但逻辑上相邻数据块平均距离为10个磁道,即读完一个数据块,到下一个数据块寻道时间需要100ms。通过上述分析,本题访问一个数据块的时间应为202ms,而读取一个100块的文件共需要20200ms,因此,本题的正确答案为D。

计算机系统中,在(12)的情况下一般应采用异步传输方式。
A.CPU 访问内存
B.CPU 与I/O 接口交换信息
C.CPU 与PCI 总线交换信息
D.I/O 接口与打印机交换信息

解析

考查计算机系统中数据传输的方式:

  • CPU访问内存通常是同步方式
  • CPU与I/O接口交换信息通常是同步方式;
  • CPU与PCI总线交换信息通常是同步方式;
  • I/O接口与打印机交换信息则通常采用基于缓存池的异步方式

因此答案为D。

网络系统

大型局域网通常划分为核心层、汇聚层和接入层,以下关于各个网络层次的描述中,正确
的是(13)。
A.核心层进行访问控制列表检查
B.汇聚层定义了网络的访问策略
C.接入层提供局域网络接入功能
D.接入层可以使用集线器代替交换机

解析

  • 通常将网络中直接面向用户连接或访问网络的部分称为接入层,将位于接入层和核心层之间的部分称为分布层或汇聚层,接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性,一般可以使用集线器代替接入层交换机
  • 汇聚层交换层多台接入层交换机的汇聚点,它必须能够处理来自接入层设备的所有通信量,并提供到核心层的上行链路,它定义了网络的访问策略,因此汇聚层交换机接入层交换机比较,需要更高的性能,更少的接口和更高的交换速率。
  • 而将网络主干部分称为核心层,核心层的主要目的在于通过高速转发通信,提供可靠的骨干传输结构,因此核心层交换机应拥有更高的可靠性、性能和吞吐量。

因此,本题的正确答案为A。

网络系统设计过程中,逻辑网络设计阶段的任务是(14)。
A.依据逻辑网络设计的要求,确定设备的物理分布和运行环境
B.分析现有网络和新网络的资源分布,掌握网络的运行状态
C.根据需求规范和通信规范,实施资源分配和安全规划
D.理解网络应该具有的功能和性能,设计出符合用户需求的网络

网络系统生命周期可以划分为5 个阶段,实施这5 个阶段的合理顺序是(15)。
A.需求规范、通信规范、逻辑网络设计、物理网络设计、实施阶段
B.需求规范、逻辑网络设计、通信规范、物理网络设计、实施阶段
C.通信规范、物理网络设计、需求规范、逻辑网络设计、实施阶段
D.通信规范、需求规范、逻辑网络设计、物理网络设计、实施阶段

解析

系统性能 

假设单个CPU 的性能为1,则由n 个这种CPU 组成的多处理机系统的性能P 为:
其中,a 是一个表示开销的常数。例如,a=0.1,n=4 时,P 约为3。也就是说,由4 个这种CPU 组成的多机系统的性能约为3。该公式表明,多机系统的性能有一个上限,不管n 如何增加,P 都不会超过某个值。当a=0.1 时,这个上限是(16)。
A.5    B.10      C.15        D.20

解析

本题主要考查多处理机系统的性能上限计算问题,根据计算公式,可以看出当a=0.1时,公式变为,对该表达式进行求导,得到该式的极限为10。

以下关于系统性能的叙述中,不正确的是(17)。
A.常见的Web 服务器性能评估方法有基准测试、压力测试和可靠性测试
B.评价Web 服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量
C.对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统
D.当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈

解析

本题主要考查系统性能评估主要方法需要注意的问题。
运行系统进行评估的主要目的,是评价信息系统在性能方面的表现,找出系统可能存在的性能瓶颈

其中,常见的Web服务器,性能评估方法有基准测试压力测试可靠性测试等,评价Web服务器的主要性能指标有最大并发连接数响应延迟吞吐量等。

当系统性能降到基本水平时,需要查找影响性能的瓶颈消除该瓶颈

本题的正确答案为C。

项目管理

某大型公司欲开发一个门户系统,该系统以商业流程企业应用为核心,将商业流程中不同的功能模块通过门户集成在一起,以提高公司的集中贸易能力、协同能力和信息管理能力。根据这种需求,采用企业(18)门户解决方案最为合适。
A.信息
B.知识
C.应用
D.垂直

解析

题干中提到“企业应用”,“商业流程中不同的功能模块”,“贸易能力”,“信息管理能力”,更多的透露是“企业应用”的味道。

企业门户是一个信息技术平台,这个平台可以提供个性化的信息服务,为企业提供一个单一的访问企业各种信息资源和应用程序的入口。
现有的企业门户大致可以分为企业信息门户、企业知识门户和企业应用门户三种。

  • 企业信息门户重点强调为访问结构数据无结构数据提供统一入口,实现收集、访问、管理和无缝集成
  • 企业知识门户,讲的是一个创造、搜集、传播、共享、使用企业知识的平台,通过企业知识门户,员工可以与工作团队中的其他成员取得联系,寻找能够提供帮助的专家。
  • 企业应用门户,是一个用来提高企业的集中贸易能力、协同能力和信息管理能力的平台。它以商业流程企业应用为核心,将商业流程中功能,不同的应用模块通过门户集成在一起,提高公司的集中贸易能力、协同能力和信息管理能力

参考答案:C

客户关系管理(CRM)系统将市场营销的科学管理理念,通过信息技术的手段集成在软件上,能够帮助企业构建良好的客户关系。以下关于CRM 系统的叙述中,错误的是(19)。
A.销售自动化是CRM 系统中最基本的模块
B.营销自动化作为销售自动化的补充,包括营销计划的编制和执行、计划结果分析等
C.CRM 系统能够与ERP 系统在财务、制造、库存等环节进行连接,但两者关系相对松散,一般不会形成闭环结构
D.客户服务与支持是CRM 系统的重要功能。目前,客户服务与支持的主要手段是通过呼叫中心和互联网来实现

解析

题目的问题是“错误的是”。
选项C,说“一般不会形成闭环结构”。
既然选项中说了,“CRM系统能够与ERP系统在财务、制造、库存等环节进行连接”,也就是说与ERP系统在财务、制造、库存每个环节都是一个环,当然要形成闭环了,说明闭环是一个褒义词,环环相扣,环环之间有连接,有反馈。也正说明CRM是好的信息技术手段吗?
关键是要明白,闭环结构是什么,是怎么回事,是一个褒义词,还是一个贬义词,就好做答案了。
参考答案:C

详细的项目范围说明书是项目成功的关键。(20)不应该属于范围定义的输入
A.项目章程
B.项目范围管理计划
C.批准的变更申请
D.项目文档管理方案

解析

定义范围(范围定义),是制定项目产品详细描述的过程。详细项目范围说明书的编制,对项目成功至关重要。

项目管理团队应该根据项目启动过程中记载的主要可交付成果假设条件制约因素,来编制项目范围说明书。

在规划过程中,由于对项目有了更多的了解,所以应该更具体地定义与描述项目范围。

项目管理团队,应该分析现有风险、假设条件和制约因素的完整性,并在必要时,补充其他的风险、假设条件和制约因素。

定义范围最重要的任务,就是详细定义项目的范围边界,范围边界,是应该做的工作不需要进行的工作的分界线。

定义范围可以增加项目时间、费用和资源估算准确度,定义实施项目控制的依据,明确相关责任人在项目中的责任,明确项目的范围、合理性和目标,以及主要可交付成果
根据PMBOK 2012版,定义范围的输入,包括范围管理计划、项目章程、需求文件、组织过程资产,输出包括项目范围说明书、项目文件更新,使用的工具与技术有专家判断、产品分析、备选方案生成、引导式研讨会等。

参考答案:D

项目时间管理,包括使项目按时完成所必需的管理过程,活动定义是其中的一个重要过程。通常可以使用(21)来进行活动定义
A.鱼骨图
B.工作分解结构(WBS)
C.层次分解结构
D.功能分解图

解析

项目时间管理,包括使项目按时完成,所必需的管理过程。

项目时间管理中的过程包括:活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划以及进度控制。
为了得到工作分解结构(Work Breakdown Structure,WBS)中最底层的交付物,必须执行一系列的活动。对这些活动的识别,以及归档的过程就是活动定义。
鱼骨图(也称为Ishikawa图)是一种发现问题根本原因”的方法,通常用来进行因果分析
参考答案:B

在实际的项目开发中,人们总是希望,使用自动工具,来执行需求变更控制过程。
下列描述中,(22)不是这类工具所具有的功能。
A.可以定义变更请求的数据项以及变更请求生存期的状态转换图
B.记录每一种状态变更的数据,确认做出变更的人员
C.可以加强状态转换图使经授权的用户仅能做出所允许的状态变更
D.定义变更控制计划,并指导设计入员按照所制定的计划实施变更

解析

对许多项目来说,系统软件总需要不断完善一些需求的改进是合理而且不可避免,要使得软件需求完全不变更,也许是不可能的,但毫无控制的变更,是项目陷入混乱不能按进度完成或者软件质量无法保证的主要原因之一。

一个好的变更控制过程,给项目风险承担者提供了正式的建议需求变更机制。可以通过需求变更控制过程,来跟踪已建议变更的状态,使已建议的变更确保不会丢失或疏忽。

在实际中,人们总是希望,使用自动工具来执行变更控制过程。有许多人使用商业问题跟踪工具收集、存储、管理需求变更;可以使用工具对一系列,最近提交的变更建议产生一个列表,给变更控制委员会,开会时做议程用问题跟踪工具也可以随时按变更状态分类包裹变更请求的数目。

挑选工具时可以考虑以下几个方面:
①可以定义变更请求数据项
②可以定义变更请求生存期的状态转换图
③可以加强状态转换图,使经授权的用户仅能做出所允许的状态变更
④记录每一种状态变更的数据,确认做出变更的人员
⑤可以定义在提交新请求,或请求状态被更新后应该自动通知的设计人员。
⑥可以根据需要生成标准的或定制的报告和图表。
答案D

需求管理是CMM 可重复级中的6 个关键过程域之一,其主要目标是(23)。
A.对于软件需求,必须建立基线以进行控制,软件计划、产品和活动必须与软件需求保持一致
B.客观地验证需求管理活动符合规定的标准、程序和要求
C.策划软件需求管理的活动,识别和控制已获取的软件需求
D.跟踪软件需求管理的过程、实际结果和执行情况

解析

过程能力成熟度模型(Capability Maturity Model,CMM) ,在软件开发机构中,被广泛用来指导软件过程改进。该模型描述了软件过程能力的5个成熟度级别,每一级都包含若干关键过程域(Key Process Areas,KPA)。

CMM的第二级可重复级,它包括了6个关键过程域,分别是:需求管理、软件项目计划、软件项目跟踪和监督、软件分包合同管理、软件质量保证和软件配置管理。

需求管理的目标,是为软件需求建立一个基线,提供给软件工程管理使用;软件计划、产品和活动与软件需求保持一致。

答案A(三短一长,选最长)

RUP 中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于(24),系统工程师侧重于(25)。
(24)A.实现视图
B.进程视图
C.逻辑视图
D.部署视图
(25)A.实现视图
B.进程视图
C.逻辑视图
D.部署视图

解析

  • 用例视图(Use Cases View),最初称为场景视图,关注最终用户需求,为整个技术架构的上线环境,通常用UML用例图和活动图描述。
  • 逻辑视图(Logical view),主要是整个系统的抽象结构表述,关注系统提供最终用户的功能,不涉及具体的编译即输出和部署,通常在UML中用类图,交互图,时序图来表述,类似与我们采用OOA的对象模型。
  • 开发视图(Development View),描述软件在开发环境下的静态组织,从程序实现人员的角度透视系统,也叫做实现视图(implementation view)。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK现成框架、类库,以及开发的系统,运行于其上的系统软件或中间件, 在UML中用组件图,包图来表述。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层,一般会映射到多个程序包等。
  • 处理视图(Process view)处理视图关注系统动态运行时,主要是进程以及相关的并发、同步、通信等问题处理视图开发视图的关系:开发视图一般偏重程序包,在编译时期静态依赖关系,而这些程序运行起来之后,会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题,在UML中通常用活动图表述。
  • 物理视图(Physical view ),物理视图通常也叫做部署视图(deploymentview),是从系统工程师解读系统,关注软件的物流拓扑结,以及如何部署机器,和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。

答案C,D

(26)把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发有效性验证以及评审构成。
A.原型模型
B.瀑布模型
C.螺旋模型
D.V 模型

解析

  • 原型模型又称快速原型。原型模型主要有两个阶段:

原型开发阶段。软件开发人员根据用户提出的软件系统的定义,快速地开发一个原型。该原型应该包含目标系统关键问题反映目标系统的大致面貌,展示目标系统的全部部分功能、性能等。
目标软件开发阶段。在征求用户对原型的意见后,对原型进行修改完善,确认软件系统的需求并达到一致的理解,进一步开发实际系统。

  • 瀑布模型,可以说是最早使用的软件生存周期模型之一。由于这个模型,描述了软件生存的一些基本过程活动,所以它被称为软件生存周期模型。这些活动从一个阶段另一个阶段逐次下降,形式上很像瀑布。瀑布模型的特点是因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作输入
  • 螺旋模型,是在快速原型的基础上扩展而成的。这个模型把整个软件开发流程分成多个阶段,每个阶段都由4部分组成,它们是:

目标设定。为该项目进行需求分析,定义和确定这一个阶段的专门目标,指定对过程和产品的约束,并且制定详细的管理计划。
风险分析。对可选方案进行风险识别和详细分析,制定解决办法采取有效的措施避免这些风险
开发和有效性验证。风险评估后,可以为系统选择开发模型,并且进行原型开发,即开发软件产品
评审。对项目进行评审,以确定是否需要进入螺旋线的下一次回路,如果决定继续,就要制定下一阶段计划。

  • V模型,是一种典型的测试模型。在V模型中测试过程,被加开发过程的后半部分,分别包括单元测试、集成测试、系统测试和验收测试。

软件开发环境支持软件产品开发的软件系统,它由软件工具集环境集成机制构成。环境集成机制包括:提供统一的数据模式数据接口规范的数据集成机制;支持各开发活动之间通信、切换、调度和协同的(27);为统一操作方式提供支持的(28)。
(27)A.操作集成机制
B.控制集成机制
C.平台集成机制
D.界面集成机制
(28)A.操作集成机制
B.控制集成机制
C.平台集成机制
D.界面集成机制

解析

软件开发环境应支持多种集成机制,例如,平台集成、数据集成、界面集成、控制集成和过程集成等。

软件开发环境应支持小组工作方式,并为其提供配置管理,环境的服务可用于支持各种软件开发活动,包括分析、设计、编程、调试和文档等。

较完善的软件开发环境,通常具有多种功能,例如,软件开发的一致性与完整性维护、配置管理及版本控制、数据的多种表示形式及其在不同形式之间的自动转换、信息的自动检索与更新、项目控制和管理以及对开发方法学的支持

软件开发环境具有集成性、开放性、可裁减性、数据格式一致性、风格统一的用户界面等特性,因而能大幅度提高软件生产率

①软件开发环境的分类

软件开发环境可按以下几种角度进行分类。
・按软件开发模型开发方法分类,有支持瀑布模型、演化模型、螺旋模型喷泉模型等不同模型,以及结构化方法面向对象方法等不同方法的软件开发环境。
・按功能与结构特点分类,有单体型、协同型、分散型并发型等多种类型的软件开发环境。
・按应用范围分类,有通用型专用型软件开发环境。其中专用型软件开发环境与应用领域有关。
・按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动)、软件维护环境逆向工程环境等。

②集成机制

集成机制根据功能的不同,可划分为环境信息库过程控制与消息服务器、环境用户界面三个部分。
环境信息库。环境信息库是软件开发环境的核心,用于存储与系统开发有关的信息,并支持信息的交流与共享。环境信息库中主要存储两类信息,一类是开发过程中产生的有关被开发系统的信息,例如,分析文档、设计文档和测试报告等;另一类是环境提供的支持信息,例如,文档模板、系统配置、过程模型和可复用构件等。
过程控制与消息服务器。过程控制与消息服务器,是实现过程集成控制集成的基础。过程集成是按照具体软件开发过程的要求,进行工具的选择与组合控制集成使各工具之间进行并行通信协同工作
环境用户界面。环境用户界面,包括环境总界面和由它实行统一控制的各环境部件工具的界面。统一的、具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具减轻用户学习负担的保证。

③集成计算机辅助软件工程

目前,随着软件开发工具的积累,与自动化工具的增多,软件开发环境,已经进入了第三代,即ICASE(Integrated Computer-Aided Software Engineering,集成计算机辅助软件工程)阶段。

集成方式经历了,从点到点的数据转换(早期CASE采用的集成方式),到公共用户界面(第二代CASE,在一致的界面下调用众多不同的工具),再到目前的信息库方式。这是ICASE的主要集成方式

ICASE不仅提供数据集成控制集成,还提供了一组用户界面管理设施和一大批工具,包括垂直工具集(支持软件生命周期各阶段,保证生成信息的完备性和一致性)、水平工具集(用于不同的软件开发方法)和开放工具槽(用于连接新的工具)。

ICASE的信息库不仅定义了面向对象数据库管理系统,提供了数据一数据集成机制,还建立了可以被环境中,所有工具访问的数据模型提供了数据一工具集成机制实现了配置管理功能。ICASE的进一步发展,则是与软件开发方法的结合,以及智能化的ICASE。

ICASE的最终目标是实现应用软件的全自动开发,即开发人员只要写好软件的需求规格说明书,ICASE就能自动完成软件开发工作,即自动生成供用户直接使用的软件和有关文档。

答案B,D

软件的横向重用是指重用不同应用领域中的软件元素。(29)是一种典型的、原始的横向重用机制。
A.对象
B.构件
C.标准函数库
D.设计模式

解析

软件重用是指在两次或多次不同的软件开发过程中,重复使用相同相似软件元素的过程。

按照重用活动是否跨越相似性较少的多个应用领域,软件重用可以区别为横向重用纵向重用

  • 横向重用,是指重用不同应用领域中的软件元素,例如数据结构、分类算法和人机界面构建等。标准函数是一种典型的、原始的横向重用机制。
  • 纵向重用,是指在一类具有较多公共性的应用领域之间进行软部件重用。纵向重用活动的主要关键点是域分析:根据应用领域的特征相似性预测软件的可重用性

下列关于不同软件开发方法所使用的模型的描述中,正确的是(30)。
A.在进行结构化分析时,必须使用数据流图和软件结构图这两种模型
B.采用面向对象开发方法时,可以使用状态图活动图对系统的动态行为进行建模
C.实体联系图(E-R 图)是在数据库逻辑结构设计时才开始创建的模型
D.UML 的活动图与程序流程图的表达能力等价

解析

结构化分析方法,是一种面向数据流的需求分析方法,其基本思想自顶向下逐层分解

数据流图,是进行结构化分析所使用的模型,其基本成分,包括数据流、加工、数据存储外部实体

在进行结构化设计时,通过对数据流图,进行变换分析事务分析可以导出程序结构图

数据库设计可以分为4个主要阶段:

①用户需求分析。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析

②概念设计。概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型描述概念模型的较理想的工具是E-R图

③逻辑设计。将抽象的概念模型,转化为与选用的DBMS产品所支持的数据模型,相符合的逻辑模型,它是物理设计的基础。包括模式初始设计、子模式设计、应用程序设计、模式评价以及模式求精

④物理设计。逻辑模型,在计算机中的具体实现方案

UML是面向对象软件的标准化建模语言,其中状态图、活动图、顺序图和通信图,可以用来对系统的动态行为进行建模。

活动图展现了,在系统内从一个活动另一个活动的流程。活动图强调对象之间的控制流程。在活动图上可以表示分支和汇合。活动图与传统的程序流程图不等价的。

答案B(太绝对,80%是错误的)

总结

我们程序员的工作有很多,如后端开发师,音视频开发工程师,前端技术专家,PHP高端开发工程师,算法工程师,系统构架师......

“日以继夜地在电脑上输入奇怪符号和公式”是程序员的日常,与科技为伍,被雅称为“改变世界的人”,俗称“码农”,喜欢从简、相信改变世界、拒绝被定义……

我们背负强大时代使命感的群体,用技术能力重新定义这个社会中的种种法则,用严谨细致的态度让生活变得更加完美和谐。程序员就像是一个个1024,一步一个脚印,悄无声息地为世界进步贡献着自己的力量。祝愿我们程序员:代码千行过,BUG不沾身!