Pair project 2: 电梯调度

       伴随着 Pair project 1的结束,我和另外一个搭档开始了pair project 2 ,与上次3d桌面游戏开发不同,这次是在电梯调度的

framework中完善接口。

主要测试的技能:

a) Requirement Analysis

b) High level design (interface, information hiding, loose coupling)

c) Design by contract,

d) Implementation skills in C#

e) Algorithm design

提供的调度接口:

a, 乘客(passenger):

     来到后立即按电梯,没有进入电梯则继续发送请求,直到进入电梯。但是我们不知道任何关于电梯乘客的信息和反馈,不知其重量几何,亦不知有多少乘客。

b, 请求(request):

    当乘客请求时,我们在请求到来的时刻接到通知,并知道其请求方向(上楼还是下楼)。

     当乘客进入电梯时,我们在进入的时刻接到通知,知道乘客要到哪一层楼。

c, 电梯(elevator):

   我们知道每一部电梯的状态(通过调用以上框架中电梯接口(IElevator)提供的方法)。

我们需要实现的:

   实现自己的scheduler接口。所有的乘客请求都由scheduler维护

Framework 测试框架:

整个框架是以时间为轴工作,下面是详细的uml框架图

 

框架

 

我们的scheduler 流程图:

流程图

 

回顾:

      两周的pair work很快结束,也许是没有第一次结对的新鲜感及这次project难得的降低, 明显感觉到大家对这次的结对编程明显没有上次那么积极,

还好我和pair晓彬坚持讨论,结对编程,也许最终的scheduler算法没什么太大的优势,晓彬提出的基于学习的调度算法也最终没有实现,但是经历还是蛮重要的,我一直将其视为一个学习怎样和不同人的人合作的过程,而非一个简单的project 结果。

     在pair过程中,我们在数据结构的定义上花费了不少时间,随着讨论的深入也换了几种数据结构格式,耽误了不少的时间,我觉得这是在动手编程之前,没有进行深入思考全盘的结果,这一点在以后的编程练习中需要克服,我一直主张先分析清问题,然后定义数据结构开始动手编程实现,这也许和pair的习惯有点不同,导致我们的分析不够深入,缺乏全局设计的理念。整个project 2,首先需要感谢师兄sen,在工作繁忙的时候抽出时间来为我们设计和编写整个testframework,由于时间紧迫,sen 提供的framework 框也难免存在着一些bug,搞得有时候都分不清到底是我们scheduler的bug还是framework得问题,这个bug寻找的经历也还是蛮有意思的…

最后留下真相:

 20101211088

转载于:https://www.cnblogs.com/ustc_msra_ase/archive/2010/12/12/1903696.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值