zoukankan      html  css  js  c++  java
  • OO第四单元作业总结

    OO第四单元作业总结

    1.总结本单元两次作业的架构设计

    • 第一次作业

    ​ 由于这次作业查询指令多为对类的查询,所以我新建了MyClass的类,用于保存对应指令查询的值,为了方便,也新增了MyInterface和MyOperation的类,记录必要的属性。具体实现方法是在构图时计算出这个类中能计算出的属性,在查询时如果查询的值已经算出就直接返回,如果没算出,就计算一遍,将记录这个值是否计算过的flag置为true,再返回。这样就避免了重复计算。

    ​ 因为我在保存属性时采用的是Map<Name, Attribute>,所以在属性可见性查询时有的属性重名就会覆盖,改为Map<Name. List<Attribute>>即可。

    • 第二次作业

    ​ 思路与第一次类似,只不过加了MyStateMachine和MyInteraction来记录状态图和顺序图要查询的属性。R001只需在MyClass里加两个记录Name的Set,每次添加Attribute或者AssociationEnd时将它们的Name加入第一个Set,如果这个Name已经存在,就将它们加入第二个Set,查询时返回第二个Set即可。R002与R003只需将所有的类和接口重新构图,我将类和接口重新定义为一个新的类MyId,然后用dfs,如果找到同一个MyId,R002就会报错,如果找到访问过的Myid,R003就会报错。

    ​ 我在统计Message的数量时只统计了传入的Message,导致无传入的Message没统计,修改构图时判断信息即可。

    2.总结自己在四个单元中架构设计及OO方法理解的演进

    ​ 第一单元表达式求导注重格式正确性以及继承与接口的实现,第二单元电梯注重类与类之间的配合,第三单元JML注重培养我们实现规格的能力,第四单元UML注重让我们了解UML的架构。

    3.总结自己在四个单元中测试理解与实践的演进

    ​ 第一个单元测试都是自己手动测试,第二单元开始用脚本进行自动化测试,第三单元单元测试,第四单元没怎么测试

    4.总结自己的课程收获

    ​ 感受到了Java编程的方便之处,知道了格式检查的重要性,学会了正则匹配、继承和接口、多线程,了解了单元检测与自动化测试……

    5.立足于自己的体会给课程提三个具体改进建议

    • 调课每次都安排在12节课让人容易产生翘课的冲动,建议调到下午。理论课的总结课全是重复的东西,特别是最后两次的理论课,连续两节课都是在讲讲过的内容,而且是调到12节课,让人感觉早起上课有点亏,建议安排一下上课内容,别弄得两节课全是重复的,听起来也怪没意思的。

    • 理论课和实验课时间安排的太紧,建议分成两天来上。

    • 互测一个屋有7到8个人,代码太多没有看的动力,前几次还能看几份代码,到后面完全不看代码了,直接下载下来自动测试,建议每组人数分少一点。

    最后,感想OO一学期的陪伴,希望OO这门课能越来越好。

  • 相关阅读:
    Kaggle案例分析1--Bestbuy
    [翻译]用神经网络做回归(Using Neural Networks With Regression)
    【MySql】delete用法
    【MySql】like用法
    【MySql】Order By 排序
    【MySql】Group By数据分组
    【shell】一篇文章学懂Shell脚本
    【MySql】删除操作
    python 面向对象编程(高级篇)
    python 面向对象编程(初级篇)
  • 原文地址:https://www.cnblogs.com/cc17373432/p/11072527.html
Copyright © 2011-2022 走看看