1、软件水平考试(高级)系统分析师上午(综合知识)试题章节练习试卷 8及答案与解析 1 假设系统中有 m个同类的互斥资源,当 n个进程共享这 m个互斥资源时,每个进程的最大需求数是 w。在下列情况中,系统可能会产生死锁的是 (27)。 ( A) m=4, n=3, w=2 ( B) m=4, n=2, w=3 ( C) m=5, n=2, w=3 ( D) m=5, n=3, w=2 2 在 Unix系统中,文件的物理结构采用直接、一级、二级和三级间接索引技术,其索引结点有 13个地址项 (i_addr0 i_addr12)。如果每个盘 块的大小为 1K字节,每个盘块号占 4个字节,那么, 个进程
2、要访问文件的第 356168字节处的数据时 (28)寻址。 ( A)可直接 ( B)需要一次间接 ( C)需要二次间接 ( D)需要三次间接 3 段页式虚拟存储管理方案的特点是 (34)。 ( A)空间浪费大、存储共享不易、存储保护容易、不能动态连接 ( B)空间浪费小、存储共享容易、存储保护不易、不能动态连接 ( C)空间浪费大、存储共享不易、存储保护容易、能动态连接 ( D)空间浪费小、存储共享容易、存储保护容易、能动态连接 4 磁盘移臂调度算法 (37)的主要缺陷是有高度局部化的倾向,会推迟某些请求服务,甚至引起饥饿。 ( A) FCFS ( B) SSTF ( C) SCAN ( D)
3、 C-SCAN 5 在 Unix系统中, Shell程序 (57)实现显示用户主目录以及当前命令的进程标识符。 ( A) echo UserHome directory:$LOGNAME echo Current shells PID:$ ( B) echo UserHome directory:$HOME echo Current shells PID:$ ( C) echo UserHome directory:$LOGNAME echo Current shells PID: $ ( D) echo UserHome directory:$HOME echo Current shells
4、 PlD:$ 6 若操作系统中有 n个作业 Ji(i=1, 2, , n),分别需要 Ti(i=1, 2, , n)的运行时间,采用 (60)的作业调度算法可以使平均周转时间最短。 ( A)先来先服务 ( B)最短时间优先 ( C)响应比高者优先 ( D)优先级 7 (68)不 是操作系统关心的主要问题。 ( A)管理计算机裸机 ( B)设计、提供用户程序与计算机硬件系统的界面 ( C)管理计算机系统资源 ( D)高级程序设计语言的编译器 8 在虚拟存储器中,辅存的编址方式是 (73)。 ( A)按信息编址 ( B)按字编址 ( C)按字节编址 ( D)按位编址 9 图 7-9(a)所示是某一
5、个时刻 J1、 J2、 J3、 J4四个作业在内存中的分配情况,若此时操作系统先为巧分配 5KB空间,接着又为 J6分配 10KB空间,那么操作系统采用分区管理中的 (74)算法,使得分配内存后的情况如图 7-9(b)所示。( A)最先适应 ( B)最佳适应 ( C)最后适应 ( D)最差适应 10 系统中有 R类资源 m个,现有 n个进程互斥使用。若每个进程对 R资源的最大需求为 w,那么当 m、 n、 w取表 7-6的值时,对于表 7-6中的 a-e五种情况, (77)可能会发生死锁。( A) a和 b ( B) b和 c ( C) c和 d ( D) c和 e 11 在文件管理系统中,位
6、示图 (bitmap)可用来记录磁盘存储器的使用情况。假如计算机系统的字长为 32位,磁盘存储器上的物理块依次编号为: 0、 1、 2、 ,那么3552号物 理块在位示图中的第 (78)个字。 ( A) 111 ( B) 112 ( C) 223 ( D) 446 12 在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化:通过建立 (26)来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立 (27)来详细说明整个业务过程的逻辑。 ( A)数据流图 (DFD) ( B)过程层次图 (PHD) ( C)过程活动图 (PAD) ( D)过程关系图
7、(PRD) ( A)数据流图 (DFD) ( B)过程层次图 (PHD) ( C)过程活动图 (PAD) ( D)甘特图 (Gaotte) 14 McCall软件质量模型把软件的质量特性分为三个重要的方面,属于软件产品运行方面的特性有 (62),属于软件产品修改方面的特性有 (63)。 ( A)可移植性 ( B)可维护性 ( C)可使用性 ( D)灵活性 ( A)互操作性 ( B)可测试性 ( C)可重用性 ( D)完整性 16 多个软件工程师合作开发一个项目,各开发者之间需要两两互相通信。假设每一条通信路径的开销为 200LOC/年 (LOC为代码行数 )。设有 4名软件工程师,如果单独工作
8、,每个人的生 产率是 6000 LOC/年,那么由这 4名软件工程师组成的项目组的生产率为 (89)。在这一年期限的最后两个月,又增加了两名工程师,新增成员的个人生产率为 3000 LOC/年,那么这 6人组成的项目组全年完成的开发工作量为 (90)。 ( A) 28000LOC/年 ( B) 24000LOC/年 ( C) 22800LOC/年 ( D) 21500LOC/年 ( A) 21000LOC ( B) 23000LOC ( C) 23500LOC ( D) 24500LOC 18 随着软件开发工具的积累与自动化工具的增多,软件开发 环境进入了第三代 ICASE(integrate
9、d Computer-Aided Software Engineering)阶段。 ICASE信息库(repository)不仅定义了面向对象的数据库管理系统,提供了 (104)机制,还建立了可以被环境中所有工具访问的数据模型,提供了 (105)机制,实现了配置管理功能。 ( A)平台集成 ( B)控制集成 ( C)数据 工具集成 ( D)数据 数据集成 ( A)平台集成 ( B)控制集成 ( C)数据 工具集成 ( D)数据 数据集成 20 在各种不同的软件需 求中, (112)描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。软件需求说明书是需求分析阶段的成果, (113)不是
10、其应包含的内容。 ( A)业务需求 ( B)非功能需求 ( C)用户需求 ( D)功能需求 ( A)数据描述 ( B)功能描述 ( C)系统结构描述 ( D)性能描述 22 对软件开发的看法可有多种观点,敏捷软件开发方法是一种 (118),代表性是极限编程 XP,它的核心思想为 (119)。 ( A)数学观 ( B)建模观 ( C)工程观 ( D)协作游戏 ( A)强调文档和以敏捷性 应对变化 ( B)强调建模和以敏捷性应对变化 ( C)强调设计和以敏捷性应对变化 ( D)强调人和人之间的合作的因素和以敏捷性应对变化 24 至 是风险管理中的 4个活动,其恰当的顺序是 (120)。风险识别的一
11、个方法是 (121)。 选择风险管理工具 研究风险处理方法 评估风险处理结果 风险识别、确认和度量 ( A) ( B) ( C) ( D) ( A)定义风险参照水准 ( B)预测风险组合 ( C)建立风险条目检查表 ( D)制定 风险尺度 26 下列要素中,不属于 DFD的是 (126)。当使用 DFD对一个工资系统进行建模时, (127)可以被认定为外部实体。 ( A)加工 ( B)数据流 ( C)数据存储 ( D)联系 ( A)接收工资单的银行 ( B)工资系统源代码程序 ( C)工资单 ( D)工资数据库的维护 28 根据 McCabe环路复杂性度量,程序图 9-17的复杂度是 (133
12、),对这个程序进行路径覆盖测试,可得到的基本路径是 (134)。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 ( A) A-B-C-H-I-K; A-B-C-H-J-K; A-B-C-D-E-F-G ( B) A-B-C-H-I-K; A-B-C-H-J-K; A-B-C-D-E-F-G-C-H-I-K; A-B-C-D-E-G-C-H-I-K ( C) A-B-C-H-I-K; A-B-C-H-J-K; A-B-C-D-E-F-G-C-H-I-K; A-B-D-E-G-C-H-J-K ( D) A-B-C-H-I-K; A-B-C-H-J-K; A-B, C-D-E-F-G-C-
13、H-I-K; A-B-C-D-E-F-G-C, H-J-K; A-B-C-D-E-G-C-H-I-K 30 为了直观地分析系统的动作,从特定的视点出发推述系统的行为,需要采用动态分析的方法。其中 (148)本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。 (149)是描述系统的状态如何响应外部的信号进行推移的一种图形表示。 ( A)状态迁移图 ( B)时序图 ( C) Petri网 ( D)数据流图 ( A)状态迁移图 ( B)时序图 ( C) Petri网 ( D)数据流图 32
14、 设关系模式 R, 其中 U=H, I, J, K, L,若 F=HIJ , JK , IJKL ,LH , LK) ,则 F的最小函数依赖集 Fmin=(58)。关系模式 R的候选关键字有(59)个, R属于 (60)。 ( A) HI , HJ , JK , IJKL , LH ( B) HI , HJ , JK , IJL , LH ( C) HI , HJ , JK , IJL , JK ( D) HI , JK , IJL , LH , LK ( A) 1 ( B) 2 ( C) 3 ( D) 4 ( A) 1NF ( B) 2NF ( C) 3NF ( D) BCNF 35 设有员
15、工实体 Employee(employeeID, name, sex, age, tel departID),其中employeeID为员工号, name为员工姓名, sex为员工性别, age为员工年龄, tel为员工电话,记录该员工的手机号码、办公室电话等, deparID为员工所在部门号,参照另一部门实体 Department的主码 deparID。 Employee实体中存在派生属性(67)。 Employee实体中还存在多值属性 (68)。对属性 departID的约束是 (69)。 ( A) name,原因是会存在同名员工 ( B) age,原因是用属性 birth替换 age并可
16、计算 age ( C) tel,原因是员工有多个电话 ( D) departID,原因是实体 Department已有 departID ( A) name,可以用 employeeID区别 ( B) sex,可以不作任何处理 ( C) til,可以将 tel加上 employeeID独立为一个实体 ( D) tel,可以强制只记录一个电话号码 ( A) PrimaryKey, NOT NULL ( B) Primary Key ( C) Foreign Key ( D) Candidate Key 38 基准程序是目前公认的性能测试的较好方法。 TPC基准程序是由 (2)开发的基准测试程序。
17、目前使用较多的 TPC基准测试程序规范是 (3)和工 (4)前者测试对象是联机订货系统,测试结果以每分钟事务处理量 (TPM)来衡量后者主要用来表示联机事务处理中数据库和硬件的性能和价格之间的关系,以每个 TPS(每秒事务处理量 )需要多少美元来反映其性价比。此外,还有 (5)和 (6),前者测试对象是决策支持系统,而后者则用于模拟企业计算环境。 ( A) IEEE ( B)国际标准化组织 ( C)事务处理委员会 ( D)系统性能评价协会 ( A) TPC-A ( B) TPC-B ( C) TPC-C ( D) TPC-D ( A) TPC-A ( B) TPC-B ( C) TPC-C (
18、 D) TPC-D ( A) TPC-A ( B) TPC-B ( C) TPC-C ( D) TPC-D ( A) TPC-A ( B) TPC-B ( C) TPC-C ( D) TPC-D 43 enchmark是一组工 (14),它用来度量计算机系统的 (15)。以往各厂商都以公布各自产品的 (16)值来反映处理器速度,但这往往与实际应用中系统的综合效果有差距,且缺乏专门测试机构、标准测试环境和统一的测试程序,所以可比性较差。近年以来,科学计算领域经常以 (17)值来度量,它由 10个 C语言程序构成,能较统一地反映整数、浮点和 I/O的综合测试结果;在联机事务处理领域中则更多地以(1
19、8)作为综合判据,它们往往在某个公认的数据库管理系统环境下测试。 ( A)测试程序 ( B)测试数据 ( C)测试图形 ( D)测试设备 ( A)联网能力 ( B)软件质量 ( C)可靠性 ( D)性能 ( A) TPS ( B) MTBF ( C) MIPS ( D) MRT ( A) MFLOPS ( B) TPA ( C) OLTP ( D) SPECmark ( A)模拟银行每秒不间断交易笔数 ( B)模拟数据传输每秒比特数 ( C)模拟打印票据报表每分钟行数 ( D)模拟数据库查询每秒笔数 48 模拟 (Simulation)和仿真 (Emulation)常用于不同系列计算机之间的程
20、序移植,它们都是在一种机器的系统结构上实现另一种机器系统结构。其中,一般说来,模拟是在宿主机上用 (19)解释实现目标机指令, (19)存放在 (20)中,仿真是在宿主机上用(21)解释实现目标机指令, (21)存放在 (22)中。典型测试程序 (Benchmark)通常用 (23)编写。 ( A)中断程序 ( B)测试程序 ( C)微程序 ( D)机器程序 ( A)主存 ( B)虚存 ( C) cache ( D)控制存储器 ( A)中断程序 ( B)测试程序 ( C)微程序 ( D)机器程序 ( A)主存 ( B)虚存 ( C) cache ( D)控制存储器 ( A)汇编语言 ( B)高
21、级语言 ( C)机器语言 ( D)自然语言 软件水平考试(高级)系统分析师上午(综合知识)试题章节练习试卷 8答案与解析 1 【正确答案 】 B 【试题解析】 这是一道很简单的估算题。首先给每个进程 1个资源,然后再给每个进程 1个资源 (如果有的话 ),依此类推。到某个阶段,如果没有一个进程的资源得到满足,且系统已经没有可用资源,则就会发生死锁。显然,选项 B 中,首先给 2个进程分别分配 1个资源 (这时系统还剩下 2个资源 ),接着再分别为每个进程分配 1个资源 (这时系统无资源 ),但这两个进程的资源都没有完全满足,不能运行,即发生死锁 2 【正确答案】 C 【试题解析】 在文件系统中
22、,文件的存储设备通常划分为若干个大小相等的物理块,每块长为 512或 1024字节。文件的物理结构是指文件在存储设备上的存储方法,常用的文件物理结构有连续文件、串联文件和索引文件。 (1)连续文件 (顺序文件 )连续文件是一种最简单的物理文件结构,它把一个在逻辑上连续的文件信息依次存放到物理块中。连续文件的优点是一旦知道文件在文件存储设备上的起始位置和文件长度,就能进行存取。连续文件适合于顺序存取,在连续存取相邻信息时,存取速度快。其缺点是在文件建立时需指定文件的信息长度,以后不能动态增长,一般不宜于需要经常修改的文件。 (2)串联文件 (链接文件 )串联文件用非连续的物理块来存放 文件信息,
23、这些物理块之间没有顺序关系,其中每个物理块设有一个指针,指向下一个物理块的地址,这样所有的物理块都被链接起来,形成一个链接队列。串联文件的优点是可以解决存储器的碎片问题,提高存储空间利用率。由于串联文件只能按照队列中的链接指针顺序查找,因此搜索效率低,一般只适用于顺序访问,不适用于随机存取。 (3)索引文件 索引文件是另一种对文件存储不连续分配的方法。为每个文件建立一张索引表,索引表中的每一表项指出文件信息所在的逻辑块号和与之对应的物理块号。索引文件既可以满足文件动态增长的要求;又可以方便而迅速地 实现随机存取。对一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题。一般采用多
24、级 (间接索引 )技术,这时在由索引表指出的物理块中存放的不是文件住处而是存放文件信息的物理块地址。这样,如果一个物理块能存储 n 个地址,则采用一级间接索引,将使可寻址的文件长度变成 n2块,对于更大的文件可以采用二级甚至三级间接索引 (例如, Unix操作系统采用三级索引结构 )。索引文件的优点是既适用于顺序存取,又适用于随机存取。缺点是索引表增加了存储空间的开销。另外,在存取文件时需要访问两次磁盘,一次是访问索引表,另一次 是根据索引表提供的物理块号访问文件信息。为了提高效率,一种改进的方法是,在对某个文件进行操作之前,预先把索引表调入内存。这样,文件的存取就能直接从在内存的索引表中确定
25、相应的物理块号,从而只需要访问一次磁盘。在 Unix 系统中,文件的物理结构采用索引方式。定义有一个索引节点字符数组,该字符数组最多可以放下 13 个地址项,并且规定地址项 0-9采用直接寻址方法,地址项 10采用一级间接寻址,地址项 11采用二级间接寻址,地址项 12采用三级间接寻址。先进行简单的换算,356168/1024大约是 319KB。由于地址项 0-9可直接寻址 10个物理盘块,因为每个物理块的大小为 1KB,所以当访问文件的前 10KB 范围的数据时是直接寻址。地址项 10采用一次间接寻址,即地址项 10里存放的是一级索引表的地址,因为每个盘块号占 4个字节,所以,该索引表可存放
26、 1024/4=256个物理块的地址,所以当访问文件的 10-266KB 之间的数据时是一次间接寻址。由于要访问的数据是318.5KB,所以还有 319-266=53KB。显然,地址项 11足够存取这些数据,所以,最多就在地址项 11 而无须存取地址项 12,即只需要二次间接寻址。 3 【正确答案】 D 【试题解析】 段页式虚拟存储器管理方案具有空间浪费小、存储共享容易、存储保护容易、能动态连接等特点。 4 【正确答案】 B 【试题解析】 由本节对磁盘调度算法的介绍可直接得到本题的。访问磁盘的时间因素由 3部分构成,它们是查找 (查找磁道 )时间、等待 (旋转等待扇区 )时间和数据传输时间,其
27、中查找时间是决定因素。磁盘调度算法主要有 FCFS、 SSTF、 SCAN、 N-SCAN和 C-SCAN。 (1)FCFS 又称先来先服务调度法, FCFS 是一种最简单的磁盘调度算法,按先来后到次序服务,未做优化。 这种算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法未对寻道进行优化,致使平均寻道时间可能较长。(2)SSTF 又称最短时间优先调度法, SSTF的磁盘调度算法选择这样的进程,其要求访问的磁道距当前磁头所在的磁道最近,以使每次寻道的时间最短。 FCFS会引起读写头在盘面上的大范围移动, SSTF查找距离磁头最短 (也就
28、是查找时间最短 )的请求作为下一次服务的对象。 SSTF查找模式有高度局部化的倾向,会推迟一些请求的服务,甚至引起无限拖延 (又称饥饿 )。 (3)SCAN 又称电梯调度算法。 SCAN算法不仅考虑到欲访问的磁道与当前磁道的距离,而且优先考虑在磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动。 SCAN算法在很大程度上消除了 SSTF算法的不公平性,但仍有利于对中间磁道的请求。 SCAN算法的缺陷是当磁头由里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时进程必须等待,磁头由里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被严
29、重地推迟。 (4)N-SCAN 这是对 SCAN算法的改良,是磁头 改变方向时已到达的请求服务的 SSTF算法 (5)C-SCAN 这是对 SCAN算法的另一种改良,是单向服务的 N步 SCAN算法, C-SCAN算法规定磁头单向移动。 C-SCAN算法彻底消除了对两端磁道请求的不公平。 5 【正确答案】 D 【试题解析】 Unix 系统有很多种产品,每种产品的命令略有不同,但基本一致。 Shell 环境定义了 Unix与用户进行交互的方式。环境特性由包含名称和值的环境变量定义。以下是一些常见的缺省设置的环境变量。 (1)HOME 定义用户的主目录; CD命令的缺省目录。 (2)LOGNAME
30、 包含用户名。 (3)MAIL 确定系统查找邮件的位置。 (4)PATH 设置系统用于查找并执行命令的目录。 (5)SHELL 决定运行的 shell。 (6)TERM指定准备输出的终端类型。 (7)TZ 提供当前时区及其与格林威治标准时间的差值。 (8)EDITOR 确定缺省的编辑器。 (9)DISPLAY 指定窗口显示主机。 在 Shell命令中, echo命令可以显示 Shell变量的内容或值。在 Shell 中有一些特殊意义的变量,由 Shell 自己管理,这些特殊变量 有: (1)$# 内存位置参数的个数。 (2)$ 当前命令的进程标识符。 (3)$1 最后一个后台进程的标识符。 (
31、4)$* 所有位置参数字符串。 (5)$ 与 $*相似 (但与 $*的值略有区别 )。 6 【正确答案】 B 【试题解析】 作业调度主要完成从后备状态到执行状态的转变,以及从执行状态到完成状态的转变。常用的作业调度算法主要有以下几种。 (1)先来先服务 (FCFS) 按作业到达的先后次序调度,它不利于短作业。作业平均周转时间 =(作业完成时刻 i-作 业提交时刻 i)/n个作业 (2)最短作业优先 (SJF) 按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务。 (3)响应比高者优先 (HRN) 综合上述两者,既考虑作业估计运
32、行时间,又考虑作业等待时间,响应比 HRN=(估计运行时间 +等待时间 )/估计运行时间。 (4)定时轮转法 (按时间片 ) 适合作业不定的情况 (5)优先数法 根据作业的优先级别,优先级高者先调度。 那么,怎样来衡量一个作业调度算法是否满足系统设计的要求呢 ?对于批处理系统,由于主 要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统和实时系统来说,平均响应时间又被用来衡量调度策略的优劣。 (1)周转时间 作业 i的周转时间 Ti为 Ti=Tei-Tsi 其中 Tei 为作业 i的完成时间, Tsi为作业 i的提交时间。
33、 对于被测定作业流所含有的 n(n1)个作业来说,其平均周转时间为: 一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分,分别为等待时间和执行时间,即 Ti=Twi+Tri 这里, Twi主要指作业 i由 后备状态到执行状态的等待时间,它不包括作业进入执行状态后的等待时间; Tri为作业的执行时间。 (2)带权周转时间 带权周转时间是作业周转时间与作业执行时间的比,即 Wi=Ti/Tri 对于被测定作业流所含有的 n(n1)个作业来说,其平均带权周转时间为: 根据以上分析,从直观上来说,采用最短作业优先的调度算法,可使得系统在同一时间内处理得作业个数最多,从而吞吐量也就大于其他调度方
34、式。 7 【正确答案】 D 【试题解析】 操作系统有 2个重要的功能,一是通过资源管理,提高计算机系统的效率;二是改善人机界面,向用户提供友好的工作环境。因此,在所给的选项中,显然只有 D不是操作系统关心的主要问题。 8 【正确答案】 A 【试题解析】 虚拟存储器必须建立在主存 辅存结构上,但一般的主存一辅存系统并不一定是虚拟存储器,虚拟存储器与一般的主存 辅存系统的本质区别如下。 (1)虚拟存储器允许人们使用比主存容量大得多的地址空间来访问主存,非虚拟存储器最多只允许人们使用主存的整个空间,一般只允许使用操作系统分配的主存中的某一部分空间。 (2)虚拟存储器每次访问主存时必须进行虚、实地址的
35、变换,而非 虚拟存储系统则不必变换。虚拟存储技术实际上是将编写程序时所用的虚拟地址 (逻辑地址 )转换成较小的物理地址。在程序运行时,随时进行这种变换。为了便于主存与辅存之间信息的交换,虚拟存储器一般采用二维或三维的复合地址格式。采用二维地址格式时,将整个存储器划分为若干页 (或段 ),每个页 (或段 )又包括若干存储单元。采用三维地址格式时,将整个存储空间分为若干段,每段分为若干页,每页又包括若干存储单元。根据地址格式不同,在虚拟存储系统中,基本信息传送单位可采用段、页或段页等几种不同的方式。 9 【正确答案】 B 【 试题解析】 根据图 7-9(a),为 J1、 J2、 J3、 J4分配了
36、内存后,内存剩余空间为 J1与 J2之间的 15KB、 J2和 J3之间的 10KB、 J3和 J4之间的 30KB。当为任务 J5分配 5KB 空间时,系统选择了分配在 J2和 J3之间的 10K B,然后为任务 J6分配 10KB 空间时,系统选择了分配在 J1和 J2之间的 15KB,因此采用的是最佳适应算法。 10 【正确答案】 D 【试题解析】 我们采用逐个考察的方法来解答本题。显然,情况 a不会发生死锁,因为只有 1个进程。情况 b 也不会发生死锁,因为有 2个进程,每个进 程对R资源的最大需求为 1,而系统正好有 2个 R资源。因此,正确就只可能是 C或者 D,也就是说,情况 c
37、是肯定会发生死锁的。因为无论是选项 C还是选项 D,都包含情况 c。下面只需要考虑情况 d。 3个进程互斥使用 4个 R资源,每个进程最多需要 2个。首先每个进程申请 1个资源,则还剩下 1个资源,这个资源可以分配给任何一个进程,使该进程所需要的资源得到满足,得以执行,执行完毕后,释放其他 2个资源,则其他 2个进程也能得到其所需的资源。因此,不会发生死锁。 11 【正确答案】 B 【试题解析】 在文件管理系统中,位示图用一位 表示一个物理块 (0:空闲, 1:占用 ),因为计算机系统的字长为 32位,则一个字可以表示 32 块,因此3552/32=111。因为物理块编号是从 0开始的,所以
38、3552号物理块在位示图中第12个字的第 1位。 12 【正确答案】 B 13 【正确答案】 C 【试题解析】 在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立过程层次图来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立过程活动图来详细说明整个业务过程的逻辑。 14 【正确答案 】 C 15 【正确答案】 B 【试题解析】 评价软件的质量通常可以从产品运行、产品修改和产品转移三个不同角度来进行。如图 9-12所示 (见试题 13的分析 )。 16 【正确答案】 C 17 【正确答案】 C 【试题解析】 在 4名软件工程师之间建立通
39、信路径如图 9-15所示。也就是说,这4名软件工程师之间需要建立 4(4-1)/2 6条通信路径,因假设每一条通信路径的开销为 2001 LOC/年,所以共计花费 2006 1200 LOC/年。已知每个人的生产率是 6000 LOC/年,则共计生产率 为 46000-1200 22800 LOC/年。如果从第 11月开始,增加 2个人,则通信路径增加6(6-1)/2-6=9条。增加通信开销为 200/1229 300 LOC。而这 2个人的开发工作量为 3000/1222 1000 LOC,所以,总计工作量为 22800+1000-300=23500 LOC。 18 【正确答案】 D 19
40、【正确答案】 C 【试题解析】 随着软件开发工具的积累与自动化工具的增多,软件开发环境进入了第三代 ICASE(Integrated Computer-Aided Software Engineering)。系统集成方式经历了从数据交换 (早期 CASE采用的集成方式:点到点的数据转换 )到公共用户界面 (第二代 CASE:在一致的界面下调用众多不同的工具 ),再到目前的信息中心库方式。这是 ICASE 的主要集成方式。它不仅提供数据集成 (1991年 IEEE为工具互联提出了标准 P1175)和控制集成 (实现工具间的调用 ),还提供了一组用户界面管理设施和一大批工具,如垂直工具集 (支持软
41、件生存期各阶段,保证生成信息的完备性和一致性 )、水平工具集 (用于不同的软件开发方法 )以及开放 工具槽。ICASE 信息库是一组实现 “数据 -工具 ”以及 “数据 -数据 ”集成的机制和数据结构,它提供了明显的数据库管理系统的功能。此外,中心库还可完成下面功能。 (1)数据完整性 包括确认中心库的数据项,保证相关对象间的一致性,以及当对一个对象的修改需要对其相关对象进行某些修改时,自动完成层叠式修改等功能。 (2)信息共享提供在多个开发者和多个开发工具间共享信息的机制,管理和控制对数据及加锁解锁对象的多用户访问,使得修改不会被相互间不经意地覆盖。 (3)数据工具集成 建立可以被环境中所有
42、工具访问的数据模型,控制对 数据的访问,实现配置管理功能。 (4)数据 数据集成 数据库管理系统建立数据对象间的关系,使得可以完成其他功能。 (5)方法学实施 存储在中心库中的数据的 E-R模型可能蕴涵了特定的软件工程范型 至少,关系和对象定义了一系列为了建立中心库的内容而必须进行的步骤。 (6)文档标准化 在数据库中对象的定义直接导致了创建软件工程文档的标准方法。 ICASE 的最终目标是实现应用软件的全自动开发,即开发人员只要写好软件的需求规格说明书,软件开发环境就自动完成从需求分析开始的所有的软件开发工作,自动生成供用户直接使用的软 件及有关文档。 20 【正确答案】 C 21 【正确答
43、案】 C 【试题解析】 开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细的技术需求,这包括所有面向用户、面向机器和其他软件系统的接口。同时,这也是一旦出错,将最终会给系统带来极大困难的部分,并且以后再对它进行修改也极为困难。 软件需求可以分为几个层次,分别如下。 (1)业务需求 (business requirements) 反映组织结构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文 档中予以说明。 (2)用户需求 (user requirements) 描述用户使用产品必须完成的任务,在用例文档或方案场景 (scenario)说明中予以说明。 (
44、3)功能需求 (functional requirements) 定义开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。 (4)非功能需求 (none-functional requirements) 描述系统展现给用户的行为和执行的操作等。包括, .产品必须遵循的标准、规范和合约; .外部界面 的具体细节; .性能要求; .设计或实现的约束条件; .质量属性。 软件需求说明书 (SRS)是需求分析阶段的成果,不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求
45、规格说明不应该包括设计、构造、测试或工程管理的细节。可以使用以下三种方法编写软件需求规格说明。 (1)用好的结构化和自然语言编写文本型文档。 (2)建立图形化模型,这些模型可以描绘转换过程、系统状态 和它们之间的变化、数据关系、逻辑流或对象类和它们的关系。 (3)编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。 由于形式化规格说明具有很强的严密性和精确度,因此,所使用的形式化语言只有极少数软件开发人员才熟悉,更不用说客户了。虽然结构化的自然语言具有许多缺点,但在大多数软件工程中,它仍是编写需求文档最现实的方法。包含了功能和非功能需求的基于文本的软件需求规格说明已经为大多
46、数项目所接受。图形化分析模型通过提供另一种需求视图,增强了软件需求规格说明。 22 【正确答案】 D 23 【正确答案】 D 【试题解析】 在我们面临 “软件危机 ”所带来的挑战之时,曾经通过采用严格的规范、详尽的文档来约束开发过程,以保证开发的质量与效果,获得了突出的成就。但是随着时代的进一步发展,商业周期越来越短,变化越来越快,甚至在软件开发的过程中,商业逻辑和需求已经悄然变化,这给本来还不成熟的软件产业带来了新的挑战。正在这种情况下,敏捷方法论应运而生。 2001年这些方法论的创始人走到一起,成立了敏捷联盟,发表了颇具影响力的敏捷宣言:个体和交互胜过过程和工具,可工作的软件胜过面面俱到的
47、文档 ,客户合作胜过合同谈判,响应变化胜过遵循计划。比较有影响力的敏捷方法论包括 XP(极限编程 )、 FDD(特征驱动开发 )、 Crystal Method(水晶方法 )、 DSDM(动态系统开发方法 )、ASD(自适应开发 )、 Scrum等。 XP的核心是其总结的沟通、简单、反馈、勇气四大价值观。它包括 12种最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作 40小时、现场客户以及编码标准。 24 【正确答案】 D 25 【正确答案】 C 【试题解析】 项目 风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识
48、别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动 “攻击 ”风险,进行有效的风险管理。在项目管理中,建立风险管理策略和在项目的生命周期中不断控制风险是非常重要的,风险管理包括四个相关阶段。 (1)风险识别 风险管理的第一步是识别和评估潜在的风险领域,这是风险管理中最重要的步骤。风险识别包括列出所有与项目相关的过程、客户及存在的问题;确定风险的来源、产生条件。风险识别不是一次就可以完成的事,应自始至终定期进行。识别风险的一种 最好的方法就是利用一组提问来帮助项目计划人员了解在项目和技术方面有哪些风险。因此, Boehm建议使用一个 “风险项目检查表 ”,列出所有可能的与每一个
49、风险因素有关的提问,从产品规模、商业影响、客户特性、过程定义、开发环境、建造技术、人员数量及经验等几个方面识别已知的或可预测的风险。常用的风险识别方法有问询法 (头脑风暴法、面谈法等 )、财务报表法 (各种财务报表和记录 )、流程图法 (网络图或 WBS 法 )、现场观察、历史资料 (索赔记录及其他风险信息 )、环境分析法 (相关方和社会环境变化趋势,可能变更的法律法规 )等。 (2)风 险评估 对已识别的风险要进行估计和评价,风险估计的主要任务是确定风险发生的概率与后果,风险评价则是确定该风险的经济意义及处理的费 /效分析。常用的风险评估方法有概率分布 (专家预测 )、外推法 (使用历史数据 )、定性评估、矩阵图分析、风险发展趋势评价方法、项目假设前提评价及数据准确度评估。 (3)风险量化和处理 依据风险管理计划、风险及风险条件排序表、历史资料、专家判断及其他计划结果,利用面谈、灵敏度分析、决策分析和模拟的方法和技术,得出量化序列表,项目确认