第一次个人编程作业

1.本次作业的github地址链接:

https://github.com/15759928829/181700140

2.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 100(sum)
Estimate 估计这个任务需要多少时间 100
Development 开发 800
Analysis 需求分析 (包括学习新技术) 60
Design Spec 生成设计文档 40
Design Review 设计复审 30
Coding Standard 代码规范 30
Design 具体设计 100
Coding 具体编码 300
Code Review 代码复审 40
Test 测试 200
Reporting 报告 100
Test Repor 测试报告 20
Test Repor 计算工作量 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60
合计 1000

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

由于省级行政区与市级行政区可能缺少省/市,所以这个不能通过判断有没有省/市来确定省份与城市,所以收集了所有的省份信息和省份中市级行政区的信息,并保存在文件中。

  • 第一步,读取省份信息文件,并通过函数split进行拆分,并储存在字典中。
  • 第二步,将地址通过split函数以‘,’进行拆分成两部分,然后通过读取[0][2:]可以读出姓名,使用正则匹配compile和findall可以读取电话号码,并将其从地址中删除。
  • 第三步,因为等级是在第一位,所以可以直接读取等级。
  • 第四步,使用函数find将收集的数据中的省份与地址进行匹配,同时进行判断是否属于直辖市或者自治区,如果不属于就在后面加上‘省’储存在字典之中。
  • 第四步,通过第三步找到的省份,在用里面的城市与地址进行匹配,然后将其存储在字典之中。并将其删除。
  • 第五步,判断等级,如果是第一级,使用find函数查找关键词,找到之后将其与前面的值存储下来同时将其从地址中删除。并将最后的地址也存人字典。如果是第二级就多加一步

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

5.计算模块部分单元测试

1!卞继主,黑15241257071龙江省齐齐哈尔市建华区卜奎街道鑫海家园B7号楼.
1!庾感裤,宁夏回族自治区中卫沙坡头区砖塔13963011320村卫生室.
2!宦塌骨,北京市丰台区马家堡街道角门南路13865443474甲14号富卓苑小区.
1!宫焊,上海市虹桥街道中山西路1065号中山广场15038265133B座.
1!宁枪裂,北京市平谷区滨河街道林荫18883080553北路7号金谷东园7号楼.
{"姓名": "卞继主", "电话": "15241257071", "地址": ["黑龙江省", "齐齐哈尔市", "建华区", "卜奎街道", "鑫海家园B7号楼"]}
{"姓名": "庾感裤", "电话": "13963011320", "地址": ["宁夏回族自治区", "中卫市", "沙坡头区", "", "砖塔村卫生室"]}
{"姓名": "宦塌骨", "电话": "13865443474", "地址": ["北京", "北京市", "丰台区", "马家堡街道", "角门南路", "甲14号", "富卓苑小区"]}
{"姓名": "宫焊", "电话": "15038265133", "地址": ["上海", "上海市", "", "虹桥街道", "中山西路1065号中山广场B座"]}
{"姓名": "宁枪裂", "电话": "18883080553", "地址": ["北京", "北京市", "平谷区", "滨河街道", "林荫北路7号金谷东园7号楼"]}

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

2!解维牌,上海市长宁区仙霞新13345422905村街道虹古路261弄虹古小区4号楼.
错误:{"姓名": "解维牌", "电话": "13345422905", "地址": ["上海", "上海市", "长宁区", "仙霞新村街道", "虹古路", "261弄虹古小区4号", "楼"]}
正确:{"姓名": "解维牌", "电话": "13345422905","地址": ["上海", "上海市", "长宁区", "仙霞新村街道", "虹古路", "261弄", "虹古小区4号楼"]}
这个例子中出现了门牌的关键字,导致了具体地址的错误

2!柳吻,辽宁省大连市中山区青泥13013864707洼桥街道上海路45号宏孚大厦苏宁易购.
错误:{"姓名": "柳吻", "电话": "13013864707", "地址": ["上海", "上海市", "中山区", "青泥洼桥街道", "上海路", "45号", "宏孚大厦苏宁易购"]}
正确:正确答案:{"姓名": "丰缓", "手机": "13608320376", "地址": ["天津", "天津市", "滨海新区", "新城镇", "新城村东里", "5号", "新城中学"]}
在收集的省份数据里面上海排在了辽宁之前,导致判断为上海

1!翁庆,江苏省13860627003宿迁市宿城区172乡道罗圩中心小学.
错误:{"姓名": "翁庆", "电话": "13860627003", "地址": ["江苏省", "宿迁市", "宿城区", "172乡道罗圩中心小学", "道罗圩中心小学"]}
正确:正确答案:{"姓名": "翁庆", "手机": "13860627003", "地址": ["江苏省", "宿迁市", "宿城区", "", "172乡道罗圩中心小学"]}
未能正确判断出道路

7.完整PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 100(sum) 90
Estimate 估计这个任务需要多少时间 100
Development 开发 800 1035
Analysis 需求分析 (包括学习新技术) 60 65
Design Spec 生成设计文档 40 50
Design Review 设计复审 30 45
Coding Standard 代码规范 30 45
Design 具体设计 100 120
Coding 具体编码 300 360
Code Review 代码复审 40 150
Test 测试 200 200
Reporting 报告 100 200
Test Repor 测试报告 20 40
Test Repor 计算工作量 20 50
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 110
合计 1000 1325

简单总结

这次的作业学习到了几个新的函数,在此次编码的过程中,考虑的不够全面的,虽然在后面有对算法进行了一些优化但是还是没有提高很多分数。总的来说就是算法不够好,考虑的不够全面周到。虽然这次作业做得不够好但我也有一些收获,学会使用了几个新的函数。

posted @ 2019-09-29 20:04  吴超望  阅读(147)  评论(2编辑  收藏  举报