软件工程实践第二次作业

本文讲述了2023年福大-软件工程实践-W班的一项寒假作业,目标是收集并分析跳水比赛数据,使用Java实现控制台程序,涉及数据获取、JSON文件操作、文件读写、player和result类的设计以及DWASearch功能的开发和单元测试。作业者分享了心路历程和学习收获。

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

这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践第二次作业
这个作业的目标完成对世界游泳锦标赛跳水项目相关数据的收集,并实现一个能够对赛事数据进行统计的控制台程序

1.项目地址

地址:https://gitcode.net/qdwfq3/project-java

2.psp表格

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

3.解题思路

3.1 数据获取

同学友情提供。

3.2 json文件的读取使用

利用jackson来解析读取json文件以便于我们能在代码中使用json文件中的信息。

3.3 文件读写

利用bufferedwriter与文件类的静态读文件方法。

3.4 代码组织

由于指令类型包括players与result两种,故编写player与result类接收找到的结果。DWASearch作为主函数入口。

4.实现过程

4.1 初步实现player类与result类

为player类与result类赋予各种字段:gender、country、fullname等等。

编写player的关键函数getPlayers——用于从athletes.json中获取所有运动员信息。

编写result的关键函数getResults——用于从各种比赛类文件中中获取决赛结果信息。

利用控制台输出内容测试函数可行性。

4.2 实现DWASearch

按照实践要求在DWASearch中编写合适的逻辑来实现用户对于想要获取的信息进行正确的查找。

编写完毕后与player类、result类的函数结合使用实现查找与输出。

此阶段利用预设input.txt内容进行测试逻辑正确性。

4.3 正式测试

在上述两阶段都完成以后将整个项目打包为jar文件进行测试,将过程中发现的问题逐一解决后完成代码编写部分。

5.代码展示

5.1 DWASearch部分

请添加图片描述
在这里插入图片描述

接受input.txt中的内容,循环判断每一行的内容:

若该行内容为“players”则调用getPlayers函数将所有运动员信息写入output.txt。

否则将该行内容用split函数分成以单词为单位的string数组,

​ 若第一个单词为result且最后一个单词为detail则将剩余单词拼接为文件名,利用Files.exist函数检验该文件是否存在,存在代表该比赛存在输出对应内容,否则该比赛不存在输出N/A。

​ 若第一个单词为result且最后一个单词不为detail则将除result外剩余单词拼接为文件名,利用Files.exist函数检验该文件是否存在,存在代表该比赛存在输出对应内容,否则该比赛不存在输出N/A。

​ 若第一个单词不为result则输出error。

5.2player类与result类

在这里插入图片描述

在这里插入图片描述
请添加图片描述

6.单元测试展示

在这里插入图片描述

7.心路历程与收获

本次实践作业完成过程中,我的心境从迷茫到初窥门径再到进入状态,感觉完成一个项目还是要有坚实的基础与善于查找、询问、解决未知问题的能力,这些都是我需要持续去锻炼的。收获在于学习到了json文件的处理与使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值