第一次个人编程作业

作业归属 软件工程
作业要求 要求链接
作业目标
通过对第一次个人项目的完善,体会软件工程在提高项目质量中的作用

项目GitHub链接


项目PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 60
Estimate 估计这个任务需要多少时间 60 60
Development 开发 1200 2460
Analysis 需求分析 (包括学习新技术) 360 1260
Design Spec 生成设计文档 60 120
Design Review 设计复审 60 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 60
Design 具体设计 120 240
Coding 具体编码 420 600
Code Review 代码复审 60 60
Test 测试(自我测试,修改代码,提交修改) 120 300
Reporting 报告 30 30
Test Repor 测试报告 30 30
Size Measurement 计算工作量 60 60
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 30
合计 2730 5400

计算模块接口的设计与实现过程


文本相似度实现思想SimHash

[参考资料]https://www.cnblogs.com/huilixieqi/p/6493089.html

Paper_Check是项目的主类

FileIO是文档输入输出的工具类

Hamming_distance是计算海明距离的工具类

ShortStringException是异常处理的工具类

SimHashUtiles是计算分词哈希值的工具类


计算模块接口部分的性能改进


改进办法

从性能上分析,可以看到调用外部jar包的接口消耗性能最多,所以想提高性能就应该从外部接口入手,我找到了hanlp包的使用网址,把其中句法分析部分的模块删掉了,成功提高了接口的性能,和文字的处理速度。


计算模块部分单元测试展示


主类测试结果


结果文件




计算模块部分异常处理说明


设计了一个文本如果长度过短,就会抛出异常的类


点击查看代码
try{
            if(str.length() < 100) throw new ShortStringException("输入的文本过短!");
        }catch (ShortStringException e){
            e.printStackTrace();
            return null;
        }
------ ##测试异常处理类 ------ ###
点击查看代码
public class ShortStringException extends Exception {

    public ShortStringException(String message) {
        super(message);
    }

}
------
posted @ 2021-09-19 19:20  JIYIi  阅读(13)  评论(0编辑  收藏  举报