国开搜题
想要快速找到正确答案?
立即关注 国开搜题微信公众号,轻松解决学习难题!
作业辅导
扫码关注
论文指导
轻松解决学习难题!
广东开放大学软件工程(本)期末考试试卷与参考答案
以下是一份针对广东开放大学软件工程(本科)期末考试的复习笔记,涵盖可能涉及的核心知识点、典型考题及参考答案示例。请结合教材和课程资料综合复习。
广东开放大学软件工程(本)期末复习笔记
一、软件工程基础概念
1. 软件工程定义
- 软件工程是将系统化、规范化、可度量的方法应用于软件开发、运行和维护的过程,旨在提高软件质量、控制成本、缩短开发周期。
2. 软件生命周期模型
- 瀑布模型:线性顺序开发,阶段间严格依赖。
- 迭代模型:分阶段迭代开发,逐步完善需求。
- 螺旋模型:结合瀑布模型和迭代模型,强调风险分析。
- 敏捷开发:快速迭代、用户反馈驱动,适用于需求不明确的项目。
3. 软件质量与度量
- 质量要素:功能性、可靠性、易用性、效率、可维护性、可移植性。
- 度量指标:缺陷率、代码行数/功能点、测试覆盖率、用户满意度。
二、需求工程
1. 需求分析阶段目标
- 明确用户需求,转化为系统需求,形成《需求规格说明书》(SRS)。
2. 需求类型
- 功能性需求:系统应完成的任务(如登录、支付功能)。
- 非功能性需求:性能、安全性、可靠性等约束条件。
- 用户需求:来自用户的直接描述(如“希望系统响应时间小于2秒”)。
- 系统需求:技术实现层面的需求(如数据库设计、接口规范)。
3. 需求获取方法
- 面谈、问卷调查、原型演示、场景分析、用例建模(UML用例图)。
4. 典型考题示例
简答题:
*“简述需求工程的主要步骤及其作用。”*
参考答案:
需求工程包括需求获取、分析、规格说明和验证。
- 获取:通过用户访谈、问卷等收集需求;
- 分析:识别关键需求并消除矛盾;
- 规格说明:用文档或模型明确需求;
- 验证:通过评审或原型确认需求的正确性。
三、软件设计
1. 设计原则
- 高内聚低耦合:模块内部功能紧密,模块间依赖少。
- 开闭原则:对扩展开放,对修改关闭。
- 单一职责原则:一个类只负责一个功能模块。
2. 设计方法与工具
- 结构化设计(SD):基于数据流图(DFD)划分模块。
- 面向对象设计(OOD):使用类图、序列图(UML工具)。
- 设计模式:常见模式如工厂模式、观察者模式、单例模式。
3. 典型考题示例
案例分析题:
*“请用UML类图描述一个学生管理系统中的‘学生’和‘课程’类的关系。”*
参考答案:
- 学生类:属性(学号、姓名、成绩列表);
- 课程类:属性(课程号、名称、学分);
- 关联关系:学生与课程为多对多(学生可选多门课程,课程可被多学生选修),需通过中间类“选课记录”关联。
四、软件测试
1. 测试类型
- 单元测试:针对单个模块或函数。
- 集成测试:模块间接口测试。
- 系统测试:整体系统功能验证。
- 验收测试:用户参与的最终测试。
2. 测试策略
- 白盒测试:基于代码逻辑的覆盖测试(如语句覆盖、分支覆盖)。
- 黑盒测试:基于需求的输入输出测试(等价类划分、边界值分析)。
- 自动化测试工具:Selenium(Web测试)、JUnit(Java单元测试)。
3. 典型考题示例
论述题:
*“简述软件测试的生命周期,并说明各阶段的主要任务。”*
参考答案:
软件测试生命周期包括:
1. 测试计划:制定测试策略、资源分配、时间安排;
2. 测试设计与实现:设计测试用例,编写测试脚本;
3. 测试执行:运行测试用例,记录结果;
4. 缺陷跟踪:记录、分类、修复缺陷;
5. 测试总结:分析测试结果,生成报告。
五、软件项目管理
1. 项目管理知识领域
- 范围管理:定义项目边界,避免需求蔓延。
- 进度管理:使用甘特图、关键路径法(CPM)。
- 风险管理:识别风险、评估影响、制定应对策略。
- 成本管理:估算成本,控制预算。
2. 敏捷开发实践
- Scrum:迭代周期(Sprint)、每日站会、产品待办列表(Product Backlog)。
- 看板(Kanban):可视化工作流程,限制在制品(WIP)。
3. 典型考题示例
简答题:
*“简述敏捷开发的核心价值观。”*
参考答案:
敏捷宣言的核心价值观:
- 个体与交互高于流程与工具;
- 可以工作的软件高于详尽的文档;
- 客户合作高于合同谈判;
- 响应变化高于遵循计划。
六、软件维护与演化
1. 维护类型
- 纠错性维护:修复缺陷。
- 适应性维护:适应环境变化(如新操作系统)。
- 完善性维护:新增功能或改进性能。
- 预防性维护:优化代码以延长系统寿命。
2. 维护挑战
- 代码腐化:代码结构随时间恶化。
- 文档缺失:难以理解原有设计意图。
- 技术债务:短期解决方案导致长期成本增加。
七、UML与建模
1. UML图类型
- 用例图:用户角色与系统功能的关系。
- 类图:类、属性、方法及关系(关联、继承、依赖)。
- 时序图:对象间交互的时间顺序。
- 活动图:流程或业务规则的建模。
2. 典型考题示例
绘图题:
*“绘制一个在线购物系统的用例图,包含用户、管理员和支付系统。”*
参考答案:
- 用户角色:客户、管理员;
- 用例:客户(浏览商品、下单、支付)、管理员(管理商品、审核订单);
- 关联关系:客户与“下单”用例关联,支付系统作为外部实体参与“支付”用例。
八、伦理与法律
1. 软件工程伦理
- 遵守职业道德规范,如ACM/IEEE准则,避免剽窃、数据泄露等行为。
- 考虑软件对社会的影响(如隐私保护、算法公平性)。
2. 知识产权
- 软件著作权、专利、开源协议(GPL、MIT)的合规使用。
复习建议
1. 重点章节:需求工程、设计模式、测试方法、敏捷开发、UML建模。
2. 题型分布:简答(30%)、案例分析(40%)、论述(20%)、绘图(10%)。
3. 高频考点:软件生命周期、UML用例图/类图、敏捷开发价值观、测试类型、设计原则。
注: 以上内容需结合教材、课程讲义及往期试题综合复习,建议通过做真题巩固知识点。
