第一次个人编程作业

第一次个人编程作业

这个作业属于哪个课程 软件工程2024<广东工业大学>
这个作业要求在哪里 个人项目
这个作业的目标 <熟悉个人软件开发流程、熟悉各类工具的使用,学会用PSPG进行项目规划评估程序质量并优化程序>

github链接:3122004534

一、PHP表格

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

二、算法与程序结构

算法:

主要的两个算法函数simhash和Hamming,我是通过先学习CSDN上的同学的文章,再略作修改得到的,与一般的方法没有太多区别,在此不做展示:

借鉴于:《SimHash算法原理》《查重算法》

程序结构:

如上图所示:

TooException:控制用以SimHash计算的文字不少于300字;

TxtException:控制读取的文件仅为.txt型的文档;

MainText:主函数,用以开发时的逐步测试和最后的运行;

HammingUtils:Hamming算法的集合,参数:两端文字的hash值组; 返回:海明距离;

SimHashUtils:SimHash算法的集合,参数:要比较的文字; 返回:各个特征向量(这里为划分好的词)的hash值,hash值为二进制数01组成的n-bit签名;

TxtIOUtils:重写读取和读入的方法,使之符合要求;

三、各阶段分析与结果:

第一次提交:

  1. 内容:约束函数,simhash计算函数,主函数(测试函数);

  2. 运行结果:

第二次提交:

  1. 内容:Hamming计算函数;

  2. 运行结果:

第三次提交:

  1. 内容:

    -->文档相关的操作,包括将文档加入项目中、文档的读取和读入等,修改了主函数还有其它函数,调整到能完全进行文件操作;

    -->根据运行类编译测试类;

  2. 运行结果:

  1. 文档结果显示:

四、测试分析:

Exception:

MainText:

Utils:

五、 性能分析:

posted @ 2024-03-14 09:00  超困  阅读(19)  评论(0编辑  收藏  举报