在本次软件工程综合实验课程中,我作为H组的一员,主要参与了多个关键阶段的工作,其中包括对反爬虫技术的调研、项目计划书的编写、软件需求分析以及软件测试等多个环节。以下是对这些知识点的详细说明: 1. 反爬虫技术调研:在实验准备阶段,我深入了解了反爬虫技术,这包括但不限于验证码机制、IP限制、User-Agent变化、Session和Cookie管理等策略。通过调研,我了解到反爬虫技术是网站为了防止恶意爬取数据而设置的一系列防御措施,对于软件开发而言,理解和应对这些技术有助于我们构建更加合理的爬虫系统。 2. 项目计划书编写:基于调研成果,我撰写了项目计划书,明确了项目的整体目标、时间表、资源分配以及风险管理。这一过程让我认识到项目计划书在软件工程中的重要性,它为整个团队提供了清晰的方向,确保项目的顺利进行。 3. 软件需求分析:我负责绘制Web UI的用例图、后端的用例图以及RUCM( Responsibility-Driven Class Model,责任驱动类模型),同时编写了反爬虫的非功能需求。用例图用于描述用户与系统之间的交互,帮助团队理解系统的功能需求;RUCM则强调了类的职责,有助于设计出更加模块化和可维护的代码结构。 4. 需求文档评审:我参与了评审表单的设计和评审标准制定,并负责评审F组和A组的需求文档。这个过程强化了我对需求文档质量控制的理解,使我明白良好的需求定义是项目成功的关键。 5. 软件设计与实现:我负责了豆瓣网站下音乐、读书、电影三个模板的编写,使用Scrapy框架进行数据抓取和处理。Scrapy是一个强大的Python爬虫框架,通过它,我掌握了网页数据提取、中间件定制和爬虫流程控制等技能。 6. 软件测试:我参与了测试产出的调研,编写了部分非功能性需求的测试用例和测试结果。此外,我还增加了Scrapy的单元测试和部分集成测试,确保了代码的质量和稳定性。 7. 软件测试评审:我负责评审D组和B组的测试文档,根据评审意见进行文档修改和软件缺陷修复,这让我深刻理解到测试文档在整个软件开发流程中的重要性。 8. 团队协作与沟通:在远程协作中,我学会了如何有效利用Git进行版本控制,通过GitHub的PR(Pull Request)、CI/CD(持续集成/持续交付)和Issues功能进行团队协作。此外,通过与团队成员的磨合,我提高了沟通能力,学会了如何更好地推动项目进度。 9. 其他技能:我还制作了课堂汇报PPT,学习了AE(Adobe After Effects)制作产品展示视频,这提升了我的演示技巧和视频编辑能力。 这次实验课程不仅让我掌握了Scrapy、Git、GitHub等工具和技术,更让我体验了完整的软件开发流程,从需求分析到测试评审,每一个环节都加深了我对软件工程的理解。通过团队协作,我学会了如何在实际项目中应用所学知识,提升了解决问题的能力。
- 粉丝: 32
- 资源: 328
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0