第一次个人编程作业

Github地址

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

解题思路

  • 截取前两个字符,判断地址类别。
  • 在","处分割字符串,提取姓名。
  • 判断连续的11位数字提取手机号码。
  • 通过正则表达式,对省、市、县的关键词匹配,实现地址信息的提取。
  • 补全缺省信息还不会做,可以通过调用api来实现地址补全。

主要函数

函数名 功能
getName(String input) 姓名提取
getPhone(String str) 手机号码分离
getAddress(String address) 地址分割
姓名正则表达式:".*?(?=\,)"
手机号码正则表达式:"((13[0-9]) (14[5
地址正则表达式:"(?[^省]+自治区 .*?省

流程图

关键代码


程序性能分析图

测试覆盖率


部分数据测试

控制台打印结果
{"姓名":"李四","手机":"13756899511","地址":["福建省","福州市","鼓楼区","","鼓西街道湖滨路110号湖滨大厦一层"]}
{"姓名":"张三","手机":"13599622362","地址":["福建省","福州市","闽侯县","上街镇","福州大学10#111"]}
{"姓名":"王五","手机":"18960221533","地址":["福建省","福州市","鼓楼区","","123号福州鼓楼医院"]}
{"姓名":"小美","手机":"15822153326","地址":["北京市","东城区交道口东大街1号北京市","东城区","","人民法院"]}


总结:从结果来看测试数据与作业要求还是有所差距。原因有多方面,首先是自己学习态度不端正,暑假放纵,现时买单,Java与c语言还是有差距的,匆忙上手,最终作业的结果也是差强人意;其次是时间分配的不合理,未能合理规划作业完成时间,临时抱佛脚,黑白两颠倒。最后,我充分认识到自己的知识储备的苍白无力,希望在下一阶段好好学习,弥补差距。

posted @ 2019-09-17 12:05  Axispowers  阅读(179)  评论(2)    收藏  举报