在2019年12月19日山东大学软件学院的《软件工程》期末考试中,学生分享了考试回忆内容,主要涉及名词解释、简答题、综合题以及编程题。以下是部分知识点的详细解析:
1. **项目进度** - 名词解释可能涉及到项目管理中的关键概念,如项目里程碑、甘特图或关键路径,用于衡量软件开发过程中各个阶段的完成情况。
2. **需求** - 包括需求分析的定义和过程,强调需求文档的重要性,以及需求变更管理和确认的需求规格说明书内容。
3. **统一开发过程** - 可能是指瀑布模型、敏捷开发(如Scrum或Kanban)或其他软件开发生命周期模型,考察对标准软件开发方法的理解。
4. **用例** - 是系统分析中的重要概念,用来描述用户如何与系统交互以实现特定目标,涉及到用例设计和识别。
5. **组合** - 在软件工程中,可能是指数据结构或类的组合方式,如对象组合或模块化设计。
6. **过载缺陷** - 这个名词可能指的是函数重载(Overloading),即在多态性中,同一个名称可以对应不同的方法,若定义不当可能导致编译错误或运行时异常。
7. **螺旋模型** - 螺旋模型是一种风险驱动的软件开发模型,强调迭代和风险评估,可能会被问到其适用场景和优点。
8. **测试** - 简答题可能涉及单元测试、集成测试和系统测试的概念,以及它们之间的关系和目的。
9. **阶段开发模型** - 可能是考察瀑布模型、V模型或迭代模型的区别,以及增量式或迭代式的开发模式是否只在每个增量阶段添加新功能。
10. **内聚** - 可能会讨论软件结构中的低耦合度,如逻辑内聚、时间内聚、功能内聚等,以及它们的重要性。
11. **集成测试** - 包括单元测试后的集成测试类型,如模块间接口测试和系统测试,以及它们的优点和局限性。
12. **用例图绘制** - 综合题可能要求学生根据提供的新闻发布网站场景,按照UML(统一建模语言)绘制用例图,展示参与者、用例及其关联关系。
13. **类图和代码填充** - 提供的代码片段要求考生理解面向对象编程的基础概念,如继承、抽象类、接口和构造函数的使用,以及如何根据给定的场景实现刹车行为的类图。
14. **测试用例设计** - 黑盒测试法和等价分类法的应用,以及路径覆盖方法,需要设计出针对不同功能的测试用例,确保软件质量。
这次考试涵盖了软件生命周期的关键环节,从需求分析、设计到测试,全面检验学生的理论知识和实践能力。