2020软件工程作业03

这个作业属于哪个课程
软件工程
这个作业要求在哪里
2020软件工程作业03要求
这个作业目标
本次作业要求个人编写程序
作业正文
Sudoku
其他文献参考
偶数宫格解法 九宫格 JProfiler入门使用 数独1 读取文件内容 数独2 升阶数独

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每个数字在每一行、每一列中都只出现一次,不考虑宫;
四宫格:盘面是2
2四个宫,每一宫又分为22四个小格。使1-4每个数字在每一行、每一列和每一宫中都只出现一次;
五宫格:盘面是5
5。使1-5每个数字在每一行、每一列中都只出现一次,不考虑宫;
六宫格:盘面是23六个宫,每一宫又分为32六个小格。使1-6每个数字在每一行、每一列和每一宫中都只出现一次;
七宫格:盘面是77。使1-7每个数字在每一行、每一列中都只出现一次,不考虑宫;
八宫格:盘面是4
2八个宫,每一宫又分为24八个小格。使1-8每个数字在每一行、每一列和每一宫中都只出现一次;
九宫格:盘面是3
3九个宫,每一宫又分为3*3九个小格。使1-9每个数字在每一行、每一列和每一宫中都只出现一次;

4.解题思路

数独宫格,看到这个的时候,首先写的是个键盘输入的33暴力宫格,刚开始想是给个值判断几宫格,然后套用不同宫格各自的算法进去(只会用用遍历)。写到5的时候我就知道写不下去了,然后查询了9阶的回溯,和已经提交了的同学的代码(套用)。命令行输入参数这个输入要求完全不懂,查阅了相关资料后才开始构思。

5.测试用例

通过CMD输入命令执行,就上一个cmd图

3阶

4阶

5阶

6阶

7阶

8阶

9阶

6.检错

7.性能测试


8.总结

这几天坐在电脑面前搞这个项目工程,还没搞明白,JProfiler还不太会使用,书到用时方恨少,事非经过不知难。之前感觉学得还可以,一开始写编程设计就蒙了再次感叹百度的强大。
这次作业坐在电脑前参考了20多份相关的内容,眼睛都花了。知道写阶数的判断,文件的输入输出流,对检错工具使用加深了印象。我最近自主学习有点慢,总是打鱼晒网(想抽自己几下)。加快学习进度,巩固基础,跟上大佬的步伐。

原文地址:https://www.cnblogs.com/xiehezhou/p/12593393.html