GitHub项目地址:
软件工程 |
https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
这个作业的要求在哪里 |
https://https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494 |
这个作业的目标 |
完成Sudokudoku项目以及进行单元检测 |
作业正文 |
下文 |
其他参考文献 |
思否:https://segmentfault.com/ |
|
Personal Software Process Stages |
预估耗时 |
实际耗时 |
Planning |
计划 |
60分钟 |
60分钟 |
Estimate |
估计这个任务需多少时间 |
三十六小时 |
七十二小时 |
Development |
开发 |
五小时 |
二十一小时 |
Analysis |
需求分析(包括学习新技术) |
五小时 |
半天 |
Design Spec |
生成设计文档 |
两小时 |
两小时 |
Design Review |
设计复审 |
两小时 |
两小时 |
Coding Standard |
代码规范(为目前的开发制定合适的规范) |
60分钟 |
30分钟 |
Design |
具体设计 |
两小时 |
五小时 |
Coding |
具体编码 |
五小时 |
七小时 |
Code Review |
代码复审 |
两小时 |
五小时 |
Test |
测试(自我测试,修改代码,提交修改) |
六小时 |
五小时 |
Reporting |
报告 |
60分钟 |
两小时 |
Test Report |
测试报告 |
60分钟 |
60分钟 |
Size Measurement |
计算工作量 |
60分钟 |
30分钟 |
Postmortem & Process improvement Plan |
事后总结,并提出过程改进计划 |
两小时 |
三小时 |
合计 |
|
36小时 |
72小时 |
### 问题分析 1、算法实现:看到题目,第一反应就是暴力解,利用数字1~9在每一行、每一列、每一宫都只能出现一次的规则。所以我们用每个单元排除,在某个单元(行或列或区块)中找到能填入某一数字的唯一位置,换句话说就是把单元中其他的空白位置排除。首先从三宫格到第五宫格难度还是不大,但随着宫格的阶数增大运算越来越大。这种方法也被我舍弃,然后我在网上看到了回溯填充算法,我试了下还真的可以。