软件工程实践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。虽然代码没写好,但是起码我真的学到了挺多东西的。就到此为止了,一点一点进步吧!

原文地址:https://www.cnblogs.com/kuroco/p/11588138.html