1、1软件工程 第一次作业第一题 选择题1. 软件需求规格说明的内容不应包括( B )。A. 主要功能 B. 算法的详细描述C. 用户界面及运行环境 D. 软件的性能2. 程序的三种基本控制结构是( B )。A. 过程、子程序和分程序 B. 顺序、选择和重复C. 递归、迭代和回溯 D. 调用、返回和转移3. 在 E-R 模型中,包含以下基本成分( C )。A. 数据、对象、实体B. 控制、联系、对象C. 实体、联系、属性D. 实体、属性、操作4软件测试的目标是( B )。A. 证明软件是正确的 B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误 D. 与软件调试相同5. 软件是( C )
2、。A. 处理对象和处理规则的描述 B. 程序C. 程序及其文档 D. 计算机系统6. 面向对象的分析方法主要是建立三类模型,即( D )。A. 系统模型、ER 模型、应用模型B. 对象模型、动态模型、应用模型C. -模型、对象模型、功能模型D. 对象模型、动态模型、功能模型7. 各种软件维护的类型中最重要的是( A )。A. 完善性维护 B. 纠错性维护 C. 适应性维护 D. 预防性维护8. 若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0, 1.0,现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C )A. 条件
3、覆盖法 B. 等价分类法 C. 边界值分析法 D. 错误推测法9.在软件开发模型中,提出最早,应用最广泛的模型是(A)A,瀑布 B,螺旋 C,演化 D,智能 10.软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是(B) A,原型化方法 B,结构化方法 C,面向对象方法 D,功能分解法第二题 判断题1、开发软件就是编写程序。2、系统测试的主要方法是白盒法和黑盒法。3、编程序时应尽可能利用硬件特点以提高程序效率.4、软件需求分析的任务是建立软件模块结构图。5、程序的结构主要包括三种26、以结构化分析方法建立的系统模型就是数据流图。7、进行总体设计时加强模块间的联系。8、编码时尽量多用
4、全局变量.9、用 CASE 环境或程序自动生成工具来自动生成一部分程序.10、软件测试是要发现软件中的错误。第三题 简单题1 自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答自顶而下渐增测试优点:不需要测试驱动程序能够在测试阶段的早期实现并验证系统的主要功能而且能够尽早发现上层模块的接口错误缺点:需要存根程序底层错误发现较晚自底而上渐增测试优点与缺点和自顶而下渐增测试相反2 软件生命周期划分成哪些阶段。软件生命周期可分为三个阶段:软件定义、软件开发、运行维护,其主要活动阶段包括:可行性分析与计划制定、需求分析、软件设计(概要设计和详细设计)、软件实现(编码)、测试、维护等活动,其中软件开发
5、阶段包括软件设计、实现与测试第四题 应用题 1 有一个无序整形数组 a,设其长度为 L,下面的伪代码给出了找出这个数组中最大值的方法,根据伪代码写出程序流程图.Int max = a0;Int index = 1;While (index 1. 将下面给出的伪码转换为程序流程图i = 1; j = 0;while ( i 1)THEN X:=ABIF(A2)AND(B=0)THEN X:=A3END2 请用语句覆盖和判定覆盖两种测试方法设计出两套测试数据,用于测试问题14 中的程序。第四次作业第一题 选择题1.要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方法,结构化分析方法就
6、是() A,面向数据流自顶向下,逐步求精的方法 B,由内向外进行分析的方法 C,先局部后整体的分析方法 D,使用 IPO 图形工具分析的方法 2.需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作,其主要根据是前一阶段的文档() A,用户手册和参考手册 B,软件需求规格说明书 C,开发计划 D,可行性研究报告 3.需求分析阶段的主要任务是确定() A,软件开发方法 B,软件开发工具 C,软件开发费 D,软件系统的功能 4.数据字典是用来定义()中的各个成份的具体含义的 A,流程图 B,功能结构图 C,系统结构图 D,数据流图 5.数据流图是一种用来描述()的图形化工具 A,系统物理组成
7、 B,系统信息流和数据流 C,所有功能 D,系统控制流和数据流 6.()和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整 A,数据流程图 B,E-R 图 C,数据字典 D,层次方框图 7.数据流图 DFD 中每个加工至少需要() A,一个输入流 B,一个输出流和一个输入流 C,一个输入或输出流 D,一个输出流 8.数据流图(DFD)是()方法中用于表示系统的逻辑模型的一种工具 A,SA B,SD C,SP D,SC 9.使用实体-联系图(ER 图)建立的概念性数据模型中包含 3 种互相关联的信息是() A,数据对象,属性,方法 B,数据对象,属性,联系 C,数据表,属性,联系 D,数
8、据表,实体,联系 10.模块的内聚性最高的是() A,逻辑内聚 B,时间内聚 C,过程内聚 D,功能内聚 第二题 判断题1.只要实行严格的产品控制就不用担心用户随意改需求。() 2.确认测试任务是根据软件需求规格说明书。测试软件系统是否满足用户的需求。() 73.需求分析阶段所生成的文档主要是进度计划和可行性研究报告。() 4.确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。()5.软件就是完成特定功能的程序集合。() 6.制定软件项目进度表的途经之一是软件项目开发组织根据项目和资源情况制定项目开发的初步计划和交付软件产品的日期。() 7.过程式程序设计语言的基本机制包括
9、:消息传送,数据类型定义,多态,子程序,控制程序。() 8.即使测试程序没有发现任何错误,也不能说明软件没有错误。() 9.只要完成了软件的测试工作,将软件产品交给用户,软件生命周期了。() 10.重构工程也称修复和改造工程,它是在逆向工程所的基础上修改成重构已有的系统,产生系统的一个新版本。()第三题 简答题1 提高可维护性的方法有哪些?2 面向对象分析有哪些启发性原则?第四题 应用题1 假设机票预定系统中有一个模块的程序代码如下,请画出该模块的程序流程图。BEGINT:=0IF(X=80ANDY=80)THENT:=1ELSEIF(X=90ANDY=75)THENT:=2ENDIFEND.
10、2 请用语句覆盖和条件组合覆盖两种测试方法设计出两套测试数据,用于测试问题 1 中你设计的程序。第五次作业第一题 选择题1.提高程序可读性的最有力手段是() A,使用三种标准控制结构 B,采用有实际意义的变量名 C,显示说明一切变量 D,给程序加注释 2.一般来说,在软件生命周期中成本最高的阶段是() A,详细设计 B,软件编码 C,软件测试 D,软件维护 3.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们() A,前者属于静态测试,后者属于动态测试 B,前者属于动态测试,后者属于静态测试 C,都属于静态测试 D,都属于动态测试4 面向对象分析是对系统进行()的一种方
11、法 A,需求建模 B,程序设计 C,设计评审 D,测试验收 85.汽车有一个发动机。汽车和发动机之间的关系是() A,继承关系 B,聚合关系 C,分类关系 D,主从关系 6.消息是对象间交互的手段,消息刺激接受对象产生某种行为,消息的构成有三部分:接受消息的对象,(),若干变元。 A,发出消息的对象 B,消息名 C,消息编号 D,发送时间 7.()是指用户只能见到对象界面上的信息,对象内部对用户是隐藏的 A,类 B,消息名 C,封装 D,对象 8.对象是 00 方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为() A,有形实体 B,作用 C,事件 D,性能说明 9.汽车有一
12、种叫货车。汽车和火车之间的关系是() A,继承关系 B,聚合关系 C,分类关系 D,主从关系 10()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的,外界只能通过有限的接口与对象发生联系 A,多态性 B,继承 C,封装 D,消息 第二题 判断题1. 在进行需求分析时同时考虑维护问题。 ( ) 2. 完成测试后,为缩短源程序长度而删去程序中的注释。 ( ) 3. 尽可能在软件开发过程中保证各阶段文档的正确性。 ( ) 4. 编码时尽可能使用全局变量。 ( ) 5.选择时间效率和空间效率尽可能高的算法。 ( ) 6.尽可能利用硬件的特点以提高效率。 ( ) 7.重视程
13、序结构的设计,使程序具有较好的层次结构。 ( ) 8.使用维护工具或软件工程环境。 ( ) 9.进行概要设计时尽可能加强模块间的联系。 ( ) 10. 提高程序可读性,尽可能使用高级语言编程。 ( )第三题 简答题1 决定软件可维护性的因素有哪些?2 软件维护的过程是什么?第四题 应用题1 画出下列伪码程序的程序流程图STARTIF p THENWHILE q DOfENDDOELSE9BLOCKgnENDBLOCKENDIFSTOP2 设计下列伪码程序的语句覆盖测试用例:STARTINPUT(A,B,C)/判定表达式 1IFA5THENX=10ELSEX=1ENDIF/判定表达式 2IFB10THENY=20ELSEY=2ENDIF/判定表达式 3IFC15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP