第一次个人项目
| 课程 | 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.项目实现过程
类的种类:
工具类: CheckPaper ,用于计算相似度。
- getSimilarity :获取两个句子相似度。
- statistic :将词语集合转化成可计算的数字数组。
- mergeList :合并两个集合。
- getSplitWords :分割文本变成词语集合。
工具类: FileUtil ,用于文件的读写。
readTxt:读取txt文件。
writeTxt:打印txt文件。
工具类: JudgeInsert ,用于判断输入的参数是否合格。
- judgeInsert:判断输入的命令函参数是否等于三个
异常类: InsertException ,用于抛出输入异常。
3.算法分析
余弦函数在三角形中的计算公式为:
在直角坐标系中,向量表示的三角形的余弦函数是怎么样的呢?下图中向量a用坐标(x1,y1)表示,向量b用坐标(x2,y2)表示。
向量a和向量b在直角坐标中的长度为向量a和向量b之间的距离我们用向量c表示,就是上图中的黄色直线,那么向量c在直角坐标系中的长度为,将a,b,c带入三角函数的公式中得到如下的公式:
这是2维空间中余弦函数的公式,那么多维空间余弦函数的公式就是:
余弦相似度
余弦相似度量:计算个体间的相似度。
相似度越小,距离越大。相似度越大,距离越小。
4.单元测试
通过测试每个包下中的类方法来判断该方法是否可行。
5.计算接口部分性能改进
6.异常处理
- 当读写文件的路径不对时,报FileNotFoundException错误
- 当命令行输入的参数有误时 报输入参数数量有误错误

浙公网安备 33010602011771号