BUAA_OO_第四单元总结

 

目录

 

正向建模与开发

架构设计

OO课程测试思维

OO课程测试思维

OO课程收获


正向建模与开发

在开始这个单元的作业时,首先需要绘制一个程序架构图。在草稿纸上列出需要实现的功能和可能要扩展的功能,然后将一些功能或属性封装成类,初步确定类的数量及每个类的功能和属性。

接下来,可以在 StarUML 上绘制类图、状态图和顺序图。然而,由于对 UML 的不熟悉,绘图进展缓慢且容易出错。再加上之前只形成了一个大致的架构,因此经常需要修改属性和方法。在这个步骤中耗费了很多时间。

  • 类图:展现各个类的属性与方法、个各类之间的联系。
  • 状态图:述对象的状态和状态之间的转换。
  • 顺序图:展示了对象之间的消息传递顺序,以及消息传递的时序关系。

最后,就可以对照UML写代码了,同时根据代码结构修改UML。

架构设计

类图如下:

首先,图书馆内所有存放书籍的区域,我全部都是用Hashmap的形式储存,然后将其全部放到一个数组中传参,使用时取出,这些在Mainclass里即可完成。

接着,对图书的所有操作全部放在Static类里进行,包括开闭馆处理,查询等操作。在最后一次作业中,为了避免处理时间的错误,我将所有的运输操作放到开馆处理,所有资源状态的处理放在闭馆。

此外,Ad类是一个用来描述用户状态的类,而Manage类用来管理所有用户的信用分和预约书籍的处理。

最终的代码设计基于UML架构,但是多了许多辅助实现的方法和细节。

OO课程测试思维

第一单元:层次化设计的思想的应用和工程实现将其——递归下降解析表达式

  1. 通过单元训练理解了递归下降的架构和层次化设计思想

第二单元:多线程的设计方法——模拟多线程实时电梯系统

  1. 通过第五次作业学习了多线程的编写方法
  2. 通过第六、七次作业学习了多线程的调度方法、死锁避免与处理方法
  3. 通过几次作业的debug,加强了多线程死锁的处理

第三单元:JML规格理解与代码实现——实现简单社交关系的模拟和查询

  1. 学习了JML
  2. 实践了Junit等各种测试方法

第四单元:正项建模与开发——使用UML设计图书馆系统

  1. 学习了UML中类图、状态图、顺序图的制作方法

OO课程测试思维

  1. 逐条比对指导书。写完代码后,将指导书每一行都阅读一遍,确保没有缺少功能/错误实现功能
  2. 逐行分析代码。将代码的每行阅读一遍,确保每一行、每个方法都达到了目的。
  3. 运用评测机。
  4. 特别的,对于一二单元的测试要构造一些极端数据。

OO课程收获

完结撒花!!!虽然OO是占用时间最长的,但是确实感觉是最有意思的。通过课程不仅学习了许多新知识,还练习了大量代码和debug能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值