第一次个人编程作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
这个作业的目标 尝试开发个人项目,熟悉流程

GitHub链接

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

开发

需求分析

要求通过命令行传入原文文件以及待测试文件,计算重复率后输出到用户设置的路径中的文件

设计文档

  1. 输入处理
    接收用户输入
    读取文件内容
    统一文本格式
  2. 计算处理
    计算两份文件的重复率并返回值
  3. 输出处理
    将计算模块返回的值写入到用户输入的文件路径中

接口设计

利用sys.argv直接读取3个文件路径,再赋值给变量,可以只用一个读取输入模块就能完成所有读取工作

实现过程

先读取文档内容,通过translate统一文本内容格式,方便比对。利用difflib库对接入的两份文本进行匹配并提取出相匹配的文本,计算各文本字数来计算重复率,输出到答案文件

性能分析


单元测试

通过比对计算模块返回的值以及预估的值,若一样则视为通过测试

代码覆盖率

异常处理

文件路径不存在的处理

文件内容为空的处理


requirements文档内容说明

由于该程序使用python自带的difflib库进行处理,因而不需要外部库的引入

posted @ 2024-03-12 22:00  千夫所指里、  阅读(41)  评论(0编辑  收藏  举报