BUAA面对对象第四单元总结

正向建模与开发

本单元主要内容是UML图的绘画,UML提供了一套标准化的符号和规则,用于对软件系统进行可视化建模。

在本单元的设计中,我通过先画UML图,得到一个比较清晰完善的类关系后再进行代码的编写,这帮助我很好地梳理了类之间的关联,类之间的调用逻辑也在UML图上可以得到很好的体现,之后再根据代码的修改更新UML图。

不过本单元所写的图书管理系统还是比较小的,UML在本单元作用不如在编写大型软件时大。

本单元架构设计

本单元我只使用了两个主要类User和Library,Library中开若干个容器对应题目要求中的书架等地方,User处理用户的交互逻辑,总体的架构还是比较简单的。

最后一次作业的UML图:

请添加图片描述

架构设计的演进

主要的架构设计思路一直是 make it simple,能不用继承就不用继承,能少开一个类就少开一个类,同时保持类的目的单一,结构简单,当然对于复杂的地方该写一起还是写一起。

在课上听了一学期的各种设计模式,感觉完全没有必要,我只需要把代码写简单点就完事了,也不用去管写的代码到底符合了啥设计模式。

测试的演进

主要的测试手段一直是黑盒测试,生成数据然后对拍,一来这样轻松同时也可以比较高效地测出程序的bug。

junit对于oo课程来说没啥必要,而且junit工作量相对来说较大,性价比完全不如黑盒测试。

其实感觉测试方面也是有一些比较好玩的东西的,比如property based testing,而且这个东西java高版本也有相关的包支持,感觉oo可以加点这种新的东西。

课程收获

oo课程的收获就是熟悉了一下java这门语言,同时对多线程编程有了一点实践,了解了一下UML图。啥?你说JML?还在垃圾堆里躺着呢。真的有人喜欢这玩意?感觉真要保证正确性,形式化验证香一点?

个人感觉oo这门课并不适合当必修课程,感觉oo最大的作用就是上点代码量,并不能带来什么新的或者值得钻研东西。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值