第一次个人编程作业
第一次个人编程作业
这个作业属于哪个课程 | 软件工程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上的同学的文章,再略作修改得到的,与一般的方法没有太多区别,在此不做展示:
程序结构:
如上图所示:
TooException:控制用以SimHash计算的文字不少于300字;
TxtException:控制读取的文件仅为.txt型的文档;
MainText:主函数,用以开发时的逐步测试和最后的运行;
HammingUtils:Hamming算法的集合,参数:两端文字的hash值组; 返回:海明距离;
SimHashUtils:SimHash算法的集合,参数:要比较的文字; 返回:各个特征向量(这里为划分好的词)的hash值,hash值为二进制数01组成的n-bit签名;
TxtIOUtils:重写读取和读入的方法,使之符合要求;
三、各阶段分析与结果:
第一次提交:
-
内容:约束函数,simhash计算函数,主函数(测试函数);
-
运行结果:
第二次提交:
-
内容:Hamming计算函数;
-
运行结果:
第三次提交:
-
内容:
-->文档相关的操作,包括将文档加入项目中、文档的读取和读入等,修改了主函数还有其它函数,调整到能完全进行文件操作;
-->根据运行类编译测试类;
-
运行结果:
- 文档结果显示: