广东海洋大学软件工程考试试卷

更新时间:2023-10-08 07:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

班级: 姓名密 : 学 号 :封 试 题 共线 4 页 加白纸 2 张

GDOU-B-11-302

广东海洋大学20 —— 20 学年第二学期

《软件工程》课程试题评分标准

□ 考试

□ A卷

√ 闭卷

课程号: 16552108 √ 考查 √ B卷 □ 开卷 题 号 一 二 三 四 五 六 总分 阅卷教师 各题分数 20 20 10 15 25 10 100 实得分数 一、 填空题(每空1分,共20分)

1、到目前为止,软件生产的发展经过了三个阶段即程序设计时代、程序系统时代、软件工程时代。

2、典型的可行性研究有下列步骤:系统定义、__分析问题___、__提出解法_____、设计方案、推荐可行的方案和编写可行性研究报告。

3、数据字典就是用来定义数据流图中的_所有元素___。它和数据流图共同构成了系统的_高层逻辑模型___。

4、软件设计是一个把__系统需求___转换为___实现方案____的过程,包括__总体设计___和___详细设计____。

5、软件产品在交付使用之前一般要经过以下四步测试_____单元测试_________、____集成测试_______、____确认测试________和____系统测试______。

6、提高软件可维护性的方法有建立明确的软件质量目标、使用先进的软件开发技术和工具、建立明确的质量保证、选择可维护的语言、改进程序的文档。 二、 选择题(每小题2分,共20分)

1、软件生命周期模型有多种,下列选项中,( C )不是软件生命周期模型。 A、螺旋模型 B、增量模型 C、功能模型 D、瀑布模型

2、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( B )。

A、组织与管理 B、分析与估算 C、设计与测试 D、规划与调度 3、在数据流图中,有名字及方向的成分是( C )。

第 1 页 共 34 页

A、控制流 B、信息流 C、数据流 D、信号流

4、将几个逻辑上相似的成分放在一个模块中,该模块的内聚程度是( A )的。 A、逻辑性 B、瞬时性 C、功能性 D、通信性

5、在对数据流的分析中,主要是找到变换中心,这是从( C )导出结构图的关键。 A、数据结构 B、实体关系 C、数据流图 D、E-R图 6、下面( C )不是对象具有的特性。

A、标识 B、继承 C、顺序 D、多态性 7、与选择编程语言无关的因素是( A )。 A、软件开发的方法 B、软件执行的环境 C、用户需要 D、软件开发人员的知识 8、白盒测试是从( A )观点的测试。 A、开发人员 B、管理人员 C、用户 D、其他

9、软件工程对维护工作的主要目标是提高软件的可维护性,降低( D )。 A、维护的效率 B、维护的工作量 C、文档 D、维护的代价

10、软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( A )。 A、工程管理 B、成本核算 C、人员培训 D、工具开发 三、 判断题(对的画“√”,错的画“×”,每小题1分,共10分)

1、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。 ( × ) 2、软件错误可能出现在开发过程的早期,越早修改越好。 ( √ ) 3、不完善的系统定义往往是导致软件项目失败的主要原因。 ( √ ) 4、一个成功的项目唯一提交的就是运行程序。 ( × ) 5、只有质量差的软件产品才需要维护。 ( × ) 6、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。 ( × ) 7、一个好的测试用例在于能发现至今未发现的错误。 ( √ ) 8、面向对象的分析是面向计算机系统建立软件系统的对象模型。 ( × ) 9、软件工作的考虑范围主要是程序设计和实现。 ( × )

第 2 页 共 34 页

10、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。 ( √ ) 四、 名词解释(每小题3分,共15分) 1、软件生命周期

答:软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。 2、结构程序设计

答:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 3、α测试

答:指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。 4、软件再工程

答:对现存的大量软件系统进行挖掘、整理以得到有用的软件构件,或对已有软件构件进行维护以延长其生存期。 5、软件建模

答:将所要设计的结构和系统的行为融汇贯通,对系统的体系结构进行可视化和控制,化解复杂性的问题,有效地管理开发风险,从而开发出高品质的软件。 五、 问答题(每小题5分,共25分) 1、简述事物流的设计步骤。

答:由事务流映射成的软件结构包括一个接收分支和一个发送分支。 接收分支:从事务中心的边界开始,把沿着接收流通路的处理映射成模块。 发送分支:包含一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。

2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) {

第 3 页 共 34 页

int k=0;

for ( int j=1; j

if ( datalist[j] > datalist[k] ) k=j; return k; }

(1) 画出该程序的控制流图,并计算其McCabe环路复杂性。 (2) 用基本路径覆盖法给出测试路径。 (3) 为各测试路径设计测试用例。 答:(1)控制流图如右图所示,McCabe环路复杂性为3。 (2)测试路径: Path1: ①→③

Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:

Path1: 取n=1,datalist[0] = 1, 预期结果:k=0

Path2: 取n=2,datalist[0] = 0,datalist[1] = 1, 预期结果:k=1

Path3: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0

3、面向对象方法是如何支持软件复用的?

答:(1)对象具有封装性和信息隐蔽等特性,使其容易实现软件复用。(2)对象类可以派生出新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软构件复用。(3)面向对象程序设计语言的开发环境一般预定义了系统动态连接库,提供了大量公用程序代码,避免重复编写,提高了开发效率和质量。

4、对整个系统而言,其功能、静态结构、动态行为和物理架构分别由UML中什么图

第 4 页 共 34 页

来描述?

答:功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。 5、指出时序图中各符号的含义。

答: (接收消息的对象)

(发送消息的对象) (回调消息)

(消息) (生命线)

(控制焦点)

六、 案例分析题(共10分)

某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。试用用例图描述该系统与外部用户的交互情况。 答:

学生课程注册系统<><><>学生登录注册管理员维护教师信息维护学生信息查询成绩单<><>注册课程维护课程信息<><><><>选择课程<>登记成绩教师

第 5 页 共 34 页

7、好的测试用例应能证明软件是正确的。 ( × ) 8、白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 ( √ ) 9、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。 ( √ ) 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。 ( × ) 三十八、 名词解释(每小题3分,共12分) 1、软件工程

答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 2、结构化维护

答:采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档。 3、对象

答:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。 4、软件项目管理

答:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。 三十九、 问答题(共22分)

1、下面是一段求最小值的程序,其中datalist是数据表,n是datalist的长度。 int GetMin(int n, int datalist[ ]) {

int k=0;

for ( int j=1; j

if ( datalist[j] < datalist[k] ) k=j; return k; }

(1) 画出该程序的流程图。(6分)

第 31 页 共 34 页

(2) 用基本路径覆盖法给出测试路径。(3分) (3) 为各测试路径设计测试用例。(3分) 答:(1)流程图如右所示: (2)测试路径: Path1: ①→③

Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:

Path1: 取n=1,datalist[0] = 1, 预期结果:k=0

Path2: 取n=2,datalist[0] = 0,

datalist[1] = 1, 预期结果:k=1

Path3: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0

2、面向对象方法是如何支持软件复用的?(5分)

答:(1)对象具有封装性和信息隐蔽等特性,使其容易实现软件复用。(2)对象类可以派生出新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软构件复用。(3)面向对象程序设计语言的开发环境一般预定义了系统动态连接库,提供了大量公用程序代码,避免重复编写,提高了开发效率和质量。

3、将下列各对事物之间的关系(继承、聚集或关联)写在括弧内。(5分) (1)小汽车——富康牌小汽车 ( 继承 ) (2)人员——雇员 ( 继承 ) (3)图书馆——期刊阅览室 ( 聚集 ) (4)书——图书馆馆员 ( 一般关联 ) (5)小汽车——司机 ( 聚集 ) 四十、案例分析题(每小题8分,共16分)

第 32 页 共 34 页

1、银行计算机储蓄系统

工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率及密码(可选)等信息,并打印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。

要求:用数据流图描绘本系统的功能。 答:

存款单1记录存款信息存款信息存款信息2打印存款信息存款存单储户

2、牙科诊所管理系统

储户D1 存款信息取款单存款信息利息清单3核对密码存款信息4计算利息利息值5打印利息清单王大夫在小镇上开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待员。王大夫需要一个软件系统来管理预约。

当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。系统将核实病人的名字并提供记录的病人数据,数据包括病人的病历号等。在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果必要的话会安排病人下一次再来。

系统能够按病人姓名和按日期进行查询,能够显示记录的病人数据和预约信息。

接待员可以取消预约,可以打印出前两天预约尚未接诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关系所有病人的每天和每周工作安排。

第 33 页 共 34 页

要求:建立牙科诊所管理系统的用例模型。 答:

1*牙医1打印工作安排*取消预约<>11*11*查询预约*职员*更新预约<><>访问预约登记表<><>牙科诊所管理系统<>完成预约访问病人记录第 34 页 共 34 页

2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A. 固有的 B. 人为的 C. 可消除的 D. 不可降低的 3.软件测试是为了( B )而执行程序的过程。

A. 纠正错误 B. 发现错误 C. 避免错误 D. 证明正确 4.用于软件维护的费用占软件总费用的( C )。

A.35%~50% B.45%~60% C.55%~70% D. 65%~80% 5.下列内聚中内聚程度最高的是( D )。

A.逻辑内聚 B.过程内聚 C.顺序内聚 D.功能内聚

6.按照Miller法则,一个人在任何时候都只能把注意力集中在( C )个知识块上。 A. 3±2 B. 5±2 C. 7±2 D. 9±2

7.下列程序流程图的标准符号中,表示数据输入输出的是( A )。 A. B. C. D. 8.右边所示的流图的环形复杂度为( A )。 A. 4 B. 5 C. 6 D. 7

9.在软件维护中,维护工作量比例最大的是( C )。 A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护

10.使用条件路径选择进行白盒测试时,对于嵌套型分支结构,若有n个判定语句,则需要( C )个测试用例。 A. n-1 B. n C. n+1 D. 2n

二十六、 判断题(对的画“√”,错的画“×”,每小题1分,共10分) 11.文档是软件产品的一部分,没有文档的软件就不称其为软件。 (√ ) 12.建立用例模型的步骤包括确定角色、确定用例和绘制用例图。 (× ) 13.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(√ ) 14.面向对象的分析是面向计算机系统建立软件系统的对象模型。 (× ) 15.软件错误可能出现在开发过程的早期,越早修改越好。 (√ )

第 21 页 共 34 页

16.一个成功的项目唯一提交的就是运行程序。 (× ) 17.只有质量差的软件产品才需要维护。 (× ) 18.瀑布模型是一种文档驱动的模型。 (√ ) 19.UML是一种方法。 (× ) 20.在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成本。(√ ) 二十七、 名词解释(每小题4分,共20分) 6. 软件危机

答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 7. 软件工程

答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 8. β测试

答:指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本(经过α测试调整的软件产品),并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善。 9. UML

答:UML即统一建模语言,是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言。 10.软件项目管理

答:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。 二十八、 问答题(每小题6分,共30分) 6. Jackson图和层次图有何区别?

答:(1)层次图中的一个方框通常代表一个模块;而Jackson图中的一个方框通常只代表几个语句。(2)层次图表现的是调用关系;而Jackson图表现的是组成关系,即

第 22 页 共 34 页

一个方框中包括的操作仅仅由它下层框中的那些操作组成。

7. 一个程序计算任何一个在1~1000内整数的平方数,那么其输入项的等价类应如何划分? 答:

8. 面向对象方法是如何支持软件复用的?

答:(1)对象具有封装性和信息隐蔽等特性,使其容易实现软件复用。(2)对象类可以派生出新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软构件复用。(3)面向对象程序设计语言的开发环境一般预定义了系统动态连接库,提供了大量公用程序代码,避免重复编写,提高了开发效率和质量。 9. 系统的静态结构和动态行为分别由UML中哪些图进行描述?

答:静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述。

10.指出下列时序图中各符号的含义。

(6)

(1) (2) (5) (3)

(4)

答:(1)发起交互的对象(2)回调消息(3)生命线(4)控制焦点(5)消息 (6)接收消息的对象

第 23 页 共 34 页

班级: 姓名密 : 学 号 :封 试 题 共线 页 加白纸 张

GDOU-B-11-302

广东海洋大学20 —— 20 学年第二学期

《软件工程》课程试题评分标准

考试

√ A卷

√ 闭卷

课程号: 16552108 □√ 考查 □ B卷 □ 开卷 题 号 一 二 三 四 五 六 总分 阅卷教师 各题分数 20 20 10 15 25 10 100 实得分数 二十九、 填空题(每空1分,共20分)

1、可行性研究需要从_技术_可行性、_经济_可行性、_社会_可行性、_操作_可行性四个方面分析研究每种解决方法的可行性。

2、数据流图有四个基本成分:_数据流_、_数据处理(加工)_、_数据存储_、_外部实体(数据源点和终点)_。

3、软件结构的设计是以_模块__为基础的,以需求分析的结果为依据,从实现的角度进一步划分为__模块__,并组成模块的__层次结构__。

4、程序流程图又称为_程序框图_,应由_三种基本控制结构__顺序组合和完整嵌套而成,不能有__相互交叉__的情况,这样的流程图是__结构化__的流程图。

5、“面向对象”是把一组对象中的数据结构和行为_紧密地_结合在一起组织系统的一种策略,传统的思想是将数据结构和行为_松散地_连接在一起。

6、软件维护的内容有_改正性_维护、_适应性_维护、完善性_维护、预防性维护四种。 三十、选择题(每小题2分,共20分) 1、软件是一种( B )产品。

A、有形 B、逻辑 C、物质 D、消耗

2、在软件生命周期中,用户主要是在( A )参与软件开发。 A、软件定义期 B、软件开发期

C、软件维护期 D、整个软件生命周期过程中

3、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D )。

第 24 页 共 34 页

A、工作阶段间的等待时间 B、生产原型的复杂性 C、参与人员所需的工作站数 D、参与人员之间的通信困难 4、进行需求分析可使用多种工具,但( C )是不适用的。 A、数据流图 B、判定表 C、PAD图 D、数据字典

5、软件设计一般分为总体设计和详细设计,它们之间的关系是( A )。 A、全局与局部 B、抽象与具体 C、总体与层次 D、功能与结构 6、一个( C )能用不同的方法表示它的特征。 A、事件 B、抽象 C、状态 D、脚本 7、不适合作为数据处理的语言是( A )。

A、Prolog B、C语言 C、4GL D、SQL语言 8、黑盒测试是从( D )观点的测试。 A、管理人员 B、管理人员

C、用户、开发人员 D、开发人员、用户

9、软件工程对维护工作的主要目标是提高软件的可维护性,降低( D )。 A、维护的效率 B、维护的工作量 C、文档 D、维护的代价

10、软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( A )。 A、工程管理 B、成本核算 C、人员培训 D、工具开发 三十一、 判断题(对的画“√”,错的画“×”,每小题1分,共10分) 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。 (√) 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。 (×) 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 (×) 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。 (×) 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。 (×) 6、软件配置管理是一组标识、组织和控制修改源程序的活动。 (×) 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。 (×)

第 25 页 共 34 页

8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(√) 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。 (√) 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。 (×) 三十二、 名词解释(每小题3分,共15分) 1、软件危机

答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 2、软件工程

答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 3、β测试

答:指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本(经过α测试调整的软件产品),并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善。 4、结构化维护

答:采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档。对这样的软件进行的维护活动叫结构化维护。 5、软件项目管理

答:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。 三十三、 问答题(每小题5分,共25分) 1、简述变换流的设计步骤。

答:确定数据流图中的变换中心、逻辑输入和逻辑输出;设计软件结构的顶层和第一层;设计中、下层模块;设计优化。

2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ])

第 26 页 共 34 页

{

int k=0;

for ( int j=1; j

if ( datalist[j] > datalist[k] ) k=j; return k; }

(1) 画出该程序的控制流图,并计算其McCabe环路复杂性。 (2) 用基本路径覆盖法给出测试路径。 (3) 为各测试路径设计测试用例。 答:(1)控制流图如右图所示,McCabe环路复杂性为3。 (2)测试路径: Path1: ①→③

Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:

Path1: 取n=1,datalist[0] = 1, 预期结果:k=0

Path2: 取n=2,datalist[0] = 0,datalist[1] = 1, 预期结果:k=1

Path3: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0

3、为什么说面向对象方法对需求变化有较好的适应性?

答:面向对象的封装机制使开发人员可以把最稳定的部分(即对象)作为构筑系统的基本单位,而把容易发生变化的部分(即属性与操作)封装在对象之内;对象之间通过接口联系,使得需求变化的影响尽可能地限制在对象内部。

4、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写

第 27 页 共 34 页

在下列描述的( )中。

① 用例及其协作之间是( 关联 )关系。

② 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是( 依赖 )关系。

③ 类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( 聚合 )关系。

④ 在MFC类库中,Window类和DialogBox类之间是( 泛化 )关系。 ⑤ 森林和树木之间是( 实现 )关系。

5、对整个系统而言,其功能、静态结构、动态行为和物理架构分别由UML中什么图来描述?

答:对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。 三十四、 案例分析题(共10分)

某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。试用用例图描述该系统与外部用户的交互情况。 答:

<><><>学生登录注册管理员维护教师信息维护学生信息查询成绩单<><>学生课程注册系统注册课程维护课程信息<><><><>选择课程<>登记成绩教师

第 28 页 共 34 页

班级: 姓名密 : 学 号 :封 试 题 共线 4 页 加白纸 2 张

GDOU-B-11-302

广东海洋大学20 —— 20 学年第二学期

《软件工程》课程试题评分标准

□ 考试

□ A卷

√ 闭卷

课程号: 16552108 √ 考查 √ B卷 □ 开卷 题 号 一 二 三 四 五 六 总分 阅卷教师 各题分数 20 20 10 12 22 16 100 实得分数 三十五、 填空题(每空1分,共20分)

1、软件生命周期由_软件定义、软件开发和运行维护_3个时期组成。

2、数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型:___一对一____、__一对多_____和__多对多____。

3、模块的独立程度可以由__内聚____和___耦合____两个定性标准度量。

4、软件产品在交付使用之前一般要经过以下四步测试_____单元测试_________、____集成测试_______、____确认测试________和____系统测试______。 5、Pareto原理:测试发现的错误中的80%很可能是由程序中__20__%的模块造成的。 6、软件可靠性指程序在给定的__时间间隔____,按照规格说明书的规定成功地运行的概率;而软件的可用性指程序在给定的_____时间点____,按照规格说明书的规定,成功地运行的概率。

7、封装使对象形成两个部分:___接口______和___实现_____。

8、发现和定义系统中的对象类是在用例模型的基础上,识别___实体类_______、___边界类_______和____控制类________。 三十六、 选择题(每小题2分,共20分)

1、软件生命周期模型有多种,下列选项中,( C )不是软件生命周期模型。 A、螺旋模型 B、增量模型 C、功能模型 D、瀑布模型

2、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( B )。

A、组织与管理 B、分析与估算 C、设计与测试 D、规划与调度

第 29 页 共 34 页

3、将几个逻辑上相似的成分放在一个模块中,该模块的内聚程度是( A )的。 A、逻辑性 B、瞬时性 C、功能性 D、通信性

4、在对数据流的分析中,主要是找到变换中心,这是从( C )导出结构图的关键。 A、数据结构 B、实体关系 C、数据流图 D、E-R图 5、下列内聚中内聚程度最高的是( D )。

A.逻辑内聚 B.过程内聚 C.顺序内聚 D. 功能内聚 6、下面( C )不是对象具有的特性。

A、标识 B、继承 C、顺序 D、多态性 7、与选择编程语言无关的因素是( A )。 A、软件开发的方法 B、软件执行的环境 C、用户需要 D、软件开发人员的知识

8、黑盒测试是从_________观点的测试,白盒测试是从__________观点的测试。( C ) A、开发人员、管理人员 B、用户、管理人员 C、用户、开发人员 D、开发人员、用户

9、使用条件路径选择进行白盒测试时,对于嵌套型分支结构,若有n个判定语句,则需要( C )个测试用例。 A. n-1 B. n C. n+1 D. 2n

10、在软件维护中,维护工作量比例最大的是( C )。

A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 三十七、 判断题(对的画“√”,错的画“×”,每小题1分,共10分)

1、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。 ( × ) 2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( × ) 3、不完善的系统定义往往是导致软件项目失败的主要原因。 ( √ ) 4、一个成功的项目唯一提交的就是运行程序。 ( × ) 5、只有质量差的软件产品才需要维护。 ( × ) 6、模型是对现实的简化,建模是为了更好地理解所开发的系统。 ( √ )

第 30 页 共 34 页

本文来源:https://www.bwwdw.com/article/5pud.html

Top