uv's桶

导航

软件工程第一次个人编程作业

1.1 Github链接

Github链接:https://github.com/universe-tong/03170262

2.1PSP

使用PSP的目的是记录如何实现需求所需要消耗的时间,以及完成整个项目所需要的时间。

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

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

3.2以下是所用到的函数和类

导入两个初始化列表,一个是全国各个省份的名称,再一个是各个省份包括的市

def Provincelist()
def Citylist()

然后是程序的几个重要函数
讲输入的字符串中的名字和电话号码提取出来,之后再返回一个剩下的地址字符串

def GetNameAndNumber(str,list,index)

在字符串提取出省份

def findprovicne(str,list,index)

在字符串中提取出城市名字

def findcity(str,list,index)

在字符串中提取出县/区/乡

def findtown(str,list,index)

3.3独到之处

导入了省份和城市的库,匹配的结果更为准确。

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

使用Pycharm里的性能测试工具,测试性能及函数的使用情况,以及覆盖率
函数调用图

时间开销图:

代码的覆盖率:

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

输入:
1!鲁胞,上海长宁区周18951233466家桥街道长宁路999号春天花园.
1!臧街经,北京市东城区北新桥街道东直门内大街民15679601503安小区8号楼.
1!双韵,安徽黄山市歙县雄村镇006县道与G56杭瑞高速歙县雄村乡防保站13575634949.
1!苗朽蕾,13884441418湖北省孝感市云梦县方庙村村委会.
1!晏孔,重庆巫山13097181946县大昌镇洋溪村便民超市.
1!荆麻,13282875332天津市北淮淀镇乐善庄村乐善庄小学.
1!诸葛宁盛,河南省15613629652焦作市山阳区定和街道塔南路287号新兴日化.
1!冯昔唉,安徽省合肥市庐江县郭河镇G3京台高18835354291速合肥市庐江县广寒桥街道.
1!百里屏闷,广西壮族自治区桂林市灵川县潭13315249688下镇004乡道灵川县潭下镇大义村民委员会.
1!徐扼负,天津市河北区月牙河街道大江里58号楼13289199578.
1!娄缠壮,山东省烟台莱山14732355817区莱山街道南陈家疃小区10栋.
1!曹持,江苏泰州13066409994市海陵区迎宾路88号春兰商务酒店.
输出:
{
"level": 1,
"姓名": "鲁胞",
"手机": "18951233466",
"地址": [
"上海",
"上海市",
"长宁区",
"周家桥街道",
"长宁路999号春天花园"
]
},
{
"level": 1,
"姓名": "臧街经",
"手机": "15679601503",
"地址": [
"北京",
"北京市",
"东城区",
"北新桥街道",
"东直门内大街民安小区8号楼"
]
},
{
"level": 1,
"姓名": "双韵",
"手机": "13575634949",
"地址": [
"安徽省",
"黄山市",
"歙县",
"雄村镇",
"006县道与G56杭瑞高速歙县雄村乡防保站"
]
},
{
"level": 1,
"姓名": "苗朽蕾",
"手机": "13884441418",
"地址": [
"湖北省",
"孝感市",
"云梦县",
"",
"方庙村村委会"
]
},
{
"level": 1,
"姓名": "晏孔",
"手机": "13097181946",
"地址": [
"重庆",
"重庆市",
"巫山县",
"大昌镇",
"洋溪村便民超市"
]
},
{
"level": 1,
"姓名": "荆麻",
"手机": "13282875332",
"地址": [
"天津",
"天津市",
"",
"北淮淀镇",
"乐善庄村乐善庄小学"
]
},
{
"level": 1,
"姓名": "诸葛宁盛",
"手机": "15613629652",
"地址": [
"河南省",
"焦作市",
"山阳区",
"定和街道",
"塔南路287号新兴日化"
]
},
{
"level": 1,
"姓名": "冯昔唉",
"手机": "18835354291",
"地址": [
"安徽省",
"合肥市",
"庐江县",
"郭河镇",
"G3京台高速合肥市庐江县广寒桥街道"
]
},
{
"level": 1,
"姓名": "百里屏闷",
"手机": "13315249688",
"地址": [
"广西壮族自治区",
"桂林市",
"灵川县",
"潭下镇",
"004乡道灵川县潭下镇大义村民委员会"
]
},
{
"level": 1,
"姓名": "徐扼负",
"手机": "13289199578",
"地址": [
"天津",
"天津市",
"河北区",
"月牙河街道",
"大江里58号楼"
]
},
{
"level": 1,
"姓名": "娄缠壮",
"手机": "14732355817",
"地址": [
"山东省",
"烟台市",
"莱山区",
"莱山街道",
"南陈家疃小区10栋"
]
},
{
"level": 1,
"姓名": "曹持",
"手机": "13066409994",
"地址": [
"江苏省",
"泰州市",
"海陵区",
"",
"迎宾路88号春兰商务酒店"
]
},

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

当输入第三档难度时,例如3!孙旗乖,13366755810白城市洮北区长庆南街65号无法将其前面补齐,解决的方法是导入城市库去匹配省份。

posted on 2019-09-29 18:52  uv's桶  阅读(186)  评论(2编辑  收藏  举报