第一次个人项目

课程 https://edu.cnblogs.com/campus/gdgy/cse2021
作业要求 https://edu.cnblogs.com/campus/gdgy/cse2021/homework/12254
作业目标 完成个人项目开发
GitHub [](https://github.com/xiaohie233/3120004760)

1.PSP表格

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

2.项目实现过程

类的种类:

  1. 工具类: CheckPaper ,用于计算相似度。

  1. getSimilarity :获取两个句子相似度。
  2. statistic :将词语集合转化成可计算的数字数组。
  3. mergeList :合并两个集合。
  4. getSplitWords :分割文本变成词语集合。
  1. 工具类: FileUtil ,用于文件的读写。

  1. readTxt:读取txt文件。

  2. writeTxt:打印txt文件。

  1. 工具类: JudgeInsert ,用于判断输入的参数是否合格。

  1. judgeInsert:判断输入的命令函参数是否等于三个
  1. 异常类: InsertException ,用于抛出输入异常。

流程图

3.算法分析

余弦函数在三角形中的计算公式为:

算法

在直角坐标系中,向量表示的三角形的余弦函数是怎么样的呢?下图中向量a用坐标(x1,y1)表示,向量b用坐标(x2,y2)表示。

向量a和向量b在直角坐标中的长度为向量a和向量b之间的距离我们用向量c表示,就是上图中的黄色直线,那么向量c在直角坐标系中的长度为,将a,b,c带入三角函数的公式中得到如下的公式:

算法

这是2维空间中余弦函数的公式,那么多维空间余弦函数的公式就是:

算法

余弦相似度
余弦相似度量:计算个体间的相似度。
相似度越小,距离越大。相似度越大,距离越小。

4.单元测试

通过测试每个包下中的类方法来判断该方法是否可行。

image-20210922092559813

image-20210922092637972

5.计算接口部分性能改进

image-20210923001413325

image-20210923001406578

image-20210923001355259

image-20210923001344014

image-20210923001431817

image-20210923001236366

6.异常处理

  1. 当读写文件的路径不对时,报FileNotFoundException错误

image-20210922092846803

  1. 当命令行输入的参数有误时 报输入参数数量有误错误

posted @ 2021-09-23 00:17  里头布莱克  阅读(234)  评论(0)    收藏  举报