1、github地址
2、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(min) | 实际耗时(min) |
---|---|---|---|
Planning | 计划 | 60 | 30 |
Estimate | 估计这个任务需要多少时间 | 20 | 10 |
Development | 开发 | 400 | 600 |
Analysis | 需求分析(包括学习新技术) | 200 | 400 |
Design Spec | 生成设计文档 | 20 | 10 |
Design Review | 设计复审 | 30 | 60 |
Coding Standard | 代码规范(为开发制定合适的规范) | 60 | 40 |
Design | 具体设计 | 400 | 600 |
Coding | 具体编码 | 60 | 120 |
Code Review | 代码复审 | 100 | 300 |
Test | 测试(自我测试,修改,提交修改) | 400 | 600 |
Reporting | 报告 | 60 | 60 |
Test Report | 测试报告 | 60 | 60 |
Size Measurement | 计算工作量 | 20 | 10 |
Postmortem & Process Improvement Plan | 事后总结并提出过程改进计划 | 60 | 60 |
Total | 合计 | 1890 | 2930 |
3、设计历程
历经两代,六个版本:
-
天枢星(Dubhe)v1.0:
- 无交互界面,无开启动画,bug较多,功能较少
-
天枢星(Dubhe)v1.1:
- 有交互界面,有简单的开启动画,bug减少了一些,增加了交互界面功能
-
天枢星(Dubhe)v1.1.1:
- 没有向外发布,修复了函数间不能调用以及import模块的bug,为2.0版本的升级奠定了基础
-
天枢星(Dubhe)v2.0:
- 具有完善的交互界面,添加了游戏功能,可供同学们在学习之余玩玩飞机大战小游戏,并且开启了新的运行模式,使得py程序可以导入同学们所需要的自己写的模块和文本文件;除此之外,开启界面由原来的黑白变成了彩色;主程序由qt开发,并加入了独有图标
-
天枢星(Dubhe)v2.0.1:
- 这是一个紧急发布版本,由于新模式的引入,产生了一些新的bug,并加入了dll文件
-
天枢星(Dubhe)v2.1:
- 最终版本,加入了批量处理功能,使得自动化评测系统更加健全强大
设计思想
-
以qt creator编写一个c++主程序,并编译成可执行文件,可以进入开启界面进行功能选择,通过主程序调用外面的bat批处理文件,使用脚本连接负责处理各个步骤的python子程序
-
评测程序流程:
- 安装后续python脚本所需要的模块
- 使用gitpython模块clone学生代码
- 文件处理,运行对方python脚本
- 获得上一步运行结果,对比标准结果,评分
为什么是天枢星:
-
天枢星是北斗七星之首,开发之初,期望他能像真正的天枢星一样,闪耀在夜空之中,便利同学
-
我的名字里有枢,这款软件是我写的第一款软件,所以以我的名字的一部分来命名纪念
4、个人总结
- 这是我第一次认认真真地去写一款软件,深刻地体会到了写软件的艰辛和不易,写好一个模块,给别的同学去用,发现bug,又回来改,反反复复。除此之外,在写软件的时候发现自己很多的api都不熟悉,不会用,要当场去学。总计经历了一个多星期,编写耗时大概有两天,实打实的两天,每一次更新,不仅仅想着去修复之前的bug,而且还要想着怎样设计才能便利同学。但不管怎么样,这次我收获了很多,也学会了很多api和工具的使用。十分感谢柯老师给我这次当助教写评测软件的机会!