第一次个人编程作业

☆樱花仙子☆ 提交于 2019-11-30 15:18:58

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
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!