第一次个人编程作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136 |
这个作业的目标 | <学习PSP表的使用、github的使用以及独立完成一个论文查重算法> |
github地址:
https://github.com/Gttor/Gttor.git
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 40 |
· Estimate | · 估计这个任务需要多少时间 | 10 | 20 |
Development | 开发 | 420 | 360 |
· Analysis | · 需求分析 (包括学习新技术) | 120 | 360 |
· Design Spec | · 生成设计文档 | 30 | 20 |
· Design Review | · 设计复审 | 10 | 5 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 5 |
· Design | · 具体设计 | 120 | 60 |
· Coding | · 具体编码 | 60 | 90 |
· Code Review | · 代码复审 | 10 | 10 |
· Test | · 测试(自我测试,修改代码,提交修改) | 10 | 10 |
Reporting | 报告 | 60 | 60 |
· Test Repor | · 测试报告 | 60 | 10 |
· Size Measurement | · 计算工作量 | 10 | 5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 20 |
· 合计 | 1010 | 1075 |
模块接口的设计与实现过程
模块设计:
read_file(file_path): 读取指定路径的文件内容,并返回文件内容作为字符串。
calculate_similarity(original_text, plagiarized_text): 计算原文和抄袭版论文之间的相似度,通过匹配词数的比例来衡量相似度。
main(): 主函数,用于用户交互和整个程序的执行流程控制。
流程图:
性能分析
1.有交互界面,方便使用
2.运行时间较短
3.占用内存较少
4.缺点是查重率有时不太精确
单元测试展示
总结
1.这是我第一次用Python语言来编写算法,有许多不熟悉的地方,遇到了很多困难,删删改改了很多次才勉强完成编码。
2.软件测试我之前也未曾接触,下载了软件,看了很多博文也无从下手,因此这次作业的测试部分我没有能够完成,但我会不断学习,提高自己的能力,争取下次作业能够完成所有步骤。