结对项目——电梯调度(5)

结对项目——电梯调度(5)

by

Part 0 进度概述

目前为止,整个项目已经完成,底层逻辑、UI界面、软件测试都已完成,对底层逻辑:对调度算法进行了模块化,使得每种调度算法存在一个专门的函数,但某个电梯学院需要采用某种调度算法时只需要调用该算法即可,目前已经完成的调度算法有:Bus、LOOK、FD-SCAN。UI界面:我们为电梯设计了内部按钮以及外部按钮,并通过按钮的颜色变化观察电梯所处楼层以及信号。对软件测试:我们利用了visual studio附加的功能,进行了分支覆盖率测试、单元测试、系统测试等。这些我将在下面详细叙述。

Part 1 PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 30
· Estimate · 估计这个任务需要多少时间 20 10
Development 开发 7200 6000
· Analysis · 需求分析 (包括学习新技术) 400 180
· Design Spec · 生成设计文档 30 60
· Design Review · 设计复审 (和同事审核设计文档) 20 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 10
· Design · 具体设计 60 40
· Coding · 具体编码 600 500
· Code Review · 代码复审 1920 1200
· Test · 测试(自我测试,修改代码,提交修改) 600 600
Reporting 报告 145 380
· Test Report · 测试报告 100 300
· Size Measurement · 计算工作量 15 20
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 60
合计 11180 9400

Part 2 小队分工

这一阶段我们依旧按照以前的分工,我主要负责程序的实现和UI界面的设计,曹主要负责软件测试,包括单元测试、分支覆盖率等。但曹也会参与到代码实现的过程,我也会负责一部分软件测试的工作。

Part 3 实现内容

3.1 调度算法模块化

在项目进行之初,我们常以电梯1作为设计的实验点,在在电梯1处写好调度算法,然后复制到其他的电梯处并稍加修改,但这样有一个巨大的缺点,就是一旦设计调度算法之后便很难修改,且要设计新的调度算法时需要对代码进行一个较大规模的变化,使得整个项目的可复用性、灵活性都不高,但我们一开始却没用反应过来,后来,在查看后续的需求是,无意中想到我们可以通过对函数对调度算法进行模块化设计,这样我们在修改代码时只需要修改该函数,修改的灵活性、简易性得到大幅度的提升,我们在需要变化电梯的调度算法时也只需要变化更改调用的算法即可。示例如下:

//电梯1的驱动函数
void runElevator1(){
   
    BUS(ele1);			//bus算法
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值