电梯调度(结对项目)①

前言

本次项目中,我与崔文光同学选择使用Java编程语言来实现电梯调度问题的模拟,并使用JavaFX来制作应用的图形化界面。

一、PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
·Estimate估计任务时间20d20d
Development开发
·Design Spec生成设计文档120120
·Design Review设计复审6080
·Coding Standard代码规范3030
·Design具体设计6060
·Coding具体编码10001200
·Code Review代码复审3060
·Test代码测试6060
Reporting报告
·Test Report测试报告6090
·Size Measurement计算工作量3030
·Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划3030
·合计

二、利用Information Hiding, Interface Design, Loose Coupling的知识设计接口

“Information Hiding”为信息隐藏,“Interface Design”为接口设计,“Loose Coupling”为低耦合。本项目采用面向对象的设计思路,将电梯、乘客等实体抽象成类进行封装,并留出接口以供开发者调用。同时保持项目的模块与模块之间互相独立,减少模块之间的联系。

三、模块接口的设计与实现

3.1 Passenger类

Passenger类用于抽象乘客,包含乘客重量、起始楼层、终点楼层等属性。

3.2 Elevator类

Elevator类用于抽象电梯,包含电梯最大载重、电梯最大人数、电梯服务楼层、开关门时间、上下层运行时间等属性,同时定义了使乘客进入GetPeopleIn()、使乘客离开GetPeopleOut()、上行goUp()、下行goDown()等函数。

3.3 EleController类

EleController类为电梯组调度器,存放了问题中的四个电梯对象,以及想要乘坐电梯的乘客请求列表,同时定义了添加坐电梯请求AddRequest()、查找某电梯距离最近的乘客GetNearestPsg()等函数,以便后续算法的调用。

3.4 MainWindowController类

MainWindowController类为主界面控制器。由于后续将要实现的三种算法均要在主界面提供服务,故此类中包含了分别实现三种调度算法的函数。

四、代码规范与设计规范

在项目开始前,我与崔文光同学约定了程序的代码规范与设计规范,如成员变量与成员函数的命名规则、ui界面的控件父子关系规则、多线程中哪些类或变量必须互斥访问等,以便于提高后续开发的效率。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值