摘要: 北航OO第四单元(UML解析)&课程总结 一、架构设计 本单元的总体任务是设计一个UML解析器,从最初对类图的解析到支持状态图、顺序图,再到最后支持几种基本的模型检验功能。 1、第一次作业 为了将只用parentId联系的不同Uml参数真正连接成Uml代码中的树形结构,我将每个用到的参数都再包装成自 阅读全文
posted @ 2022-06-21 11:42 gdfwj 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 北航OO第三单元(JML)总结 本单元的整体任务是学习阅读JML规格,达成契约式编程,最终根据接口的JML规格实现一个多人聊天系统的核心类。 一、测试数据的准备 这一单元的测试就是对于几个指令的测试,对于一些比较简单的方法例如查找总人数,就几乎不可能出错。所以测试数据主要聚焦在为了复杂度而做过优化的 阅读全文
posted @ 2022-05-31 21:08 gdfwj 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 北航OO第二单元(多线程实时电梯系统)总结 本单元的总体任务是维护一个ABCDE共5楼座、10层的目标选择电梯系统。需要接受乘客的请求和增加电梯的请求,并运行相应电梯将乘客送达目的地。输出所有的电梯运行以及上下人行为。 一、同步块和锁 第五次作业中只有竖向电梯,每座各有一个,均可达1-10层,乘客请 阅读全文
posted @ 2022-04-26 23:13 gdfwj 阅读(238) 评论(1) 推荐(0) 编辑
摘要: 程序结构分析 第一次作业 思路分析 第一次作业需要实现多项式的展开,开始设计之前考虑了教程中正则表达式匹配和递归下降的方法。由于parser当时感觉难以理解,最终选择了正则表达式匹配的处理方法。 另一大问题就是多个相邻加减号的处理问题,这个我选择在Expression类中每当找到下一个匹配项时遍历上 阅读全文
posted @ 2022-03-23 00:49 gdfwj 阅读(83) 评论(1) 推荐(1) 编辑