https://github.com/cjx0117/031902502.git
一、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 5 | 5 |
· Estimate | · 估计这个任务需要多少时间 | 5 | 5 |
Development | 开发 | 180 | 240 |
· Analysis | · 需求分析 (包括学习新技术) | 480 | 600 |
· Design Spec | · 生成设计文档 | 20 | 20 |
· Design Review | · 设计复审 | 10 | 20 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 5 | 5 |
· Design | · 具体设计 | 60 | 60 |
· Coding | · 具体编码 | 180 | 180 |
· Code Review | · 代码复审 | 10 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 300 | 600 |
Reporting | 报告 | 30 | 60 |
· Test Repor | · 测试报告 | 10 | 10 |
· Size Measurement | · 计算工作量 | 5 | 5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
· 合计 | 1330 | 1870 |
二、计算模块接口
计算模块接口的设计与实现过程
在开始做这次作业之前,我有去查找一些可以用来查找敏感词的算法思路,比如dfa什么的,但是因为没有学过Python和Java,也没有找到用c++编写的UTF-8格式的汉字转拼音和偏旁拆分的数据库,所以我只做了敏感词中插入其他字符的部分。我的代码可以分成三部分,首先是把敏感词存入一个二叉树里,然后是剔掉输入待查原文中的无效字符并按顺序存到链表中,最后就是最关键的进行对比,找到敏感词并且记录相关参数了,代码如下。
计算模块接口部分的性能改进
完成现在提交的作业后有尝试完成其余的测试部分,就是文件改里面的内容(其实是最初的想法,因为以为是gb2312编码所以可以完成拼音和首字母的部分),不过因为没有现成的对照表,所以只能完成已经有记录的汉字的部分,然后是提交的作业的性能分析图如下。
计算模块部分单元测试展示
样例结果
计算模块部分异常处理说明
如果无法打开文件会在命令窗口提示,代码如下。
三、心得
这次作业要求用到了许多以前没接触过的新知识和工具,都需要自己去查资料和摸索,对我来说还是比较困难的,在把想法实现为程序的过程中,因为知识有限,没有办法全部完成,有点不甘心,以后还是要多多学习,找时间把Python学一下。