2020软件工程作业03
这个作业属于哪个课程 | |
---|---|
这个作业要求在哪里 | |
这个作业目标 | |
作业正文 | |
其他文献参考 |
1.Github项目地址
2.PSP表格
PSP | Personal Software Process Stages | 预计耗时(小时) | 实际耗时(小时) |
---|---|---|---|
Planning | 计划 | 2 | 4 |
Estimate | 估计这个任务需要多少时间 | 15 | 40 |
Development | 开发 | 10 | 15 |
Analysis | 需求分析 (包括学习新技术) | 3 | 4 |
Design Spec | 生成设计文档 | 2 | 4 |
Design Review | 设计复审 | 2 | 4 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 1 | 1 |
Design | 具体设计 | 2 | 3 |
Coding | 具体编码 | 7 | 10 |
Code Review | 代码复审 | 1 | 1.5 |
Test | 测试(自我测试,修改代码,提交修改 | 1 | 0.5 |
Reporting | 报告 | 1 | 1 |
Test Repor | 测试报告 | 1 | 2 |
Size Measurement | 计算工作量 | 1 | 1 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 1.5 | 1.5 |
合计 | 50.5 | 88.5 |
3.需求
实现一个命令行程序,不妨称之为Sudoku.
三宫格:盘面是33。使1-3每个数字在每一行、每一列中都只出现一次,不考虑宫;
四宫格:盘面是22四个宫,每一宫又分为22四个小格。使1-4每个数字在每一行、每一列和每一宫中都只出现一次;
五宫格:盘面是55。使1-5每个数字在每一行、每一列中都只出现一次,不考虑宫;
六宫格:盘面是23六个宫,每一宫又分为32六个小格。使1-6每个数字在每一行、每一列和每一宫中都只出现一次;
七宫格:盘面是77。使1-7每个数字在每一行、每一列中都只出现一次,不考虑宫;
八宫格:盘面是42八个宫,每一宫又分为24八个小格。使1-8每个数字在每一行、每一列和每一宫中都只出现一次;
九宫格:盘面是33九个宫,每一宫又分为3*3九个小格。使1-9每个数字在每一行、每一列和每一宫中都只出现一次;
4.解题思路
数独宫格,看到这个的时候,首先写的是个键盘输入的33暴力宫格,刚开始想是给个值判断几宫格,然后套用不同宫格各自的算法进去(只会用用遍历)。写到5的时候我就知道写不下去了,然后查询了9阶的回溯,和已经提交了的同学的代码(套用)。命令行输入参数这个输入要求完全不懂,查阅了相关资料后才开始构思。
5.测试用例
通过CMD输入命令执行,就上一个cmd图
3阶
4阶
5阶
6阶
7阶
8阶
9阶
6.检错
7.性能测试
8.总结
这几天坐在电脑面前搞这个项目工程,还没搞明白,JProfiler还不太会使用,书到用时方恨少,事非经过不知难。之前感觉学得还可以,一开始写编程设计就蒙了再次感叹百度的强大。
这次作业坐在电脑前参考了20多份相关的内容,眼睛都花了。知道写阶数的判断,文件的输入输出流,对检错工具使用加深了印象。我最近自主学习有点慢,总是打鱼晒网(想抽自己几下)。加快学习进度,巩固基础,跟上大佬的步伐。