第一次个人编程作业

软工实践第一次个人编程作业

1 Github

Github

2 PSP

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

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

3.1 通过高德API获取行政区划数据

通过API获取所有省/自治区/直辖市的行政区划数据。
获取到的数据比较庞杂,首先对数据进行处理,去除掉不必要的信息。
然后将该数据保存在本地。 后续处理地址簿的时候,直接读取该数据

数据示例:

{"福建":{
"name": "福建省",
"districts": [
{
"name": "福州市",
"districts": [
{
"name": "闽侯县",
"districts": [
{
"name": "上街镇",
"districts": []
}
]
}
]
},
{
"name": "厦门市",
"districts": [
{
"name": "思明区",
"districts": [
{
"name": "鼓浪屿街道",
"districts": []
}
]
}
]
},
]
}}

3.2地址簿的处理

首先使用正则表达式提取手机号码,然后再以“,”为节点分割地址簿,提取出姓名。
然后从地址中提取前两个字,去高德数据中搜寻响应的地址名,再把该字符从地址中删去。
高德数据中的行政区划是4级的。

3.2.1 针对“1!”的地址

当匹配完高德数据的4个地址后,剩余的地址就正好是第五级地址。
示例:
> 福建省福州市鼓楼区鼓西街道湖滨路110号湖滨大厦一层 []
> 福州市鼓楼区鼓西街道湖滨路110号湖滨大厦一层 ["福建省"]
> 鼓楼区鼓西街道湖滨路110号湖滨大厦一层 ["福建省", "福州市“]
> 鼓西街道湖滨路110号湖滨大厦一层 ["福建省", "福州市“, ”鼓楼区“]

> 湖滨路110号湖滨大厦一层 ["福建省", "福州市“, ”鼓楼区“, "鼓西街道"]
> ["福建省", "福州市“, ”鼓楼区“, "鼓西街道", "湖滨路110号湖滨大厦一层 "]

3.2.2 针对“2!”的地址

在经过3.2.1章节的演示后,地址被分割为5段
然后针对第五级的地址,按照关键字进行分割
[”道“, ”路“,”街“]
["号"]
示例:
>湖滨路110号湖滨大厦一层 []
>110号湖滨大厦一层 ["湖滨路"]
>湖滨大厦一层 ["湖滨路", "110号"]
> ["湖滨路", "110号", "湖滨大厦一层 "]

3.2.3 针对“2!”的地址

3.2.4 特殊情况处理

4个直辖市需要另外处理

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

·只有main函数
一开始模型的高德API数据是实时获取的。
后来改成全部获取下来保存在本地

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

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

7 PSP

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

Your final score is 97/125

posted @ 2019-09-25 19:10  方糖_Sugar  阅读(377)  评论(3)    收藏  举报