第一次和第二次作业没有认真完成,无法做出总结...
UML作图工具没有学会所以一一列举程序中的方法和方法间的耦合关系。
第三次作业是含有捎带功能的电梯调度系统
package: elevator_plus
在这次作用中,用到的方法有:
首层是电梯类:elev,对应的方法有利用interface方法写出的类moving和对应的子类elev,其中包含的对象有:
int类型: cfloor ffloor
String类型: command dir state s
double类型: time
来自请求类的对象 : Re
电梯类实现的功能包括:记录电梯的运动状态
计算电梯的运行方向
其次,程序中描述了调度类,楼层,请求和程序格式检查等类
其中
调度类(diaodu)利用的方法:
_init_: 初始化电梯类对象Elevator,将时钟调整到初始状态
stat: 计算电梯的运行时间,判断捎带
其中对象实用了队列类(que_del)中的变量
que_del类中使用的对象包括:
来自request类型的对象: que
int类型: front rear
实现的方法有:
_init_方法: 将队列的首尾指针初始化
comb1方法: 查询请求队列中重复的请求
add_in_que方法: 将请求添加到队列中
via方法: 查询对应的请求
valid方法: 检查请求合法性
调度类中
stat方法实现了对相同请求的去除和输出
计算了电梯运行楼层所需要的时间
diaodu类中,利用的子类addi
实现的功能:判断捎带情况
使用的对象:Arraylist<>对象 req
int类型: flag i
floor类型:楼层内请求类
实现的功能:判断请求内楼层功能是否正确
利用的对象:
int类型 curfloor
Request类型中(请求类)
实现的功能:生成可识别的请求格式
使用的实例对象:
boolean 类型: if_valid
int类型: floor
long类型: time
String类型: command request
StyleCheckout类型中(格式检查类)
实现的功能: 利用正则表达式检查请求格式
使用的实例对象:
String类型: fir_mat, sec_mat,run
func类型(电梯的主要功能):
实现的功能: main方法:获取输入,去掉输入中的其他符号,转换为系统可识别的表达式,检查异常;判断请求的类型是来自楼层的还是来自电梯的请求
使用的实例对象:
String 类型:read, fin ,result,result1
int类型: i,j,i_r
long类型 time,floor
来自StyleCheckout类型的对象:ob
优点:在傻瓜电梯的功能基础上添加了捎带的功能,功能更完善
缺点:floor功能没有用处
bug分析:
在这次作业中,实现调度方法中,出现很多问题,我在测试基础上,添加了部分测试数据,根据代码的功能找出bug
测试策略:这三次作业过程中没有进行测试别人的代码,所以没有检测别人代码的经验
心得体会:
现在我对于这门语音的掌握还很不熟练,需要更多的练习丰富自己。