欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第四次博客作业

程序员文章站 2022-07-14 21:42:10
...

目录

一 架构设计

(一) 第一次作业
建立类图

第四次博客作业

如上图所示,

建立了com包来管理自定义类,MyClass,MyInterface,Operation,Association。

整个UmlInteraction结构保存三个HashMap

mainHashMap<Container>() (存储MyClass,MyInterface以及其下的Operation等数据)
operationHashMap<Operation>() 
associationHashMap<Association>() 

MyClass和MyInterface实现了Container接口(考虑到他们的数据结构和方法极度一致)

这样的数据层次分类使得后续添加功能十分方便,在MyUmlInteraction添加功能之后,根据功能函数涉及到的层级,在不同HashMap中遍历找到查找单位。并在其对应的类中调用方法,得到结果。

Bug修复

BUG是由于没有考虑接口多继承引起的,修改后一次AC。

(二) 第二次作业
建立类图

第四次博客作业

构建与第一次类似,不过多出了

MyUmlClassModelInteraction
MyUmlCollaborationInteraction
MyUmlStateChartInteraction

三个容器分别解决各个图的功能(Rules在MyUmlClassModelInteraction中得以解决)

基于第一次的设计,添加功能较快,整个程序大概写了8小时左右。

Bug修复

​ 撰写时还未修复完。但大部分的BUG是因为调试时调用的System.out忘记删除了(x)

​ 另外的BUG应该在Rule上。会尽快解决。

二、四个单元中架构设计及OO方法理解的演进

四个单元依次是表达式求导 多线程电梯 JML规格化 UML模型化

第一单元基本是按照指导书要求的构架进行相关实践;第二单元引入设计模式,在设计模式的基础上对自己的电梯进行设计;第三单元对JML进行查询,第四单元对UML进行查询,架构设计较为*。具体架构设计在每次的总结中都有提到,不再赘述。

至于OO方法,最后一单元UML是最好的例子。

三、四个单元中测试理解与实践的演进

在测试过程中尝试过自动化测试,规格化测试,以及单元测试。

在个人编写中,后两者使用频次较低。最常使用的还是自动化测试(或者对拍)。

四、三个具体改进建议

  1. 尽快公开标程以及其设计思想解读。
  2. 降低第一单元难度,将重心放在设计与基本的JAVA代码实现上。(回顾下来,第一单元反而是最痛苦的)
  3. 降低授课学时,增加讨论课学时。