软件工程实践2019第三次作业
一、Github项目地址
https://github.com/jiangjz0010/031702132
二、给出PSP表格
Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
计划 | 1000 | 1480 |
这个任务需要多少时间 | 1000 | 1480 |
开发 | 60 | 60 |
需求分析 (包括学习新技术) | 360 | 400 |
生成设计文档 | 60 | 60 |
设计复审 | 60 | 60 |
代码规范 | 60 | 60 |
具体设计 | 260 | 360 |
具体编码 | 60 | 60 |
代码复审 | 60 | 60 |
测试(自测,修正代码,提交修改) | 60 | 60 |
报告 | 60 | 60 |
测试报告 | 60 | 60 |
计算工作量 | 60 | 60 |
事后总结,并提出过程和改进计划 | 60 | 120 |
三、解题思路描述
刚开始拿到题目的我无从下手,先是询问了下舍友,他们都选择了想用java实现,我也跟风学习了一两天,发现情况不太对。最后选择了之前略有基础的c++实现,并且重新百度下载了Visual Studio Community 2017,学习了它的用法。具体数独的实现算法则是通过百度寻找各类博客,了解了深搜算法才略有思路。
四、设计实现过程
本次代码一共用到了4个函数,第一个函数判断数独的每一列每一行是否重复,第二个函数把求解完的数独写入txt,第三个函数深搜构造数独,第四个函数将答案按照要求输出。在深搜函数中要用到判断数独的每一列每一行是否重复。在最后输出中要用到DFS。
五、代码说明(展示出项目关键代码,并解释思路与注释说明)
六、结合在构建之法中学习到的相关内容,撰写解决项目的心路历程与收获
在读取邹欣老师所撰写的构建之法前三章后,对许多概念有所了解,也初步了解了软件工程这门学科,和老师布置的作业用途,让我们更好的认识自己的不足。对于这次的作业,感觉就是各种触及我的知识盲区,不过有所得。说实话,和周围同学比起来,作业对于我来说是挺吃力的,甚至于过程是艰难的,只有不耻下问了,才能完成这次作业。不过能听听同学聊聊程序的改进,向他们学习,上网络上查资料,自己也把查资料过程中的好博客和内容收藏下来,积累起来,也有欣慰。