软件工程实践2019第三次作业
一、Github项目地址:
https://github.com/122983335/031702322
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 45 |
Estimate | 估计这个任务需要多少时间 | 600 | 1920 |
Development | 开发 | 30 | 30 |
Analysis | 需求分析 (包括学习新技术) | 180 | 300 |
Design Spec | 生成设计文档 | 30 | 15 |
Design Review | 设计复审 | 15 | 15 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 10 | 0 |
Design | 具体设计 | 30 | 60 |
Coding | 具体编码 | 180 | 300 |
Code Review | 代码复审 | 10 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 0 |
Reporting | 报告 | 20 | 20 |
Test Repor | 测试报告 | 30 | 40 |
Size Measurement | 计算工作量 | 0 | 0 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 20 |
合计 | 1255 | 2765 |
三、解题思路
老实说刚拿到题目感觉就做数独,应该不会很难,具体操作起来写代码也不会很难,上网找找资料发现基本上都是用回溯法,当然还要注意一些宫格中的小宫格的变化。
四、设计实现过程
简单做了一下规划,大概需要5个函数
1.判断所在行列是否已经有重复数字存在
2.回溯法填数字
3.判断所填数字是否符合要求
4.特殊宫格还要注意小宫格要求的判断
5.文件的读取与写入函数(个人认为最难)
五、性能改进
代码最终还是没能按照要求写出来
所以性能并没有做过多的改进o(╥﹏╥)o
六、关键代码
编写函数判断数独的每一列每一行是否重复
特殊宫格中小宫格的判断
函数深搜构造数独
七、心路历程和收获
不知道该写些什么,从一开始的我以为很简单,到后面来的我竟无言以对。要说花那么多时间没学到什么东西那是不可能的,起码一开始思路是有的,直到写完大部分代码后,让我崩溃的开始了......我不会用c++读取写入文件中的数据。有问题找“度娘”上网找资料,奈何“资质”太差,愣是没怎么看懂(试了很多种方法始终搞不好),不过一开始代码还是能够读取文件中的数据并写出的,但是一次只能读一个文件;后面找同学请教了一下,开始试着看能否多次读取并写入;可能是不同人写的代码不同的缘故,明明感觉这样写没错,调试也没什么问题,最终还是不能够达成老师给的要求,这就非常难受了......o(╥﹏╥)o。虽然代码没写好,但是起码我真的学到了挺多东西的。就到此为止了,一点一点进步吧!