软件工程基础(汇总资料-本科课程) 联系客服

发布时间 : 星期二 文章软件工程基础(汇总资料-本科课程)更新完毕开始阅读b82a3922ccbff121dd368396

(4)设计测试用例以满足逻辑覆盖的判定覆盖标准。(3分) 附录:答案及评分标准

一.单项选择题(每小题1分,共22分) 1.(C)2.(D)3.(A)4.(D)5.(D) 6.(A)7、(D)8.(B)9.(A)10.(C) 11.(D)12.(C)13.(C)14.(A)15.(C) 16.(A)17.(C)18.(C)19.(A)20.(C) 21.(C)22.(D)

二.判断题(每小题2分,共24分) 1.对2.错3.错4.错5.对6.对 7.错8.对9.错10.对11.对12.错

三.填空题(每小题2分,共24分) 1.输出结果 2.模块 3.黑盒测试方法 4.数值耦合

5.确定软件的体系结构

6.数据流,数据处理,数据的源点/终点 7.自底向上或相反 8.事务分析设计 9.功能 10.深度

四.简答题(每小题5分,共10分)

1.衡量模块独立性的两个定性标准是什么(2分)?这两个标准的定义分别是什么(2分)?在我们的软件设计中,关于模块独立性我们追求的目标是什么(1分)? 答:衡量模块独立性的两个定性标准是内聚和耦合(2分)。

耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度。(2分)。

在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。 2.简述结构化程序设计方法的基本特点。(5分) 答:

1).是尽可能少用goto语句的程序设计方法;

2).每个代码块都单入单出;

3).使用控制结构:顺序、选择和循环+Do_UNTIL和Do_CASE; 4).自顶向下逐步求精。

五.应用题(每小题10分,共20分) 1.某旅馆的电话服务如下:(8分)

可以拨分机号码和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成,局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 答:

电话号码=[分机号|外线号码] 分机号=7201..7299

外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100..300

市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{0..9}4 2.略

一、判断题(每题2分,共30分)

1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)

2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(错)

3.JAVA语言编译器是一个CASE工具。(对)。

4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开

发实际上就是编写程序代码。(错)

5.软件模块之间的耦合性越弱越发。(对) 6.数据库设计说明书是一个软件配置项(对)

7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象

是生成类的模板。(错)

8.过程描述语言可以用于描述软件的系统结构。(错)

9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对)

11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度

的软件产品。(对) 审

2.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1) (1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用 3.以下哪一项不是软件危机的表现形式(3)

(1)成本高(2)生产率低(3)技术发展快(4)质量得不到保证 4.以下哪一项不是面向对象的特征(4)

(1)多态性(2)继承性(3)封装性(4)过程调用 5.面向对象模型主要由以下哪些模型组成(1)

(1)对象模型、动态模型、功能模型(2)对象模型、数据模型、功能模型(3)数据模12.集成测试主要由用户来完成。(错)

13.确认测试计划应该在可行性研究阶段制定(错)

14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 二。单选题(每题2分,共20分) 1.瀑布模型的关键不足在于(2)

(1)过于简单(2)不能适应需求的动态变更(3)过于灵活(4)各个阶段需要进行评

型、动态模型、功能模型(4)对象模型、动态模型、数据模型

6.软件可行性研究一般不考虑(4)

(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的

技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题

7.软件维护的副作用主要有以下哪几种(3)

(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作

用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用

8.软件项目计划一般不包括以下哪项内容(4)

(1)培训计划(2)人员安排(3)进度安排(4)软件开发标准的选择和制定 9.以下哪一项不属于面向对象的软件开发方法(3) (1)coad方法(2)booch方法(3)jackson方法(4)omt方法 10.以下哪种测试方法不属于白盒测试技术(2)

(1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试 三。简答题(每题5分,共25分) 1.分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有:

(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)

生产方式落后(5)开发工具落后(6)软件开发费用不断增加

1 个要点1分,只要答上5个要点得5分! 2.说明结构化程序设计的主要思想是什么?

答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单

入口、单出口来构造程序。(3分)

3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么?

答:(1)单元测试,测试对象对单元模块(2分)(2)集成测试,测试对象为组装后的

程序模块(2分)(3)确认测试,测试对象为可运行的目标软件系统(1分)

4.需求 分析与软件设计二个阶段任务的主要区别是什么?

答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分) 5.说明软件测试和调试的目的有何区别?

答:测试的目的是判断和发现软件是否有错误(2。5分)调试的目的是定位软件错误

并纠正错误。(2.5分)

软件工程期末复习试题

一、填空题

1. 软件工程学的内容可包括( )、结构、( )、( )、环境、管理、规范等。 2. 软件生存周期一般可分为问题定义、( )、( )、设计、( )、测试、运行与维护阶段。

3. 系统流程图是( )的传统工具。

4. 需求分析的基本任务是准确的回答( )。