软件工程模拟题
软件工程模拟题
软件工程模拟题模拟11.由于计算机软件开发的成本高、质量低、难控制、可靠性差、生产率低而引发了。
A)软件革命B)软件工程C)软件危机D)软件技术2.对一个采用二分法的检索程序,可以列出以下这些需要的情况:1)被检测的表格只有一行2)表格的行数恰好是2的幂次3)表格的行数比2的幂次多1或少1则此测试方法称为。
A)等价分类法B)边缘值分析法C)错误推测法D)因果图法3.详细设计的结果基本决定了最终程序的。
A)代码的规模B)运行速度C)质量D)可维护性4.一个模块直接控制(调用)的下层模块的数目称为模块的。
A)扇入数B)扇出数C)宽度D)作用域5.数据流图(DFD)是软件开发哪一阶段经常使用的工具? 。
A)需求分析B)详细设计C)软件测试D)软件维护6.系统开发过程中的第一个正式文档是。
A)系统说明书B)评审报告C)开发合同D)可行性报告7.可行性研究从经济可行性,技术可行性,法律可行性、和开发方案可行性等方面进行。
A)资源可行性B)效益可行性C)运行可行性D)政策可行性8.用由底向上渐增式对软件进行测试时,需要为每个模块准备一个,它的作用是调用被测试的模块。
A)主模块B)桩模块C)驱动模块D)输入模块9.软件体系结构包含了计算机程序的两个重要特征,即。
A)模块的层次结构与数据结构B)代码与数据结构C)模块的层次结构与功能结构D)代码结构和数据结构10.原型法是由用户与人员合作,在短期内定义用户的基本需求,开发出一个功能不十分完善、实验性的、简易的应用软件基本框架(称为原型),然后不断修改达到要求的开发方法。
A)编程B)系统维护C)系统设计D)系统分析设计11.方案的可行性分析包括可行性和技术的可行性。
A)环境的B)条件的C)项目的D)经济的12.模块间的称为模块的耦合,它是衡量模块间结构性能的重要指标。
A)调用关系B)信息联系方式C)层次关系D)界面模拟21.软件工程的结构化分析方法强调的是分析开发对象的。
软件工程模拟习题及答案
软件工程模拟习题及答案一、单选题(共40题,每题1分,共40分)1、下列哪项是无监督算法A、PCAB、决策树C、贝叶斯算法D、线性回归正确答案:A2、关于机器学习中预处理步骤,下列哪一项是正确的A、不同数据得到的预处理结果相同B、各种任务处理方式都是一样C、不必可缺的一部分D、简单任务可以不做正确答案:C3、下列哪一项不是卷积神经网络的典型代表A、RCNNB、LSTMC、ALEXNETD、VGG正确答案:B4、计算机中的执行过程是_________。
①取指令②执行指令③修改指令计数器④指令译码A、①④②③B、①②③④C、①③②④D、④③②①正确答案:A5、逻辑回归算法通常使用下列哪种方法求解A、统计分析B、梯度下降迭代优化C、相识度计算D、直接求解正确答案:B6、下列哪一项不是数据预处理的步骤A、数据标准化B、模型调参C、离散点过滤D、缺失值填充正确答案:B7、无论是哪一种Web服务器,都会受到HTTP协议本身安全问题的困扰,这样的信息系统安全漏洞属于:()A、以上都不是B、运行型漏洞C、开发型漏洞D、设计型漏洞正确答案:B8、在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行()次比较A、11B、9C、8D、10正确答案:B9、下列哪种算法更适合做图像建模A、CNNB、贝叶斯算法C、LSTMD、决策树正确答案:A10、大数据的起源是A、互联网B、金融C、电信D、公共管理正确答案:A11、A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、3B、6C、5D、4正确答案:A12、下列关于树模型的解释错误的是A、只适用于分类模型B、适合进行可视化展示C、集成算法中的基础模型D、擅长对特征进行优劣判断正确答案:A13、系统死锁的可能的原因是A、进程释放资源B、进程死循环C、程序内存访问越界D、资源循环等待正确答案:D14、进程由执行状态到阻塞状态的原因可能是()。
软件工程模拟习题
1、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以___维护所占的维护量最小。
CA、纠错性维护B、代码维护C、预防性维护D、文档维护2.使用软件时提出增加新功能就必须进行_______维护。
CA.改正性B.适应性C.完善性D.预防性3.维护软件时为了保证修改不会影响原来可以正常使用的功能,应安排_______测试。
DA.单元B.集成C.验收D.回归4. 关于数据流图不正确的描述是_________。
DA. 数据流图是结构化系统分析的主要工具。
B. 在数据流图中,*号标识相邻的数据流只取其一。
C.数据流图中父图与子图两者的输入和输出数据流必需一致。
D. 画DFD图的任意层次图必须都要画数据存储项(即数据表单)5 获取需求的困难和项目复杂带来的潜在风险属于______.AA.技术风险B.商业风险C.项目风险D.经济风险6.软件测试不包括_________方面的差错和纠错。
DA. 软件计划B. 软件设计C.软件编码 D .软件价格7、软件维护过程产生的副作用,是指______。
BA、开发过程中发现的错B、因修改软件而造成的错误C、隐含的错误D、运行时误操作8.下列关于瀑布模型的描述正确的是_______。
AA. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
9. 划分模块如果必须存在耦合,选择适当的耦合类型的错误原则是___。
DA.尽量使用数据耦合 B. 少用控制耦合C.限制公共耦合的围 D. 允许使用容耦合10. 类是具有相同属性和相同操作的对象抽象,对象是类的_________。
CA.例证B.用例C.实例D.例外11. 对于分层的DFD,父图与子图的平衡是指____。
AA.父图与子图的输人输出数据流必须相同B.子图必须继承父图的输人与输出流C.父图与子图相应的输人输出数据流名字保持一致D.子图可以有自己的输入输出数据流.12. 为了定量分析项目进度,需要在制定项目进度计划时,估算每个___ AA.应该完成的工作任务的预算工作量的成本B.工作任务的预算成本C.工作任务的实际工作量的成本D.实际工作任务的预算成本.13. 需求分析中开发人员要从用户那里了解_____ AA.用户要求软件做什么B.用户使用界面C.输入的信息D.软件的规模14. 软件开发时,一个错误发现得越晚,为改正它付出的代价就_____ BA.越小B.越大C.接近平均D.不可捉摸15. 软件过程模型是根据不同项目定义的、贯穿于软件生命周期的 ___。
软件工程模拟试题
软件工程模拟试题一.选择题(每题1.5分,共30分)( B )1. 软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可明白得性( A )2. 软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.完全的D.深入的( C )3. 以下哪个软件生存周期模型是一种风险驱动的模型A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型( A )4. 可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统( A )5. 结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言( A )6. 检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试( C )7. 在整个软件爱护时期所花费的全部工作中,所占比例最大的是A.校正性爱护B.适应性爱护C.完善性爱护D.预防性爱护( B )8. 通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可( B )9. 一个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5( B )10. 下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已治理级( B )11. 结构化程序设计,要紧强调的是A.程序的执行效率B.模块大小C.程序的可明白得性D.模块关系( B )12. 软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试( A )13. 需求分析中开发人员要从用户那儿了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模( A )14. 数据字典是对数据定义信息的集合,它所定义的对象都包含于。
A.数据流图B.程序框图C.软件结构D.方框图( A )15. 面向对象的要紧特点除唯独性、继承性、多态性外,还具有。
全国自考(软件工程)模拟试卷1(题后含答案及解析)
全国自考(软件工程)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合应用题单项选择题1.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段( )A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C解析:总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中,这里的分配是指功能的分解。
2.不属于软件项目计划中所包含的内容的是( )A.培训计划B.人员安排C.进度安排D.软件开发标准的选择和制定正确答案:D解析:软件项目计划包含培训计划、进度安排和人员安排等。
3.一个模块的哪项能直接控制该模块的模块数( )A.扇出数B.扇人数C.宽度D.深度正确答案:B解析:一个模块的扇人数是指能直接控制该模块的模块数。
4.软件组装成系统的一种测试技术是( )A.系统测试B.单元测试C.集成测试D.集合测试正确答案:C解析:题目中的选项最具混淆的是集成测试与系统测试。
系统测试是指将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试;而集成测试集中于模块组合的功能和软件结构检验。
5.下列关于关联的说法错误的是( )A.一个关联连接n个类目叫做n元关联B.关联是类目中的一种结构关系C.关联用一条连接两个类目的线段表示D.关联不具有方向性正确答案:D解析:关联是有方向的,可以用一个实心三角形来指示关联的方向。
6.当模块中包含复杂的条件组合,下列能够清晰地表达出各种动作之间的对应关系的只有( )A.判定表和判定树B.盒图C.流程图D.关系图正确答案:A解析:如果一个加工的输人数据和输出数据之间的逻辑关系比较复杂,应该用判定表或判定树来描述。
7.在软件总体设计阶段的主要任务不包括( )A.设计软件的模块结构B.定义接口并建立数据结构C.生成概要设计规格说明和组装测试计划D.模块设计正确答案:D解析:选项D属于详细设计的任务。
软件工程模拟试卷一
果 S2
模拟试卷一 5.已知模块C中的一个判定影响到模块B, 如图所示,它违反了SD的设计原则. 试问: 可以采用哪些手段对结构图作改进, 请说明改进办法并画出改进的结构图。
解:
模拟试卷一 7. 对下列子程序进行调试:
procedure example(y,z:real;var x:real) begin
模拟试卷一
6.提高程序效率的根本途径在于 设计阶段__选__择__良_ 好的数据结构和__算。法
7.黑盒法和白盒法都是用于设计_测__试__用__例__ 的方法。
模拟试卷一
8.在软件维护工作过程中, 对任何一次维护请求,首先进行的 步骤是__明_确__维_护__的_类型 。
9. 数据库设计过程引入一个中间步骤, 即先建立一个_概__念_数__据_模型(_E_R。图)
6.数据库设计的核心问题是什么?
参考答案: 数据库设计的核心问题是如何建立一个
合理的数据模式。
模拟试卷一
3.假设对顾客的订货单按如下原则处理: 将顾客的信用度分三个档次: 欠款时间不超过30天; 欠款时间超过30天但不超过100天; 欠款时间超过100天。
对于上述三种情况,分别根据库存情况来决定 对顾客订货的态度。
开发方法比较
采用结构化设计方法设计系统体系结构, 采用的技术是面向数据流的技术,即通 过描述用户需求的数据流图,将用户需求映射 到软件体系结构。根据数据流的类型,映射的 方式有两种:变换映射、事务映射。
开发方法比较
变换映射:适用于具有明确的输入 和输出流边界的数据流图。DFD被 映射成这样一种结构,该结构将控制分配到 输入、加工、输出的三类分离的模块。
模拟试卷二
三、简答题 1.简要说明概要设计与详细设计 的任务有何区别? 2.简述提高程序可读性的技巧和方法? 3.何谓“软件开发环境”?环境的基础是什么?
软件工程试题答案
《软件工程模拟试题及参考答案》(一)一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。
对应映射反映反射2、盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。
三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。
2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率。
4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
7.一个软件的深度是指其控制的(层数)。
8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
9.软件维护是软件生命周期的(最后)一个阶段。
三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
软件工程基础模拟试卷1(题后含答案及解析)
软件工程基础模拟试卷1(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是A.控制流B.加工C.数据存储D.源和潭正确答案:A 涉及知识点:软件工程基础2.下面不属于软件设计原则的是A.抽象B.模块化C.自底向上D.信息隐蔽正确答案:C 涉及知识点:软件工程基础3.程序流程图(PFD)A.数据流B.控制流C.调用关系D.组成关系正确答案:B 涉及知识点:软件工程基础4.下列工具中为需求分析常用工具的是A.PADB.PFDC.N—sD.DFD正确答案:D 涉及知识点:软件工程基础5.在结构化方法中,软件功能分解属于下列软件开发中的阶段是A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C 涉及知识点:软件工程基础6.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能正确答案:B 涉及知识点:软件工程基础7.软件需求分析阶段的工作。
可以分为四个方面:需求获取。
需求分析编写需求规格说明书以及A.阶段性报告B.需求评审C.总结D.都不正确正确答案:B 涉及知识点:软件工程基础填空题请将每一个空的正确答案写在答题卡上。
注意:以命令关键字填空的必须拼写完整。
8.软件是程序、数据和____________的集合。
正确答案:文档涉及知识点:软件工程基础9.Jacks方法是一种面向____________的结构化方法。
正确答案:数据流涉及知识点:软件工程基础10.软件工程研究的内容主要包括:___________技术和软件工程管理。
正确答案:软件开发涉及知识点:软件工程基础11.数据流图的类型有____________和事务型。
正确答案:变换型涉及知识点:软件工程基础12.软件开发环境是全面支持软件开发全过程的____________集合。
软件工程模拟题
软件工程模拟题选择题1.软件设计中划分模块的一个准则是( C )。
A 低聚低耦合B 低聚高耦合C 高聚低耦合D.高聚高耦合2.( A )是用户和设计交换最频繁的法。
A、原型化法B、瀑布模型法C、螺旋模型法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护12.总体设计目的是确定整个系统的( D )。
A、规模B、测试案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是( C )。
A、容偶合B、公共偶合C、数据偶合D、非直接偶合15. 以下不属于白盒测试技术的是( D )A. 逻辑覆盖B. 基本路径测试C、循环覆盖测试D、等价类划分16. 软件的发展经历了( D )个发展阶段A.1B. 2C.3D.417. 需求分析的任务不包括( B )A. 问题分析B. 系统设计C. 需求描述D. 需求评审。
21.一个模块的( B )是指能直接控制该模块的模块数。
A. 扇出数B. 扇入数C. 宽度D. 深度22.下列模型属于成本估算法的是( A )A、COCOMO 模型B、McCall 模型C、McCabe 度量法D、时间估算法23.在衡量软件质量时,最重要的标准是( B )。
全国自考(软件工程)模拟试卷7(题后含答案及解析)
全国自考(软件工程)模拟试卷7(题后含答案及解析) 题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合应用题单项选择题1.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( )A.瀑布模型B.对象模型C.螺旋模型D.层次模型正确答案:A解析:瀑布模型在支持结构化软件开发中起着很大作用,是最早的软件开发模型,因此选项A符合题目要求。
2.属于过程分解的意图是( )A.影响一个项目B.反映一个组织需要C.围绕一个组织D.建立响应获取方询问的界面正确答案:D解析:其他三项属于剪裁过程的意图。
3.以下不属于过程评估时所需要考虑的因素是( )A.资源需求B.人员分配C.员工情绪D.实施时间正确答案:B解析:在过程评估中必须考虑的因素有以下几点:所要求的“返工”、资源需求、实施时间、对项目和用户的益处及员工情绪。
只有选项B不包括,因此选择B。
4.下列不属于针对开发的CMMI模型中的过程域类名的是( ) A.工程类B.设计类C.支持类D.过程管理类正确答案:B解析:CMMI模型中的22个过程域,被分为四类,分别是项目管理类、工程类、支持类、过程管理类。
5.以下不属于增量模型优点的是( )A.可以很快发布第一个版本B.在一定程度上可减少软件开发的盲目性C.可以减少用户需求的变更D.允许增量投资正确答案:B解析:选项B所提到的减少软件开发活动的盲目性属于演化模型的优点。
6.下列不属于CMMI中过程管理类的是( )A.组织B.组织过程定义C.组织过程性能D.组织过程关注正确答案:A解析:在CMMI中,过程管理类包括的过程域有组织过程定义、组织过程性能、组织过程培训、组织过程关注、组织创新与部署。
7.在项目的开发风险很大或客户不能确定系统需求的情况下,最好选择下列哪种生命周期模型( )A.瀑布模型B.演化模型C.增量模型D.螺旋模型正确答案:D解析:如果项目的开发风险很大或客户不能确定系统需求,在更广泛的意义上,还包括一个系统或系统类型的要求,这时螺旋模型就是一个好的生存周期模型。
软件工程模拟题
软件工程模拟题一、单项选择题1. 软件文档是()。
A. 程序B. 工具C. 文书和资料D. 数据2. 软件是一种()性工业产品。
A. 理论B. 知识(或逻辑)C. 消耗D. 体力3. 需求分析是在()进行的。
A. 用户B. 用户和分析设计人员之间C. 开发人员内部D. 使用和维护人员间4. 软件的主要结构和功能是在()阶段决定的。
A. 分析设计B. 编程C. 测试D. 维护5. 螺旋模型的开发实施基本和()模型相吻合。
A. 瀑布B. 再利用组装C. 螺旋D. 原型6. 在软件开发模型中,提出最早、应用最广泛的模型是()。
A. 瀑布模型B. 喷泉模型C. 增量模型D. 螺旋模型7. 在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于()的研究。
A. 经济可行性B. 技术可行性C. 操作可行性D. 法律可行性8.下列不属于成本-效益分析的度量指标是()。
A. 货币的时间价值B. 投资回收期C. 性质因素D. 纯收入9. 软件可行性研究实质上是要进行一次()需求分析、设计过程。
A.简化、压缩的B. 详细的C. 彻底的D. 深入的10. 需求分析阶段最重要的技术文档之一是()。
A. 项目开发计划B. 设计说明书C. 需求规格说明书D. 可行性分析报告11. 在需求分析之前有必要进行()。
A. 程序设计B. 可行性分析C. ER分析D. 3NF分析12. 软件需求分析阶段建立原型的主要目的是()。
A. 确定系统的功能和性能要求B. 确定系统的运行要求C. 确定系统是否满足用户需要D. 确定系统是否满足开发人员需要13. 软件开发的需求活动,其主要任务是()。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型14. 软件可行性研究一般不考虑( )。
A. 是否有足够的人员和相关的技术来支持系统开发B. 待开发的软件是否会有质量问题C. 待开发软件是否有市场、经济上是否合算D. 是否有足够的工具和相关的技术来支持系统开发15. 软件维护的副作用主要有以下哪几种( )。
软考模拟试题及答案解析
软考模拟试题及答案解析一、单项选择题1. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 确定软件需求C. 设计软件架构D. 进行系统测试答案:B2. 下列哪项不是软件项目管理的范畴?A. 项目范围管理B. 项目时间管理C. 项目成本管理D. 软件代码编写答案:D二、多项选择题1. 软件测试的目的是:A. 发现并修复软件缺陷B. 验证软件是否满足需求C. 确保软件质量D. 完成软件开发答案:A, B, C2. 以下哪些是敏捷开发方法的特点?A. 强调团队协作B. 重视文档编写C. 快速迭代D. 重视个人英雄主义答案:A, C三、判断题1. 软件工程是一种将系统化、规范化、可量化的方法应用于软件制作和维护的工程学科。
()答案:正确2. 在软件开发中,重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整以提高其可理解性和可维护性。
()答案:正确四、简答题1. 请简述软件开发生命周期(SDLC)的主要阶段。
答案:软件开发生命周期(SDLC)的主要阶段包括:需求分析、设计、实现、测试、部署和维护。
2. 什么是软件配置管理,它在软件开发中的作用是什么?答案:软件配置管理是软件开发过程中对软件配置项进行识别、控制和管理的过程。
它的作用是确保软件的一致性和可追溯性,以及在开发过程中对变更进行有效控制。
五、案例分析题某软件开发团队在项目开发过程中遇到了以下问题,请分析原因并提出解决方案:1. 项目进度严重滞后。
2. 团队成员之间的沟通不畅。
答案:项目进度滞后可能的原因包括需求不明确、计划不周全、资源分配不当等。
解决方案可以是重新评估项目需求,制定更为合理的项目计划,以及优化资源分配。
团队沟通不畅的原因可能是缺乏有效的沟通机制。
解决方案可以是建立定期的团队会议,使用项目管理工具来促进信息共享,以及培养团队成员之间的信任和开放性。
六、编程题请编写一个简单的Python函数,实现计算两个整数的和。
2024软件工程师考试模拟题
软件工程师考试模拟题一、单项选择题1. 以下哪个是软件测试的目的?A. 证明软件无缺陷B. 修复软件缺陷C. 验证软件满足需求D. 编写软件文档2. 在面向对象编程中,封装的目的是什么?A. 提高代码的可读性B. 隐藏对象的实现细节C. 增加程序的复杂性D. 减少程序的可维护性3. 在关系型数据库中,用于关联两个表的元素是?A. 主键B. 外键C. 索引D. 视图4. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 测试程序C. 确定软件需求D. 维护软件5. 以下关于路由器和交换机的说法中,错误的是?A. 为了解决广播风暴,出现了交换机B. 三层交换机采用硬件实现报文转发,比路由器速度快C. 交换机实现不同网段之间报文转发,路由器实现网段内帧的交换D. 交换机工作在数据链路层,路由器工作在网络层6. 软件开发生命周期的主要阶段不包括?A. 需求分析B. 系统设计C. 部署实施D. 编码测试(应包含在实现和测试阶段中,但此题为选非题,故单独列出)7. 下列哪个不是数据库管理系统(DBMS)的特点?A. 数据独立性B. 数据共享C. 数据冗余D. 数据完整性8. 在网络协议中,TCP和UDP的主要区别是什么?A. TCP是面向连接的,UDP是无连接的B. TCP是无连接的,UDP是面向连接的C. TCP和UDP都是面向连接的D. TCP和UDP都是无连接的9. 以下哪个选项是操作系统的主要功能?A. 数据处理B. 程序设计C. 进程管理D. 网络通信10. 软件开发中的瀑布模型最相适应的软件开发方式是?A. 构件化方法B. 结构化方式C. 面向对象方式D. 快速原型法二、多项选择题1. 下列哪些是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 性能测试2. 在面向对象编程中,以下哪些是对象的基本特征?A. 封装B. 继承C. 多态D. 抽象3. 在数据库设计中,以下哪些是规范化的主要目标?A. 减少数据冗余B. 避免数据异常C. 提高查询速度D. 增加数据安全性4. 提高软件可维护性的方法包括?A. 编写清晰的代码B. 模块化设计C. 详细的文档记录D. 减少不必要的复杂性5. 软件危机的主要表现包括?A. 软件生产效率低B. 软件开发质量不稳定C. 软件开发成本超出预算D. 软件开发没有工具支持(注意:此选项在部分定义中可能不被视为主要表现,但根据题目提供的选项,仍可作为备选)三、简答题1. 请简述软件开发生命周期的主要阶段。
软件工程模拟题
(1)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是A) 路径的集合B)循环的集合C)目标的集合D)地址的集合(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序I.功能测试Ⅱ. 结构测试A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ(3)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(4)下述陈述中,哪一个不是软件健壮性的度量指标?A)失败后重新启动所需的时间B)引起失败的时间所占的百分比D)失败前的平均工作时间D)在一次失败中数据恶化的概率(5)对软件是否能达到用户所期望的要求的测试称为A) 集成测试B) 有效性测试C) 系统测试D) 验收测试(6)在面向数据流的软件设计方法中,一般将信息流分为A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容I.数据描述Ⅲ. 模块描述II.功能描述Ⅳ. 性能描述A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ(8)软件测试一般分为三类,即I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试设计测试用例对程序进行测试,应属于A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ(9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。
A)模块间联系程度B)模块的功能强度C)信息隐蔽程度D)模块的复杂程度(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具I.结构图Ⅱ. 实体关系图Ⅲ. IPO图II.Ⅳ. 流程图Ⅴ. N-S图A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部(11)试判断下列论述中哪个(些)是正确的I.软件系统中所有的信息流都可以认为是变换流II.软件系统中所有的信息流都可以认为是事务流III.事务分析和变换分析的设计步骤基本类似A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书C)总体设计报告D)有效性测试要求(13)软件设计中的软件过程其主要描述的是A)模块间关系B)模块操作细节C)模块控制方法D)模块类型(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?I.预防软件发生的错误Ⅱ. 发现改正程序错误Ⅲ. 提供诊断错误信息A)只有Ⅰ均不须B)只有ⅡC)只有ⅢD)都是(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?A)功能测试B)单元测试C)结构测试D)确认测试(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?A)完善性维护B)适应性维护C)改正性维护D)预防性维护(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为A)瀑布模型B)对象模型C)螺旋模型D)层次模型(18)软件原型化开发方法有其基本步骤,下述I.获取基本需求Ⅱ. 开发工作模型Ⅲ. 严格细部说明Ⅳ. 模型验证中,哪些(个)是实现原型化的最基本的步骤?A)全部都是B)Ⅰ,Ⅱ和ⅣC)ⅣD)Ⅰ和Ⅱ(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指A)模块间的关系B)模块的操作细节C)软件层次结构D)软件开发过程(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是A)先数据后程序B)先程序后数据C)与顺序无关D)可同时进行(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述I.结构化语言Ⅱ. 判定树Ⅲ. 判定表是常用的说明工具,其中便于对加工出现的组合条件的说明工具是A)Ⅱ和ⅢB)Ⅰ、Ⅱ和ⅢC)Ⅰ和ⅢD)Ⅰ和Ⅱ(22)软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是A)分析阶段B)设计阶段C)编码阶段D)测试阶段(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?A)加工顺序B)加工逻辑C)执行频率D)激发条件(24)构建一个原型不支持下述哪种功能?A)取代最终系统B)辅助收集软件需求C)辅助估计工程代价D)作为较大工程的基础(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的A)可复用性B)可维护性C)可扩展性D)可移植性(26) 下列哪种描述是正确的?A)定义阶段产生软件需求规划B)测试在软件生命周期中是可选的C)CASE工具只能辅助软件生命周期的设计阶段D)后一阶段改变时,不需要更新以前所有阶段的文档(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的A)结构合理性B)程序正确性C)程序外部功能D)程序内部逻辑(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是A)设计人员和用户B)分析人员和用户C)分析人员和设计人员 D)编码人员和用户(29)数据流图是用于软件需求分析的工具,下列元素I.数据流Ⅱ. 加工Ⅲ. 数据存储Ⅳ. 外部实体(源或潭)哪些是其基本元素?A)Ⅰ,Ⅱ和ⅢB)Ⅰ和ⅢC)全部D)Ⅰ,Ⅲ和Ⅳ(30) 数据字典(DD)是定义哪一种系统描述工具中的数据的工具?A) 数据流程图B) 系统流程图C) 程序流程图D) 软件结构图(31) 软件需求分析一般应确定的是用户对软件的A) 功能需求B) 非功能需求C) 性能需求D) 功能需求和非功能需求(32) 软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?A) 软件结构B) 数据库设计C) 制定测试计划D) 模块算法(33) 数据字典是对数据定义信息的集合,它所定义的对象都包含于A) 数据流图B) 程序框图C) 软件结构D) 方框图(34) 软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能A) 减少测试工作量B) 避免后期付出高代价C) 保证软件质量D) 缩短软件开发周期(35) 程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是A) 语言的应用领域B) 对语言的熟悉程度C) 数据结构的复杂度D) 算法的复杂度(36) 软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:I.成熟的原型化人员Ⅱ. 快速的成型工具Ⅲ. 需求了解的准确性哪个(些)条件是实施原型化方法所必备的?A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ,Ⅱ和ⅢD)Ⅲ(37) 软件的可维护性度量可分解为对多种因素的度量,下述各种因素I.可测试性Ⅱ. 可理解性Ⅲ. 可修改性Ⅳ. 可复用性哪个(些)是可维护性度量的内容?A)全部B)ⅠC)Ⅰ,Ⅱ和ⅢD)Ⅰ和Ⅱ(38) 软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是A) 集成测试B) 单元测试C) 系统测试D) 验收测试(39) 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?I.自顶向下Ⅱ.自底向上Ⅲ. 分层绘制Ⅳ. 逐步求精A)全是B)Ⅰ,Ⅲ和ⅣC)Ⅱ,Ⅲ和ⅣD)Ⅰ和Ⅲ(40) 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的A) 控制流B) 数据流C) 程序流D) 指令流(41) 软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?A) 调用关系B) 从属关系C) 嵌套关系D) 主次关系(42) 原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?A) 提供严格定义的文档B) 加强用户参与和决策C) 简化项目管理D) 加快需求的确定(43) 评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?A) 尽量发现错误B) 检查软件文档C) 根据评审标准D) 依靠测试信息(44) 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于A) 阅读设计文档B) 理解程序代码C) 分析软件结构D) 查阅测试记录(45) 软件工程哪个阶段产生软件需求定义?A) 定义阶段B) 工程阶段C) 维护阶段D) 开发阶段(46) 自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护A) 输出数据B) 数据字典C) 处理序号D) 输入数据(47) 下述哪种是内聚性最严格的形式?A) 逻辑B) 功能C)过程D) 一致性(48) 下述哪个不是白盒测试法的概念?A)应该执行边界条件下的所有循环B) 应该执行边界条件下的所有接口B)应该执行所有逻辑判断的真假情况D) 应该至少执行一次模型中的所有独立路径(49) 原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力A) 熟练的编程技能B) 及时获得用户需求C) 协作精神及有力管理D) 巧妙使用工具(50) 数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?A) 可行性分析B) 需求分析C) 详细设计D) 程序编码(51) 判定树和判定表是用于描述结构化分析方法中哪一环节的工具?A) 功能说明B) 数据加工C) 流程描述D) 结构说明(52) 在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?A) 详细设计B) 需求分析C) 总体设计D) 编程调试(53) 信息隐蔽的概念与下述哪一种概念直接相关?A) 软件结构定义B) 模块独立性C) 模块类型划分D) 模块耦合度(54) 结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?A) 顺序结构B) 条件结构C) 选择结构D) 嵌套结构(55) 软件复审时其主要的复审对象是A) 软件结构B) 软件文档C) 程序编码D) 文档标准(56)软件需求规格说明书不应包含的内容是A) 系统输入/输出的描述B) 质量控制方案C) 数据字典D) 用户界面需求描述E) 系统可靠性要求描述F) 测试方案G)需求分析阶段进度安排H) 人员需求(57) 将下面的DFD转换为初始化的模块结构图图中:左竖虚线表示此处为系统的逻辑输入右竖虚线表示此处为系统的逻辑输出57-3(58) 将下面的伪码转换为PAD和N-S图beginS1;If x>5 then S2 else S3;while y<0 do beginif z>3 then S4 else S5;while w>0 then S6;S7end;S8;If u>0 then S9;S10;End.(59) 将下面的PAD转换为流程图(60) 将下面给出的伪码,转换为PAD图和程序流程图。
软件工程测试题+参考答案
软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。
截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。
A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。
A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。
A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。
A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。
A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。
西安工业大学软件工程试题与答案
三、判断题(每小题2分,共24分,错误打X、正确打√)
1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(√)0102
2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)0206
3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)0402
D、面向属性
2、判定表由四部分组成:左上部列出(B)。0802
A.条件组合与动作之间的对应关系
B.所有条件
C.所有可能的动作
D.可能的条件组合
3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501
A.纠错性维护
B.适应性维护
C.改善性维护
D.预防性维护
4、可行性研究的步骤中不包括(C)的内容。0302
2.高级语言:独立于机器,面向过程或面向(对象)0101
3.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。0201
4.人机界面的风格第一代界面是命令和(询问)方式。1202
5.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。1504
3.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)0206
4.目前的绝大多数软件都不适合于快速原型技术。(X)0402
5.面向数据的设计方法的适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等。(√)10001
答:
1)项目中数据结构的复杂性
软件工程模拟试题1
软件工程模拟试题11.软件工程的纵向分解是把软件开发分为几个B.阶段2.McCall软件质量度量模型中属于面向软件产品操作的是D.可用性3.快速原型模型中,用于及早向用户提交一个原型系统的是D.演化型原型4.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用? B.数据5.软件维护费用高的主要原因是B.生产率低6.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%7.下列属于用白盒技术设计测试用例的是B.逻辑覆盖8.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言是A.PASCAL9.在软件详细设计过程中不采用的工具为C.数据流图10.根据输入输出的数据结构产生程序结构的设计方法是B.JACKSON方法11.在软件设计中,为解决一个大而复杂的问题把软件系统划分成一个个完成某一特定的子功能的方法称为C.模块化12.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?B.自顶向下13.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为C.标记耦合14.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?B.需求分析15.结构化方法的基本原则是功能的分解和C.抽象16.数据字典和数据流程图共同构成了系统的B.逻辑模型17.软件需求不应包括C.标准实现的空间需求18.项目开发计划是什么类型的文档?D.管理性19.瀑布模型是一种什么模型B.线性开发模型20.软件工具一般是为软件人员开发和维护活动而使用的C.软件21.软件项目计划是可行性研究阶段的结果产品。
22.McCall质量度量模型高层特性包含面向软件产品操作、产品修1改和产品适应三个方面的11个特性。
23.在面向对象方法中,继承性是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。
24.演化提交模型是在瀑布模型的基础上,项目开发的各阶段都进行增量开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[模拟] 软件工程选择题第1题:软件工程方法学的三要素是______。
①方法②项目管理③过程④开发语言⑤工具A.①②③B.①②⑤C.②③④D.①③⑤参考答案:D软件工程方法学包含三个要素:方法、工具和过程。
方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。
第2题:螺旋模型的开发实施和______基本相吻合。
A.智能模型B.快速原型模型C.喷泉模型D.V模型参考答案:B第3题:软件设计一般分为外部设计和内部设计,它们之间的关系是______。
A.全局和局部B.抽象和具体C.总体和层次D.没有关系参考答案:A这里所说的外部设计实际上是指概要设计,内部设计就是详细设计。
概要设计的工作是:·采用某种设计方法,将一个复杂的系统按功能划分成模块;·确定每个模块的功能;·确定模块之间的调用关系;·确定模块之间的接口,即模块之间传递的信息;·评价模块结构的质量。
而详细设计的工作是:·为每个模块进行详细的算法设计。
用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
·为模块内的数据结构进行设计。
对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
·对数据结构进行物理设计,即确定数据库的物理结构。
物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
可见,这是一个全局和局部的关系,概要设计划分好模块,而详细设计定义每个模块如何工作。
第4题:瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和______。
A.可行性分析阶段B.运行阶段C.详细计划阶段D.测试与排错阶段参考答案:B瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段(即维护阶段)三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。
第5题:瀑布模型(Waterfall Model)突出的缺点是不能适应______的变动。
A.算法B.开发或应用平台C.程序语言D.用户需求参考答案:D瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。
但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。
第6题:如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为______模块。
A.功能内聚B.顺序内聚C.通信内聚D.过程内聚参考答案:C第7题:项目管理工具中,将网络方法用于工作计划安排的评审和检查的是______。
A.Gantt图B.PERT网图C.因果分析图D.流程图参考答案:BGantt图:以水平线段表示任务的工作阶段。
线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。
从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。
甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。
缺点是难以反映多个任务之间存在的复杂的逻辑关系。
PERT网图:也叫做计划评审技术。
它采用网络图来描述一个项目的任务网络,不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务的完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。
因果分析图:又叫特性要素图、树枝图和鱼刺图等,是质量管理常用工具之一。
流程图:流程图是以图解方式来说明实现一个解决方案所需完成的一系列操作。
第8题:下述任务中,不属于软件工程需求分析阶段的是______。
A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台参考答案:D需求分析的任务主要有: (1)确定软件的综合要求:系统界面,系统功能,系统性能,安全性、保密性和可靠性方面的要求,系统的运行要求,异常处理,将来的扩充和修改等。
(2)分析软件系统的数据要求:基本数据元素,数据元素之间的逻辑关系,数据量,峰值等。
(3)导出系统的逻辑模型。
(4)修正项目开发计划。
第9题:进行软件测试的目的是______。
A.尽可能多地找出软件中的缺陷B.缩短软件的开发时间C.减少软件的维护成本D.证明程序没有缺陷参考答案:A进行软件测试的目的是想以最少的时间和人力找出软件中潜在的各种错误和缺陷,而不是证明程序没有缺陷。
第10题:软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。
______属于确认测试阶段的活动。
A.设计评审B.代码审查C.结构测试D.可靠性测试参考答案:D第11题:一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行______。
A.程序走查B.退化测试C.软件评审D.接收测试参考答案:B在维护过程中,当修正一个故障以后要进行回归测试,但此处没有这个选项,所以我们要考查哪个选项是回归测试的意思。
这里可以直接把A和C排除,而D选项的接收测试就是确认测试,所以我们选B。
其实退化测试就是回归测试,只是翻译不同而已。
第12题:代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是______。
A.在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动B.在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩D.代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的参考答案:D静态分析中进行人工测试的主要方法有桌前检查、代码审查(会审)和走查。
经验表明,使用这种方法能够有效地发现30%到70%的逻辑设计和编码错误。
①桌前检查(Desk Checking):由程序员自己检查自己编写的程序。
程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。
检查项目有:·检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量;还要对照源程序,逐个检查变量的引用、变量的使用序列;临时变量在某条路径上的重写情况;局部变量、全局变量与特权变量的使用;·检查标号的交叉引用表:验证所有标号的正确性:检查所有标号的命名是否正确;检查转向指定位置的标号是否正确。
·检查子程序、宏、函数:验证每次调用与被调用位置是否正确;确认每次被调用的子程序、宏、函数是否存在;检验调用序列中调用方式与参数顺序、个数、类型上的一致性。
·等值性检查:检查全部等价变量的类型的一致性,解释所包含的类型差异。
·常量检查:确认每个常量的取值和数制、数据类型;检查常量每次引用同它的取值、数制和类型的一致性;·标准检查:用标准检查程序或手工检查程序中违反标准的问题。
·风格检查:检查在程序设计风格方面发现的问题。
·比较控制流:比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误。
·选择、激活路径:在程序员设计的控制流图上选择路径,再到实际的控制流图上激活这条路径。
如果选择的路径在实际控制流图上不能激活,则源程序可能有错。
用这种方法激活的路径集合应保证源程序模块的每行代码都被检查,即桌前检查应至少是语句覆盖。
·对照程序的规格说明,详细阅读源代码:程序员对照程序的规格说明书、规定的算法和程序设计语言的语法规则,仔细地阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。
·补充文档:桌前检查的文档是一种过渡性的文档,不是公开的正式文档,通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员发现和抓住更多的错误。
这种桌前检查,由于程序员熟悉自己的程序和自身的程序设计风格,可以节省很多的检查时间,但应避免主观片面性。
②代码会审(Code Reading Review):是由若干高级管理人员、程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。
高级管理人员领导整个会审小组。
代码会审分两步。
第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据。
小组成员在充分阅读这些材料之后,进入审查的第二步:召开程序审查会。
在会上,首先由程序员逐句讲解程序的逻辑。
在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。
实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。
在会前,应当给会审小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。
这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误,然后把它们制成表格,供会审时使用。
这种检查表类似于本章单元测试中给出的检查表。
③走查(Walkthroughs):与代码会审基本相同,一般由编写代码的程序员来组织讨论,其过程分为两步。
第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。
开会的程序与代码会审不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机。
即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。
走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。
代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。
人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。
第13题:参考答案:C首先要搞清楚什么是条件,什么是判定,以“A OR B”为例,单个的A或者B是一个条件,而“A OR B”才是判定。
所谓判定覆盖,就是指设计的测试用例能使得程序中的每个判定的真值分支和假值分支至少经过一次,因此,判定覆盖亦称分支覆盖。
A、B、D选项中测试用例显然只覆盖了“A OR B”真值分支。