2018高级软件工程复习重点:概念、选择、设计与简答

需积分: 9 26 下载量 49 浏览量 更新于2024-07-17 1 收藏 1.15MB PDF 举报
"这份资料是2018年国科大高级软件工程的复习题,由罗铁坚等人编撰,包含概念解释、选择题、设计题和简答题四个部分,旨在帮助学生全面复习软件工程的相关知识。复习题涵盖了敏捷开发、软件框架、测试原则、代码质量、面向对象编程、文档模型、JavaScript、HTML、Ruby语言特性以及Git版本控制等多个方面。" 高级软件工程复习题主要涉及以下几个核心知识点: 1. 敏捷开发方法与Scrum:敏捷开发强调快速响应变化,Scrum是其中一种实践,通过迭代和增量的方式进行项目管理,包括产品待办事项列表、冲刺和每日站会等组件。 2. 基于计划-文档开发方法:这种方法侧重于详细的规划和文档编写,通常用于大型项目,但可能在快速变化的环境中显得过于僵化。 3. DRY原则:DRY代表“Don't Repeat Yourself”,提倡减少代码冗余,提高代码可维护性。 4. MVC(Model-View-Controller):这是一种软件架构模式,将应用程序分为三个部分,用于分离业务逻辑、用户界面和数据管理。 5. SMART用户故事:SMART是Specific(具体)、Measurable(可度量)、Achievable(可实现)、Relevant(相关)和Time-bound(有时限)的缩写,用于定义清晰、可操作的需求。 6. TDD(Test-Driven Development)和红-绿-重构:TDD是一种开发模式,先编写测试用例,使测试失败(红色),然后编写最小的代码使测试通过(绿色),最后重构代码以优化结构。 7. FIRST测试原则:Fast(快速)、Independent(独立)、Reproducible(可重复)、Self-verifying(自验证)、Timely(及时)是高效测试用例应具备的特性。 8. SOLID原则:这是面向对象设计的五项基本原则,包括单一职责原则、开闭原则、里氏替换原则、依赖注入原则和迪米特法则,它们有助于提升代码的可读性和可维护性。 9. Git工作流程:包括提交、分支、合并、回退等操作,以及如何使用gitblame追踪文件修改历史。 10. HTML、CSS和JavaScript:这三者是网页开发的基础,HTML负责结构,CSS负责样式,JavaScript负责交互。 11. Ruby语言特性:包括面向对象编程、访问控制(public、private、protected)以及数组和哈希的使用。 12. 持续集成及开发:自动化构建和测试过程,确保代码质量。 13. DOM(文档对象模型)和jQuery:DOM是HTML和XML文档的抽象表示,jQuery是一个JavaScript库,简化DOM操作。 复习这些知识点对于深入理解和实践软件工程至关重要,它们涵盖了从项目管理、代码质量到实际编程语言应用的广泛领域。通过解答这些题目,学生可以系统地回顾和巩固所学知识。