个人项目

个人项目

软件工程 网工1934链接
作业要求:
1.在 Github 仓库中新建一个学号为名的文件夹。
2.在开始实现程序之前,在 PSP 表格记录下你估计在程序开发各个步骤上耗费的时间,
在实现程序之后,在PSP表格记录下你在程序的各个模块上实际花费的时间。
3.语言不限,并将编译好的程序发布到 Github 仓库中的 releases 中。
4.提交的代码要求经过 Code Quality Analysis 工具的分析并消除所有的警告。
5.完成项目的首个版本之后,请使用性能分析工具Studio Profiling Tools来找出代码中的性能瓶颈并进行改进。
6.使用Github来管理源代码和测试用例,代码有进展即签入Github。
7.使用单元测试对项目进行测试,并使用插件查看测试分支覆盖率等指标;写出至少10个测试用例确保你的程
序能够正确处理各种情况。
作业要求
作业目标
设计一个论文查重算法,给出一个原文文件<和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案
文件中输出其重复率。

github链接

PSP

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

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

主类为Demo
存储类Data(用于存储每个语句的重复率)

项目结构(方法)

流程图

计算代码

单元测试

分句单测试模块:


分句模块的具体作用为去除文本中所以常见的标点符号
测试结果

覆盖率

性能测试

由于字符串的处理相对比较频繁,由图可知StringBuilder类的大小占比较高

异常处理

当文件为空时执行此代码

项目测试

原文与测试文章必须使用UTF-8

运行结果(结果顺序与执行顺序一致)

posted @ 2021-09-18 20:10  皮皮的初一  阅读(96)  评论(1编辑  收藏  举报