个人项目作业

个人项目作业

| 这个作业属于哪个课程 | 软件工程 |
| ---- | ---- | ---- |
| 这个作业的要求在哪里 | 软工作业 |
| 这个作业的目标 | 1.学习个人完成简单文件查重
2.学习项目完成的流程
3.学习如何进行单元测试
4.学习将编好的项目安置到Github上 | | | |

1.Github作业链接

2.PSP表格

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

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

1.模块函数

2.算法关键

1.jieba分词

采用jieba分割的方法,将文本进行分割成一个个词语。

示例

代码展示

运行结果

2.re.sub替换标点符号


就是将文本中出现的标点符号替换成为'',及达到删除效果

3.余弦相似度

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

1.耗费时间

利用pycharm可以直接查看各种函数的耗费时间

改进前耗时

可以看出耗费时间最大的是get_word_vector函数,耗时1987ms

改进后耗时

改进思路:由于上面的jieba.lcut输出的是列表,而使用jieba.cut输出的是一个可以迭代的generator,在将他存放列表中,发现时间耗费果然更少了

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

单元测试

单元测试代码


测试结果

测试结果符合预期
代码覆盖率

总结

1.本次作业我们学会了如何一个人完成一个项目
2.并且可以了解到项目完成的流程
3.不过由于还是第一次,故有些细节没有完成的很好,不过下次会更加熟练并且可以完成的更好

posted @ 2021-09-19 21:47  愉玥  阅读(36)  评论(0)    收藏  举报