2020软件工程作业03
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
|---|---|
| 这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494 |
| 这个作业的目标 | 整体感知软件工程 | |
| 作业正文 | 见下文 |
| 其他参考文献 | 百度百科 |
| 1.Github项目地址 | |
| https://github.com/huq404/20177695-Sodoku | |
| 2.1.PSP表格 |
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 40 | 80 |
| Estimate | 估计这个任务需要多少时间 | 35 | 240 |
| Development | 开发 | 20 | 40 |
| Analysis | 需求分析 (包括学习新技术) | 20 | 20 |
| Design Spec | 生成设计文档 | 50 | 120 |
| Design Review | 设计复审 | 15 | 10 |
| Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 15 | 10 |
| Design | 具体设计 | 50 | 40 |
| Coding | 具体编码 | 80 | 110 |
| Code Review | 代码复审 | 15 | 10 |
| Test | 测试(自我测试,修改代码,提交修改) | 30 | 60 |
| Reporting | 报告 | 40 | 80 |
| Test Repor | 测试报告 | 30 | 10 |
| Size Measurement | 计算工作量 | 20 | 10 |
| Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 15 |
| 合计 | 490 | 855 |
3.解题思路
数独由9×9的格子组成,
规则是:每行、列、宫各自都要填上1-9的数字,要做到每行、列、宫里的数字都不重复。
宫是由3×3的小格子组成的
*三、数独基本解法:
1、摒除法:用数字去找单元内唯一可填空格,称为摒除法,数字可填唯一空格称为排除 (Hidden Single),根据不同的作用范围,摒余解可分为下述三种:
(1)数字可填唯一空格在「宫」单元称为宫排除(Hidden Single in Box),也称宫摒除法。
(2)数字可填唯一空格在「行」单元称为行排除法(Hidden Single in Row),也称行摒除法。
(3)数字可填唯一空格在「列」单元称为列排除法(Hidden Single in Column),也称列摒除法。
2、唯一余数法:用格位去找唯一可填数字,称为余数法,格位唯一可填数字称为唯余解。
第一行是随机生成的1~9的排列,第2到9行就要通过搜索来产生了。对于第2到9行的每一个空格,要从1到9逐个尝试放入,看同一列、同一行、同一个3×3的小方阵中是否出现过相同的数字,若没有就尝试放入,然后递归地搜索下一个位置的数字,若1到9都不行就返回上一个位置尝试下一个数字。直到找到一组解就返回。
4.流程图

5.展示关键代码
解释思路与注释说明
(1)struct defines data

(2)核心代码
unique value function

screening function

(3)address of the maze is calculated

6.测试分析

7.心路历程和思想
我觉得软件工程是门博大精深的学科,有很多的知识值得我们去探讨,思考,研究。软件工程也需要我们自己动手去进行各种实践操作。我觉得此次的作业对我来说是个巨大的挑战,由于自己的能力有限,目前只能完成到这种不OK的水平,但我真的很无奈对于自己尽了全力只能完成到这个样子。同时,在这门学科中我也磨练了自己的心态,学会冷静、坦然的面对任何挑战。
8.自评
| 学号 | 作业头 | Github地址 | 代码经过工具分析 | PSP表格 | 解题思路描述 | 代码如何组织 | 流程图 | 单元测试 | 性能瓶颈 | 改进 | 关键代码 | 解释思路注释说明 | 心路历程思想 | 总分 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20177695 | 2分 | 1分 | 0分 | 1分 | 1分 | 0分 | 1分 | 0.5分 | 0分 | 0分 | 0.5分 | 0.5分 | 1分 | 8.5分 |

浙公网安备 33010602011771号