• 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这门课能越来越好。

  • 相关阅读:
    jquery.validate.js【简单实用的表单验证框架】
    velocity.js实现页面滚动切换效果
    站在巨人的肩膀上——制作酷炫web幻灯片
    简单说说随机打乱数组的方法
    JS数据结构之BinarySearchTree
    做一个extjs的扩展
    【OneAPM】极客编程挑战#025:发挥想象生成漂亮炫酷的SVG动画效果
    将博客搬至CSDN
    练习作品7:批量做字库 识别码
    联系作品6 模版打印 奖状
  • 原文地址:https://www.cnblogs.com/cc17373432/p/11072527.html
Copyright © 2020-2023  润新知