软工EX

    1.系统中模块的____不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。
  A. 可分解性 B. 保护性 C. 可理解性 D. 连续性
  答案:D
  解析:在考虑模块化时,有一个重要问题:如何定义给定大小的一个合适模块?Meyer定义了五个标准:可分解性、保护性、可理解性、连续性、可组装性。模块可分解性是指如果一种设计方法提供了将问题分解成子问题的系统化机制,它就能降低整个系统的复杂性,从而实现一种有效的模块化解决方案。模块保护是指如果模块内出现异常情况,并且它的影响限制在模块内部,则错误引起的副作用就会被最小化。模块可理解性是指如果一个模块可以作为一个独立的单位(不用参考其他模块)被理解,那么它就易于构造和修改。模块连续性是指在程序中进行小的修改的能力以及使这些修改在仅仅一个或很少的几个模块中发生对应修改下的反应,则修改引起的副作用就会被最小化。模块可组装性是指如果一种设计方法使现存的(可复用的)设计构件能被组装成新系统,它就能提供一种不一切从头开始的模块化解决方案。由于本题设计到系统的小变动与规格说明的小变动将带来什么结果,根据题意应选D。

  2.下面关于面向对象方法中消息的叙述,不正确的是______。
  A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
  B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
  C. 应用程序之间可以相互发送消息
  D.发送与接收消息的通信机制与传统的子程序调用机制不同
  答案:B
  解析:消息是对象间互相联系的手段,消息刺激接收对象产生某种行为,通过操作的执行来完成相应行为。操作系统与应用程序之间可以互相发送消息,所以B是错误的。

  3.面向对象技术中,对象是类的实例。对象有三种成份:________、属性和方法(或操作)。
  A. 标识 B. 规则 C. 封装 D. 消息
  答案:A
  解析:对象有三种成份:标识、属性和方法(或操作)。每个对象都有自己的属性值,表示该对象的状态。对象中的属性只能够通过该对象所提供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所提供的服务。

  4.软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了__(1)__。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对__(2)__ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个__(3)__ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
  (1) A. 版本管理 B.可行性分析 C. 风险分析 D. 系统集成
  (2) A.系统 B.计划 C. 风险 D.工程
  (3)A.原型项目 B.概念项目 C. 改进项目 D. 风险项目
  答案:(1) C (2) C (3) B
  解析:软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了风险分析,每转一圈都要对风险进行识别和分析,螺旋线第一圈的开始点可能是一个概念项目。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

  5.关于程序模块优化的启发式规则有若干条,以下规则中不符合优化原则的是__(1)__。如果一个模块调用下层模块时传递一个数据结构,则这种耦合属于__(2)__。
  (1)A.通过模块的合并和分解,降低模块的耦合度,提高模块的内聚性
  B.提高上层模块的扇出,减少模块调用的层次
  C.将模块的作用范围限制在模块的控制范围之内
  D.降低模块之间接口的复杂性,避免“病态连接”
  (2)A.简单耦合 B.直接耦合 C.标记耦合 D.控制耦合
  答案:(1)B (2) C
  解析:(1)关于程序模块优化的启发式规则有若干条:评估程序结构的“第一次迭代”以降低耦合并提高内聚;试图用高扇出使结构最小化;当深度增加时争取提高扇入;将模块的影响限制在模块的控制范围内;评估模块接口以降低复杂度和冗余并提高一致性;定义功能可以预测的模块,但要避免过分限制的模块;力争“受控入口”模块,避免“病态连接”;根据设计约束和可移植性需求,对软件进行打包。答案A 、C、D都符合上述准则,若要减少模块调用的层次即当深度增加时,应该争取提高扇入,所以答案B不符合原则。(2)一个数据结构的一部分借助于模块接口被传递是标记耦合。两个模块之间的耦合方式有七种:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

  6.软件设计包括四个既独立又相互联系的活动,分别为__(1)__、__(2)__、数据设计和过程设计。
  (1)A.用户手册设计 B.语言设计 C.体系结构设计 D.文档设计
  (2)A.文档设计 B.程序设计 C.实用性设计 D.接口设计
  答案:(1)C (2) D
  解析:设计模型可以表示成金字塔,这种形状的象征意义是重要的,金字塔是极为稳固的物体,它具有宽大的基础和低的重心。象金字塔一样,我们希望构造坚固的软件设计,我们通过用数据设计建立宽广的基础,用体系结构和接口设计建立坚固的中部,以及应用过程设计构造尖锐的顶部,从而创建出不会被修改之风轻易“吹倒”的设计模型。

  7.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是____。
  A.工作无序,项目进行过程中经常放弃当初的计划
  B.建立了项目级的管理制度
  C.建立了企业级的管理制度
  D.软件过程中活动的生产率和质量是可度量的
  答案: D
  解析:SEI的模型提供了衡量一个公司软件工程实践的整体有效性的方法,且建立了五级的过程成熟度级别,第一级:初始级,第二级:可重复级,第三级:定义级, 第四级:管理级,第五级:优化级。第四级管理级是指软件过程和产品质量的详细度量数据被收集,通过这些度量数据,软件过程和产品能够被定量地理解和控制,此级包含了第三级的所有特征。根据各选项应选择答案D。
 

---------------------------------------------------------------------------------------------------------------------------------------------------

[OS部分]

主要涉及到操作系统的类型的功能,操作系统的层次结构和进程概念,作业、处理机、存储、文件和设备等管理的原理和方法。
  1.在UNIX操作系统中,当用户执行如下命令:
  1ink("/user/include/myfile.sh","/usr/userwang/youfile.sh")
  则文件名"/usr/userwang/youfile.sh"存放在____。
  A. user目录文件中      B. include目录文件中  C. userwang目录文件中      D. youfile.sh的文件内容中
  答案:C
  解析:1ink命令属于文件系统调用,主要是为了实现文件共享,它有两个参数:path1和path2,path1是源文件名称,path2是新建立的目录文件名称。1ink命令的实质是为文件建立一个新目录项,为文件增加一个新的路径名。上述1ink命令就使得用户userwang可以使用"/usr/userwang/youfile.sh"路径名对"/user/include”路径下的myfile.sh进行访问。如果用户不想共享文件了,还可以执行un1ink命令。
  复习提示:考生应该对UNIX中的文件系统管理方式清楚。

  2.假设在系统中—个文件有两个名字,它与—个文件保存有两个副本的区别是____。
  A. 前者比后者所占用的存储空间更大
  B. 前者需要两个目录项,后者只需要一个目录项
  C. 前者存取文件的速度快,后者存取文件的速度慢
  D. 前者改变与某个名字相联系的文件时,另一个名字相连的文件也改变;后者的另一个副本不改变
  答案:D
  解析:系统中—个文件有两个名字,则该文件有两个目录项与之关联,实际存储的文件只有一个。而对于—个文件保存有两个副本,则文件需要目录项,副本也需要目录项,而且实际存储的是三个文件:文件及两个副本。由此答案A显然不对,应该是后者比前者所占用的存储空间更大。答案B也不对,因为后者需要三个目录项。答案C不对,因为文件的存取速度与文件的存储方式有关,上题中前者与后者存储方式一样,只不过是目录项的个数有区别。一个文件有多个名字,可以看成是多个名字共享一个文件,所以改变与某个名字相联系的文件时,另一个名字相连的文件也改变,但后者文件与副本之间可以看成是独立的,所以另一个副本不改变。

  3.在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如下图所示。为了利用PV操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0、0和n。这样图中的a应填写__(1)__,图中的b1、b2应分别填写__(2)__,图中的c1、c2应分别填写__(3)__。
  (1) A. P(S1)                      B.P(S2)                        C.P(Sn)                    D.P(Sn)、P(S1)
  (2) A.P(Sn)、V(S2)      B.P(Sn)、V(S1)          C.P(S2)、V(S1)      D.V(S1)、P(S2)
  (3) A.P(S1)、V(S2)      B.P(Sn)、V(S1)          C.P(S2)、V(S1)      D. V(S1)、 P(S2)
  答案:(1)C (2)D (3)A
  解析:这是一道考查PV操作的题,所以首先得弄清楚那些地方需要互斥、那些地方需要同步。题目中给出了两类进程:顾客进程与收银元进程,由于超市是顾客进程之间的公有资源,而且超市里限制最多允许有n个顾客购物,所以要设置一个公有信号量Sn,初值是n,顾客进程在进入超市时要执行P(Sn),离开超市时要执行V(Sn)操作。顾客购物后要到收银员处付款,因此顾客进程与收银员进程之间是同步的关系,一次只允许一个顾客进程付款,整个超市只有一个收银员进程收费,所以需要为顾客进程设置一个私有信号量S2为收银员进程设置一个私有信号量S1,由于开始时没有顾客去付款,收银员也没有收费,所以S1和S2的初值为0。当有顾客买完东西去付款时执行V(S1),通知收银员进程有顾客付款,此时收银员进程执行P(S1)操作后就可进入收费,收费完成后收银元进程执行V(S2),以通知顾客收费完毕,此时顾客执行P(S2)就可离开收银台,在离开超市时需执行V(Sn),释放资源。
  复习提示:PV操作在操作系统中处于很重要得地位,要想合适的运用PV操作,必须很好的理解进程之间的互斥与同步,即那些进程之间是互斥的,那些进程之间是同步的。。

        4.若计算机系统中的进程在“就绪”、“运行”和“等待”三种状态之间转换,进程不可能出现()的状态转换。A.“就绪”→“等待”           B.“就绪”→“运行”C.“运行”→“就绪”           D.“运行”→“等待”
        答案:A  提示:参照程序员教程中进程状态及其转换示意图。三种状态之间,“运行”和“就绪”之间可以双向转换;“等待”只能转换到“就绪”;“运行”只能转换到“等待”。

        5. 若内存采用固定分区管理方案,在已分配区可能会产生未用空间,通常称之为(27)。
         答案:B    A.废块           B.碎片        C.空闲页面            D.空闲簇
        提示:这是有关存储管理中的概念。内存管理有固定分区、页式分区、段式分区、段页式分区等几种。碎片是固定分区存储空间经过几次分配之后,出现一些小块存储空间,这些小块存储空间由于太小无法分配给程序使用

        6.在虚拟分页存储管理系统中,若进程访问的页面不在主存,且主存中没有可用的空闲块时,系统正确的处理顺序为()。
        A.决定淘汰页→页面调出→缺页中断→页面调入
        B.决定淘汰页→页面调入→缺页中断→页面调出
        C.缺页中断→决定淘汰页→页面调出→页面调入         
        D.缺页中断→决定淘汰页→页面调入→页面调出
        答案C.   提示:这是虚拟分页存储管理的步骤。在程序运行中发现所需要的页不在物理内存时,首先发出缺页中断,二是根据算法决定淘汰那页,三是把物理内存中的淘汰页存储到外存,称为页面调出,四是把需要的内容从外存调入物理内存指定页,称为页面调入。
    

         7.  系统软件是()的软件。
         A.与具体硬件逻辑功能无关        B.在应用软件基础上开发  C.并不具体提供人机界面          D.向应用软件提供系统调用等服务

        8. 在操作系统中,SPOOLING技术是一种并行机制,它可以使(30)。
        A.程序的执行与打印同时进行       B.不同进程同时运行    C.应用程序和系统软件同时运行     D.不同的系统软件同时运行
          答案A.   提示:本题是操作系统中设备管理部分。SPOOLING是假脱机技术。使用这种技术把低速的独占设备改造成可共享的设备。这样软件和外设可以同时工作,提高系统资源利用率。

        9. 操作系统为了解决进程间合作和资源共享所带来的同步与互斥问题,通常采用的一种方法是使用()。若在系统中有若干个互斥资源R,6个并发进程,每个进程都需要5个资源R,那么使系统不发生死锁的资源R的最少数目为()。
A.调度 B.分派 C.信号量 D.通讯
A.30 B.25 C.10 D.5

提示:
1.信号量:为了解决进程之间的同步和互斥问题,引入信号量概念。信号量是一种特殊的变量,它的表现形式是一个整型变量及相应的队列。对信号量的操作,除了设置初值外,只能施加特殊的操作:P操作和V操作。P操作和V操作都是不可分割的基本动作(动作执行过程中不能暂停)。
2.资源:指进程存在期间需要的处理器、存储器、设备、文件等。
3.互斥:多道系统中,各进程可以共享各类资源,但有些资源却一次只能提供一个进程使用。这种资源常常称为临界资源,如打印机、公共变量、表格等(没有处理器)。互斥是保证临界资源在某一时刻只被一个进程访问。
4.同步:一般一个进程相对于另一个进程的速度是不可预测的,即进程之间是异步运行的。为了成功地协调工作,有关进程在某些确定的点上应当同步他们的活动。例如:设:有A进程和B进程,有一个确定点甲,有一个活动乙等条件。则:A进程到达了甲确定点后,除非B进程已经完成了乙活动,,否则就停下来,等待乙活动的结束。这就是同步。
5.死锁:进程的死锁,如果一个进程正在等待一个不可能发生的事件,则称该进程处于死锁状态。系统发生死锁时,一个或多个进程处于死锁状态。产生死锁的主要原因是提供的共享资源不足、资源分配策略和进程推进顺序不当。  对待死锁的策略有:死锁的预防、死锁的避免、死锁的检测和死锁的解除。

答案CB. 互斥资源R指打印机、公共变量、表格等,不包括处理器。6个并发进程,一个并发进程占5个资源R,5个并发进程占25个资源R,还有一个并发进程占用处理器,在占用处理器资源时不会占用其它互斥资源R,所以最少需要25个互斥资源R。


         网络 操作系统除了原计算机操作系统所具备的模块外还配置一个()模块,该模块是操作系统与网络之间的接口。答案A
       A.网络通信模块          B.网卡驱动程序   C.网络协议              D.网络路由

        网络环境软件配置于()上。答案 B
        A.工作站        B.服务器     C.工作站和服务器     D.路由器

        NETBIOS主要支持ISO/OSI-RM的()层和会话层。答案C
         A.物理       B.应用      C.数据链路          D.网络

          网络驱动程序与()进行通信。答案D
          A.网络       B.交换机      C.网线    D.网络主要硬件

          在()中创建网络中所有的用户。它的主要目的是 管理 网络的用户。答案A
           A.主域        B.备份域     C.用户域     D.管理域

          活动目录的逻辑结构侧重于()的管理。答案A A.网络的配置优化     B.网络资源    C.信息   D.用户

---------------------------------------------------------------------------------------------------------------------------------------------------

[数据结构]

数据结构主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。逻辑结构有四种基本类型:集合结构、线性结构、树状结构和网络结构。表和树是最常用的两种高效数据结构,许多高效的算法可以用这两种数据结构来设计实现。表是线性结构的(全序关系),树(偏序或层次关系)和图(局部有序)是非线性结构。掌握线性表、多维数组、阵列、栈、树、二叉树,图的定义、存储和操作以及常见的排序和查找算法。重点是二叉树和图以及与其相关的算法。

  1.关键路径是指AOE(Activity On Edge)网中________。
  A. 最长的回路 B. 最短的回路
  C. 从源点到汇点(结束顶点)的最长路径
  D. 从源点到汇点(结束顶点)的最短路径

  答案:C

  解析:AOE网是一个有向图,通常用来估算工程的完成时间,图中的顶点表示事件,有向边表示活动,边上的权表示完成这一活动所需的时间。AOE网没有有向回路,存在唯一的入度为零的开始顶点,及唯一的出度为零的结束顶点。对AOE网最关心的两个问题:完成整个工程至少需要多少时间?那些活动是影响工程进度的关键?这就引出两个概念:关键路径和关键活动。从开始顶点到结束顶点的最长路径是关键路径,路径的长度也是工程完成的最少时间。关键路径上的所有活动是关键活动,关键活动的最大特征是:该活动的最早开始时间等于该活动所允许的最迟开始时间。关键活动拖延时间,整个工程也要拖延时间。求关键路径只需求出起点到终点的最长路径即可,注意关键路径不是唯一的。
复习提示:类似的考点还有:AOV网、最短路径、最小生成树。

  2.以下序列中不符合堆定义的是________。
  A.(102,87,100,79,82,62,84,42,22,12,68)
  B.(102,100,87,84,82,79,68,62,42,22,12)
  C.(12,22,42,62,68,79,82,84,87,100,102)
  D.(102,87,42,79,82,62,68,100,84,12,22)
 
  答案:D
 
  解析:判断堆的办法就是把序列看成是一棵完全二叉树,若树中的所有非终端结点的值均不大于(或不小于)其左右孩子的结点的值,则该序列为堆。
复习提示:考生复习过程中对定义一定要清楚,这是拿分的关键。

  3.一个具有767个结点的完全二叉树,其叶子结点个数为____。
  A. 383 B. 384 C. 385 D. 386
 
  答案:B
 
  解析:可以根据公式进行推导,假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,由二叉树的性质可知:n0=n2+1,则n= n0+n1+n2(其中n为完全二叉树的结点总数),由上述公式把n2消去得:n= 2n0+n1-1,由于完全二叉树中度为1的结点数只有两种可能0或1,由此得到n0=(n+1)/2或n0=n/2,合并成一个公式:n0=?(n+1)/2 ?,就可根据完全二叉树的结点总数计算出叶子结点数。本题计算得:384。
 
  复习提示:该记得公式要记住,临时推导也可以,但容易耽误时间



  4.若一个具有n个结点、k条边的非连通无向图是一个森林(n>k),则该森林中必有____棵树。
  A. k B. n C. n-k D. n+k

  答案:C

  解析:假设该森林中有s棵树:T1,T2,……,TS ,且每个Ti有ni 个结点,ki条边(i=1,2,……,S),由树的等价条件可知: ki=ni-1,则k=k1+k2+……+ks=(n1-1)+(n2-1)+……+(ns-1)=n-s,故s=n-k,所以该森林中必有n-k棵树。

  复习提示:该题如果清楚树的等价条件,可以很容易的解出。若不清楚,则无法下手。不过考生也可以画出一个具体的非连通无向图的森林,如:5个结点3条边2棵树的森林,也可帮助判断。抽象问题具体化是作选择题的一个重要方法。

  5. 将两个长度为 n 的递增有序表归并成一个长度为 2n 的递增有序表,最少需要进行关键字比较____次。
  A. 1 B. n-1 C. n D. 2n

  答案:C

  解析:考生首先要明白两个前提:一是要归并的两个表都是递增有序的且长度都为n,二是题目问的是最少的关键字比较次数,即最好的情况下的比较次数。而最好的情况应该是:一个表的所有关键字都大于(或小于)另一个表的所有关键字,如:(1 2 3 4)与(5 6 7 8)。比较的时候有两个指针分别指向两个表的第一个元素,由于一个表的关键字要都大于另一个表的关键字,所以关键字小的表中的元素挨个与关键字大的表的第一个元素比较后,先被并入到新表中,这时关键字大的表的指针还是指向第一个元素没变,此时只需将关键字大的表复制到新表中即可。所以花费的比较次数就是关键字小的表长,也就是n。

  6.已知AOE网中顶点v1~v7分别表示7个事件,弧al~a10分别表示10个活动,弧上的数值表示每个活动花费的时间,如下图所示。那么,该网的关键路径的长度为__(1)__,活动a6的松驰时间(活动的最迟开始时间-活动的最早开始时间)为__(2)__。
  (1) A. 7 B. 9 C. 10 D. 11
  (2) A. 3 B. 2 C. 1 D. 0
  答案:(1)C (2)A

  解析:(1)关键路径就是从起点到终点最长的路径。直接从图中找即可,v1 v4 v5 v7就是一条,长度为10。(2)从关键路径中可以看出,v1到v4需要花费的时间为6,活动a6至少要在经过时间2后才能开始,最晚开始时间为:6-2=4 ,则活动a6的松驰时间是4-2=2。

  7.对n个元素进行快速排序时,最坏情况下的时间复杂度为____。
  A.O(1og2n) B.O(n) C.O(nlog2n) D. O (n2)

  答案:D
 
  解析:若进行快速排序的n个元素按关键字有序或基本有序时,快速排序将退化为起泡排序,时间复杂度为O (n2)。

  复习提示:这是一道概念题,也是考生的拿分题,考生对概念一定要清楚。

   8.任何一个基于“比较”的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为____。
  A.10 B.11 C.21 D.36

  答案:A

  解析:内部排序中除了基数排序之外,都是基于“关键字间的比较”进行排序的。任何一个借助“比较”进行排序的算法,在最坏情况下所需的比较次数至少为?1og2(n!)?,由此可解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值