• 第一次个人编程作业


    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
  • 相关阅读:
    VS2010 C++环境下DLL和LIB文件目录及名称修改
    从点击Button到弹出一个MessageBox, 背后发生了什么
    Unicode化
    ANSI和UNICODE编程的注意事项
    SQL的主键和外键约束
    关于_WIN32_WINNT的含义
    清理Visual Studio中VC++工程里不需要的文件
    Windows应用程序的VC链接器设置
    #define WIN32_LEAN_AND_MEAN 的作用
    c++中char*wchar_t*stringwstring之间的相互转换
  • 原文地址:https://www.cnblogs.com/artkary/p/11532638.html
Copyright © 2020-2023  润新知