第一次个人编程作业

1.github地址:https://github.com/ZhangKai31/Address-info

2.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30
· Estimate · 估计这个任务需要多少时间 30
Development 开发 480
· Analysis · 需求分析 (包括学习新技术) 150
· Design Spec · 生成设计文档 10
· Design Review · 设计复审 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10
· Design · 具体设计 30
· Coding · 具体编码 200
· Code Review · 代码复审 10
· Test · 测试(自我测试,修改代码,提交修改) 60
Reporting 报告 75
· Test Repor · 测试报告 30
· Size Measurement · 计算工作量 15
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30
· 合计 585

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

函数:

Function
get_province(addr)
get_city(addr)
get_district(addr)
get_street(addr)
get_home(addr)
HTTPmap(addr)
cut_home(home)

设计思路

先正则匹配,当判定地址不完整时,HTTPmap函数调用API返回完整地址信息

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

改进性能花费时间:1H

性能分析图:

消耗性能最大的函数:cut_home(),不是一定的,和输入样例有关

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

部分单元测试代码:

from forTest.address_info import get_province
def test_province():
    assert get_province("福建省福州市鼓楼区鼓西街道湖滨路110号湖滨大厦一层") == "福建省"
    assert get_province("北京市城区交道口东大街1号北京市东城区人民法院") == "北京"
    assert get_province("福建福州闽侯县上街镇福州大学10#111") == None
    assert get_province("福建省福州市鼓楼区五一北路123号福州鼓楼医院") == "福建省"
    assert get_province("广东省东莞市凤岗镇凤平路13号") == "广东省"

测试覆盖率:

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

在没有匹配到地址的情况下,都默认输出空格。

7.PSP图

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 15
· Estimate · 估计这个任务需要多少时间 30 15
Development 开发 480 395
· Analysis · 需求分析 (包括学习新技术) 150 120
· Design Spec · 生成设计文档 10 10
· Design Review · 设计复审 10 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 10
· Design · 具体设计 30 15
· Coding · 具体编码 200 180
· Code Review · 代码复审 10 10
· Test · 测试(自我测试,修改代码,提交修改) 60 40
Reporting 报告 75 75
· Test Repor · 测试报告 30 30
· Size Measurement · 计算工作量 15 15
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 30
· 合计 585 485
原文地址:https://www.cnblogs.com/artkary/p/11532638.html