201611评测上午真题

第 1 题

在汇编指令中,操作数在某寄存器中的寻址方式称为(  )寻址。

  • (A) 直接
  • (B) 变址
  • (C) 寄存器
  • (D) 寄存器间接

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>寻址方式
  • 试题答案:[[C]]
  • 试题解析:立即寻址:是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出了可以立即使用的操作数。
    直接寻址:在直接寻址中,指令中地址码字段给出的地址A就是操作数的有效地址,即形式地址等于有效地址。
    间接寻址:间接寻址意味着指令中给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。
    寄存器寻址:寄存器寻址指令的地址码部分给出了某一个通用寄存器的编号Ri,这个指定的寄存器中存放着操作数。
    寄存器间接寻址:在寄存器间接寻址方式中,寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。
    变址寻址:变址寻址就是把变址寄存器Rx的内容与指令中给出的形式地址A相加,形成操作数有效地址,即EA=(Rx)+A。
    基址寻址:基址寻址是将基址寄存器Rb的内容与指令中给出的位移量D相加,形成操作数有效地址,即EA=(Rb)+D。
    相对寻址:相对寻址是基址寻址的一种变通,由程序计数器提供基准地址,指令中的地址码字段作为位移量D,两者相加后得到操作数的有效地址,即EA=(PC)+D。

第 2 题

计算机系统中,虚拟存储体系由(  )两级存储器构成。

  • (A) 主存—辅存
  • (B) 寄存器—Cache
  • (C) 寄存器—主存
  • (D) Cache—主存

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>多级存储体系
  • 试题答案:[['A']]
  • 试题解析:虚拟存储器:具有部分装入对换功能,能从逻辑上对内存容量进行大幅度扩充,使用方便的一种存储器系统。虚拟存储器的容量与主存大小无关。虚拟存储器的基本思路是:作业提交时,先全部进入辅助存储器,作业投入运行时,不把作业的全部信息同时装入主存储器,而是将其中当前使用部分先装入主存储器,其余暂时不用的部分先存放在作为主存扩充的辅助存储器中,待用到这些信息时,再由系统自动把它们装入到主存储器中。

第 3 题

程序计数器(PC)是(  )中的寄存器。

  • (A) 运算器
  • (B) 控制器
  • (C) Cache
  • (D) I/O设备

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>运算器与控制器
  • 试题答案:[['B']]
  • 试题解析:运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,是数据加工的处理部件,完成计算机的各种算术和逻辑运算。
    控制器用于控制整个CPU的工作,决定了计算机运行过程的自动化,不仅要保证程序的正确执行,而且要能够处理异常的事件。控制器包含:程序计数器(PC)、指令寄存器(IR)、地址寄存器(AR)、指令译码器(ID)、时序部件等。

第 4 题

中断向量提供(  )。

  • (A) 外设的接口地址
  • (B) 待传送数据的起始和终止地址
  • (C) 主程序的断点地址
  • (D) 中断服务程序入口地址

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>其它
  • 试题答案:[[D]]
  • 试题解析:中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行的程序的运行,转而对这些异常处理或者特殊请求的处理,处理结束后再返回到现行程序的中断处,继续执行原程序。
    中断向量:中断服务程序的入口地址。
    中断向量表:把系统中所有的中断类型码及对应的中断向量按一定的规律存放在一个区域内,这个存储区域就称为中断向量表。
    CPU是根据中断号获取中断向量值,即对应中断服务程序的入口地址值。

第 5 题

在计算机系统中总线宽度分为地址总线宽度和数据总线宽度。若计算机中地址总线的宽度为32位,则最多允许直接访问主存储器(  )的物理空间。

  • (A) 40MB
  • (B) 4GB
  • (C) 40GB
  • (D) 400GB

答案与解析

  • 试题难度:容易
  • 知识点:计算机组成与体系结构>总线系统
  • 试题答案:[[B]]
  • 试题解析:地址总线决定计算机寻址的空间,宽度32位,即计算机的寻址能力为:232=22*230=4GB。

第 6 题

为了提高计算机磁盘存取效率,通常可以(  )。


  • (A) 利用磁盘格式化程序,定期对ROM进行碎片整理
  • (B) 利用磁盘碎片整理程序,定期对内存进行碎片整理
  • (C) 利用磁盘碎片整理程序,定期对磁盘进行碎片整理
  • (D) 利用磁盘格式化程序,定期对磁盘进行碎片整理

答案与解析

  • 试题难度:容易
  • 知识点:操作系统>其它
  • 试题答案:[['C']]
  • 试题解析:格式化程序使用于磁盘格式化;格式化是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。
    碎片整理程序用于磁盘碎片整理;磁盘碎片整理,就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,可提高电脑的整体性能和运行速度。
    磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。硬盘在使用一段时间后,由于反复写入和删除文件,磁盘中的空闲扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区里。这样,在读写文件时就需要到不同的地方去读取,增加了磁头的来回移动,降低了磁盘的访问速度。
    内存是随机访问存取,文件在任何位置读取的时间是一样的。

第 7 题

安全的电子邮件协议为(  )。

  • (A) MIME
  • (B) PGP
  • (C) POP3
  • (D) SMTP

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>其它
  • 试题答案:[[B]]
  • 试题解析:SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议:用于电子邮件的传递和投递。
    POP3(Post Office Protocol - Version 3)即邮局协议版本3:用于支持使用客户端远程管理在服务器上的电子邮件,是一种离线的收邮件的协议。
    MIME(Multipurpose Internet Mail Extensions)即多用途互联网邮件扩展类型:它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。当被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。
    PGP(Pretty Good Privacy)即更好地保护隐私;是一个基于RSA公钥加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。

第 8 题

操作系统通过(  )来组织和管理外存中的信息。

  • (A) 字处理程序
  • (B) 设备驱动程序
  • (C) 文件目录和目录项
  • (D) 语言翻译程序

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>其它
  • 试题答案:[[C]]
  • 试题解析:字处理程序:用于文字的格式化和排版,文字处理软件的发展和文字处理的电子化是信息社会发展的标志之一。
    设备驱动程序:是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。
    语言翻译程序:是一种系统程序,它将计算机编程语言编写的程序翻译成另外一种计算机语言等价的程序,主要包括编译程序和解释程序,汇编程序也被认为是翻译程序。

第 9 题

下列操作系统中,(  )保持网络系统的全部功能,并具有透明性、可靠性和高性能等特性。

  • (A) 批处理操作系统
  • (B) 分时操作系统
  • (C) 分布式操作系统
  • (D) 实时操作系统

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>其它
  • 试题答案:[[C]]
  • 试题解析:分布式操系统是网络操作系统的更高级形式,保持网络系统所拥有的全部功能,同时又有透明性、可靠性和高性能等。

第 10 题

在进程状态转换过程中,可能会引起进程阻塞的原因是(  )。


  • (A) 时间片到
  • (B) 执行V操作
  • (C) I/O完成
  • (D) 执行P操作

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>进程的状态
  • 试题答案:[['D']]
  • 试题解析:运行态:占有处理器正在运行。
    就绪态:指具备运行条件,等待系统分配处理器以便运行。
    等待态:又称为阻塞态或睡眠态,指不具备运行条件,正在等待某个时间完成的状态。
    运行态——等待态:等待使用资源,如等待外设传输,等待人工干预。
    等待态——就绪态:资源得到满足,如外设传输结束,人工干预完成。
    运行态——就绪态:运行时间片到,出现有更高优先权进程。
    就绪态——运行态:CPU空闲时选择一个就绪进程。
    本题中,时间片到,进程应该进入就绪态;I/O完成进程应该是阻塞态到就绪态;V操作是释放资源,到一个进程释放资源,应该会唤醒另一个进程运行。所以最适合的选项应为D。

第 11 题

假设系统有n个进程共享资源R,且资源R的可用数为3,其中n≥3。若采用PV操作,则信号量S的取值范围应为(  )。

  • (A) -1~n-1
  • (B) -3~3
  • (C) -(n-3)~3
  • (D) -(n-1)~1

答案与解析

  • 试题难度:容易
  • 知识点:操作系统>信号量与PV操作
  • 试题答案:[[C]]
  • 试题解析:PV操作:是实现进程同步和互斥的常用方法,P操作和V操作是低级通信原语,在执行期间不可分割;其中P操作表示申请一个资源,V操作表示释放一个资源。
    P操作的定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则将该进程设为阻塞状态(因为无可用资源),并将其插入阻塞队列。
    V操作的定义:S:=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
    本题中S初始值为3,当n个进程同时执行时,需要执行n次P操作,这时信号量的值应为 3-n,所以信号量的变化范围为:-(n-3)~3

第 12 题

已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(  );若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值(  )。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。

  • (A) 35
  • (B) 32
  • (C) 11
  • (D) 7
  • (A) 35
  • (B) 32
  • (C) 11
  • (D) 7

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言>传值与传址
  • 试题答案:[['C'],['D']]
  • 试题解析:传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。
    引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。
    本题中,a=x>>1,x值为5,则a=2;采用传值调用时,由于g(a)对数据x的运算不会影响原来x的值,所以a+x=5+2=7;采用传址调用时,由于g(a)对数据x的运算会影响原来a的值,当执行g(a)后a的值为6,所以a+x=5+6=11。

第 13 题

设数组a0..n-1,0..m-1中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素ai,j的存储位置相对于数组空间首地址的偏移量为(  )。


  • (A) (jm+i)4
  • (B) (im+j)4
  • (C) (jn+i)4
  • (D) (in+j)4

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>数组与矩阵
  • 试题答案:[['B']]
  • 试题解析:由于a[i,j] (0≤i<n,0≤j<m)i和j是从0开始的,以行为主序,则a[i,j]前面已经有i行已经排列满,一共有im个元素,在a[i,j]元素所在的行,前有j个元素,所以a[i,j]前一共有(im+j)个元素;每个元素占用4个存储单元,所以a[i,j]相对数组空间首地址的偏移量为(im+j)4。

第 14 题

线性表采用单循环链表存储的主要优点是(  )。

  • (A) 从表中任一结点出发都能遍历整个链表
  • (B) 可直接获取指定结点的直接前驱和直接后继结点
  • (C) 在进行删除操作后,能保证链表不断开
  • (D) 与单链表相比,更节省存储空间

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>线性表
  • 试题答案:[[A]]
  • 试题解析:循环链表:在单向链表(或双向链表的基础上),令表尾节点的指针指向表中的第一个节点,构成循环链表。其特点是可以从表中任意节点开始遍历整个链表。

第 15 题

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(  )。

  • (A) 查找与给定值相匹配的元素的位置
  • (B) 查找并返回第i个元素的值(1≤i≤n)
  • (C) 删除第i个元素(1≤i<n)
  • (D) 在第i个元素(1≤i≤n)之前插入一个新元素

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>线性表
  • 试题答案:[[B]]
  • 试题解析:在线性表中插入和删除元素都需要修改前驱和后继的指针。
    查找并返回第i个元素的值,这个只要找到该位置读取即可。
    查找与给定值相匹配的元素的位置,先读取第一个元素再比较,依次类推直到找到该元素。

第 16 题

设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到(  )。

  • (A) a b c d
  • (B) b a c d
  • (C) c a b d
  • (D) d c b a

答案与解析

  • 试题难度:容易
  • 知识点:数据结构与算法基础>线性表
  • 试题答案:[[C]]
  • 试题解析:选项A:a进栈、a出栈、b进栈、b出栈、c进栈、c出栈、d进栈、d出栈
    选项B:a进栈、b 进栈、b出栈、a出栈、c进栈、c出栈、d进栈、d出栈
    选项C:无法实现
    选项D:a进栈、b进栈、c进栈、d进栈、d出栈、c出栈、b出栈、a出栈

第 17 题

若要求对大小为n的数组进行排序的时间复杂度为O(nlog2n),且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是(  )。


  • (A) 快速排序
  • (B) 归并排序
  • (C) 堆排序
  • (D) 冒泡排序

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>时间复杂度与空间复杂度
  • 试题答案:[['B']]
  • 试题解析:

第 18 题

对于一般的树结构,可以采用孩子一兄弟表示法,即每个结点设置两个指针域,一个指针(左指针)指示当前结点的第一个孩子结点,另一个指针(右指针)指示当前结点的下一个兄弟结点。某树的孩子一兄弟表示如下图所示。以下关于结点D与E的关系的叙述中,正确的是(  )。


>- (A) 结点D与结点E是兄弟 >- (B) 结点D是结点E的祖父结点 >- (C) 结点E的父结点与结点D的父结点是兄弟 >- (D) 结点E的父结点与结点D是兄弟 **答案与解析** - 试题难度:一般 - 知识点:数据结构与算法基础>树与二叉树 - 试题答案:[['D']] - 试题解析:孩子兄弟表示法的每个节点有两个指针域,一个指向其长子,另一个指向其兄弟.


### 第 19 题 某企业研发信息系统的过程中(  )不属于数据库管理员(DBA)的职责。
>- (A) 决定数据库中的信息内容和结构 >- (B) 决定数据库的存储结构和存取策略 >- (C) 进行信息系统程序的设计和编写 >- (D) 定义数据的安全性要求和完整性约束条件 **答案与解析** - 试题难度:容易 - 知识点:数据库系统>其它 - 试题答案:[['C']] - 试题解析:数据库管理员(DBA):负责数据库的总体信息控制。具体职责包括:决定数据库中信息内容和结构;决定数据库的存储结构和存取策略;定义数据库的安全性要求和完整性约束条件;监控数据库的使用和运行;数据库的性能改进、数据库的重组和重构,以提高系统的性能。
### 第 20 题 某高校人事管理系统中,规定讲师每课时的教学酬金不能超过100元,副教授课时的教学酬金不能超过130元,教授每课时的教学酬金不能超过160元。这种情况下所设置的数据完整性约束条件称之为(  )。


>- (A) 用户定义完整性 >- (B) 实体完整性 >- (C) 主键约束完整性 >- (D) 参照完整性 **答案与解析** - 试题难度:一般 - 知识点:数据库系统>数据库完整性约束 - 试题答案:[['A']] - 试题解析:
 完整性约束:防止的是对数据的意外破环。
实体完整性:规定基本关系R的主属性A不能取空。
用户自定义完整性:就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于150的整数。
参照完整性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。
本题中是按照业务系统自身的要求来定义数据的约束,属于用户自定义完整性。
### 第 21 题 某教学管理数据库中,学生、课程关系模式和主键分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名,学分),关系C的主键为课程号。假设一个学生可以选择多门课程,一门课程可以由多个学生选择。一旦学生选择某门课程必定有该课程的成绩。由于学生与课程之间的“选课”联系类型为(  )所以对该联系(  )。
>- (A) n:m >- (B) 1:n >- (C) n:1 >- (D) 1:1 >- (A) 不需要构建—个独立的关系模式 >- (B) 需要构建一个独立的关系模式,且关系模式为:SC(课程号,成绩) >- (C) 需要构建一个独立的关系模式,且关系模式为:SC(学生号,成绩) >- (D) 需要构建—个独立的关系模式,且关系模式为:SC(学生号,课程号,成绩) **答案与解析** - 试题难度:容易 - 知识点:数据库系统>ER模型 - 试题答案:[[A],[D]] - 试题解析:一个学生可以选择多门课程,一门课程可以由多个学生选择,说明学生与选课之间的联系类型为多对多
对于多对多的联系转换成关系时,应转为一个独立的关系,联系的属性由两端实体的码和联系的属性组成。该关系码为两端实体集码共同组成。对于本题来说 联系本身需要记录成绩,所以SC关系应该由学生号、课程号、成绩三个属性组成。
### 第 22 题 查询“软件工程”课程的平均成绩、最高成绩与最低成绩之间差值的SQL语句如下:
  SELECT AVG(成绩)AS平均成绩,(  )
  FROM C, SC
  WHERE C.课程名=’软件工程’ AND C.课程号=SC.课程号;
>- (A) 差值AS MAX(成绩)—MIN(成绩) >- (B) MAX(成绩)—MIN(成绩)AS差值 >- (C) 差值IN MAX(成绩)—MIN (成绩) >- (D) MAX(成绩)—MIN(成绩) IN差值 **答案与解析** - 试题难度:容易 - 知识点:数据库系统>SQL语言 - 试题答案:[['B']] - 试题解析:给列取别名的语法为: 列名 AS 新列名;
最大值聚集函数为:MAX;最小值聚集函数为:MIN
### 第 23 题 能隔离局域网中广播风暴、提高带宽利用率的设备是(  )。
>- (A) 网桥 >- (B) 集线器 >- (C) 路由器 >- (D) 交换机 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>其它 - 试题答案:[['C']] - 试题解析:路由器可以分割广播风暴;交换机可以分割冲突域。


### 第 24 题 下面的协议中属于应用层协议的是(  ),该协议的报文封装在(  )中传送。 >- (A) SNMP >- (B) ARP >- (C) ICMP >- (D) X.25 >- (A) TCP >- (B) IP >- (C) UDP >- (D) ICMP **答案与解析** - 试题难度:一般 - 知识点:计算机网络>TCP/IP协议族 - 试题答案:[[A],[C]] - 试题解析: ### 第 25 题 某公司内部使用wb.xyz.com.cn作为访问某服务器的地址,其中wb是(  )。
>- (A) 主机名 >- (B) 协议名 >- (C) 目录名 >- (D) 文件名 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>其它 - 试题答案:[[A]] - 试题解析:wb.xyz.com.cn中:wb为主机名;xyz.com.cn为域名。
### 第 26 题 如果路由器收到了多个路由协议转发的关于某个目标的多条路由,那么决定采用哪条路由的策略是(  )。
>- (A) 选择与自己路由协议相同的 >- (B) 选择路由费用最小的 >- (C) 比较各个路由的管理距离 >- (D) 比较各个路由协议的版本 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>其它 - 试题答案:[[C]] - 试题解析:管理距离决定了路由的优先,管理距离越小说明路由优先级更高。
### 第 27 题 下面是路由表的4个表项,与地址220.112.179.92匹配的表项是(  )。
>- (A) 220.112.145.32/22 >- (B) 220.112.145.64/22 >- (C) 220.112.147.64/22 >- (D) 220.112.177.64/22 **答案与解析** - 试题难度:一般 - 知识点:计算机网络>其它 - 试题答案:[['D']] - 试题解析:
从上图可以看出只有选项D与题干的IP属于同一网段,所以路由时应选择D。
### 第 28 题 某开发小组欲开发一个软件系统,实现城市中不同图书馆的资源共享,包括实体资源和电子资源,共享规则可能在开发过程中有变化。客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这种情况下最适宜采用(  )开发过程模型。主要是因为这种模型 (  ) 。  
>- (A) 瀑布 >- (B) 原型 >- (C) 增量 >- (D) 螺旋 >- (A) 可以快速提交阶段性的软件产品 >- (B) 需求变化对开发没有影响 >- (C) 减少用户适应和习惯系统的时间和精力 >- (D) 能够很好解决风险问题 **答案与解析** - 试题难度:容易 - 知识点:软件工程>开发模型 - 试题答案:[[C],[A]] - 试题解析:题干中明确说明希望快速开发,同时可以接受多次交互。这种情况下适合增量模型。这样可以快速开发第一交互产品、交互,然后再开发、再交互。
### 第 29 题 某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(  )天。活动BC和BF分别最多可以晚开始(  )天而不会影响整个项目的进度。
  • (A) 11
  • (B) 15
  • (C) 16
  • (D) 18
  • (A) 0和 7
  • (B) 0和 11
  • (C) 2和7
  • (D) 2和11

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>Gant图与Pert图
  • 试题答案:[['D'],['A']]
  • 试题解析:本题中关键路径为:A→B→D→G→F→J 和 A→B→C→E→F→J 总时长为:18
    所以完成该项目的最小时间为18天
    BC:由于BC在关键路径上,所以BC的松弛时间为0
    BF:由于关键路径时长为18,经过BF的最长路路径11,所以BF松弛时间为:18-11=7

第 30 题

结构化开发方法中,(  )主要包含对数据结构和算法的设计。对算法设计时,其主要依据来自(  )描述算法时,(  )不是理想的表达方式。

  • (A) 体系结构设计
  • (B) 数据设计
  • (C) 接口设计
  • (D) 过程设计
  • (A) 数据流图
  • (B) E-R图
  • (C) 状态-迁移图
  • (D) 加工规格说明
  • (A) 流程图
  • (B) 决策树
  • (C) 程序设计语言代码
  • (D) 伪代码

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件设计
  • 试题答案:[['D'],['D'],['C']]
  • 试题解析:过程设计主要包含对数据结构和算法的设计。
    状态—迁移图(STD)或状态—迁移表被用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为。
    数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。
    E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
    算法可以借助各种工具描述出来,一个算法可以是用自然语言、数字语言或约定的符合来描述,如流程图、伪代码、决策表、决策树等。

第 31 题

模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(  )内聚。以下关于该类内聚的叙述中,正确的是(  )。

  • (A) 逻辑
  • (B) 时间
  • (C) 过程
  • (D) 功能
  • (A) 是最低的内聚类型
  • (B) 是最高的内聚类型
  • (C) 不易于重用
  • (D) 模块独立性好

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件设计
  • 试题答案:[['C'],['C']]
  • 试题解析:偶然聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。
    逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。
    时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。
    过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。
    通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。
    顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。
    功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少。
    本题中模块A内部的各个部分处理成分是需要按照特定的次序来执行的,结合题干的选择项来看,选择过程聚合比较符合题意,这种聚合不利于模块的重用。

第 32 题

某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(  )排序算法最好,时间复杂度为(  )。

  • (A) 插入
  • (B) 归并
  • (C) 堆
  • (D) 快速
  • (A) O(n)
  • (B) O(nlgn)
  • (C) O(n^2)
  • (D) O(n^2lgn)

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>时间复杂度与空间复杂度
  • 试题答案:[['A'],['A']]
  • 试题解析:当序列基本有序时。使用插入排序效率是最高的,能达到这种算法的最优效果,O(n)

第 33 题

在结构化分析中,用数据流图描述(  )。当采用数据流图对银行客户关系管理进行分析时,(  )是一个加工。

  • (A) 数据对象之间的关系,用于对数据建模
  • (B) 数据在系统中如何被传送或变换,以及如何对数据流进行变换
  • (C) 系统对外部事件如何响应,如何动作,用于对行为建模
  • (D) 系统中的数据对象和控制信息的特性
  • (A) 工作人员
  • (B) 账户
  • (C) 余额
  • (D) 存款

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>需求分析
  • 试题答案:[['B'],['D']]
  • 试题解析:数据流图(Data Flow Diagram,DFD):是一种最常用的结构化分析工具,从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。DFD摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组部分。
    加工:描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。
    结合本题的选项来看,只有选项D需要进行数据变换,应该选择D。

第 34 题

以下关于用例图的叙述中,不正确的是( )。图书馆管理系统需求中包含“还书”用例和“到书通知”用例,对于“还书”用例,应先查询该书是否有人预定,若有则执行“到书通知”。“还书”用例和“到书通知’’用例是( )关系,以下用例图中,( )是正确的。管理员处理“还书”用例时,需要先执行“验证身份“用例,那么“还书”用例和“验证身份”用例之间是( )关系。

  • (A) 系统用例图反映了整个系统提供的外部可见服务
  • (B) 系统用例图对系统的协作建模
  • (C) 用例图主要包含用例、参与者及其之间关系三个要素
  • (D) 系统用例图对系统的需求建模
  • (A) 关联
  • (B) 扩展
  • (C) 包含
  • (D) 泛化
  • (A)
  • (B)
  • (C)
  • (D)
  • (A) 关联
  • (B) 扩展
  • (C) 包含
  • (D) 泛化

答案与解析

  • 试题难度:一般
  • 知识点:面向对象>UML
  • 试题答案:[['B'],['B'],['B'],['C']]
  • 试题解析:用例图展现了一组用例、参与者以及它们之间的关系;通常包括:用例;参与者;扩展关系、包含关系。
    用例是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。
    用例图用于对系统的静态用例视图进行建模。这个视图主要支持系统的行为,即该系统在它的周边环境的语境中提供的外部可见服务。
    当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图。
    对系统的语境建模。对一个系统的语境进行建模,包括围绕整个系统画一条线,并声明有哪些参与者位于系统之外并与系统进行交互。在这里,用例图说明了参与者以及他们所扮演的角色的含义。
    对系统的需求建模。对一个系统的需求进行建模,包括说明这个系统应该做什么(从系统外部的一个视点出发),而不是考虑系统应该怎么做。在这里,用例图说明了系统想要的行为。通过这种方式,用例图使我们能够把整个系统看作一个黑盒子。可以观察到系统外部有什么,系统怎样与哪些外部事物相互作用,但却看不到系统内部是如何工作的。
    所以第1小问,应该选择B
    用例的委托扩展两种方式:
    包含关系:使用包含(include)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用,做基用例的时候,必然会做它所包含的事件。
    扩展关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中,做基事件之后,我可能做扩展事件,也可能不做。
    结合题干,第2小问题应为:扩展关系,第4小问应为包含关系;第3小问应该选择B

第 35 题

用面向对象方法设计了一个父类File和两个子类DiskFile和TapeFile,这两个子类继承了其父类的open方法,并给出不同的实现。不同的子类执行open方法时,有不同的行为,这种机制称为(  )。    

  • (A) 继承
  • (B) 多态
  • (C) 消息传递
  • (D) 关联

答案与解析

  • 试题难度:容易
  • 知识点:面向对象>面向对象的基本概念
  • 试题答案:[['B']]
  • 试题解析:多态性:是多种表现形式;多态性的实现,一般通过在派生类中重新定义基类的虚函数来实现。
    本题中给定一个方法,不同的子类行为不同,这是多态机制。

第 36 题

在计算机系统中,系统的(  )可以用MTTF/(1+MTTF)来度量,其中MTTF为平均无故障时间。

  • (A) 可靠性
  • (B) 可用性
  • (C) 可维护性
  • (D) 健壮性

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>其它
  • 试题答案:[['A']]
  • 试题解析:MTTF是用来描述可靠性的指标。

第 37 题

修改现有软件系统的设计文档和代码以增强可读性,这种行为属于(  )维护。

  • (A) 正确性
  • (B) 适应性
  • (C) 完善性
  • (D) 预防性

答案与解析

  • 试题难度:容易
  • 知识点:软件工程>软件维护类型
  • 试题答案:[['C']]
  • 试题解析:ISO/IEC14764
    更正性维护:更正交付后发现的错误。
    适应性维护:使软件产品能够在变化后或变化中的环境中继续使用。
    完善性维护:改进交付后产品的性能和可维护性。
    预防性维护:在软件产品中的潜在错误成为实际错误前,检测并更正它们。



第 38 题

以下不属于系统测试范畴的是(  )。

  • (A) 单元测试
  • (B) 安全测试
  • (C) 强度测试
  • (D) 性能测试

答案与解析

  • 试题难度:容易
  • 知识点:软件测试基础>软件测试策略(开发阶段)
  • 试题答案:[[A]]
  • 试题解析:单元测试是对程序模块进行的测试,不属于系统测试的范畴。

第 39 题

以下关于文档测试的说法中,不正确的是(  )。

  • (A) 文档测试需要仔细阅读文档,检查每个图形
  • (B) 文档测试需要检查文档内容是否正确和完善
  • (C) 文档测试需要检查标记是否正确性
  • (D) 文档测试需要确保大部分示例经过测试

答案与解析

  • 试题难度:容易
  • 知识点:文档测试>文档测试注意点、要点
  • 试题答案:[[D]]
  • 试题解析:文档中的示例应像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它以每一个模板制作文件,确认它们的正确性。

第 40 题

软件测试的对象不包括(  )。

  • (A) 软件代码
  • (B) 软件文档
  • (C) 质量保证方法
  • (D) 相关数据

答案与解析

  • 试题难度:容易
  • 知识点:软件测试基础>软件测试的对象
  • 试题答案:[[C]]
  • 试题解析:软件测试的对象为:程序、数据和文档。

第 41 题

测试用例的三要素不包括(  )。  

  • (A) 输入
  • (B) 预期输出
  • (C) 执行条件
  • (D) 实际输出

答案与解析

  • 试题难度:一般
  • 知识点:软件测试基础>软件测试相关概念
  • 试题答案:[['D']]
  • 试题解析:IEEE 829标准中列出测试用例应该包含的重要信息:标识符、测试项、输入说明、输出说明、环境要求、特殊过程要求、用例之间的依赖性。结合本题来看应该选择选项D。

第 42 题

以下关于软件测试原则的叙述中,正确的是(  )。   
①测试开始得越早,越有利于发现缺陷
②测试覆盖率和测试用例数量成正比
③测试用例既需选用合理的输入数据,又需要选择不合理的输入数据
④应制定测试计划并严格执行,排除随意性
⑤采用合适的测试方法,可以做到穷举测试
⑥程序员应尽量测试自己的程序

  • (A) ①②③④⑤⑥
  • (B) ①②③④⑤
  • (C) ①②③④
  • (D) ①③④

答案与解析

  • 试题难度:一般
  • 知识点:软件测试基础>软件测试的原则
  • 试题答案:[['D']]
  • 试题解析:软件测试原则:所有的测试都应追溯到用户需求;应尽早并不断地进行测试;测试工作应避免由原开发软件的人或小组来承担(单元测试除外);穷举测试是不可能的,测试需要终止;充分重视测试中的群集现象;严格按照测试计划来进行,避免随意性。

第 43 题

以下关于测试时机的叙述中,正确的是(  )。
 ①应该尽可能早地进行测试
 ②软件中的错误暴露得越迟,则修复和改正错误所花费的代价就越高
 ③应该在代码编写完成后开始测试
 ④项目需求分析和设计阶段不需要测试人员参与

  • (A) ①②③④
  • (B) ①②③
  • (C) ①②
  • (D) ①

答案与解析

  • 试题难度:容易
  • 知识点:软件测试基础>软件测试的原则
  • 试题答案:[[C]]
  • 试题解析:③④违背了测试应尽早开始的原则。

第 44 题

以下属于软件测试工具的是(  )。
 ①JTest                  ②LoadRunner
 ③Visual Studio    ④JBuilder

  • (A) ①②③④
  • (B) ①②③
  • (C) ①②
  • (D) ①

答案与解析

  • 试题难度:容易
  • 知识点:软件测试基础>自动化测试(优势、缺点、工具)
  • 试题答案:[['C']]
  • 试题解析:①Java单元测试工具JTest;②是一种预测系统行为和性能的负载测试工具;③④开发相关的工具。

第 45 题

兼容性测试不包括(  )。

  • (A) 软件兼容性测试
  • (B) 硬件兼容性测试
  • (C) 数据兼容性测试
  • (D) 操作人员兼容性测试

答案与解析

  • 试题难度:容易
  • 知识点:兼容性测试>硬件、软件、数据兼容性测试
  • 试题答案:[[D]]
  • 试题解析:兼容性测试包括有软件、硬件、数据、平台等兼容性测试。

第 46 题

根据输出对输入的依赖关系设计测试用例的黑盒测试方法是(  )。

  • (A) 等价类划分法
  • (B) 因果图法
  • (C) 边界值分析法
  • (D) 场景法

答案与解析

  • 试题难度:容易
  • 知识点:黑盒测试>因果图法
  • 试题答案:[[B]]
  • 试题解析:因果图法:是从自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判断表。

第 47 题

以下关于边界值测试法的叙述中,不正确的是(  )。

  • (A) 边界值分析法仅需考虑输入域边界,不用考虑输出域边界
  • (B) 边界值分析法是对等价类划分方法的补充
  • (C) 错误更容易发生在输入输出边界上而不是输入输出范围的内部
  • (D) 测试数据应尽可能选取边界上的值

答案与解析

  • 试题难度:容易
  • 知识点:黑盒测试>黑盒测试的方法
  • 试题答案:[[A]]
  • 试题解析:边界值分析法需要考虑输入域的边界和输出域的边界。

第 48 题

 一个程序的控制流图中有6个节点,1 0条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是(  )。

  • (A) 2
  • (B) 4
  • (C) 6
  • (D) 8

答案与解析

  • 试题难度:容易
  • 知识点:白盒测试>基本路径测试法
  • 试题答案:[['C']]
  • 试题解析:V(g)=边-节点+=10-6+2=6;V(g)表示实现基本路径覆盖测试用例的最大数量。

第 49 题

对于逻辑表达式( (b1&b2)||in),需要(  )个测试用例才能完成条件组合覆盖。

  • (A) 2
  • (B) 4
  • (C) 8
  • (D) 16

答案与解析

  • 试题难度:一般
  • 知识点:白盒测试>逻辑覆盖法
  • 试题答案:[[B]]
  • 试题解析:多条件覆盖(MCC):也称条件组合覆盖,设计足够的测试用例,使得使得每个判定中条件的各种可能组合都至少出现一次
    本题中&被认为是位运算,则MCC的测试用例数应为:22=4
    如果作为逻辑与运算,则有3个条件,符合MCC的测试用例数应为:23=8

第 50 题

测试执行过程的阶段不包括(  )。

  • (A) 初测期
  • (B) 系统测试期
  • (C) 细测期
  • (D) 回归测试期

答案与解析

  • 试题难度:一般
  • 知识点:软件测试基础>软件测试策略(软件验证与确认过程)
  • 试题答案:[[B]]
  • 试题解析:测试执行过程的阶段为:初测期、细测期、和回归测试期。
    初测期——测试主要功能和关键的执行路径,排除主要障碍。
    细测期——依据测试计划和测试用例,逐一测试大大小小的功能、方方面面的特性、性能、用户界面、兼容性、可用性等等;预期可发现大量不同性质、不同严重程度的错误和问题。
    回归测试期——系统已达到稳定,在一轮测试中发现的错误已十分有限;复查已知错误的纠正情况,未引发任何新的错误时,终结回归测试。

第 51 题

以下关于回归测试的叙述中,不正确的是(  )。


  • (A) 回归测试是为了确保改动不会带来不可预料的后果或错误
  • (B) 回归测试需要针对修改过的软件成分进行测试
  • (C) 回归测试需要能够测试软件的所有功能的代表性测试用例
  • (D) 回归测试不容易实现自动化

答案与解析

  • 试题难度:一般
  • 知识点:软件测试基础>软件测试相关概念
  • 试题答案:[['D']]
  • 试题解析:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

第 52 题

以下属于测试停止依据的是(  )。   
 ①测试用例全部执行结束    ②测试覆盖率达到要求
 ③测试超出了预定时间        ④查出了预定数目的故障
 ⑤执行了预定的测试方案    ⑥测试时间不足   

  • (A) ①②③④⑤⑥
  • (B) ①②③④⑤
  • (C) ①②③④
  • (D) ①②③

答案与解析

  • 试题难度:一般
  • 知识点:软件测试基础>软件测试策略(开发阶段)
  • 试题答案:[['B']]
  • 试题解析:⑥测试时间不足不应作为测试停止的依据。

第 53 题

以下关于测试方法的叙述中,不正确的是(  )。 

  • (A) 根据被测代码是否可见分为白盒测试和黑盒测试
  • (B) 黑盒测试一般用来确认软件功能的正确性和可操作性
  • (C) 静态测试主要是对软件的编程格式M结构等方面进行评估
  • (D) 动态测试不需要实际执行程序

答案与解析

  • 试题难度:容易
  • 知识点:软件测试基础>其他
  • 试题答案:[[D]]
  • 试题解析:动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。所以选项D是错误的描述。

第 54 题

以下关于性能测试的叙述中,不正确的是(  )。

  • (A) 性能测试的目的是为了验证软件系统是否能够达到用户提出的性能指标
  • (B) 性能测试不用于发现软件系统中存在的性能瓶颈
  • (C) 性能测试类型包括负载测试,强度测试,容量测试等
  • (D) 性能测试常通过工具来模拟大量用户操作,增加系统负载

答案与解析

  • 试题难度:容易
  • 知识点:负载压力测试>基础概念
  • 试题答案:[['B']]
  • 试题解析:性能测试用来保证产品发布后系统的性能能够满足用户需求。性能测试通常存在性能调优与性能评测两种性能测试策略。
    性能评测主要包括:在真实环境下,检查系统服务等级的满足情况,评估并报告整个系统的性能;对系统的未来容量作出预测和规划。
    性能评测室性能调优的基础,性能调优的步骤如下:查找形成系统瓶颈或者故障的根本原因;进行性能调整和优化;评估性能调整的效果。

第 55 题

不同加密机制或算法的用途、强度是不相同的,一个软件或系统中的加密机制使用是否合理,强度是否满足当前要求,需要通过测试来完成,通常(  )是测试的一个重要手段。

  • (A) 模拟加密
  • (B) 模拟解密
  • (C) 漏洞扫描
  • (D) 算法强度理论分析

答案与解析

  • 试题难度:一般
  • 知识点:安全测试与评估>安全性测试方法
  • 试题答案:[[B]]
  • 试题解析:加密机制是保护数据安全的重要手段,加密的基本过程就是对原来为明文的文件或数据, 按某种算法进行处理,使其成为不可读的密文。由于不同加密机制的用途及强度不同,因此 一个信息系统中加密机制使用是否合理,强度是否满足当前需要,需要通过测试来检验,通常模拟解密是测试的一个重要手段。

第 56 题

安全日志是软件产品的一种被动防范措施,是系统重要的安全功能,因此安全日志测试是软件系统安全性测试的重要内容,下列不属于安全日志测试基本测试内容的是(  )。

  • (A) 对安全日志的完整性进行测试,测试安全日志中是否记录包括用户登录名称、时间、地址、数据操作行为以及退出时间等全部内容
  • (B) 对安全日志的正确性进行测试,测试安全日志中记录的用户登录、数据操作等日志信息是否正确
  • (C) 对日志信息的保密性进行测试,测试安全日志中的日志信息是否加密存储,加密强度是否充分
  • (D) 对于大型应用软件系统,测试系统是否提供安全日志的统计分析能力

答案与解析

  • 试题难度:一般
  • 知识点:安全测试与评估>安全日志测试
  • 试题答案:[['C']]
  • 试题解析:日志应当记录所有用户访问系统的操作内容,包括登录用户名称、登录时间、浏览数据动作、修改数据动作、删除数据动作、退出时间、登录机器的IP等。
    安全日志测试:根据业主要求或设计需求,对日志的完整性、正确性进行测试;测试安全日志是否包含了日志内容的全部项目,是否正确;对于大型应用软件,系统是否提供了安全日志的智能统计分析能力;是否可以按照各种特征项进行日志统计,分析潜在的安全隐患,及时发现非法行为。

第 57 题

下到关于DoS攻击的描述中,错误的是(  )。 

  • (A) DoS攻击通常通过抑制所有或流向某一特定目的端的消息,从而使系统某一实体不能执行其正常功能,产生服务拒绝
  • (B) DoS攻击不需侵入目标系统,仅从外部就可实现攻击
  • (C) 只要软件系统内部没有漏洞,DoS攻击就不可能成功
  • (D) 死亡之Ping、Land攻击、UDP洪水、Smurf攻击均是常见的DoS攻击手段

答案与解析

  • 试题难度:容易
  • 知识点:信息安全>网络攻击
  • 试题答案:[['C']]
  • 试题解析:服务拒绝:当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候,便发生服务拒绝。这种攻击不一定需要目标系统存在漏洞,如UDP洪水。

第 58 题

    Software entities are more complex for their size than perhaps any other human construct, because no two parts are alike (at least above the statement level). If they are, we make the two similar parts into one, a (  ), open or closed.In this respect software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.
    Digital computers are themselves more complex than most things people build; they have very large numbers of states.This makes conceiving, describing, and testing them hard.Software systems have orders of magnitude more(  )than computers do.
    Likewise, a scaling-up of a software entity is not merely a repetition of the same elements in larger size; it is necessarily an increase in the number of different elements.In most cases, the elements interact with each other in some(  )fashion, and the complexity of the whole increases much more than linearly.
The complexity of software is a(an) (  )property, not an accidental one.Hence descriptions of a software entity that abstract away its complexity often abstract away its essence.Mathematics and the physical sciences made great strides for three centuries by constructing simplified models of complex phenomena, deriving, properties from the models,and verifying those properties experimentally.This worked because the complexities(  )in the models were not the essential properties of the phenomena.It does not work when the complexities are the essence.   
    Many of the classical problems of developing software products derive from this essential complexity and its nonlinear increases with size.Not only technical problems but management problems as well come from the complexity.

  • (A) task
  • (B) job
  • (C) subroutine
  • (D) program
  • (A) states
  • (B) parts
  • (C) conditions
  • (D) expressions
  • (A) linear
  • (B) nonlinear
  • (C) parallel
  • (D) additive
  • (A) surface
  • (B) outside
  • (C) exterior
  • (D) essential
  • (A) fixed
  • (B) included
  • (C) ignored
  • (D) stabilized

答案与解析

  • 试题难度:较难
  • 知识点:专业英语>专业英语
  • 试题答案:[['C'],['A'],['B'],['D'],['C']]
  • 试题解析:

    软件实体规模上或许比其他任何人类创造的结构要更为复杂,因为没有两个部分是一样的(至少在语句级别以上)。如果他们一样,我们便将这两个相似的部分合到一起,成为一个子程序,打开或关闭。在这一点上,软件系统与计算机、建筑或汽车经常混合使用一些重复的元件有很大区别。
    数字计算机本身比人类所建造的大多数事物都要复杂,他们有超级多的状态。这使得对他们进行想象、描述和测试都很困难。软件系统的状态数目更是比计算机的超出几个数量级。
    同理,软件实体的扩展不单是这一批元件变大一点,它必将是大量不同元件都有增加。在大多数情况下,构件以非线性的方式相互作用,而整体的复杂性远超线性增加。
    软件的复杂的特点具有必然性,并非偶然。因此,对于软件实体的描述,剥离了它的复杂性往往就等于剥离了它的本质。过去这三个世纪,通过对复杂的现象构建出简化模型,从模型的属性再倒推,并通过实验验证这些属性,数学和物理科学取得了长足的进步。这之所以行之有效,是因为模型中忽略掉的复杂特性并不是现象中重要的本质属性。而当这些复杂性很重要时,这种方法就会失效。

results matching ""

    No results matching ""