​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格式的汉字转拼音和偏旁拆分的数据库,所以我只做了敏感词中插入其他字符的部分。我的代码可以分成三部分,首先是把敏感词存入一个二叉树里,然后是剔掉输入待查原文中的无效字符并按顺序存到链表中,最后就是最关键的进行对比,找到敏感词并且记录相关参数了,代码如下。

第一次个人编程作业_python

计算模块接口部分的性能改进

完成现在提交的作业后有尝试完成其余的测试部分,就是文件改里面的内容(其实是最初的想法,因为以为是gb2312编码所以可以完成拼音和首字母的部分),不过因为没有现成的对照表,所以只能完成已经有记录的汉字的部分,然后是提交的作业的性能分析图如下。

第一次个人编程作业_异常处理_02

计算模块部分单元测试展示

第一次个人编程作业_python_03


第一次个人编程作业_性能分析_04


第一次个人编程作业_敏感词_05


样例结果

计算模块部分异常处理说明

如果无法打开文件会在命令窗口提示,代码如下。

第一次个人编程作业_性能分析_06


第一次个人编程作业_敏感词_07

三、心得

这次作业要求用到了许多以前没接触过的新知识和工具,都需要自己去查资料和摸索,对我来说还是比较困难的,在把想法实现为程序的过程中,因为知识有限,没有办法全部完成,有点不甘心,以后还是要多多学习,找时间把Python学一下。