个人项目(四则运算题目生成程序)总结
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++的理解和记忆,实在是十分难得的经验。