【2020软件工程作业03】
2020软件工程作业03
写在前面: 对于本次作业我没有按作业要求去做,主要因为用java做单元测试时出现了玄学问题心态大蹦(主要云顶之弈更新了),本着要完成作业的态度,只能曲解题意做了一个数独解答器。但是作业的要求我会慢慢的改进。
一:Github项目地址:https://github.com/hmbbbbbb/suduku-
二:psp表格:
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 10 |
Estimate | 估计这个任务需要多少时间 | 30 | 10 |
Development | 开发 | 1000 | 600 |
Analysis | 需求分析 (包括学习新技术) | 60 | 240 |
Design Spec | 生成设计文档 | 30 | 0 |
Design Review | 设计复审 | 30 | 0 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 60 |
Design | 具体设计 | 30 | 60 |
Coding | 具体编码 | 200 | 240 |
Code Review | 代码复审 | 30 | 30 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 60 |
Reporting | 报告 | 60 | 60 |
Test Repor | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 0 | |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 60 |
合计 | 1380 | 1200 |
三:解题思路:
根据题目要求便是对输入的测试数据进行数独解题,于是在使用web上便直接使用html、css、js做一个简单的计算器。设计中也百度参考了许多在线数独网站。
html部分:
生成9x9表格也就是81个格子,每个单元格设置为输入格用来读取数据当然也可以通过js来返回数字。作为一个计算器也就需要=按钮我设置为显示答案,归0按钮我设置为清除。
代码部分截图:
css部分: 就是对表格进行简单排版,并用从mdn里学的颜色渐变做背景。
最终htmlcss显示如下:
js部分也就是核心部分:
和之前做的很多题类似不过是通过js来写,算法参考的csdn里大佬所说:
理解起来就是简单的回溯算法,按照这个思路写js特别清晰。js里面的注释写的很清楚,可以从我的github里找到。
不过既然是做web,alert肯定少不了。
.......还有些带火自己去试吧。
最终结果测试:
点击显示答案后:
随便截了一组,测试了十来组数据没有发现问题。
四:静态分析及性能检查:
灯塔测试结果表示还行,俺也不知道怎么改。
五:总结: 本次作业做得很差,很多地方没有按要求完成,之后会学习同学博客认认真真学懂单元测试。还是得克服困难多练。