BUAA-OO 第四单元总结

凌烟十八 学生 2024-06-11 11:35:56

BUAA-OO 第四单元总结

正向建模与开发

正向建模是一种从需求到实现的开发方法,通过逐步细化需求,创建UML模型,再根据模型进行代码实现。这种方法的核心优势在于能够在开发初期明确系统结构,减少需求变更带来的风险。

在本单元作业中,我首先根据本单元图书馆需求分析,确定了系统的功能和非功能需求。然后使用StarUML工具创建了类图、状态图和顺序图来帮助定义系统的各个部分及其交互方式。最后,根据UML模型进行代码编写,逐步实现了系统的各个功能模块。

架构设计

img

我的架构主要使用Library类来实现各种操作,同时设计BookshelfBorrowAndReturnAppointmentDriftCorner类来记录书籍的流动,设计Student类来记录学生信息,设计BookInfo类来记录预约信息。

  • 类和接口的定义:大部分类和接口的定义与UML类图高度一致。然而在实际编码时,我对一些类进行了细化,增加了一些辅助类和工具类,以简化主类的实现。
  • 方法的实现:顺序图帮助我们明确了方法调用的顺序,但在实际实现中,我对一些方法进行了优化和重构,以提高代码的可读性和性能。

总体而言,UML模型为我们的代码实现提供了清晰的蓝图,但实际实现过程中需要根据具体情况进行调整和优化。

设计思维

经过整个课程学习,我逐渐意识到架构设计的重要性,在第一单元的作业中,我还没有什么架构设计思维,导致程序结构混乱,出了很多意想不到的bug。所以从第二单元开始我便逐步学习体会面向对象设计的原则和架构设计,力求先做好架构设计,再进行编码,这种方法使得我的程序质量有了显著的提高,结构清晰。在第四单元我开始尝试先画出uml图再编码,后来发现应当先画出简略的uml图作为顶层架构设计,然后根据需求逐渐编码并完善uml图。

测试思维

在第三单元使我意识到了测试的重要性,并学习了黑箱测试、白箱测试、单元测试、功能测试、集成测试、压力测试、回归测试等测试方法。经过第三单元的学习我总结出了自己的测试方法,先进行简单功能测试,尽量将各种情况都包含在内。功能测试后再进行压力测试来进行边界测试。同时我也意识到测试主要是构造数据,如何构造有效全面的数据是测试的关键,我也会在今后的学习中继续学习测试数据的构造。

课程收获

整个课程让我深入理解了面向对象编程的核心概念和实践方法。通过多次作业和项目实践,我掌握了如何进行类和对象的设计、如何应用设计模式解决实际问题,以及如何进行系统架构设计。同时整个课程的学习让我从局部开发走向全局视野,学会了系统性地思考问题。从需求分析、模型设计到代码实现和测试,我能够更全面地理解和把握系统的各个方面。

...全文
41 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

301

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象设计与构造
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧