第一次个人编程作业

1.github链接

github

2.时间记录

PSP2.1 personal software process stages 预计耗时(分钟) 实际耗时(分钟)
planing 计划 60 100
estimate 估计这个任务需要多少时间 30 30
development 开发 600 800
analysis 需求分析 100 200
design spec 生成设计文档 30 50
design review 设计复审 30 50
coding standard 代码规范(为目前的开发制定合适的规范) 30 10
design 具体设计 60 120
coding 具体编码 300 400
code review 代码复审 100 150
test 测试(自我测试,修改代码,提交修改) 100 150
reporting 报告 100 80
test report 测试报告 100 120
size measurement 计算工作量 30 20
postmortem&process improvement plan 事后总结,并提出过程改进计划 30 40
合计 1150 1350

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

我的代码没有考虑到“省”,“市”缺失的情况,所以就总体的思路就是:

  • 通过寻找11位的数字来确定电话号码
  • 通过寻找“,”,然后“,”之前的就是姓名

  • 去除了姓名,逗号和电话号码之后剩下的一串地址
  • 在剩下的一串地址中通过对“省市县”等关键词的匹配确定各级地址
  • 将处理出来的姓名,电话号码和各级地址整合一下等待输出
    第一次个人编程作业_第1张图片

我的代码就是按照这样的顺序处理的,好处就是在省市这样的关键词都完备的情况下可以很好的输出结果,坏处就是如果某个行政区划分没有带关键词就无法切分了

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

第一次个人编程作业_第2张图片

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

  • 输入
    1!小茗,江西省上饶市明哲13965231525镇天枢路13号.
    2!刘胜,河北省石家庄23467538212市北坡区绿山镇名山街46号.
    3!庄瑞,海南23534823613省海口市玉台区天府路55号.

  • 输出
    {"姓名": "小茗", "手机": "13965231525", "地址": ["江西省", "上饶市", "", "明哲镇", "天枢路", "13号", ""]}
    {"姓名": "刘胜", "手机": "23467538212", "地址": ["河北省", "石家庄市", "北坡区", "绿山镇", "名山街", "46号", ""]}
    {"姓名": "庄瑞", "手机": "23534823613", "地址": ["海南省", "海口市", "玉台区", "", "天府路", "55号", ""]}

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

  • 输入的省市关键词不全的情况不能识别缺失关键词的部分
    输入:1!宁励,江苏南京23456345223市三阳区民主北路37号.
    输出:{"姓名": "宁励", "手机": "23456345223", "地址": ["", "江苏南京市", "三阳区", "", "民主北路", "37号", ""]}
  • 输入的地址有重复的情况不能识别
    输入:2!洋洋,湖北省武汉21345643421市水泽区武汉市水泽区民主北路45号.
    输出:{"姓名": "洋洋", "手机": "21345643421", "地址": ["湖北省", "武汉市", "水泽区", "", "武汉市水泽区民主北路", "45号", ""]}

你可能感兴趣的:(第一次个人编程作业)