清华大学软件工程样卷

合集下载

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。

题目一:根据给定的需求文档,设计一个在线购物系统。

请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。

答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。

请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。

答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。

题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。

```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。

2024年秋10月高等教育自考试全国统一命题考试软件工程试卷含解析

2024年秋10月高等教育自考试全国统一命题考试软件工程试卷含解析

2024年秋10月高等教育自考试全国统一命题考试软件工程试卷一、单项选择题1、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。

A.初始阶段B.精化阶段C.构造阶段D.移交阶段2、在建模过程中,可用以描述加工的工具是______。

A.数据流B.判定树C.数据字典D.数据存储3、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。

A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术4、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。

A.供应过程B.开发过程C.测试过程D.支持过程5、在销售管理系统需求文档中出现下列描述,属于设计约束范畴的是______。

A.系统应能产生月销售报表B.系统应在5分钟内计算出给定季度的总销售税C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50%6、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。

A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型7、面向对象方法源于面向对象______。

A.分析B.设计C.建模语言D.编程语言8、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。

A.需求管理类B.支持类C.项目包类D.目标类9、有效性测试的目标是发现软件实现的功能与下列哪个选项不一致,正确的是______。

A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划10、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。

A.IdleB.InitializingC.CommandD.Active11、下列可用于概念模型和软件模型的动态结构的是______。

软件工程模拟习题及答案

软件工程模拟习题及答案

软件工程模拟习题及答案一、单选题(共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.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。

2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。

3.可行性分析中,系统流程图用于描述(A)当前运行系统。

4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。

5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。

6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。

7.通过(B)功能分解可以完成数据流图的细化。

8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。

9.为了提高模块的独立性,模块内部最好是(C)功能内聚。

10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。

11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。

A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。

A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。

A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。

A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。

A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。

A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。

A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。

A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。

2022年清华大学软件工程专业《计算机网络》科目期末试卷B(有答案)

2022年清华大学软件工程专业《计算机网络》科目期末试卷B(有答案)

2022年清华大学软件工程专业《计算机网络》科目期末试卷B(有答案)一、选择题1、比特的传播时延与链路带宽的关系是()。

A.没有关系B.反比关系C.正比关系D.无法确定2、下列选项中,不属于网络体系结构所描述的内容是()。

A.网络的层次B.每一层使用的协议C.协议的内部实现细节D.每一层必须完成的功能3、在路由器进行互连的多个局域网的结构中,要求每个局域网()。

A.物理层、数据链路层、网络层协议都必须相同,而高层协议可以不同B.物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同C.物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同D.物理层、数据链路层、网络层协议及高层协议都可以不同4、以下关于OSPF协议的描述中,最准确的是()。

A.OSPF协议根据链路状态法计算最佳路由B.OSPF协议是用于自治系统之间的外部网关协议C.OSPF协议不能根据网络通信情况动态地改变路由D.OSPF协议只能适用于小型网络5、PPP中的LCP帧起到的作用是()。

A.在建立状态阶段协商数据链路协议的选项B.配置网络层协议C.检查数据链路层的错误,并通知错误信息D.安全控制,保护通信双方的数据安全6、全双工以太网传输技术的特点是()。

I.能同时发送和接收帧II.不受CSMA/CD限制III.不能同时发送和接收IV.受CSMA/CD限制A.I,IIB. I,IVC.II,IIID.III,IV7、下列网络应用中,()不适合使用UDP。

A.客户/服务器领域B.远程调用C.实时多媒体应用D.远程登录8、如图所示,为两个局域网LAN1和LAN2通过网桥1和网桥2互连后形成的网络结构。

假设站A发送一个帧,但其目的地址均不在这两个网桥的地址转发表中,这样的结果会是该帧()。

A.经网桥1(或网桥2)后被站B接收B.被网桥1(或网桥2)丢弃C.在整个网络中无限次地循环下去D.经网桥1(或网桥2)到达LAN2,再经过网桥2(或网桥1)返回LANI后被站A吸收9、一个TCP连接的数据传输阶段,如果发送端的发送窗口值由2000变为3000,意味着发送端可以()。

2021年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

2021年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

2021年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、在对破坏性读出的存储器进行读/写操作时,为维持原存信息不变,必须辅以的操作是()。

A.刷新B.再生C.写保护D.主存校验2、地址线A15~A0(低),若选取用16K×1位存储芯片构成64KB存储器,则应由地址码()译码产生片选信号。

A.A15,A14B.A0,AlC.A14,A13D.A1,A23、假设机器字长为16位,用定点补码小数表示时,一个字所能表示的范围是()。

A.0~(1-2-15)B.-(1-2-15)~(1-2-15)C.-1~1D.-1~(1-2-15)4、在定点机中执行算术运算时会产生溢出,其根本原因是()。

A.主存容量不够B.运算结果无法表示C.操作数地址过大D.栈溢出5、一个C语言程序在一台32位机器上运行,程序中定义了3个变量x、y、z,其中x 和z是int型,y为short型。

当x=127,y=-9时,执行赋值语句z=xty后,x、y、z的值分别是()。

A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFFO076HC.X=0000007FH,y-FFF7H,z=FFFF0076HD.X=0000007FH,y=FFF7H,z=00000076H6、总线按连接部件不同可分为()。

A.片内总线、系统总线、通信总线B.数据总线、地址总线、控制总线C.主存总线I/O总线、DMA总线D.ISA总线、VESA总线、PCI总线7、下列关于总线说法中,正确的是()I.使用总线结构减少了信息传输量II.使用总线的优点是数据信息和地址信息可以同时传送III.使用总结结构可以提高信息的传输速度IV.使用总线结构可以减少信息传输线的条数A.I,II,IIIB.II,III,IVC.III,IVD.只有I8、在计算机系统中,作为硬件与应用软件之间的界面是()。

2022年清华大学软件工程专业《数据库原理》科目期末试卷A(有答案)

2022年清华大学软件工程专业《数据库原理》科目期末试卷A(有答案)

2022年清华大学软件工程专业《数据库原理》科目期末试卷A(有答案)一、填空题1、关系数据库中基于数学的两类运算是______________和______________。

2、数据的安全性是指____________。

3、事务故障、系统故障的恢复是由______完成的,介质故障是由______完成的。

4、完整性约束条件作用的对象有属性、______和______三种。

5、关系规范化的目的是______。

6、关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。

因为,用户只要提出______,不必指出 ______。

7、以子模式为框架的数据库是______________;以模式为框架的数据库是______________;以物理模式为框架的数据库是______________。

8、设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。

SELECT城市FROM作者表_____SELECT城市FROM出版商表;9、在SQL Server 2000中,数据页的大小是8KB。

某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。

10、____________、____________、____________和是计算机系统中的三类安全性。

二、判断题11、一个数据表只能有一个唯一索引。

()12、在第一个事务以S锁方式读数据R时,第二个事务可以进行对数据R加S锁并写数据的操作。

()13、有出现并发操作时,才有可能出现死锁。

()14、在SQL中,ALTERTABLE语句中MODIFY用于修改字段的类型和长度等,ADD用于添加新的字段。

()15、二级封锁协议能解决不可重复读问题,不能解决读"脏"数据。

()16、有两个关系R和S,分别包含15个和10个元组,则在R∪S、R-S、R∩S中可能出现的一种元组数目情况是18、7、7()17、关系中任何一列的属性取值是不可再分的数据项,可取自不同域中的数据。

清华大学2023年8月课程考试《软件工程管理》带答案

清华大学2023年8月课程考试《软件工程管理》带答案

清华大学2023年8月课程考试《软件工程管理》带答案一、选择题(40分)1. 软件工程管理的目标是什么?A. 提高软件开发人员的技术能力B. 提高软件产品的质量和开发效率C. 增加软件开发成本D. 降低软件开发周期答案:B2. 软件工程管理中,项目管理的核心任务是什么?A. 制定项目计划和进度安排B. 分析用户需求和编写技术文档C. 监控项目进展和风险管理D. 进行软件功能测试和质量控制答案:C3. Agile开发方法主要关注哪个方面的软件开发?A. 高质量的软件架构设计B. 及时交付可用的软件功能C. 最小化软件开发成本D. 严格控制项目进度和风险答案:B4. 软件工程管理中,SCRUM是一种什么样的开发方法?A. 瀑布模型的增强版B. 结构化开发的升级版C. 迭代和增量式开发的方法D. 敏捷开发的演化版答案:C5. 在软件项目管理过程中,变更控制的主要目的是什么?A. 最大限度地减少变更B. 及时响应项目需求变更C. 防止项目范围膨胀D. 确保变更有序和可控答案:D6. 软件工程管理中,成本估计是指什么?A. 确定项目的预算和资金支持B. 评估软件开发的人力资源C. 预测软件开发的时间成本D. 计算软件项目的风险成本答案:C7. 软件需求规格说明书是什么?A. 项目经理编写的软件功能列表B. 开发人员撰写的代码文档C. 用户提供的项目开发指南D. 需求分析师记录的需求描述答案:D8. 软件测试的目的是什么?A. 验证软件是否符合需求规格B. 确保软件的安全性和稳定性C. 评估软件的性能和可靠性D. 开发人员自我检查和纠错答案:A9. 项目管理中,风险管理的关键步骤是什么?A. 风险识别、风险分析和风险应对B. 风险预测、风险防范和风险控制C. 风险评估、风险治理和风险监控D. 风险规避、风险转移和风险接受答案:A10. 软件工程管理中,团队协作的目的是什么?A. 提高工作效率和质量B. 管理项目进度和进展C. 控制项目成本和风险D. 分配任务和资源答案:A二、简答题(60分)1. 简要阐述软件工程管理的概念和重要性。

软件工程期末试卷十套含答案

软件工程期末试卷十套含答案

软件工程期末试题一单项选择题1.瀑布模型的存在问题是BA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 CA.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是 BA.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是DA.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是 B ;A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时, A 是用得最多的一种黑盒测试方法;A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生B ;A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在B ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的C ;A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为BA.p﹡1+i﹡n B.p﹡i+1nC.p﹡1+i﹡n D.p﹡i+n12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示;动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是A ;A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作C 于对象的统一体中;A. 结合B. 隐藏C. 封装D. 抽象14. 软件详细设计的主要任务是确定每个模块的 A ;A. 算法和使用的数据结构B. 外部接口C. 功能D. 编程15. 软件结构图中,模块框之间若有直线连接,表示它们之间存在 A ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系16. 需求分析最终结果是产生B ;A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告17. 在详细设计阶段,经常采用的工具有A ;A. PADB. SAC. SCD. DFD18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 CA.教正性维护B.适应性维护C.完善性维护D.预防性维护20.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格1.面向对象开发方法包括OOA、OOD和OOP三部分;2.效益分有形效益和无形效益两种;有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较;3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类; 设计题已知有如下的伪代码程序:STARTI:=1;WHILE i:<=n-1 DOmin:=Ai;j:=i+1;WHILEj<=n DOIF min>AjTHENBLOCKtemp:=min;min:=Aj;Aj:=temp;ENDBLOCKENDIF;j:=j+1;ENDDOi:=i+1;ENDDOSTOP软件工程期末试题二一, 判断题正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.×PAD图在设置了五种基本控制结构后,还允许递归调用. × 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.×当验收测试通过,软件开发就完成了.×完成测试作业后,为了缩短源程序的长度应删除程序中的注解.×系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.×在程序调试时,找出错误的位置和性质比改正该错误更难.√以对象,类,继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一.√二,单项选择题每小题2分,共10分试判断下列叙述中,哪个些是正确的Da,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但B是不适用的.A,数据流图 B,PAD图 C,判定表 D,数据词典在详细设计阶段,经常采用的工具有A.A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的CA,代码的规模 B,运行速度 C,质量 D,可维护性使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准.A,程序的内部逻辑 B,程序的复杂程度C,该软件的编辑人员 D,程序的功能三,多项选择题每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分. ABCD可以作为模块.A,子程序 B,函数 C,过程 D,编译文件下面哪些测试属于黑盒测试BCD.A,路径测试 B,等价类划分 C,边界值分析 D,错误推测 E,循环测试下列属于度量效益方法的是ABCD.A,货币的时间价值 B,投资回收期 C,收入 D,投资回报率软件维护的策略包括BCD.A,定期检测维护 B,改正性维护 C,适应性维护 D,完善性维护下列属于软件测试过程的是ABE.A,单元测试 B,组装测试 C,内核测试 D,法律验证 E,确认测试四,简答题每题6分,共24分1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享公用一个行为方法的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValueint i {age=i; }public void setValueString s {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.2分数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.3分5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:1二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.2因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中像传统的增殖式组装那样常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷三2004年下半年期末考试开放教育本科计算机科学与技术专业软件工程试题B2005年1月一、填空题每空1分,共20分1.软件生存周期一般可分为__________、可行性研究、__________、设计编码、__________、运行与维护阶段;2.IPO图由__________、__________和__________三个框组成;3.软件=__________+__________;4.软件测试的方法有__________和__________即黑盒法;5.Jackson图除了可以表达程序结构外,还可以表达__________;6.详细设计的工具有图形工具、__________和__________;7.__________和__________共同构成系统的逻辑模型;8.成本估计方法主要有__________、__________和算法模型估计三种类型;9.在需求分析阶段常用的图形工具有__________、__________、__________三种;答案:填空题每空1分,共20分1、问题定义需求分析测试2、输入处理输出3、程序文档4、分析方法非分析方法5、数据结构6、表格工具语言工具7、数据流图数据字典8、自顶向下估计自底向上估计9、层次方框图Warnier图IPO图二、单项选择题每小题2分,共10分1.系统流程图是描绘的传统工具;A、逻辑系统B、数据结构C、状态变迁D、物理系统2.下列模块独立性最强的是A、非直接耦合B、数据耦合C、公共耦合D、内容耦合3.下列哪个阶段不属于软件生存周期的三大阶段;A、计划阶段B、开发阶段C、编码阶段D、维护阶段4.常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是;A、J ackson方法和LCPWanier逻辑构造方法B、结构化设计方法SDC、面向对象设计方法OODD、快速原型法5.使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准;A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能答:1、D 2、A 3、C 4、A 5、A三、多项选择题每题2分,共10分1.可以作为模块;A、子程序B、函数C、过程D、编译文件2.关于内容耦合的描述正确的是;A、内容耦合是最高程度的耦合B、高级语言一般设计成允许内容耦合的形成C、应该尽量使用内容耦合D、如果一个模块可以直接调用另一模块,则可以称为内容耦合3.下列属于度量效益方法的是;A、货币的时间价值B、投资回收期B、收入D、投资回报率4.软件维护的策略包括;A、定期检测维护B、改正性维护C、适应性维护D、完善性维护5.下列不属于软件测试过程的是;A、单元测试B、组装测试C、内核测试D、法律验证答:1、ABCD 2、AD 3、ABC 4、BCD 5、CD四、判断题正确的在括号内打上“√”,错误的打上“×”;每题2分,共20分1.Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格;2.PAD图在设置了五种基本控制结构后,还允许递归调用;3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目;4.当验收测试通过,软件开发就完成了;5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解;6.在进行总体设计时应加强模块间的联系;7.系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;8.用黑盒法测试时,测试用例是根据程序内部逻辑设计的;9.在程序调试时,找出错误的位置和性质比改正该错误更难;10.以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;答:1—5:√√×××6—10:×××√√五、简答题每题5分,共20分1.什么是软件危机为什么会产生软件危机答:软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关;2.什么是软件的生存周期包括哪几个部分答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等;3.什么是黑盒测试法答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;4.耦合性和内聚性有几种类型其耦合度、内聚强度的顺序如何答:低:非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合:高强:功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→巧合内聚:弱六、分析设计题共20分1.8分假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元;3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率;投资回收期:3+3000-2407.15/3044.09-2407.15=3.93投资回收率为r3000=1000/1+r+1000/1+r2+1000/1+r3+1000/1+r4+1000/1+r5解得r=20%2.求一组数组中的最大数, 数组表示为An ,n=1,2……n的自然数;12分1)请画出程序流程图4分2)请画出该算法的N-S图4分3)请用PAD图来表示该算法4分答:121.4分3软件工程期末试卷四一、简答题25%, 每小题5分:1.请简要说明需求分析的三个层次包括那些主要内容;软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求;业务需求反映了组织机构或客户对系统、产品高层次的目标要求;用户需求文档描述了用户使用产品必须要完成的任务;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求;2.为什么要设计独立性强的模块以及如何判断模块的独立性第一3分,耦合1分,内聚1分模块独立性强,则:1系统容易开发2系统可靠性高3系统容易维护判断模块独立性的基本原则:“耦合小,内聚大”3.若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试使用的场景:3分. 2分因为父类和子类的运行环境是不同的;另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误;4.要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊;利:3分;弊:2分利:容易维护,用户比较满意弊:成本高,周期长5、采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点;c/s:3分,p2p:2分水平划分系统的p2p:每个字系统可以调用任意其他子系统,比c/s复杂,可能死锁;垂直划分c/s:客户端调用服务器端,服务器提供服务,并返回结果;客户端需要知道服务器的接口,而服务器不必知道客户端接口;二、应用题45%,1-3每小题10分,4小题15分1.公司计划采用新技术开发一款新的软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型为什么选模型:5分;原因:5分选用模型:可采用增量模型/增量+ 原形/螺旋模型等等;但如果采用快速开发则不太适宜;分析原因:技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统;2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置;任务网络图:甘特图任务网络图3分 甘特图3分 标识关键路径2分 阶段里程碑位置2分;3.设有一个程序,读入三个整数,代表三角形的三条边;输出表明三角形是不规则的、等腰的或等边的;请采用黑盒的等价类划分方法,设计一组测试用例; 不规则:3 4 5等腰:3 3 4 等边:3 3 3 其他:1 9 2不规则的3分时间3.13.63.113.163.213.263.30活动需求分析 测试计划 概要设计 测试方案设计详细设计编码 产品测试 文档整理等腰3分 等边3分 其他1分4.设计一个简化的网上个人银行查询系统,用户可以通过Internet 查询自己帐户的收支明细、余额和修改密码; 一采用结构化方法:7分1请画出E-R 图2分DFD 图的第0层和第1层;3分 2)编写两个关键词条的数据字典;2分E-R 图DFD 图第0层输入命令: 查询帐户明细 查询帐户余额 修改密码数据字典:名称:帐号别名:无何处使用/如何使用:登陆帐户时需要输入描述:帐户的唯一标识,每个帐户对应一个帐号帐号= 12个数字名称:帐户密码别名:无何处使用/如何使用:登陆帐户时输入;修改密码时输入,修改成功后保存到帐户数据库描述:密码=6个字母二采用面向对象方法:8分1请画出系统的用例图;2分2)识别出系统的主要类2分User、Account、DetailItem主要要包括用户、帐户、收支明细等类;并画其中的二个类图包含主要属性和操作;2分3画一个UML时序图,描述一次通过网上银行查询余额的具体交互;2分软件工程期末试卷五一、填空题1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型;2.可行性研究一般可以从经济可行性、技术可行性、运行可行性、法律可行性和开发可行性等方面来研究;3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为F/1+i n;4.数据流图的基本符号包括数据输入的源点和数据输出的汇点加工数据流数据存储文件5.Jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述;6.详细设计的工具有图形工具、表格工具和语言工具;7.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学;面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法;二、单项选择题1.下列 A 属于系统软件;A.WINDOWS 2000B.WordC.FlashD.3D MAX2.下列哪个图是N-S图的构件 C ;A. B.C.D.3.对于螺旋模型,下列 D ;A. 制定计划B. 实施工程C. 风险分析D. 程序编码三、多项选择题1.软件危机可以表现为ABCD ;A.产品不符合用户的需要B.软件产品的质量差C.软件的可维护性差D.软件的价格昂贵2.Jackson图中一般可能包括ABCD ;A.表头B.表体C.表名D.字段名3.关于内容耦合的描述正确的是AD ;A、内容耦合是最高程度的耦合B、应该尽量使用内容耦合C、高级语言一般设计成允许内容耦合的形式D、如果一个模块有多个入口,可能发生内容耦合4.下列属于不标准的书写格式BCD ;A、书写时适当使用空格分隔B、一行写入多条语句C、嵌套结构不使用分层缩进的写法D、程序中不加注释四、判断题正确的在括号内打上“√”,错误的打上“”1.软件生存周期是从软件开始开发到开发结束的整个时期;×2.系统流程图是一个典型的描述逻辑系统的传统工具; ×3.数据流图和数据字典共同构成系统的逻辑模型; √4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4; √5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度; ×6.程序运行过程中出现错误叫做容错; ×7.软件测试的目的是证明程序没有错误; ×8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;×五、问答题1.什么是软件生存周期;答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么;答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程;3.为什么数据流图要分层答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系;4.软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件;如果不遵守这些开发准则,软件质量就得不到保证;往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证;软件质量是各种特性的复杂组合;它随着应用的不同而不同,随着用户提出的质量要求不同而不同;软件工程期末试卷六软件工程导论试题一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护;八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 C;A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大C ;A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标A ;A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于C ;A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是CA、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 BA、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法CA、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高BA、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的BA、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成AA、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为AA、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 CA、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的信息流动情况;解析系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况;22.成本效益分析的目的是从经济角度评价开发一个项目是否可行;解析成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行; 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略;解析渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块;它从。

2022年清华大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年清华大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年清华大学软件工程专业《操作系统》科目期末试卷B(有答案)一、选择题1、某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。

假设一个缓冲区与一个磁盘块人小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs.CPU对一块数据进行分析的时间为50us。

在单缓冲区和双缓冲区结构ド,读入并分析完该文件的时间分别是()。

Α.1500μs,1000μsB.1550μs,1100μsC.1550μs,1550μsD.2000μs,2000μs2、()是操作系统中采用的以空间换取时间的技术。

A.Spooling 技术B.虚拟存储技术C.覆盖与交换技术D.通道技术3、考虑页面替换算法,系统有m个页帧(Frame)供调度,初始时全空:引用串(Reference String)长度为p.包含了n个不同的页号,无论用什么算法,缺页次数不会少于()A.mB.pC.nD.min(m,n)4、在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()。

A.可变分配,全局置换B.可变分配,局部置换C.固定分配,全局置换D.固定分配,局部置换5、采用分页或分段管理后,提供给用户的物理地址空间()。

A.分页支持史大的物理空间B.分段支持更大的物理空间C.不能确定D.一样大6、与早期的操作系统相比,采用微内核结构的操作系统具有很多优点,但是这些优点不,包括()。

A.提高了系统的可扩展性B.提高了操作系统的运行效率C.增强了系统的可靠性D.使操作系统的可移植性更好7、 OS通常为用户提供4种使用接口,它们是终端命令、图标菜单、系统调用和()A.计算机高级指令B.宏命令C.类似DOS的批命令文件或UNIX的shell文件D.汇编语言8、下面关于目录检索的论述中,正确的是()。

A.由于散列法具有较快的检索速度,因此现代操作系统中都用它来替代传统的顺序检索方法B.在利用顺序检索法时,对树形目录应采用文件的路径名,应从根目录开始逐级检索C.在利用顺序检索法时,只要路径名的一个分量名未找到,便应停止查找D.在顺序检索法的查找完成后,即可得到文件的物理地址,9、采用直接存取法来读写磁盘上的物理记求时,效率最高的是()A.连续结构的文件B.索引结构的文件C.链接结构文件D.其他结构文件10、系统中有3个不同的临界资源R1,R2和R3,被4个进程pl,p2,p3 及p4共享。

清华大学_JAVA语言与面向对象程序设计_试卷及其答案

清华大学_JAVA语言与面向对象程序设计_试卷及其答案

清华大学_JAVA语言与面向对象程序设计_试卷及其答案清华大学《JA V A语言与面向对象程序设计》一、单选择题(每小题2分,共30分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

(A).java (B).class (C).html (D).exe2、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面哪个表达式的值与数组元素个数相等?( )。

(A) m.length() (B) m.length (C) m.length()+1 (D) m.length+13、在Java Applet程序用户自定义的Applet子类中,一般需要覆盖父类的( )方法来完成一些画图操作。

(A)start( ) (B)stop( ) (C) init( ) (D) paint( )4、如下哪个字符串是Java中的标识符?( )。

(A) fieldname (B) super (C) 3number (D) #number5、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()(A)可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类(B)可以被两种类访问和引用:该类本身、该类的所有子类(C)只能被该类自身所访问和修改(D)只能被同一个包中的类访问6、Java中main()函数的值是什么类型?()(A) String (B) int (C) char (D) void7、执行完代码int [ ] x = new int[25];后,以下哪项说明是正确的()(A)x[24]为0 (B)x[24]未定义(C)x[25]为0 (D)x[0]为空8、以下代码段执行后的输出结果为()int x=3;int y=10;System.out.println(y%x);(A)0 (B)1 (C)2 (D)3public class Test{long a[] = new long[10];public static void main ( String arg[] ) {System.out.println ( a[6] );}}请问下面哪个语句是正确的()(A) Output is null.(B) Output is 0.(C) When compile, some error will occur.(D) When running, some error will occur.10、给出下面的代码段:public class Base{int w, x, y ,z;public Base(int a,int b){x=a; y=b;}public Base(int a, int b, int c, int d){// assignment x=a, y=bw=d;z=c;}}在代码说明// assignment x=a, y=b处写入如下哪个代码是正确的?()(A) Base(a,b); (B) x=a, y=b; (C) super(a,b); (D) this(a,b);class Test{private int m;public static void fun() {// some code...}}如何使成员变量m 被函数fun()直接访问()(A)将private int m 改为protected int m (B)将private int m 改为public int m(C)将private int m 改为static int m (D)将private int m 改为int m12、下面哪个函数是public void example(){...}的重载函数()(A)public double example2(int m){...} 4(B)public int example(){...}(C)public void example2(){...} (D)public int example ( int m, float f){...}13、以命令”java MyTest a b c”执行文件MyTest.class后,表达式()为真(A)args[0] = "MyT est a b c" (B)args[0] = "MyTest"(C)args[0] = "a" (D)args[1]= 'b'14、当包含applet 的页面被重新加载时会自动调用以下哪个函数?()(A) init() (B) start() (C) stop() (D) destroy()15、在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句(A)import java.awt.*;(B)import java.applet.* ;(C) i mport java.io.* ;(D) import java.awt.event.* ;二、判断题(每小题2分,共20分)1、Java的字符类型采用的是ASCII编码。

清华大学软件工程样卷

清华大学软件工程样卷

《软件工程》期终考试题学号:姓名:一讨论题(25分)根据自己的理解,简要分析下述说法的合理性,若结合自己的大作业实践更佳。

1.程序设计是一种任人发挥创造才能的技术领域,是个人按自己意图创造的“艺术品”。

程序只要能在计算机上得出正确的结果,程序的写法可以不受任何约束。

2.在软件项目开发进度滞后时,可以通过增加人力的方式,加快软件开发速度,满足进度要求。

3.软件开发应遵循“信息隐藏”的原则,将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。

这就是信息封装,使用与实现分离的原则。

使用者只能通过模块接口访问模块中封装的数据。

4.软件开发需遵循严格的阶段划分,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码,测试及运行维护。

只有当每个阶段的工作完成后,才能继续进行下一项活动。

5.运行正确的程序就是一个高质量的软件。

二分析设计(45分)上图是一个简化的SafeHome控制面板,其基本功能如下:1)房主观察SafeHome控制面板,确定系统就绪状态。

当系统检测传感器信息,发现某个门或者窗是开着,显示“Not ready”信息;房主关闭门和窗后,“Not ready”信息消失。

2)在系统就绪状态下,房主用键盘键入4位密码,该密码和系统中存储的有效密码比较。

如果密码错误,控制面板鸣叫一声后,自动复位以等待再次输入;如果密码正确,控制面板等待进一步操作。

a)房主选择键入“Stay”,表示房主在家,只需激活房屋外部传感器,房屋内部传感器关闭。

b)房主选择键入“Away”,表示房主出门,则激活房屋所有的传感器。

3)传感器激活后,房主可以看到一个红色的警报灯。

针对上述SafeHome系统,完成以下工作:1.分析系统的主要功能,采用UML用例图(Use Case Diagram)建立需求模型。

2.分析识别系统的类及其关系,给出系统的面向对象设计,采用UML类结构图(Class Diagram)进行建模。

(2023版)软件工程试卷及答案(新版)

(2023版)软件工程试卷及答案(新版)

软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题:1.开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A)模型。

A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。

A.用户容易参预开辟 B.缺乏灵便性 C.用户与开辟者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开辟模型。

A.增量模型 B.专家系统 C.喷泉模型 D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,合用于( A) 系统。

A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构B.程序结构C.算法D.数据流 8.软件可行性研究实质上是要进行一次(A)需求分析、设计过程。

A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D)A、分析开辟系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开辟系统 10.设年利率为 i,现存入 p 元, n 年后可得钱数为(C)。

A、P×(1+i*n)B、P×(i+1)*nC、p×(1+i)nD、p×(i+n) 11.可行性研究是在(A)之前A、系统开辟B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,普通来说,可行性研究的成本只是预期总成本的(C)。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14.效率是一个性能要求,因此应当在以下哪个阶段规定? B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开辟人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据 16.数据字典是用来定义(D)中的各个成份的具体含义的。

软件工程学(清华大学出版社)习题

软件工程学(清华大学出版社)习题

三、名词解释1. 软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术方法结合起来,这就是软件工程。

2.软件危机在计算机硬件技术得以发展后,软件开发技术的进步未能满足发展的需要,在软件开发中遇到的问题找不到解决的办法,使问题越积越多,形成了尖锐的矛盾,因而导致了软件危机。

软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

3. 软件生存周期模型描述软件开发过程中各种活动如何执行的模型是软件工程思想的具体化,是实施于过程模型中的软件开发方法和工具,是软件开发实践中总结出来的软件开发方法和步骤。

总的来说,它是跨越整个软件生命周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。

P134. 信息隐蔽是在设计和确定模块时,使一个模块内包海宁的信息(过程和数据)对于不需要这些信息的构件来所是不能访问的。

它通过定义一组独立的模块来实现有效的模块化。

P715. 抽象是人类在认识复杂现象的过程中使用的强有力的思维工具。

在现实世界中一定事物、状态或过程之间总是存在某些共性,把这些共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。

抽象就是抽出事物的本质特性而暂时不考虑它们的物理细节。

6、数据流图P55解:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具.是一种功能模型7. 数据字典数据字典是关于数据信息的集合,对数据流图中的各个元素作完整的定义与说明,是数据流图的补充工具。

它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

8、模块 P69在软件系统设计中,模块指这样一组程序语句集合,包括输入输出和逻辑处理功能、内部信息及其运行计划。

2022年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

2022年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

2022年清华大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用写回(Write Back)方式,则能存放4K字数据的Cache的总容量的位数至少是()。

A.146KB.147KC.148KD.158K2、假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr,3”,其中xaddr是x 对应的存储单元地址。

若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Trough)方式,则完成该指令功能需要访问主存的次数至少是()。

A.0B.1C.2D.343、CPU中不包括()。

A.操作码译码器B.指令寄存器C.地址译码器D通用寄存器4、假设基准程序A在某计算机上的运行时间为100s,其中90s为CPU时间,其余为/O 时间。

若CPU速度提高50%,V/O速度不变,则运行基准程序A所耗费的时间是()。

A.55sB.60sC.65 sD.70s5、将高级语言源程序转换为机器目标代码文件的程序是()。

A.汇编程序B.链接程序C.编译程序D.解释程序6、关于总线的叙述,下列说法正确的是()。

I.总线忙信号由总线控制器建立II.计数器定时查询方式不需要总线同意信号III.链式查询、计数器查询、独立请求方式所需控制线路由少到多排序是:链式查询、独立请求方式、计数器查询A.仅I、IIIB.仅II,IIIC.仅IIID.仅II7、在计数器定时查询方式下,正确的描述是()。

A.总线设备的优先级可变B.越靠近控制器的设备,优先级越高C.各设备的优先级相等D.对硬件电路故障敏感8、下列说法中正确的是()。

A.微程序控制方式与硬布线控制方式相比较,前者可以使指令的执行速度更快B.若采用微程序控制方式,则可用μPC取代PCC.控制存储器可以用掩膜ROM,EPROM或闪速存储器实现,D.指令周期也称为CPU周期9、从一条指令的启动到下一条指令启动的时间间隔称为()A.时钟周期B.机器周期C.节拍D.指令周期10、下列选项中,()不是发生中断请求的条件。

2022年清华大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年清华大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年清华大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、在单处理器系统中,可并行的是()I.进程与进程II.处理器与设备III.处理器与通道IV.设备与设备A.I、II和IIIB.I、II和IVC.I、III和IVD.II、III和IV2、假设5个进程P0、P1、P2、P3、P4共享3类资源R1、R2、R3.这些资源总数分别为18、6、22。

T0时刻的资源分配情况(见表),此时存在的一个安全序列是()。

A. P0, P2, P4, P1, P3B. P1, P0, P3, P4, P2C. P2, P1, P0, P3, P4D. P3, P4, P2, P1, P03、现行3个同时到达的作业J1,J2,J3,它们的执行时,间分别是T1,T2和T3,且T1,<T2<T3。

若系统按单道方式运行且采用短作业优先调度算法,则平均周转时问是()。

A.T1+T2+T3B. T1+T2+T3 /3C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/34、下列有关时间片的进程调度的描述中,错误的是()A.时间片越短,进程切换的次数越多,系统开销也越大,B.当前进程的时间片用完后,该进程状态由执行态变为阻塞态C.时钟中断发生后,系统会修改当前的进程在时间片内的剩余时间D.影响时间片大小的主要因素包括响应时间、系统开销和进程数量等5、有两个并发执行的进程P1和P2,共享初值为1的变量x。

P1对x加1,P2对x减1。

加1操作和减1操作的指令序列分别如下所示://加1操作load R1,x ① //取x到寄存器R1中inc R1 ②store x, R1:③ //将R1的内容存入x//减1操作load R2,x ① //取x到寄存器R1中inc R2 ②store x, R2:③ //将R1的内容存入x两个操作完成后,x的值()。

A.可能为-1或3B.只能为1C.可能为0,1或2D.可能为-1,0,1或26、下列关于SPOOLing技术的叙述中,错误的是()A.需要外存的文持B.需要多道程序设计技术的支持C.可以让多个作业共享一台独占设备D.由用户作业控制设备与输入/输出之间的数据传送7、系统管理设备是通过一些数据结构来进行的,下前的()不属于设备管理数据结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程》期终考试题
学号:姓名:
一讨论题(25分)
根据自己的理解,简要分析下述说法的合理性,若结合自己的大作业实践更佳。

1.程序设计是一种任人发挥创造才能的技术领域,是个人按自己意图创造的“艺术品”。

程序只要能在计算机上得出正确的结果,程序的写法可以不受任何约束。

2.在软件项目开发进度滞后时,可以通过增加人力的方式,加快软件开发速度,满足进度要求。

3.软件开发应遵循“信息隐藏”的原则,将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。

这就是信息封装,使用与实现分离的原则。

使用者只能通过模块接口访问模块中封装的数据。

4.软件开发需遵循严格的阶段划分,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码,测试及运行维护。

只有当每个阶段的工作完成后,才能继续进行下一项活动。

5.运行正确的程序就是一个高质量的软件。

二分析设计(45分)
上图是一个简化的SafeHome控制面板,其基本功能如下:
1)房主观察SafeHome控制面板,确定系统就绪状态。

当系统检测传感器信息,
发现某个门或者窗是开着,显示“Not ready”信息;房主关闭门和窗后,“Not ready”信息消失。

2)在系统就绪状态下,房主用键盘键入4位密码,该密码和系统中存储的有效
密码比较。

如果密码错误,控制面板鸣叫一声后,自动复位以等待再次输入;
如果密码正确,控制面板等待进一步操作。

a)房主选择键入“Stay”,表示房主在家,只需激活房屋外部传感器,房屋
内部传感器关闭。

b)房主选择键入“Away”,表示房主出门,则激活房屋所有的传感器。

3)传感器激活后,房主可以看到一个红色的警报灯。

针对上述SafeHome系统,完成以下工作:
1.分析系统的主要功能,采用UML用例图(Use Case Diagram)建立需求模型。

2.分析识别系统的类及其关系,给出系统的面向对象设计,采用UML类结构图
(Class Diagram)进行建模。

3.分析系统的行为,识别用例功能所对应的对象之间的交互场景,采用UML序
列图(Sequence Diagram)进行建模。

三软件测试(30分)
1.黑盒测试用来确认系统功能,不考虑程序的内部结构;而白盒测试侧重于程序的结构分析。

两种测试方法互为补充。

请分别举出至少一个例子,说明:
1)黑盒测试能发现到白盒测试中无法检测到的错误。

(3分)
2)白盒测试能发现到黑盒测试中无法检测到的错误。

(3分)
2.白盒测试(9分)
在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等。

其中,( A )是最强的覆盖准则。

为了对上图所示的程序段进行覆盖测试,必须适当地选取测试用例组。

如x、y是两个变量,可供选择的测试用例组共有I、II、III、IV四组(如表中给出),则实现判定覆盖至少应采用的测试用例组是( B );实现条件覆盖至少应采用的测试用例组是( C )。

供选答案:
A: ①语句覆盖②条件覆盖③判定覆盖④路径覆盖
B-C:① I和II组② II和III组③ III和IV组④ I和IV组
⑤ I、II和III组⑥ II、III和IV组
3.用等价类划分法设计测试用例(15)
三角形问题是在软件测试文献中使用最广的一个例子。

三角形问题接受三个整数a,b和c作为输入,用做三角形的边。

整数a,b和c必须满足以下条件:c1. 1200
a
≤≤c2. 1200
b
≤≤c3. 1200
c
≤≤c4. a b c
<+c5. b a c
<+c6. c a b
<+
程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形,或是错误信息。

1)如果三条边相等,则程序输出“正三角形”。

2)如果任意两边相等,则程序输出“等腰三角形”。

3)如果没有任何两条边相等,则程序输出“不等边三角形”。

4)如果输入值违反了c1,c2,c3中的任何一个,则程序输出错误信息,如
“b的取值不在允许范围内”。

5)如果输入值违反了c4,c5,c6中的任何一个,则程序输出“非三角形”。

对于上述三角形判定程序,请回答以下问题:
1)任意设计5个测试用例,以覆盖上述5种不同的输出结果。

(5分)
2)请用等价类方法设计输入数据的等价类,并设计5个测试用例。

(5分)
3)请用边界值方法设计5个测试用例。

(5分)。

相关文档
最新文档