广州大学2017-2018软件工程试卷A及答案

更新时间:2024-04-11 08:40:01 阅读量: 综合文库 文档下载

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

院、系领导 审批并签名

A 卷 广州大学 2017—2018 学年第 一 学期考试卷

课程 软件工程导论 考试形式(闭卷,考试)

学院 计算机科学与教育软件 班级 学号 姓名 题次 分数 评分 一 10 二 16 三 25 四 49 五 六 七 八 九 十 总分 评卷人 100 一、单选题(每小题1分,共25分,答案写在下表中)

1 11 21 2 12 22 3 13 23 4 14 24 5 15 25 6 16 7 17 8 18 9 19 10 20

1. 软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D )问题 A.产生危机 B.质量保证 C.开发效率 D.生产工程化

2. 瀑布模型将软件生命周期归纳为3个时期,即计划期、开发期和运行期。下列(D )不属于开发期内的工作。 A. 总体设计 B. 详细设计 C. 程序设计

(软件工程导论+36学时-- A 卷答案共7页/第1页)

D. 维护

3. 结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B )属于计划时期的任务。 A. 需求分析 B. 问题定义 C. 总体设计 D. 编码

4. 可行性研究要进行一次( C)需求分析。 A. 详细的 B. 全面的

C. 简化的、压缩的 D. 彻底的

5. 经济可行性研究的范围包括(C )。 A. 资源有效性 B. 管理制度 C. 效益分析 D. 开发风险

6. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B )的回答。 A. 确定 B. 行或不行 C. 正确 D. 无二义

7. 产生软件维护的副作用,是指(C )。 A. 开发时的错误 B. 隐含的错误

C. 因修改软件而造成的错误 D. 运行时错误操作

8. 软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及( B)。 A. 用户 B. 需求评审 C. 总结 D. 都不对

(软件工程导论+36学时-- A 卷答案共7页/第2页)

9. 软件开发的结构化分析方法,常用的描述软件工程需求的工具是(C ) A. 业务流程图、处理说明 B. 软件流程图、模块说明 C. 数据流程图、数据字典 D. 系统流程图、程序编码

10. 数据流图用于抽象描述一个软件的逻辑模型,数据流图由以写特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A ) A. 控制流 B. 加工 C. 数据存储 D. 数据流

11. 软件开发的结构生命周期法的基本假定是认为软件需求能做到(C ) A. 严格定义 B. 初步定义 C. 早期冻结 D. 动态改变

软件需求经过分析阶段后,通过软件需求说明书表示出来,后面的开发工作以此为基础进行,即假定软件需求确定后一般不再改变,即“早期冻结”。

12. 在结构化方法中,软件功能分解属于软件开发中的(C )阶段 A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试

13. 概要设计的结果是提供一份( A) A. 模块说明书 B. 框图 C. 程序 D. 数据流图

14. 耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B )方式

A. 内容耦合 B. 公共耦合 C. 控制耦合

(软件工程导论+36学时-- A 卷答案共7页/第3页)

D. 数据耦合

解释:耦合分为以下几种,按照耦合度由高到低排列是: 内容耦合——一个模块直接访问另一个模块的内容。 公共耦合——组模块都访问同一全局数据结构。 外部耦合——组模块都访问同一个数据项。

控制耦合——一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能。 15. 式 A. B. C. D.

内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C )方逻辑内聚

时间内聚 过程内聚 顺序内聚

逻辑内聚指模块把几种相关的功能组合在一起,每次调用时,由传送给模块的参数来确定该模块应完成哪一种功能;时间内聚是顺序完成一类相关功能;过程内聚指一个模块内的处理元素是相关的,而且必须以特定次序执行;顺序内聚是指一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常一个处理元素的输出数据作为下一个处理元素的输入数据。

16. (C )是指让一些关系密切的软件元素在物理上彼此靠近 A. 信息隐蔽 B. 内聚 C. 局部化 D. 模块独立

17. 模块本身的内聚是模块独立性的重要性度量因素之一。在下类内聚中,具有最强内聚的一类是( D) A. 顺序性内聚 B. 过程性内聚 C. 逻辑性内聚 D. 功能性内聚

(软件工程导论+36学时-- A 卷答案共7页/第4页)

18. A. B. C. D. 19. A. B. C. D. 20. A. B. C. D. 21. A. B. C. D. 22. A. B. C. D. 23. A. B. C. D. 24. A.

软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B )不具有其特征 书写大量文档 详细的界面表示 对数据流进行分析 冻结应用需求

软件设计中,可应用于详细设计的工具有(A ) 程序流程图、PAD、方框图和伪码 数据流程图、PAD、结构图和伪码 业务流程图、N-S图和伪码

程序流程图、PAD、N-S图和伪码

详细设计是软件总体设计后的工作。下列可选内容中,(D )不属于详细设计的内容。 算法设计 模块设计 界面设计 功能设计

程序的三种基本控制结构是( B) 过程、子过程和分程序

顺序、选择和循环(重复) 递归、堆栈和队列 调用、返回和转移

程序的三种基本控制结构的共同特点是( D) 不能嵌套使用

只能用来写简单程序 已经用硬件实现

只有一个入口和一个出口

判定树和判定表是用于描述结构化分析方法中(B )环节的工具 功能说明 数据加工 流程描述 性能说明

重新执行已经做过的部分测试的过程称为(C) 确认测试

(软件工程导论+36学时-- A 卷答案共7页/第5页)

B. C. D. 25. A. B. C. D.

集成测试 验证测试 回归测试

汽车有一个发动机。汽车和发动机之间的关系是( B)关系 一般具体 整体部分 分类 主从

二.简答题(30分)

1. 简述瀑布等各种模型的优缺点和适用范围(12分)

优点

缺点

适用范围 适用于需

1.顺序性和阶段性

1.完全依赖文档 品不满足用户需求

求明确和过程很少变化

瀑布模型 2.可强迫开发人员采用2.可能导致最后的产全面,开发规范方法

1.可得到良好需求定义,可适应需求的变

快速原型

2.有利于开发与培训的同步

3.方便与用户沟通

1.设计困难 2.缺乏总体质量和可维护性

适用大部分场景

1.人员分配灵活

增量模型

1.具有不能集成的风适用于进

行已有产新版本开发

1.需丰富的风险评估1.设计灵活,可变更

经验和专门知识

2.客户参与各阶段开

2.增加开发成本,延

迟提交时间 1.开发效率高 2.快速响应变化

1.不适合大型项目

适合大规模的软件项目 适用于小型项目

2.逐步向用户交付产险 适应

结构开放

品,方便用户学习和2.架构设计要求高,品升级或

螺旋模型

敏捷开发模型

(软件工程导论+36学时-- A 卷答案共7页/第6页)

1.各阶段无明显界

喷泉模型

限,开发同步 2.提高开发效率

1.需要大量开发人员 2.要求严格管理文档

适用于面向对象的软件开发过程

2. 可行性研究报告的主要任务有哪些?(4分)

答:1、最根本任务是对以后的行动方针提出建议 2、进一步分析和澄清问题定义

3、澄清了问题定义之后,分析员应该导出系统的逻辑模型 4、探索若干种可供选择的主要解法

3. 简述软件需求的组成,并说明每种组成的含义(4分)

业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,他们在项目视图与范围文档中予以说明

用户需求:文档描述了用户使用产品必须要完成的任务,这在使用实例文档或文案脚本说明中予以说明

功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求

4. 简述总体设计的过程(4分) 答:1、设想可供选择的方案 2、选取合理的方案 3、推荐最佳方案 4、功能分解 5、设计软件结构 6、设计数据库 7、制定测试计划 8、书写文档 9、审查和复查

5. 软件交付有几种方式?对比优缺点,你觉得实际中应使用何种方式?(6分)

a) 直接方式

i. 直接用新系统代替旧系统,没有过度 ii. 转换简单,费用少 iii. 风险大 b) 并行方式

i. 并不立即投入使用而是同时运行新系统和旧系统,比较处理结果

(软件工程导论+36学时-- A 卷答案共7页/第7页)

ii. 可以对系统进行全面测试,减少新系统失灵带来的风险,因为旧系统仍然存

iii. 所需费用较高,双系统要投入更多的人力财力 c) 逐步方式

i. 将软件分期, 部分地交付使用,克服了上面两种方式的缺点,技能防止直

接转换产生的危险性,又能减少并行方式

ii. 但是这种方式使整个系统中一部分是旧系统,一般部分是新系统,要考虑好

互相配合和接口问题.

实际中应使用逐步方式。

三、计算题(10分)

用五种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖,分别对下面的控制流图设计测试用例

1、语句覆盖

用例设计:

1 X 50 Y 50 路径 OBDE

(软件工程导论+36学时-- A 卷答案共7页/第8页)

2

2、判定覆盖 用例设计:

90 70 OBCE 1 2 3 X 90 50 90 Y 90 50 70 路径 OAE OBDE OBCE

3、条件覆盖 用例设计:

1 2 X 90 40 Y 70 70 路径 OBC OBD

4、判定/条件覆盖 用例设计:

1 2 3 4 X 90 50 90 70 Y 90 50 70 90 路径 OAE OBDE OBCE OBCE

5、组合覆盖

(软件工程导论+36学时-- A 卷答案共7页/第9页)

用例设计:

1 2 3 4 5 6 7 X 90 90 90 70 30 70 50 Y 90 70 30 90 90 70 50 路径 OAE OBCE OBDE OBCE OBDE OBDE OBDE

6、路径覆盖 用例设计:

1 2 3 4 X 90 50 90 70 Y 90 50 70 90 路径 OAE OBDE OBCE OBCE

四、设计题(35分)

实现学生管理系统的系统化、规范化和自动化。

主要功能:

(1) 基本数据管理:包括院系管理,专业管理(设置院系下面的专业),班级管理(设

置专业下面的班级),课程管理(设置相应专业下面的课程)

(2) 学生信息管理:包括基本信息录入、基本信息修改 (3) 学生成绩管理:包括学生成绩录入、学生成绩修改

(4) 信息查询:包括基本信息查询、成绩信息查询、学校人数统计 (5) 系统管理:用户管理、数据备份和系统帮助

(软件工程导论+36学时-- A 卷答案共7页/第10页)

参考的主要数据表结构: 院系信息(院系代码,院系名称) 院系专业信息(班级、院系代码,专业)

学生基本信息(班级,学号,姓名,性别,出生年月,籍贯,政治面貌,身份证号,入学年月,家庭地址,邮政编码,图片信息,备注)

学生成绩表(班级,学号,课程名称,成绩,学期,备注) 用户信息表(用户名,密码,用户标识)

题目:1、对学生管理系统进行分析:(设计用例图)(10分)

2、分析学生选课的业务流程,画出活动图(10分)

3、完成学生管理系统的数据库设计(E-R图、表)(15分)

【B卷】

(D)工具在软件详细设计过程中不采用 A. 判定表 B. IPO图 C. PDL D. DFD图

程序流程图(PDF)中的箭头代表的是(B) A. 数据流 B. 控制流 C. 调用关系 D. 组成关系

下列工具中为需求分析常用工具是(D) A. PAD B. PFD C. N-S D. DFD

需求分析中的常用工具有PAD、PFD及N-S等,而DFD(数据流图)为结构化分析工具。

程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(A) A. 支持逐步求精 B. 考虑控制流程

C. 遵守结构化设计原则

(软件工程导论+36学时-- A 卷答案共7页/第11页)

D. 数据结构表示

程序流程图是一种传统的程序设计表示工具,使用该工具时应注意支持逐步求精。 相关知识点: 流程图的缺点是本质上不支持逐步求精:流程图中的流线转移方向任意;可能破坏单入、单出程序结构;不适于表示数据结构和模块调用关系;对于大型软件而言过于琐碎,不易阅读和修改。

(软件工程导论+36学时-- A 卷答案共7页/第12页)

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

Top