摘要: 1. 架构设计 1.1 第一次作业 第一次作业要求实现UML类图的查询功能。在维护类图的时候,采用了以类(Class)为结点的构建方法,即将Class处理成以键值对<\id, Class>存储在HashMap中。将类图中的其他元素看成是Class中的属性,这样能够更好地进行层次化的类图构建。 关于层 阅读全文
posted @ 2021-06-26 12:35 HyperCarrot 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 概述 本单元主要学习了JML规格的书写以及理解,通过提供的JML规格实现社交网络的一系列指令。其实就是相当于,把PDF的要求文档,改编成了更加形式化的,与代码结合的JML规格。 实现规格所采取的设计策略 相比之前以PDF文档的形式提供作业要求,JML给人最大的感受就是,它将要求融合在了代码之中,其实 阅读全文
posted @ 2021-05-29 17:04 HyperCarrot 阅读(91) 评论(1) 推荐(0) 编辑
摘要: 概述 经过了第一单元的多项式面向对象练习,本次作业主要通过实现多电梯调度,练习java多线程。重点在处理线程安全,线程间交互,代码架构(生产消费者模式) 同步块设置和锁的选择 这三次作业都采取的生产消费者的设计模式,因此锁的选择主要考虑对其中各个托盘的互斥访问与修改,以及notifyAll,wait 阅读全文
posted @ 2021-04-24 16:08 HyperCarrot 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 第一次作业 作业要求 第一次作业的主要任务是完成含有幂函数和常数的简单多项式求导,不需要判断表达式的合法性,整体比较简单 基于度量的程序结构分析 度量分析 各个方法的度量分析如下: 由于在Poly.addTerm()中分别判断了无指数幂,幂函数,常数的情况,以及有无项前符号,使用了过多了if_els 阅读全文
posted @ 2021-03-28 14:49 HyperCarrot 阅读(79) 评论(1) 推荐(0) 编辑