软工作业2:第一次个人编程作业

软件工程 计科21级12班-广东工业大学计算机学院
这个作业要求在哪里 个人项目
这个作业的目标 学会使用PSP表格;体验个人项目开发流程;学习使用github仓库代码管理

GitHub仓库地址

点击这里


PSP表格

Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning(计划) 10 12
Estimate(估计时间) 10 12
Development(开发) 530 440
Analysis(需求分析(包括学习新技术)) 100 60
Design Spec(生成设计文档) 60 10
Design Review(设计复审) 30 30
Coding Standard(代码规范 ) 30 10
Design(具体设计) 70 60
Coding(具体编码) 180 240
Code Review(代码复审) 60 30
Test(测试(自我测试,修改代码,提交修改)) 120 170
Test Report(测试报告) 60 120
Size Measurement(计算工作量) 30 20
Postmortem & Process Improvement Plan(事后总结, 并提出过程改进计划) 30 30
Total(合计) 660 622

编码要求

  1. 在Github仓库中新建一个学号为名的文件夹。
  2. 在开始实现程序之前,在PSP表格[附录2]记录下你估计在程序开发各个步骤上耗费的时间,在你实现程序之后,在PSP表格记录下你在程序的各个模块上实际花费的时间。
  3. 使用C++ 、Java语言或者python3实现,提交python代码时请附带上requirements.txt,。C++请使用Visual Studio Community 2017进行开发,运行环境为64-bit Windows 10。对于C++/Java,还需将编译好的程序发布到Github仓库中的releases中
  4. 提交的代码要求经过Code Quality Analysis工具的分析并消除所有的警告。
  5. 完成项目的首个版本之后,请使用性能分析工具Studio Profiling Tools来找出代码中的性能瓶颈并进行改进。
  6. 使用Github[附录3]来管理源代码和测试用例,代码有进展即签入Github。签入记录不合理的项目会被助教抽查询问项目细节。
  7. 使用单元测试[附录4]对项目进行测试,并使用插件查看测试分支覆盖率等指标;写出至少10个测试用例确保你的程序能够正确处理各种情况。

接口与算法设计

接口

所用库

算法设计

函数名 功能
get_message() 使用正则运算过滤特殊字符,再使用结巴分词
j_file() 计算余弦相似度
calc_similarity() 计算余弦相似度
time() 计算算法运行时间
profile 对算法进行性能分析

流程图

算法设计关键

  • 将待处理数据进行分词
  • 计算并记录列表中词汇对应出现的次数,将其变成一个向量
  • 将两个数据对应的向量代入夹角余弦定理,计算两向量的偏移度,即对应两者的相似度

算法性能分析

  1. 内存占用

2.函数覆盖率

3.数据测试

  • 与 orig.txt 比较

  • 与个人原文.txt比较


异常处理

  • 在输入文件绝对路径的时候,编译器可能会将“\”识别成转义字符导致文件读取失败而中断程序,此时可以将“\”“/”代替。
posted @ 2023-09-17 20:29  吃点啥好呢  阅读(18)  评论(0编辑  收藏  举报