111
社区成员




这个作业属于哪个课程 | 2401_CS_SE_FZU |
---|---|
这个作业要求在哪里 | 软件工程实践第二次作业 |
这个作业的目标 | 完成对2024年巴黎奥运会相关数据的收集,并实现一个能够对国家排名及奖牌个数统计的控制台程序。 |
其他参考文献 | 《构建之法》,CSDN |
PSP | Personal Software Process Stages | 预估耗时(分钟 | 实际耗时(分钟) |
Planning | 计划 | 10 | 10 |
• Estimate | • 估计这个任务需要多少时间 | 10 | 10 |
Development | 开发 | 540 | 570 |
• Analysis | • 需求分析 (包括学习新技术) | 60 | 120 |
• Design Spec | • 生成设计文档 | 10 | 10 |
• Design Review | • 设计复审 | 10 | 10 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 20 | 20 |
• Design | • 具体设计 | 30 | 30 |
• Coding | • 具体编码 | 360 | 360 |
• Code Review | • 代码复审 | 20 | 20 |
• Coding | • 具体编码 | 360 | 360 |
• Test | • 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 70 | 100 |
• Test Repor | • 测试报告 | 10 | 10 |
• Size Measurement | • 计算工作量 | 20 | 20 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 40 | 60 |
合计 | 620 | 710 |
首先此次数据来源均通过爬取自央视2024巴黎奥运会,通过浏览器开发者模式检查打开网站是服务器传输的数据,找到了奖牌榜和每日赛程对应的json文件。通过java爬虫爬取并解析。
首先赛程对应的json有多个,不同的日期的赛程有不同的json,因此在爬取json时需要将url中日期进行修改,以爬取我们所需要的日期的json。
首先,应要求新建以学号命名的文件夹并将项目自带的example下的src复制过来,标记为源码目录(蓝色),再新建一个test文件夹标记为测试源根(绿色)。在src下新建data目录标记为资源目录,将获取的冬奥会赛程数据(json文件)都放在此目录下,在src下创建“OlyFunction”java类来编写项目所需要的各种方法。
在经过几次修改后,放宽了对于第三方json解析库的限制,我选择使用java语言,所以使用了Gson来解析json,比起手动解析,代码简洁很多,难度也低很多。
com.google.code.gson
gson
2.8.6
并添加该配置进入IDEA
在该java类下,
编写gettotal方法解析并获取奖牌榜实体类,
编写getschedule方法解析并获取每日赛程实体类
编写scheduleout和totalout来输出这些数据
同时src下还应建立容纳json数据的两个实体类
覆盖率测试图
每日赛程实体类
输出奖牌总数实体类
完成时间较久,对性能改进方面还没有完整的实现,主要想更加完善一下代码
输出奖牌榜
output.txt中输出内容会出现乱码,即使编译使用UTF—8
改进方式
使用java -Dfile. encoding=utf-8
jar 0lympicsserach.jar input.txt output.txt
在终端进行改进。实现正常输出
这次作业还是很有难度,对自己本身不熟练来说,就更加难上加难,只能完成一部分的需求,并不能完整的完成所有的作业要求,还是需要提升自己,难以跟上老师的步伐有点,对爬虫等都是0基础一点一点认知,整个过程还是很痛苦的,差点就破防了每次。至少通过这次作业,对该知识点有了点新的认识,算是基本的入门了又。