论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
企业信息化/数字化
›
MES
›
OO_第四单元总结
OO_第四单元总结
美丽的神话
金牌会员
|
2022-8-9 14:46:08
|
显示全部楼层
|
阅读模式
楼主
主题
823
|
帖子
823
|
积分
2469
OO_第四单元总结
一、第四单元作业的架构设计
这次作业,我刚刚开始的时候还有些迷茫,通过阅读往届博客我大概了解到,需要先初始化读入的数据。所以我首先将三种图都进行了初始化,初始化其实就是将图进行分层次,先对同层次的元素类型进行构建,从高到低,初始化完,相对于就把图给建好了。然后就是各种查询,我将各种查询的主要部分都放在了图的类中,而不是放在Implementation中,因为图的结构完全存于class、interaction、region三大类中。
我的最终代码层次如下,其中将类图和顺序图的初始化拿出来了,主要原因是——超500行了...其实软件包中的一些类并没有什么作用,可以直接使用官方包封装的Uml,但是由于烤漆,我在后两次作业中并没有去改变。
二、在四个单元中架构设计思维及OO方法理解的演进
第一单元
第一单元其实给了我很大的恐惧(对OO这门课的恐惧),因为是第一次接触java,只在pre中对语法有一些初步的认识。当看到第一次作业时,我完全不知道如何下手,尝试用预解析方式但是又不甘心分数被折算90%,后来在实验课的基础上,我有了一些感觉,还有就是同学给的三句话“先去空格”“去+-”“解析”,突然让我对这次作业豁然开朗,然后花费了小半天的时间解决了第一次作业。由于第一次作业的结构还比较好, 后两次作业没有进行重构,而是在原来的基础上继续添加功能。到第三单元的时候,我感觉自己写出的作业已经比较完善了,有了一些层次化的感觉。我想这也是课程组所希望我们在这个单元学到的吧。
第二单元
这个单元主要是多线程的电梯作业,其让我对多线程有了更多的了解,从完全不懂到最后写出一个较好的花式电梯确实让人成就满满。我认为自己已经对死锁有了充分的了解,知道死锁是如何产生的,并且自认为自己不会发生什么死锁问题,但是当它在我面前出现的时候,“原来这样也会死锁!”让我措手不及。这次个单元的作业,也让我深深认识到了做测试的重要性,第一次作业并没有多大难度,并且我提前复习了多线程知识,自认为写得比较顺利,但是第一次作业却因为测试不充分导致巨大的问题,让我非常难受。但同时也让我开始学着写测评机。虽然第一次写的测评机可能还不是很好,但是已经可以基本实现自动化测试了。
第三单元
本单元相比前两个单元是最轻松的一个单元,在这个单元中我对JML规格有了较为清晰的认识,还记得老师上第一节JML规格课的时候我并不是很能理解它是干啥的,通过不断阅读JML手册理解基本语法后,接下来的工作就是按规格写代码,有些死板,但是确实在这个单元中,由于JML规格指导书的歧义少了很多(甚至几乎没有)。本单元最后的博客作业还让我们自己进行JML规格的撰写,我也从中发现,相比于看JML规格,写出一份完整的JML规格需要非常严谨和认真(比看JML难多了...)。
第四单元
这个单元主要是想让我们更清晰地理解类图、顺序图、状态图,当我们遇到它们的时候能够理解它们。相比于直接让我们画,我认为这个单元的作业让我更好地理解了这些图的结构,因为我需要在init的时候对其进行层次化,将其一层层嵌套,理解其中不同元素的关系。这次的作业可能没有第三单元那么多的数据结构了,但是需要我在对UML图的理解上下功夫,其实理解了图的关系,初始化之后的查询比第三单元还简单。
三、在四个单元中测试理解与实践的演进
第一个单元的时候我还不会搭建测评机,我的数据主要来源于手搓边界数据和朋友对拍。到第二单元的时候,由于第一次作业的打击,我开始尝试构造测评机,这也是我第一次开始构造测评机,可能还有些拙劣,但是可以基本实现自动化测试。在第三单元的时候,我偶然发现了wzk学长的测评机(谢谢学长),我进行了稍微的改动使之符合我们这次作业的要求便投入使用,不得不说学长的测评机使用感好好...其把测评和数据分成了两个份代码,使得测评部分代码可以重复使用,只需要更改数据生成部分便可以投入别的测试。
四、课程收获
本学期的OO课大大大大大大提升了我的代码能力,同时也让我对一些设计模式有了更深的理解,还有就是在撰写代码前考虑其可扩展性、可迭代性。可能刚刚学完OO,我也说不出太多的感受,毕竟现在的它在我的眼里还只是一门课程,但是我相信,在我未来的计算机生涯中,有无数需要它的地方,那时候我可能就能明白这门课对我而言的意义之大了吧。
引用牛助教的一句话:等着吧,好日子还在后头呢!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
美丽的神话
金牌会员
这个人很懒什么都没写!
楼主热帖
Python 实现贪心算法
Python自动操作 GUI 神器——PyAutoGUI ...
Spark快速上手(3)Spark核心编程-RDD转 ...
哈工大软件构造Lab3(2022)
什么是超融合数据中心网络? ...
java中Files.mismatch方法具有什么功能 ...
C# net core 微信公众号导出历史文章 ...
微服务介绍
基于SqlSugar的开发框架循序渐进介绍( ...
Excelize 2.7.0 发布, 2023 年首个更新 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表