软工2
github链接 代码地址
刚开始拿到题目是很迷惑的,一开始的想法是先随机生成第一行,然后按照横竖不重复并且在每个小九宫中都能存在1-9即可,但是发现会出现运行到某一个格子时会出现一直重复判断无法继续生成完整的九宫格。在询问其他同学和查阅资料后知道,原来上面的方法会导致无解,因此就需要重新回到前面的格子进行重新的判断。完成这项作业的过程很艰难,刚开始是因为算法导致了些错误特别是在循环语句中,经常出现跳不出循环框。接着是写入txt文件,因为以前没有使用过C#的写入,对一些函数比较不熟悉,为此在这个点上又学习了很长一部分时间。反反复复前前后后的修改过程大概有将近17-19个小时。代码主要分三个部分。一个主函数;一个判断是否重复函数,主要通过hash的思想建立了3个数组用来存放已经使用过的数字避免横竖以及小九宫中出现重复的现象。以及一个实现递归函数,用于发现无解的情况后返回上面的节点重新设值。 ![](http://images2017.cnblogs.com/blog/885575/201709/885575-20170910193437944-493922422.png) ![](http://images2017.cnblogs.com/blog/885575/201709/885575-20170910193453226-1594421518.png) ![](http://images2017.cnblogs.com/blog/885575/201709/885575-20170910193504976-647297846.png) ![](http://images2017.cnblogs.com/blog/885575/201709/885575-20170910193524444-629329820.png) ![](http://images2017.cnblogs.com/blog/885575/201709/885575-20170910193549179-1344015232.png)
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 600 | 1100 |
· Estimate | · 估计这个任务需要多少时间 | 600 | 1100 |
Development | 开发 | 420 | 800 |
· Analysis | · 需求分析 (包括学习新技术) | 60 | 120 |
· Design Spec | · 生成设计文档 | 30 | 0 |
· Design Review | · 设计复审 (和同事审核设计文档) | 30 | 0 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 0 |
· Design | · 具体设计 | 30 | 60 |
· Coding | · 具体编码 | 0 | 0 |
· Code Review | · 代码复审 | 60 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 60 | 120 |
Reporting | 报告 | 40 | 60 |
· Test Report | · 测试报告 | 10 | 0 |
· Size Measurement | · 计算工作量 | 10 | 0 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 |
性能测试的工具安装半天一直出错,可能得找其他同学取取经,并且在完成作业的过程中发现了自己在算法方面的薄弱,希望自己在接下来的学习过程中能加强这方面。