oo总结

noharashio noharashio     2022-11-29     423

关键词:

第四单元总结

homework13

架构如下:
技术图片

复杂度分析如下:
技术图片

架构设计及OO方法理解演进

从最开始的面向过程到进入第一单元开始注意对象实体之间的关系,以及为实体的属性设置方法等开始培养面向对象的思维,了解面向对象所包含的一些思想和原则。进入第二单元后线程间的调度关系则对架构提出了更高的要求,对于每个对象不仅要求自身能相对独立,在处理涉及多线程的问题时也要求能够准确找到每个对象和线程之间的对应关系,以及公共资源调用时的互斥关系。再到后两个单元认识JML和UML的规范化编程,架构已经设计好,需要处理的是数据结构和数据边界以及算法上的细节问题。对于面向对象的理解也从认识OO,到深入OO,再到规范化编程中的将OO转化为自己高度抽象化的工具。

测试理解与实践演进

在测试方面我在第三单元开始学会了Juit构建测试集,并辅助搭配log信息进行调试。log调试在某些地方很有效,比如第一单元的调试不涉及多线程可以使用IDEA的断点和debug模式查看容器和变量信息,来逐步调试,然而进入多线程后逐步调试会影响进程间的交互结果,掩盖许多可能存在的bug。因此使用log追踪想要的信息可以在不干扰运行交互的同时进行调试。

课程收获

在今年需要用到C++的作业里我很快上手并应用到了C++的对象和类以及继承,可能就是我最大的课程收获。OO课程学习的内容有很大的迁移性,如何测试如何调试如何理解架构这些都是不仅局限于这一课程的技能点,而理解到的关于面向对象的知识也不仅仅局限于java这一门语言,更是横向学习迁移时的知识储备。同时,课程中对于官方包的应用和便利性,也让我窥到了java便利的一角。

改进建议

1.强测bug提交的一次改动有行数限制。这点可能和我存在的bug不是那种修改几行边界值就能修复有关,例如第三单元的一些方法没能通过强测点的原因是使用算法需要重写,这个时候提交一次bug需要改动的行数超过了限制行数,就需要进行额外的沟通。

2.作业难度梯度的设置。从个人角度出发几乎所有单元的难度曲线都不是从自身接受的点稳步爬升的,而是会出现初次作业很难以及第二次作业难度降低的感觉。

3.实验反馈。两周一次的实验结果虽然有在下一周的课程上提到通过人数和分数平均值一类的数据,但是对自己上周的实验结果是没有反馈的,对于实验细节仍然抱有疑问的同学如果能得到一些反馈,比如自己的代码是否通过所有样例,得到什么分数就,填空题的所有答案是什么,这些反馈相信能更好的反哺这学期课程的学习。

线上课程体会

线上课程留有的课程视频可以反复观看,研讨课所使用的ppt也很实用,甚至还有直播录屏。简单来说,这学期的线上课程虽然少了线下课堂的一些优势,比如面对面教学讨论,比如课堂的氛围,但是很适合自学占很大比重的计算机类课程。



oo第二单元总结

OO第二单元总结一、作业架构设计与分析1、homework51.1UML类图1.2UML协作图1.3架构设计请求处理方式在此次作业中我采用了生产者消费者模式,InputThread线程获取输入请求,再通过NewMainBuilding线程分发给各个楼座(SubBuil 查看详情

oo第三单元总结

OO第三单元总结JML梳理JML语言理论身为规格描述语言,JML有着严格的语法规范。注释行注释://@annotation,块注释:/*@annotation@*/方法规格前置条件(pre-condition):require后置条件(post-condition):ensure副作用范围限定(side-effects):assignable... 查看详情

oo第三单元总结

OO第三单元总结规格的阅读与实现心得JML的阅读方法语法上,可以参考课程组的《JMLlevel0手册》,涵盖了基本的jml关键词和语法,看不明白的话可以多翻翻,类比着就搞懂了阅读顺序上,阅读JML可以从一些比较底层的类开始读,... 查看详情

oo第四单元及课程总结

目录OO第四单元及课程总结架构设计四个单元中架构设计及OO方法理解的演进四个单元中测试理解与实践的演进课程收获课程改进建议OO第四单元及课程总结架构设计总体实现的类图如下总体思路就是功能的分发,由一个总类把各... 查看详情

oo第三单元总结

OO第三单元总结利用JML规格准备测试数据前置条件构造不满足前置条件的数据测试异常处理构造满足前置条件的数据测试正确性后置条件和约束条件用于判断输出结果的正确性利用JML规格的前置条件构造数据便于对所有可能的情... 查看详情

oo总结

第四单元总结homework13架构如下:复杂度分析如下:架构设计及OO方法理解演进从最开始的面向过程到进入第一单元开始注意对象实体之间的关系,以及为实体的属性设置方法等开始培养面向对象的思维,了解面向对象所包含的一... 查看详情

oo_unit4总结&课程总结(代码片段)

OO第四单元UML单元总结及课程总结OO_Unit4总结&课程总结本单元的作业是UML图的解析,作业的目的一是进一步强化架构设计能力,学会如何一步步将一个复杂的图结构进行多层解析。二是学习UML这一种强大的形式化语言,熟练掌... 查看详情

oo第二次课程总结

OO第五、六、七次作业总结一、第五次作业(一)多线程的协同和同步控制在第五次作业中首次采用了多线程的设计模式。多线程的设计使得对象的设计更具有独立的特性,但是在不同对象之间的交互也需要格外的注意。在此次... 查看详情

oo总结

OO总结第四单元分析问题分析:本单元要求完成一个简易版的UML解析器,其中包括对UML类图、UML状态图、UML时序图的解析,这三者中难点在于类图的解析,需要全面地存储类和接口的相关信息,编写程序时会更进一步发现涉及到... 查看详情

oo第三单元总结

oo第三单元总结一.梳理JML语言的理论基础、应用工具链情况(1)JML理论基础JML(JavaModelingLanguage)是用于对Java程序进行规格化设计的一种表示语言。JML是一种行为接口规格语言,基于Larch方法构建。一般而言,JML有两种主要的用法:... 查看详情

oo学习总结

第五次作业:多线程电梯多线程的同步和控制在本次作业里,请求发生器不断往请求队列里加入电梯请求,主调度器不停将电梯请求分发给从调度器,从调度器不断读取请求来操控电梯运行,因而这三者之间存在同步关系。请求... 查看详情

oo第三单元总结(代码片段)

OO第三单元总结前言?本单元中,初次接触到了TheJavaModelingLanguage(JML)这种语言,主要尝试了根据规格进行相应代码实现,及根据代码或需求抽象出相应规格的练习。从PathContainer,Graph到RailwaySystem,一路发展过来,在实现这些接口... 查看详情

oo第三单元总结(代码片段)

OO第三单元总结梳理JML语言的理论基础、应用工具链情况JML(JavaModelingLanguage)是一种行为规范接口语言,通过使用不会被编译的注释形式,和固定关键字的语法,指定Java模块代码的行为。大体上包括以下三种要求:前置:@requir... 查看详情

oo第一次反思与总结

...今天找到了一个能用的梯子才安装完插件。安装插件比写总结花的时间多太多了。  OO第一次作业可以说是让我一脸懵逼,毕竟在这之前从没有接触过java语言。语法什么的到还是小事,毕竟对于编程语言来说,学会了一种的语... 查看详情

oo第三单元总结

一、梳理JML语言的理论基础、应用工具链情况  JML以javadoc注释的方式来表示规格,每行以@起头。其中行注释为“//@annotation”,块注释为“/*@annotation...@*/”。  常用表达式有以下几种:  \\publicnormal_behavior:... 查看详情

buaa_oo第四单元总结——uml

BUAA_OO第四单元总结——UML被OO爱~~(折磨)~~了一个学期,终于要结束了,真的有些感慨。回顾这些博客和代码,也真的难以想象自己竟然写了这么多,虽然过程很折磨,但是最后还是坚持了下了,虽然在一次次的作业中我出现... 查看详情

oo第三阶段总结

一、规格化设计规格就是对一个方法/类/程序的外部可感知行为的抽象化表示,忽略实现的具体细节,使得设计与实现有效的分离开来。规格化设计的实现依赖于抽象化(Abstraction),包括过程抽象,数据抽象等等。使用规格化设计... 查看详情

oo第三单元总结(规格设计)

OO第三单元总结 一、关于JML  JavaModelingLanguage,即JML是一种规格化表示语言,主要用于对Java程序的各种方法功能的规范描述。这样做既可以给程序设计人员明确清晰的功能要求,又可以充分全面地验证已有的代码实现保证其... 查看详情