第一次个人编程作业

1、GitHub地址:

https://github.com/SilentSamsara/031702625.git

2、预计PSP表格

PSP2.1Personal 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类的方法,拼接完成后直接返回主函数,输出到文件中。大体图如下:
1795972-20190928211405823-1852720625.png

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

测试输入:

1!鲁胞,上海长宁区周18951233466家桥街道长宁路999号春天花园.
1!喻矫,北京和15298465108平里街道黄寺大街甲1号院.
1!宰训,西藏自治区拉萨市尼木县续迈乡103县道尼木县15290504225续迈乡中心卫生院.
1!谷梁悍,北京市门头沟区斋堂镇军响村军响中心小18916133476学.
2!茅参,上海市嘉定区马13347914736陆镇嘉新公路1157号樊家村1256号楼.
3!廉捷咏,浙江省上城区紫阳街道太庙巷62号紫阳学前教18999108285育集团.
3!汲者,江苏灌13555806486南县田楼镇新盘村新盘幼儿园.
3!符乡,安徽大观区菱湖街道宜园13281503317路80号.
3!汝舟孙,贵州省修文县龙岗社区15766780930服务中心阳明西路196号龙岗居委会.
3!孙旗乖,13366755810白城市洮北区长庆南街65号.

结果输出:

[
    {
        "姓名": "鲁胞",
        "电话号码": "18951233466",
        "地区":[
            "上海",
            "上海市",
            "长宁区",
            "周家桥街道",
            "长宁路999号春天花园",
        ]

    },
    {
        "姓名": "喻矫",
        "电话号码": "15298465108",
        "地区":[
            "北京",
            "北京市",
            "",
            "和平里街道",
            "黄寺大街甲1号院",
        ]

    },
    {
        "姓名": "宰训",
        "电话号码": "15290504225",
        "地区":[
            "西藏自治区",
            "拉萨市",
            "尼木县",
            "续迈乡",
            "103县道尼木县续迈乡中心卫生院",
        ]

    },
    {
        "姓名": "谷梁悍",
        "电话号码": "18916133476",
        "地区":[
            "北京",
            "北京市",
            "门头沟区",
            "斋堂镇",
            "军响村军响中心小学",
        ]

    },
    {
        "姓名": "茅参",
        "电话号码": "13347914736",
        "地区":[
            "上海",
            "上海市",
            "嘉定区",
            "马陆镇",
            "嘉新公路",
            "1157号",
            "樊家村1256号楼",
        ]
    },
    {
        "姓名": "廉捷咏",
        "电话号码": "18999108285",
        "地区":[
            "浙江省",
            "",
            "上城区",
            "紫阳街道",
            "",
            "太庙巷62号",
            "紫阳学前教育集团",
        ]
    },
    {
        "姓名": "汲者",
        "电话号码": "13555806486",
        "地区":[
            "江苏省",
            "",
            "灌南县",
            "田楼镇",
            "",
            "",
            "新盘村新盘幼儿园",
        ]
    },
    {
        "姓名": "符乡",
        "电话号码": "13281503317",
        "地区":[
            "安徽省",
            "",
            "大观区",
            "菱湖街道",
            "宜园路",
            "80号",
            "",
        ]
    },
    {
        "姓名": "汝舟孙",
        "电话号码": "15766780930",
        "地区":[
            "贵州省",
            "",
            "修文县",
            "",
            "龙岗社区服务中心阳明西路",
            "196号",
            "龙岗居委会",
        ]
    },
    {
        "姓名": "孙旗乖",
        "电话号码": "13366755810",
        "地区":[
            "",
            "",
            "白城市洮北区",
            "长庆南街",
            "",
            "65号",
            "",
        ]
    }
]

本地测试采用的cmd指令:
1795972-20190928013357014-1894355755.png

截图:
1795972-20190928013413860-1345066919.png
1795972-20190928013422227-1604472364.png

测试覆盖率:
1795972-20190929180455021-1522254851.png

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

异常:
1、 直辖市、特别行政区、自治区的后缀多显示了“省”或没有正常显示;
1795972-20190928013437448-2019782452.png

2、 一些空的地址内容中会出现多出一两个字;
1795972-20190928013445121-647087064.png

3、 电话号码识别的时候,会错误的把门牌号、楼号等识别成电话号码;
1795972-20190928013454978-1822173680.png

......
处理:
1、 直辖市、特别行政区和自治区提出另外讨论总共4+2+5=7个;
1795972-20190928013500847-2007943879.png

2、在返回值的时候多判断一下空地址是否正确;
3、暴力识别,写个循环识别11位手机号码。

7、实际PSP表格

PSP2.1Personal 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

转载于:https://www.cnblogs.com/SilentSamsara/p/11601248.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值