OO第二阶段作业总结】的更多相关文章

第五次作业:         设计策略: 本次作业设计的基本思路是按照指导书所给的推荐方法来完成的,即共用对象为队列盘,线程有电梯.调度器.以及扫描器,扫描器将控制台输入的有效指令加入到队列盘中,调度器依据指导书的原则分配任务给电梯,然后电梯将其一条条执行.在电梯的类中,加入了一个小队列,即电梯依次需要完成的任务.在同步控制中,对队列盘对象加锁,在某一线程使用时,其他线程无法更改,但是可以访问.这样存在一些时间上不同步的问题,导致了一些bug的出现. 度量: 类图: 本次的类图较为简单,由于实际…
OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是ComputePoly,用于验证格式.提取以及传递多项式参数:还有一个是Poly类,用以多项式的存储与计算. 从下图可以看到,程序总共有94行,而main方法有47行,占了一半的行数,说明该程序的总体思路仍是停留在写C代码时的面向过程思想上,将大部分的处理操作在main中逐步实现,而不是分摊到类中,从而导致ma…
第五次作业--多线程电梯 一.设计策略 本次作业是我们第一次接触多线程,给程序添加多线程功能后最大的挑战是实现共享数据的安全.避免冲突,由于这次作业是第一次尝试多线程方法,因此采用了将所有方法都加上synchronized修饰符的方法来避免数据冲突. 二.程序结构 由于本次作业完成的比较匆忙,因此并没有全面的实现多线程的方式,且在测试中出现了较多的bug.由类图可以看出,程序分类较为简单,每个类的功能太过集中,有违oo的设计原则,同时,方法的数目也相对较少,随之而来的是较多的重复代码,这是极为不…
前言: 这是一篇面向对象作业总结,作业内容是对多项式进行求导,一共有三个阶段,具体要求不详述,第一阶段只要求’+’连接coeff*x^pow的形式,第二次支持*连接的幂函数及三角函数,第三次则需要支持括号表达式的嵌套.本想不用编译原理所述表达式树,最后发现做成一团乱麻. 第一次作业 类图如下: 说明:第一次作业比较简易,主要是对新版eclipse和checkstyle的安装和熟悉.词法分析器为Token,可以考虑将其单例化,因为只有一个词法分析器.用Poly存储多项式的系数和幂次,在PolyDi…
写在最前面: 我是一个这学期之前从未接触过java的小白,对面向对象的理解可能也只是停留在大一python讲过几节课的面向对象.幸运的是,可能由于前三次作业难度还是较低,并未给我造成太大的困难,接下来我就三次作业,从程序以及个人体会谈谈我的分析与感悟. 第一次作业: 度量结果以及UML图: 度量结果: UML: 分析: 这次作业是我人生中的第一个像点样子的java程序,刚拿到指导书真是一脸懵逼.由于我还什么都不太懂,于是我就采用了“照猫画虎”的策略,直接模仿老师ppt中给出的代码框架,然后自己填…
0.前言 此阶段总共进行三次大作业,其中第一次作业中的第一题,水文数据校验及处理中,遇到较大的难题,第一次接触正则表达式,编码过程中显得难度特别大.第二次作业同样也是对于一元多项式求导中对单项的正则校验遇到难题.第三次作业总体难度不大,值得高兴的是,求素数的加分题也写出来了.总而言之,这阶段的作业比上一阶段的难度要大,花的时间也多.1.作业过程总结 第一次作业,主要涉及到继承与正则表达式的知识,第二次作业则为继承与多态,正则表达式,第三次作业以继承.多态性使用方法以及接口的应用为主.三次作业都涉…
$ 0 写在前面 往往是那些令人格外痛苦的经历,会带给人以最快的成长.转眼间,半个学期的时间过去了,时间匆匆,不管之前对这几次充满了怎样的畏惧,在身边朋友们的帮助和努力下,我也渐渐度过了一个个难关.回首走过的路,满满的收获和成就感. $ 0-0 多线程 or 多进程 在这一学期的另一门核心专业课OS中,我们接触到了进程与线程的概念,我们在操作系统层面上对二者的运行机制有了初步的感性认识.在近几次的作业中,我们真正将多线程的编程思想应用到了所编写的工程项目开发中去,也以此为契机,亲身体验到了多线程…
目录 电梯作业总结 程序结构与复杂度的分析 第一次作业 第二次作业 第三次作业 程序BUG的分析 互测 自动评测 有效性 总结 电梯作业总结 程序结构与复杂度的分析 第一次作业 1.设计思路 第一次作业是电梯作业的第一次,也是我多线程变成的第一次实践.任务是编写一个多线程实时电梯系统,采用FAFS的调度方式.由于第一次作业中没有涉及到多部电梯以及捎带的情况,因此来说是比较简单的.我采用的是指导书提示部分中的模式,即生产者消费者模式 主线程进行输入的管理,使用ElevatorInput,负责接收请…
目录 第三单元博客作业 JML语言理论基础 1.注释结构 2.JML表达式 3.方法规格 4.类型规格 应用工具链 JMLUnitNG使用实例 作业架构设计 第一次作业 第二次作业 第三次作业 BUG与修复 规格撰写和理解上的心得体会 第三单元博客作业 JML语言理论基础 1.注释结构 JML以javadoc注释的方式来表示规格,每行都以@起头.有两种注释方式,和普通的java语言的注释类似,分为行注释和块注释. 行注释://@abbitation 块注释:/*@ annotation @*/…
(一)第五次作业 一.设计思路 生产消费者模型,输入接口是producer,调度器是tray,电梯是customer.由于只有一架电梯,所以生产消费模型满足以下条件: 一个生产者,一个消费者 托盘不为空时,消费者可以取走请求.任何时候,生产者可以添加请求.(托盘无容量限制) 互斥:生产者--生产者,消费者--消费者. 同步:生产者至少生产一次,消费者才能消费. 互斥问题我给get和put函数加了方法锁. 二.调度策略:FAFS傻瓜电梯 遵循先到先服务,所以调度器作用很小,只是完成托盘的功能.调度…