这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494 |
这个作业的目标 | 完成数独解法 |
作业正文 | 如下 |
其他参考文献 | https://en.wikipedia.org/wiki/Sudoku |
Github 项目地址:https://github.com/smithLIUandhisbaby/20177572
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 50 |
Estimate | 估计这个任务需要多少时间 | 120 | 200+ |
Development | 开发 | 45 | 60 |
Analysis | 需求分析 (包括学习新技术) | 100+ | 240 |
Design Spec | 生成设计文档 | 30 | 25 |
Design Review | 设计复审 | 10 | 10 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
Design | 具体设计 | 55 | 50 |
Coding | 具体编码 | 110 | 200 |
Code Review | 代码复审 | 50 | 140 |
Test | 测试(自我测试,修改代码,提交修改) | 150 | 200 |
Reporting | 报告 | 30 | 60 |
Test Repor | 测试报告 | 10 | 20 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 15 |
合计 | 790 | 1310 |
解题思路描述
一开始看到这个题目的时候大脑一片空白,完全没有看懂题目,后面去通过google才知道了这个题目的大致意思,从横竖方向来分析这个数独棋盘,做到每一行和每一个纵都是不重复的,同时每一宫也是不能出现重复,也就是说在这个九宫格之中的1~9这几个数字只能出现一次
我们可以细化分成几个步骤来看,首先是每一个格子都要出现数字,也就是说在这个9x9的宫格之中每一个地方都要有确定的数字,在81列之中存在着数字。
每一个行之内也要有数字1~9,每一列也应该是1~9,每一宫也要有1~9
开发过程异常的艰辛曲折,工具各种出错和不会用 BUG奇多
源程序全部都放在GitHub了
静态检查的xml也上传到了github
开发之中也遇到了错误一大堆
之后做了性能分析
然后在安装的过程中出现以下不等的情况……
最后是测试样例
总结:我这次作业是在借鉴了很多人的代码和思路才完成的,我主要是花了很多的时间去熟悉软件,vs对我来说功能很复杂但是花费了很多时间才调试到一个还很一般的状态,这个作业还要花时间去完成,还达不到满意的阶段
作业头 | Gihub地址 | 消除警告 | PSP表格 | 思路描述 | 设计实现过程 | 性能改进 | 代码说明 | 感想余心路历程 | 总分 |
---|---|---|---|---|---|---|---|---|---|
2 | 1 | 0.5 | 1 | 0.5 | 0.5 | 0.5 | 1 | 0.5 | 8.5 |