软件工程实践第二次作业

222200113杨清坤 2024-09-10 22:40:05
这个作业属于哪个课程2401_CS_SE_FZU
这个作业要求在哪里软件工程实践第二次作业
这个作业的目标完成对2024年巴黎奥运会相关数据的收集,并实现一个能够对国家排名及奖牌个数统计的控制台程序。
其他参考文献《构建之法》,CSDN

目录

  • 一.CodeArts项目地址
  • 二.PSP表格
  • 三.解题思路描述
  • 3.1数据来源
  • 3.2输出奖牌榜总和:
  • 3.3输出每日赛程:
  • 四.设计与实现过程
  • 五.关键代码展示
  • 六.性能改进
  • 七.单元测试
  • 八.异常处理
  • 九.心得体会

一.CodeArts项目地址

本地仓库地址
助教仓库地址

二.PSP表格

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

三.解题思路描述

3.1数据来源

首先此次数据来源均通过爬取自央视2024巴黎奥运会,通过浏览器开发者模式检查打开网站是服务器传输的数据,找到了奖牌榜和每日赛程对应的json文件。通过java爬虫爬取并解析。

在这里插入图片描述


在这里插入图片描述

3.2输出奖牌榜总和:

在这里插入图片描述

3.3输出每日赛程:

首先赛程对应的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基础一点一点认知,整个过程还是很痛苦的,差点就破防了每次。至少通过这次作业,对该知识点有了点新的认识,算是基本的入门了又。

...全文
101 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111

社区成员

发帖
与我相关
我的任务
社区描述
202401_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_TeacherL
  • 言1837
  • 防震水泥
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧