第一次编程作业

本文详细介绍了PSP2.1个人软件过程各阶段的时间预估与实际耗时对比,涵盖从任务计划、需求分析到测试报告等多个环节,并分享了作者在实践过程中的心得与改进措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仓库地址

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3020
Estimate估计这个任务需要多少时间720480
Development开发180150
Analysis需求分析(包括学习新技术)10060
Design Spec生成设计文档1015
Design Review设计复审56
Coding Standard代码规范(为开发制定合适的规范)812
Design具体设计1526
Coding具体编码130150
Code Review代码复审1520
Test测试(自我测试,修改,提交修改)1626
Reporting报告1931
Test Report测试报告1115
Size Measurement计算工作量515
Postmortem & Process Improvement Plan事后总结并提出过程改进计划616
合计12701022
  • 解题思路
    (1)首先根据","将名字分割开来
    (2)然后根据电话号码是11位连在一起的情况,将电话号码分割
    (3)然后慢慢根据省,市,区,镇慢慢分割
    我所使用的正则表达式的出处:https://blog.youkuaiyun.com/superSubfn/article/details/80290491

  • 代码实现过程
    因为都是字符串分割问题,所以我将这个写在了一个类里,单元测试,我是自己在百度地图上随意点一个位置,然后输入进去,独到之处,是我将省市等关键字的缺失做了特殊处理,虽然是比对,但是效率提高了很多。

  • 在改进程序性能上,花费了半个小时,我引入了一个表上面记录了我国各地的三级地址,一开始我是将所给字符串和所有的地址对比,这样极大的耗费了性能,后面我将地址分级储存,并且每次只比对前两个字,优化性能。

  • 关键代码
    String regex="(?[^省]+自治区|.?省|.?行政区|)(?[^市]+自治州|.?地区|.?行政单位|.+盟|市辖区|.?市|)(?[^县]+县|.+?区|.+市|.+旗|.+海域|.+岛)?(?.+镇|.+街道)?(?.街|.路|.巷)?(?[\d]+号|)?(?.*)";//通过正则关键字来分割各个地区

    返回示例

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

        

模块接口性能

我在改进计算模块上花了大概半个小时,我将原本的和表中的省,市,比对,变成了通过比对前两个字,并分别截断几级地址来加快性能。
1330170-20190917153442060-945775844.png
1330170-20190917153448807-1857416162.png
如图这个就是我的性能分析。

模块部分异常处理

我测试的是主函数。
1330170-20190917152914060-190471224.png
箭头所示为覆盖率和我所测试的代码,我的思路是先求最简单的,省市都全,然后第二个测试是缺少省市,第三个测试是,第三个测试样例。

异常处理

  • 我设计的第一个目标是检测我的正则找不到手机号
    2!张三,福建福州福州大学.
  • 我设计未选择级别
    王五,江苏省南通15659172166市天虹花园29号楼601.

小结

  • 这个地址簿简直是方便我们学地理啊,我这种物化生真是谢谢老师了。。。
  • 这个测试不明不白,我深感我是白痴?!
  • 推荐以后测试用后端框架吧,没必要用移动端的gradle。
  • 个人能力真的很有限,团结力量大。
  • 好好学习,天天向上!

转载于:https://www.cnblogs.com/sy57/p/11519296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值