1、GitHub地址:
https://github.com/SilentSamsara/031702625.git
2、预计PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) |
|---|---|---|
| Planning | 计划 | 30 |
| · Estimate · | 估计这个任务需要多少时间 | 360 |
| Development | 开发 | 120 |
| · Analysis · | 需求分析 (包括学习新技术) | 40 |
| · Design Spec · | 生成设计文档 | 30 |
| · Design Review · | 设计复审 | 30 |
| · Coding Standard · | 代码规范 (为目前的开发制定合适的规范) | 20 |
| · Design · | 具体设计 | 30 |
| · Coding · | 具体编码 | 120 |
| · Code Review · | 代码复审 | 30 |
| · Test · | 测试(自我测试,修改代码,提交修改) | 120 |
| Reporting | 报告 | 30 |
| · Test Repor · | 测试报告 | 20 |
| · Size Measurement · | 计算工作量 | 20 |
| · Postmortem & Process Improvement Plan · | 事后总结, 并提出过程改进计划 | 30 |
3、计算模块接口的设计与实现过程
开始设计时,想到是写三个类,一个主类Main,用于创建变量和实现文件的输入和输出方法,一个Person类存放姓名和电话号码,一个Location类存放分级后的地址。但是在后来,发现地址匹配需要一个地址库,于是创建了一个AddressLibrary静态类,用于存放省级名称和市级名称。Main类中调用接收.txt文件进来先匹配省和市,再将剩下的字符串送入Location类中,Location类处理完再整合.json格式数据送入写文件函数中;Person类中有两个函数一个是设置名字和电话号码,另一个是返回名字和电话号码json格式的String类型数据;Location类,是比较复杂的一部分,主要是将传入的字符串进行处理保存,然后返回,处理过程中考虑的事情比较多。。。。。。
4、计算模块接口部分的性能改进
将Location类实例化到Person类中,这样就可以通过Person类直接调用Location类中的方法。在拼接最后输出的Json格式时,由于分布在两个不同的类中。显得比较复杂,所以就在Person类的方法中直接调用Location类的方法,拼接完成后直接返回主函数,输出到文件中。
5、计算模块部分单元测试展示
测试输入:
2!李四,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
结果输出:
{
"姓名": "李四",
"电话号码": "13756899511",
"地区":[
"福建省",
"福州市",
"鼓楼区",
"鼓西街道",
"湖滨路",
"110号",
"湖滨大厦一层",
]
}
本地测试采用的cmd指令:
截图:

…
6、计算模块部分异常处理说明
异常:
1、 直辖市、特别行政区、自治区的后缀多显示了“省”或没有正常显示;
2、 一些空的地址内容中会出现多出一两个字;
3、 电话号码识别的时候,会错误的把门牌号、楼号等识别成电话号码;
......
处理:
1、 直辖市、特别行政区和自治区提出另外讨论总共4+2+5=7个;
2、在返回值的时候多判断一下空地址是否正确;
3、暴力识别,写个循环识别11位手机号码。
7、实际PSP表格
| PSP2.1 | Personal Software Process Stages | 实际耗时(分钟) |
|---|---|---|
| Planning | 计划 | 30 |
| · Estimate · | 估计这个任务需要多少时间 | 720 |
| Development | 开发 | 360 |
| · Analysis · | 需求分析 (包括学习新技术) | 140 |
| · Design Spec · | 生成设计文档 | 60 |
| · Design Review · | 设计复审 | 40 |
| · Coding Standard · | 代码规范 (为目前的开发制定合适的规范) | 30 |
| · Design · | 具体设计 | 40 |
| · Coding · | 具体编码 | 240 |
| · Code Review · | 代码复审 | 180 |
| · Test · | 测试(自我测试,修改代码,提交修改) | 240 |
| Reporting | 报告 | 60 |
| · Test Repor · | 测试报告 | 60 |
| · Size Measurement · | 计算工作量 | 40 |
| · Postmortem & Process Improvement Plan · | 事后总结, 并提出过程改进计划 | 30 |