30. 软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证 31. 软件过程模型有多种,下列选项中,(C)不是软件过程模型。 A.螺旋模型 B.增量模型 C.行为模型 D.瀑布模型
32. 准确地解决“软件系统必须做什么”是(C)阶段的任务。 A.可行性研究 B.详细设计 C.需求分析 D.编码 33 下列哪个是RAD模型的优点(B)。
A.适用于可变需求B.开发速度快C.适用于高风险项目D.可用于超大规模软件项目开发 34. 瀑布模型是一种什么模型?(B)
A.风险驱动模型 B.线性开发模型C.增量模型 D.迭代模型 35. 下列哪个不属于软件的基础特征量?(D)
A. 软件规模 B.开发成本 C.开发期限 D.软件完整性 36. 软件需求分析应确定的是用户对软件的(A)。
A. 功能需求和非功能需求B. 性能需求C. 非功能需求D. 功能需求 37. 在软件开发中,(A)是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。
A.成本—效益分析B.可行性分析C.结构化分析D.软件需求分析 38. 瀑布模型的关键不足在于(D)。
A. 过于简单B. 各个阶段需要进行评审 C. 过于灵活D. 不能适应需求的动态变更 39. 下面说法正确的是(C )。
A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误
C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 40. 软件部件的内部实现与外部可访问性的分离,是指软件的(C)。 A、继承性B、共享性 C、封装性D、抽象性
41. 下面哪个不属于良好的人机界面设计原则?(B)
A. 系统的全部界面格式和风格一致B. 为不同的用户和功能提供一致的界面服务C. 力求用户输入量最少D. 具有帮助功能
42. 当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。 A判定表和判定树B盒图C流程图D关系图
43. 下面哪个不是基于抽象的软件设计原则?(C) A.里氏替换原则 B. 开-闭原则 C. 远离实现原则 D. 依赖倒转原则
44. 假设目标系统如下图的层次结构,对其按宽度优先顺序进行集成测试,正确的顺序是(B)。
abcdefghijkA. abehcfidgilmkB. abcdefghijklmC. abehcdfigjklmD. lmhijkefgbcda 45. 下列哪个阶段不是软件生存期三个阶段中的内容(C)。 A. 定义阶段B. 开发阶段C. 编码阶段D. 维护阶段 46. 模块的内聚性最高的是(D )
A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚
47 采用甘特图表示软件项目进度安排,下列说法中正确的是(D)
A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系 48. DFD中的每个加工至少需要(D)
A. 一个输入流B. 一个输出流C. 一个输入或输出流D. 一个输入流和一个输出流
lm精选
49. 下列关于功能性注释不正确的说法是( B)
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释
50. 需求规格说明书的作用不包括(C)
A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据
51. 为了克服软件危机,人们提出了用( D)的原理来设计软件,这就是软件工程诞生的基础。 A. 数学 B. 软件学 C. 运筹学 D. 工程学 52. 以下哪一项不是软件危机的表现形式(C )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差 C. 开发的软件价格便宜D. 开发的软件可靠性差
53. 结构化设计是一种面向( A)的设计方法。 A. 数据流B. 模块 C. 数据结构D. 程序 54. 与确认测试阶段有关的文档是( A)。
A. 需求规格说明书B. 概要设计说明书 C. 详细设计说明书D. 源程序 55 软件开发的需求活动,其主要任务是(D)。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型 56. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( A)。 A. 成本估算B. 项目计划C. 工程管理D. 工程网络图
57. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B )。 A. 隐藏复杂性B. 信息隐蔽 C. 经常类的复用D. 类的开发
58. 面向对象的主要特征除对象惟一性、封装、继承外,还有(A )。 A. 多态性B. 完整性 C. 可移植性D. 兼容性 59、软件是一种(C)
A、程序B、数据 C、逻辑产品D、物理产品
60、软件部件的内部实现与外部可访问性的分离,是指软件的(C)。 A、继承性B、共享性 C、封装性D、抽象性
61、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(C)的错误。
A、接口错误B、编码错误C、性能、质量不合要求D、功能错误 二、填空题
1由客户和用户在软件开发团队的管理下执行的测试称作B测试。
2“软件生命周期”理论将软件过程划分到软件开发的三个时期中,分别是软件定义时期、软件开发时期和___________。
3设银行年利率为i,假设n年后能收入F元,则当前的价值为_____________。
4数据流程图是一个分层的概念模型,分为三个层次,分别是总体图、实施图、细节图。 5数据字典定义了4种元素,分别是数据元素、数据字典、处理和数据文件或者数据库。 6时序图、协作图、状态图这些都属于UML中的行为建模图。
7一个软件项目中,对LOC进行估计,保守值为1000,最有可能值为800,乐观值为600,则可估计出期望值为800。
8数据流程图又称实施图,用来表示系统中的计算节点的拓扑结构和通信路径与节点上运行的软构件等。 9当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是数据耦合。 10数据流图中的箭头表示数据流。
11软件设计活动一般分为总体设计和详细设计,前者的目的是确定目标系统的总体结构,后者是在此基础上进一步精化。
12RUP模型将软件开发过程分为4个大的阶段,分别是先启、精化、构建和产品化。
精选
13由客户和用户在他们的工作现场进行的测试称作__________。 14软件设计活动一般分为总体设计和详细设计两个阶段。
15传统的结构化软件工程方法中,人们通过面向对象分析提高模块的抽象程度。 16依据模块的编码导出测试用例,这种测试称作测试用例。
17程序的三种基本控制结构包括顺序结构、选择结构和循环结构。 18在单元测试时,需要为被测模块设计驱动模块与桩模块。 19需求分析应交付的主要文档是需求规格说明。
20设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低耦合提高内聚。 21划分模块时尽量做到高低内聚耦合,保持模块的独立性。 22类的实例化是用类创建对象的过程。
23若年利率为i,现存入P元, n年后可得钱数为F=P×i×n+P 。
24在面向对象方法中,对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。 25类中操作的实现过程叫方法。
26在处理过程定义中,对于复杂的条件组合问题,用自然语言不能直观清楚地表述,因此常常使用判定表、判定树方法。
27软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护阶段。 28一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是顺序内聚。
29从结构化程序设计到面向对象,是程序设计方法的又一次飞跃。
30软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护阶段。 31数据流图的基本符号包括外部实体、数据处理、数据存储和数据流。 三.简答题
1. 什么是软件工程?
答: 是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。 2. 功能内聚和顺序内聚各有什么特点?哪一个的内聚程度更高?
答:顺序内聚指一个模块中各个处理元素都密切相关同一功能且必须顺序执行,前一功能的输出就是下一功能元素的输入。功能内聚是最高程度的内聚; 3. RUP模型的优点有哪些?
答:各个图之间的关系去看UML相关的书籍。目的很明显是用图形代替描述性的语言更加直观,容易参照和业务沟通。
4. 对系统进行抽象设计有哪些优点?
5. 传统的构架建模方法有哪些?传统的详细设计建模方法有哪些?面向对象的设计建模方法又有哪些?
(每种要求至少说出2种)
6. 数据字典与数据流程图和状态变迁图相比较有什么特点?它的基本元素有哪些?
答:数据流程图反映了系统的静态特征,状态变迁图反映了系统的动态特征。而它们都不能反映系统的具体细节。
数据字典能够进一步描述模型的细节。以数据字典为中心的建模方法能够相对完整精确地描述一个系统。数据字典的主要元素有:数据元素、数据流、处理和数据文件或者数据库。 7. 详细设计的任务是什么?具体包括哪些?
答:详细设计的任务是在软件构架的基础上,进一步确定如何实现目标系统,具体包括系
统的模块逻辑的详细设计、系统数据结构的设计、系统数据库结构的设计、系统人-机接口的设计。
8. 什么是白盒测试?白盒测试主要有哪几种测试技术?
答:白盒测试又称玻璃盒测试。使用白盒方法导出测试用例是依据模块的编码,即模块的内部逻辑,对测试者是可见的,故称白盒测试。白盒测试主要有基本途径测试、条件测试和循环测试等。 9. 软件开发有哪些特性? 10 增量模型有哪些优点?
精选
11 瀑布模型的主要缺陷是什么?
答:按照瀑布模型来开发软件,只有当分析员能够做出准确的需求分析时,才能够得到预期的正确结果。
12 类之间的关系有哪些?
13 什么是黑盒测试法?什么是白盒测试法?
答:黑盒测试是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程又称功能测试;也就是说,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接受输入数据产生正确的输出信息,并且保持外部信息的完整性。
白盒测试可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程又称结构测试;按照程序内部的逻辑测试程序,检验程序 中的每条通路是否都能按预定要求正确工作。 14软件实施活动就是编码吗?为什么?
15作为软件工程中的重要环节,软件配置管理的任务有哪些? 四.设计题
1分析如下DFD图,指出其中有哪些错误?
(1)父图的处理1没有输入流(2)子图的数据流B应为C(3)子图的数据流F多余
2假设一个数据库产品规范要求该产品能够处理从1到1000中间的任何数量的记录。请首先为其划分等价类,并利用等价类划分和边界值分析技术为其设计测试用例,并说明每个测试用例属于某等价类成员还是属于边界值或是邻接边界值。 等价类1:少于1个记录 等价类2:1到1000个记录 等价类3:多于1000个记录 测试用例1:0个记录 等价类1成员且邻接边界值 测试用例2:1个记录 边界值 测试用例3:2个记录 邻接边界值
测试用例4:100个记录 等价类2的成员 测试用例5:999个记录 邻接边界值 测试用例6:1000个记录 边界值
测试用例7:1001个记录 等价类3成员且邻接边界值 3.工资计算系统中的一个子系统有如下功能:
( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分—根据职工的出勤情况计算出奖励金;
( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额; ( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;
( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 试根据要求画出该问题的数据流程图。
精选
4一个考试录取统计分数子系统有如下功能:
(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图。
5阅读如下程序,说出该程序属于哪种耦合方式,为什么?并说明可以采用何种方式降藕。 public class Test{ public int calSum(Worker w) //Worker为类名{ int wLevel=w.getLevel(); int wSalary=w.getSalary(); //计算工人奖金收入等}.......}
这段程序存在印记耦合,因为该程序将类声明为了方法的参数类型。可采用接口或者简单参数类型的方法降藕。
6首先说出什么是基本途径测试,然后为以下程序流程图设计基本途径测试的测试用例,并标明路径。 基本途径测试是指覆盖基本途径集合的试验用例将使程序中的每条语句至少执行一次。 测试用例如下:x=3,y=0,z=3(覆盖x>2,y=0,x=3,z>1,通过路径abcde);
x=1,y=1,z=1(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。
精选