1)时间统计
PSP2.1 | Personal Software Process Stages | Time |
Planning | 计划 |
|
· Estimate | · 估计这个任务需要多少时间 | 24h |
Development | 开发 |
|
· Analysis | · 需求分析 (包括学习新技术) | 1h |
· Design Spec | · 生成设计文档 | 1h |
· Design Review | · 设计复审 (和同事审核设计文档) | 1h |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 1h |
· Design | · 具体设计 | 5h |
· Coding | · 具体编码 | 24h |
· Code Review | · 代码复审 | 2h |
· Test | · 测试(自我测试,修改代码,提交修改) | 2h |
Reporting | 报告 |
|
· Test Report | · 测试报告 | 1h |
· Size Measurement | · 计算工作量 | 1h |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 0.5h |
合计 | 39.5h |
2)性能分析
string::to_string()是消耗最大的函数
3)测试用例
SZYS.exe -n 10000 -r 100
//生成10000个式子,范围是100以内
SZYS.exe -e exercise.txt -a answer.txt
//校验两个文件里面的答案,生成结果在Grade.txt
SZYS.exe -n 10
//提示需输入正确并完整的参数
SZYS.exe -r 10
//提示需输入正确并完整的参数
SZYS.exe -e exercise.txt
//提示需输入正确并完整的参数
SZYS.exe -a answer.txt
//提示需输入正确并完整的参数
SZYS.exe -n 10001 -r 100
//提示需输入正确的题目个数
SZYS.exe -n 1000 -r -1 //提示需输入正确的数的范围
SZYS.exe -e 1.txt -a answer.txt //提示文件1.txt不存在
SZYS.exe -e exercise.txt -a 2.txt //提示文件2.txt不存在
SZYS.exe -n 10000 -r 100 -e exercise1.txt -a answer1.txt //生成题目并完成校验,两个功能依次完成
通过以上各种测试样例,囊括了几种特殊情况,能够在各种输入的条件下给出正确的反馈,从而证明了程序的正确性
4)个人总结
这次作业乍看之下很简单,实际上要处理分数和字符串之间的转换是个比较麻烦的问题,主要是代码量会叠加冗长代码错误的几率随之增高,换来的是长时间的调试更正。我只在上学期接触过一点c++,这次完全靠百度来了解并使用c++语法和函数,感觉收获巨大,通过这样一个个人项目增进我对c++的理解和记忆,实在是十分难得的经验。