2013年哈工大计算机学院软件工程考试
- 格式:pdf
- 大小:210.73 KB
- 文档页数:10
软件工程考试试题第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:(1)软件是逻辑部件而不是物理部件。
(2)软件的规模越来越大,复杂性越来越大。
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。
1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类:1.管理过程模型。
2.瀑布模型(又称为生命周期模型)。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
1、以下哪种协议属于网络层协议的_______。
(B)A.HTTPS B.ICMP C.SSL D.SNMP2、Windows 2000下诊断DNS故障时,最常用的命令是:______。
(B)A.NETSTAT B.NSLOOKUP C.ROUTE D.NBTSTAT3、当在Windows2000下创建分区时,FAT32分区大小的限制是_________。
(C)A.8GB B.16GB C.32GB D.64GB4、如果RAID-0卷集由4个40GB磁盘组成,可以存储数据的最大空间为________。
(D)A.40GB B.80GB C.120GB D.160GB5、以下哪条命令可以改变文件file的所有者为Sam________?(B)A.chmod Sam file B.chown Sam file C.chgrp Sam file D.umask Sam file6、在掉电状态下,哪种类型的存储器不保留其内容_______?(C)A.NVRAM B.ROM C.RAM D.Flash7、当在Windows2000下创建分区时,FAT32分区大小的限制是_________。
(C)A.8GB B.16GB C.32GB D.64GB8、在Windows Server 2003服务器上配置DHCP服务时,IP地址租约默认是:________。
(B)A.4天 B.8天 C.16天 D.20天9、一个文件的权限为“rwxr-----”,那么以下哪个说法是正确的_______?(B)A.所有用户都可以执行写操作B.只有所有者可以执行写操作C.所有者和所属组可以执行写操作 D.任何人都不能执行写操作10、Windows Server 2003操作系统比Windows 2000 Server操作系统多了下列哪项服务________。
(B)A.NNTP B.POP3 C.SMTP D.FTP11、在Windows Server 2003服务器上配置DHCP服务时,IP地址租约默认是:________。
哈尔滨工程大学本科生考试试卷( 2010-2011 年 2 学期)课程编号: 0920113 课程名称:一、 选择题(共30分 每题2分)软件工程 (A卷)1、下面不属于软件工程的3个要素是( D )A)工具 B)过程 C)方法 D)环境2、下列工具中为需求分析常用工具是( D )A)PAD B)PFD C)N-S D)DFD3、 软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及( B )A)用户 B)需求审评 C)总结 D)都不正确4、在E-R模型中,包含以下基本成分(D )A)数据、对象、实体 B)控制、联系、对象C)实体、联接、属性 D)实体、属性、联系5、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A)数据耦合 B)公共耦合 C)标记耦合 D)内容耦合6、( C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A)多态性 B)继承 C)封装 D)消息7、软件危机是指(B )。
A)软件遭到严重破坏 B)软件开发和维护过程中遇到的严重问题C)软件维护出现困难 D)软件不能正常运行的系列严重问题8、判定树和判定表示用于描述结构化分析方法中的(B )环节的工具。
A)功能说明 B)数据加工 C)流程描述 D)性能说明9、 软件评审是保证软件质量的重要措施,它是对软件开发阶段成果的复审。
下 列(A )是复审的必须内容。
Ⅰ需求复审 Ⅱ总体设计复审 Ⅲ详细设计复审 Ⅳ程序复审A)Ⅰ、Ⅱ、Ⅲ B)Ⅱ、Ⅲ、Ⅳ C)Ⅰ、Ⅲ、Ⅳ D)全部10、软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性称为(B )。
A)可靠性 B)可用性 C)正确性 D)完整性11、模块的独立性是软件模块化设计的关键之一,一般用内聚和(D )两个定性标准来度量模块的独立性。
A) 软件的质量 B) 一致性 C) 可重用 D) 耦合12、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以(A )维护所占的维护量最小。
软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。
A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。
A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
哈尔滨理工大学2002-2003学年第二学期考试试题A卷一、选择题(本大题共15小题,每小题1分,共计15分):1、在软件生存周期中,()阶段的工作量最大,约占总工作量的70%。
A.需求分析B.软件设计C.测试D.维护2、影响软件可维护性的软件属性包括软件的可理解性、可测试性与()。
A. 可修改性B. 可靠性C.效率D.可用性3、软件开发时,一个错误发现得越晚,为改正它所付出的代价就( )。
A.越大B.越小C.越不可捉摸D.越接近平均水平4、软件测试的目的是()。
A.评价软件的质量B.发现软件中的错误C.找出软件中所有错误D.证明软件是正确的5、在详细设计中,( )可作为模块的过程性描述工具。
A.N-S图B.HIPO图C.SC图D.因果图6、符合编码风格要求的是( )。
A.尽可能把程序编得短些B.使用有意义的变量名C.注释越少越好D.尽可能多地使用GOTO语句7、为了提高测试的效率,应该()。
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.完成编码后制定软件测试计划D.选择发现错误可能性大的数据作为测试数据8、结构化需求分析用于数据描述的工具是()和数据字典。
A.程序图B.流程图C.数据流图D.PAD图9、在结构化设计方法中,用于显示软件的组成模块及其调用关系的是()。
A.PADB.HIPO图C.SC图D.因果图10、模块化设计的指导思想是分解、信息隐藏与()。
A.抽象B.数据独立性C.程序独立性D.模块独立性11、有利于软件可维护性的错误叙述是()。
A.设计时应加强模块间联系B.提高程序的易读性C.重视程序结构的设计,使程序具有较好的结构D.尽可能在软件生产中保证各阶段文档的正确性12、原型化方法是设计者与用户之间进行的一种交互过程,适用于()的系统。
A.需求不确定性高B.需求明确C.管理信息D.决策支持13、配置管理的目的是保证资料的完整性与()。
A.有效性B.一致性C.完善性D.准确性14、关于模块化设计的错误叙述是()。
2013年哈⼯⼤软件学院算法设计与分析期末考试
1.判断题 20 = 10*2'
2.简答题 20 = 4*5'
3.算法设计题 60 = 4*15'
判断题:
忘了,很简单。
简答题:
1.T(n) = 2T(n/2)+n,求时间复杂度
2.图的最⼤匹配的定义
3.时间复杂度的定义
4.证明或者否证:O( (x+y)^2 ) = O( x^2 )+O(x*y)
⼤题:
1.字符串集合{this,that,there,their}利⽤2-gram构造的倒排表,编号分别是1,2,3,4
2.求最长连续和:给出数组A[],求 i<= k <=j,使得 sigma(A[k])最⼤:
1.设计O(n^2)的算法。
2.设计O(nlogn)的算法。
3.在2问设计对的情况下分析该算法的时间复杂度,如果2问不对,这题没分。
3.给出0,1以及符号组成的串: 1 op1 0 op2 1。
op代表符号,有两种:a(代表与),o(代表或)。
问如何添加括号使得串的最终值为1,求添加的⽅案数。
要求写出DP转移⽅程,伪代码书写,时间复杂度分析。
4.在[0,L]的长廊上,有n个展品,需要安排守卫去搜所有的展品,每个守卫所守的范围是1(包含),问最少安排多少个守卫去守。
1.设计⼀个贪⼼算法。
2.分析该算法的正确性。
3.该算法的时间复杂度。
班级:学号:姓名:装订线第1页 共4页第2页 共4页一、选择题(每题2分,共30分) 1.软件退化的根本原因是()A .使用者的操作失误B .不断地软件变更C .设计缺陷D .软件的兼容性 2.用例图中,不属于用例之间关系的是()A .包含关系B .扩展关系C .泛化关系D .关联关系 3.当一个构件和基础设施构件进行通信时会发生()耦合。
A .标记耦合B .外部耦合C .内容耦合D .共用耦合 4.UML 泳道图是()的一种有用的变形,可让建模人员表示用例所描述的活动流,同时指示哪个参与者是由活动矩形所描述的活动来负责。
A .构件图B .活动图C .并发图D .用例图 5.初始的软件需求明确,但是整个开发过程却不宜单纯运用线性模型,这是()适用的情形。
A .增量模型B .演化模型C .瀑布模型D .V 模型 6.()决定系统所需的每一个功能的“价值”(由客户感知)。
A .信息部署B .任务部署C .功能部署D .价值分析7.每个使用场景都暗示着当一个参与者和系统交互时所操作的一组对象,这些对象被分成具有相似属性和共同行为的事物集合。
这所描述的是()A .基于场景的元素B .行为元素C .面向数据流的元素D .基于类的元素 8.以下那个不属于活动图的适用范围()A .描述系统业务流程B .分析用例C .处理多线程应用D .数据建模9.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。
A. 需求不确定的B. 需求确定的C. 管理信息D. 决策支持10.需求模型提供了创建4种设计模型所必需的信息,这四种设计模型是完整的设计规格说明所必需的,下面不属于这四种模型之一的是()A .数据/类设计B .体系结构设计C .构件级设计D .用户界面设计11.定义软件工程过程中其他的信息源连接件,表示工作产品之间的关系,其描述的是体系结构中的哪种()A .功能结构B .实现结构C .开发结构D .并发结构 12.依赖于问题的自然划分,组织团队成员各自解决问题的一部分,他们之间没有什么主动的交流,这是软件工程团队()的组织范型。
第1章绪论一、填空题1.软件与物质产品有很大的区别,软件是一种_______产品。
2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于_______。
3.概要设计主要是把各项功能需求转换成系统的________。
4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_______。
5.简单实用、应用广泛、技术成熟的开发方法是________。
二、选择题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.逻辑2.建造一个软件系统3.体系结构4.瀑布模型5.结构化方法二、选择题答案1.B2.C3.C4.A5.D二、填空题1.构成一个完整计算机系统的两部分是硬件与________。
2.程序设计时代的生产方式是________。
3.软件工程涉及到几个学科,它是一门_____学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。
6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、_______、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和_______两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的________。
软件工程期末考试试题第一篇:软件工程期末考试试题一,单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
A.详细的 B.全面的 C.简化的、压缩的 D.彻底的 2.系统流程图用于可行性分析中的_____的描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统3.系统流程图是描述_____的工具。
A.逻辑系统B.程序系统C.体系结构D.物理系统4._______工具在软件详细设计过程中不采用。
A.判定表 B.IPO图 C.PDL D.DFD图 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.存取控制 D.基线控制12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填写变更要求 D.审查13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要A.消除错误 B.检测错误 C.避开错误 D.容错 14._____是以提高软件质量为目的的技术活动。