Harbin Institute of Technology 2019: Lab 2 - ADT与OOP实践与测试

需积分: 0 0 下载量 109 浏览量 更新于2024-08-05 收藏 778KB PDF 举报
本次Lab-2的主要目标是让学生掌握抽象数据类型(ADT)的设计与实现以及面向对象编程(OOP)的基本原理。通过实际操作,学生将经历以下关键步骤: 1. **问题识别与ADT设计**:首先,参与者需要分析给定的应用问题(如PoeticWalks, Re-implementing Social Network, Playing Chess, 和 Multi-StartupSet),识别出解决问题所需的抽象数据结构,这涉及理解问题域并提炼出关键数据元素和操作。 2. **规约设计**:设计ADT的预条件(pre-condition)和后条件(post-condition),这些条件用于确保数据操作的正确性和完整性。质量评估是必要的,以确保规约的有效性和实用性。 3. **测试用例**:根据ADT的规约,创建测试用例来验证ADT的功能性。这包括边界条件、异常处理和正常操作等场景的测试。 4. **ADT泛型化**:了解并练习如何将ADT设计为通用类型,以便适应不同类型的数据和需求。 5. **ADT实现与特性**:设计不同的ADT实现,包括数据结构(representation)、不变性保证(repinvariant)和抽象操作(abstraction function)。同时,注意避免表示泄露(repexposure),即确保数据的私密性。 6. **OOP实践**:利用Java或类似的OOP语言实现ADT,并通过OOP原则(封装、继承、多态)确保代码的可维护性和扩展性。 7. **测试与覆盖率**:使用Eclipse IDE中的EclEmma插件来评估测试用例的代码覆盖率,确保对ADT的所有关键部分进行了充分测试。 8. **应用开发**:利用设计的ADT和其实现,构建实际应用的解决方案,展示ADT在实际问题中的应用。 9. **测试策略与设计**:在编写测试代码时,需要明确测试策略,如单元测试、集成测试等,并以此为基础设计测试用例。 10. **实验报告与提交**:最后,学生需撰写实验报告,总结实验过程、遇到的问题和解决方案,以及实验成果的演示和评价。 通过这个全面的实验,学生不仅掌握了ADT和OOP的基础概念,还锻炼了解决实际问题的能力,提升了编程技能和软件工程实践水平。