这个作业属于哪个课程 | 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/ally-oop/hello-world/commit/dc662a6f31a48f93b97a7284bc9cc12b70f73143)
2.PSP 表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
Estimate | 估计这个任务需要多少时间 | 600 | 800 |
Development | 开发 | 300 | 400 |
Analysis | 需求分析 (包括学习新技术) | 60 | 120 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 30 | 40 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 60 |
Design | 具体设计 | 60 | 120 |
Coding | 具体编码 | 120 | 240 |
Code Review | 代码复审 | 30 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 40 | 80 |
Reporting | 报告 | 30 | 30 |
Test Repor | 测试报告 | 30 | 30 |
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 60 |
合计 | 1430 | 2120 |
3. 解题思路
首先还是审题
emmmmmmmmmmmmm
逐渐眉头紧锁,好吧 我还是先去看一下别人是怎么写的,在浏览了几个同学的博客作业之后,稍微对这个作业有了一个大致的了解,然后又去百度了数独相关的知识,
了解到解数独需要用到的算法是利用规则的摒弃法或者是采用基于递归回溯法的算法,使用这两种算法的居多
4. 设计实现过程
用cmd指令运行得到如下结果
5. 改进程序性能
我用的jprofiler性能分析工具,对打码进行性能动态分析
然后。。。就没有然后了 目前只会使用jprofiler来测试 ,代码没有什么大的问题,但是要进一步改进就没招了
代码的静态审查规约(阿里编码规约扫描)
提示了一个blocker,十二个major的编写不规范的地方
一顿修改之后 基本解决了问题
6. 代码说明
7. 心历路程与收获
这次作业其实对于我来说算是一个比较困难的挑战,先不说各个性能分析工具的使用,单是代码实现这一块就花费了不少功夫,编程能力较弱,之前只是试着编写了一些简单的程序,还有就是算法这块
的不熟悉,通过此次作业也让我看到了自己很多的不足,以及需要改进的地方,收获就是在写博客完成作业期间,了解了github,以及jprofiler和阿里编码规约等一系列以前没有用过的工具,对软件工程
这门课程有了更好的认识。