摘要:一. 本单元两次作业的架构设计 终于在最后一个单元实现了增量式开发。在本单元第一次作业中,我便构建了图数据结构,第二次作业变得比较简单,无需重构,只是增加状态图和顺序图即可,下面分析第二次作业的架构设计。 1. 顶级类 MyUmlGeneralInteraction 负责将输入归类,形成3个子Uml 阅读全文
posted @ 2019-06-21 22:10 Yifan_Liu 阅读 (64) 评论 (0) 编辑
摘要:一. JML语言 1. 理论基础 首先,JML不是JAVA的一部分,它是一群研究者为JAVA设计的扩展部分,但还没有得到官方的支持。因此,JAVA编译器并不支持JML,所以要想JML起作用,只能采用类似openJML这样的第三方来编译,将JML 规格编译为运行时检查的语句,即RAC code(run 阅读全文
posted @ 2019-05-21 10:29 Yifan_Liu 阅读 (188) 评论 (0) 编辑
摘要:一. 设计策略 1. 架构设计 三个线程:电梯,调度器,主线程(输入线程), 采用worker thread,生产者消费者模式。和同学讨论,发现有的观点认为:调度器更像是一个功能的集合,类似一个函数,不像是一个主体,而且线程越少bug一般而言越少,于是调度器不做为线程。也挺有道理。架构图如下: 其中 阅读全文
posted @ 2019-04-23 01:20 Yifan_Liu 阅读 (284) 评论 (0) 编辑
摘要:一. 基于度量的程序结构分析 1. 第一次作业 这次作业是我上手的第一个java程序,使用了4个类来实现功能。多项式采用两个arraylist来存,系数和幂指数一一对应。 四个类分别为 Poly类,代表表达式; PolyDiff类,代表求导运算; PolyParse类,封装了格式检查,encodin 阅读全文
posted @ 2019-03-27 13:19 Yifan_Liu 阅读 (146) 评论 (0) 编辑
摘要:该系列文章为本人python学习笔记 阅读全文
posted @ 2017-08-18 20:50 Yifan_Liu 阅读 (37) 评论 (0) 编辑