资源描述
2025年大学工学(软件工程导论)试题及答案
(考试时间:90分钟 满分100分)
班级______ 姓名______
第I卷(选择题 共40分)
答题要求:每题只有一个正确答案,请将正确答案的序号填在括号内。(总共20题,每题2分,每题给出的选项中,只有一项是符合题目要求的)
1. 软件工程的三要素不包括以下哪一项?( )
A. 方法 B. 工具 C. 过程 D. 环境
2. 软件生命周期中花费最多时间的阶段是( )
A. 需求分析 B. 软件设计 C. 软件编码 D. 软件维护
3. 以下哪种软件开发模型强调软件开发过程的迭代和演进?( )
A. 瀑布模型 B. 快速原型模型 C. 增量模型 D. 敏捷开发模型
4. 软件需求规格说明书的作用不包括( )
A. 软件验收的依据 B. 用户与开发人员对软件要做什么的共同理解
C. 软件可行性研究的依据 D. 软件设计的依据
5. 以下不属于面向对象程序设计的特点的是( )
A. 封装 B. 继承 C. 多态 D. 过程化
6. 软件设计中划分模块的一个准则是( )
A. 低内聚低耦合 B. 高内聚低耦合
C. 低内聚高耦合 D. 高内聚高耦合
7. 软件测试的目的是( )
A. 证明软件的正确性 B. 发现软件的错误
C. 评估软件的性能 D. 改进软件的质量
8. 黑盒测试方法不包括( )
A. 等价类划分 B. 边界值分析 C. 基本路径测试 D. 决策表法
9. 以下关于软件维护的说法正确的是( )
A. 软件维护就是修复软件中的错误
B. 软件维护主要是对软件进行优化
C. 软件维护贯穿软件生命周期的全过程
D. 软件维护只在软件交付后才进行
10. 软件项目管理中,用于估算软件项目工作量的方法是( )
A. 功能点估算 B. 代码行估算 C. 经验估算 D. 以上都是
11. 以下哪种软件过程模型适用于需求明确、稳定的项目?( )
A. 瀑布模型 B. 快速原型模型 C. 增量模型 D. 敏捷开发模型
12. 软件需求分析阶段的主要任务不包括( )
A. 确定软件的功能需求 B. 确定软件的性能需求
C. 确定软件的运行环境 D. 确定软件的开发成本
13. 面向对象分析的主要任务不包括( )
A. 建立对象模型 B. 建立动态模型 C. 建立功能模型 D. 建立数据模型
14. 软件设计中,总体设计的主要任务是确定软件的( )
A. 模块划分 B. 算法设计 C. 数据结构设计 D. 程序流程设计
15. 以下关于软件测试策略的说法错误的是( )
A. 先进行集成测试,再进行单元测试
B. 先进行白盒测试,再进行黑盒测试
C. 先进行静态测试,再进行动态测试
D. 先进行功能测试,再进行性能测试
16. 软件维护的类型不包括( )
A. 改正性维护 B. 适应性维护 C. 预防性维护 D. 创新性维护
17. 软件项目计划中,不包括以下哪项内容?( )
A. 项目进度计划 B. 项目质量计划 C. 项目人员计划 D. 项目财务计划
18. 以下关于敏捷开发的说法错误的是( )
A. 强调快速响应变化 B. 采用迭代式开发
C. 团队成员之间沟通频繁 D. 不需要编写文档
19. 软件需求规格说明书通常采用的格式是( )
A. 自然语言 B. 结构化语言 C. 形式化语言 D. 以上都可以
20. 软件设计中,详细设计的主要任务是确定每个模块的( )
A. 算法和数据结构 B. 接口设计 C. 功能实现 D. 测试用例
第II卷(非选择题 共60分)
21. (10分)简述软件工程的定义和目标。
22. (10分)请说明软件生命周期包含哪几个阶段,并简要描述每个阶段的主要任务。
23. (10分)对比瀑布模型和敏捷开发模型的优缺点。
24. (15分)阅读以下材料:
某软件公司计划开发一款在线教育平台,该平台需要实现课程展示、学生报名、在线学习、作业提交与批改等功能。请根据上述需求,完成以下任务:
(1)进行软件需求分析,列出主要的功能需求和非功能需求。
(2)设计该平台的总体架构,包括主要模块及其功能。
25. (15分)阅读以下材料:
在软件开发过程中,测试团队发现了一个严重的软件缺陷,导致系统在特定情况下崩溃。开发团队经过分析,确定了缺陷的原因是代码中的一个逻辑错误。请根据上述情况,回答以下问题:
(1)简述软件缺陷的定义和分类。
(2)说明开发团队应该采取哪些措施来修复这个缺陷,并描述修复缺陷的过程。
答案:1. D 2. D 3. D 4. C 5. D 6. B 7. B 8. C 9. C 10. D 11. A 12. D 答案:三、13. D 14. A 15. A 16. D 1答案:7. D 18. D 19. D 20. A 21. 软件工程是指导计算机软件开发和维护 的一门工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。目标是生产出具有正确性、可用性以及开销合宜的软件产品。 22. 软件生命周期包括可行性研究与计划、需求分析、软件设计、软件编码、软件测试、软件维护。可行性研究与计划:确定软件开发项目的可行性,制定项目开发计划。需求分析:确定软件的功能、性能、数据等需求。软件设计:包括总体设计和详细设计,确定软件的架构和模块划分等。软件编码答案::实现软件的代码。软件测试:发现软件中的错误。软件维护:对软件进行修改和完善。 23. 瀑布模型优点:阶段明确,文档驱动,适合需求稳定的项目。缺点:风险后置,不适应需求变化。敏捷开发模型优点答案::快速响应变化,迭代开发,团队沟通协作好。缺点:文档相对较少,对团队成员要求高。 24. (1)功能需求:课程展示(包括课程信息、章节内容等)、学生报名(填写个人信息、选择课程等)、在线学习(视频播放、互动交流等)、作业提交与批改(学生提交作业,教师批改)。非功能需求:系统响应时间快、稳定性高、安全性好等。(2)总体架构:用户模块(负责用户注册、登录等)、课程模块(管理课程信息)、学习模块(支持在线学习)、作业模块(处理作业提交与批改)、后台管理模块(管理系统数据等)。 25. (1)软件缺陷是指存在于软件之中的不希望或不可接受的偏差。分类:功能缺陷、性能缺陷、可靠性缺陷、兼容性缺陷等。(2)措施:先进行缺陷定位,确定具体代码位置;然后修改代码,进行测试验证,确保缺陷修复,最后进行回归测试,防止引入新问题。修复过程:分析缺陷原因,编写修复代码,进行单元测试,集成测试,确认修复成功。
展开阅读全文