109
社区成员




这个作业属于哪个课程 | https://bbs.csdn.net/forums/2401_CS_SE_FZU |
---|---|
这个作业要求在哪里 | 软件工程实践暑假作业 |
这个作业的目标 | 学习Markdown语法、回首过去、立足当下、展望未来、学习路线、熟悉作业提交流程 |
其他参考文献 | Markdown教程-菜鸟教程、黑马程序员后端学习路线图 |
答:我选择软件工程这个专业,首先是因为计算机相关领域的就业前景相对较好,随着科技的不断进步,相关人才的需求持续增长。其次,福州大学在计算机相关专业方面享有良好的声誉,师资力量雄厚,学术氛围浓厚,能够提供优质的教育资源。
答:我的期待是通过四年课内外的不断学习,可以独立开发一款属于自己的小软件。
答:由于是计算机小白,高三暑期前辈们告诉我可以提前了解编程相关知识。所以,当时暑假便开始着手学习一些C语言的语法知识。
姓名 | 卢禧 |
![]() |
学号 | 222200305 | |
兴趣爱好 | 唱歌、乒乓球 | |
2023年,获校综合奖学金三等奖 | ||
掌握的编程语言 | C、C++、Java、Pyhton、SQL | |
技术框架 | 熟悉SpringBoot、了解SpringSecurity | |
开发软件 | IDEA、Pycharm、Visual Studio、VSCode | |
累计代码量 | 3w+ |
一、学生信息管理系统 | 全系统开发 | 2023.3 - 2023.5 |
---|
技术栈:C++
二、巨型整数类计算器 | 全系统开发 | 2023.5 - 2023.6 |
---|
技术栈:C++
三、陪你医起(陪诊管理系统) | 后端负责人 | 2024.3 - 2024.7 |
---|
技术栈:SpringBoot
、Mybatis
、SinoDB
、JWT
Q1: 在项目或程序比较复杂的情况下,如何高效率的进行程序理解?
答:在接手复杂程序时,我认为快速理解的有效策略至关重要。首先,通过查看整体设计图或架构文档,可以迅速获得程序的全貌及主要组件。其次,利用 IDE 的搜索功能,快速定位关键类和方法,有助于更精准地聚焦目标功能。再次,调试程序并观察关键变量的变化,使我们能够直观理解程序逻辑。此外,查阅已有文档和代码注释为我们提供了必要的上下文信息。将程序拆分为小模块逐一理解,可以提高效率,而与团队成员的讨论则能快速获得对关键设计的洞察。最后,通过修改和测试代码,边执行边理解,加速对程序的掌握。总之,这些方法相辅相成,有助于提升理解复杂程序的能力。
Q2: 有了GPT类的应用,传统的搜索引擎是否会被完全替代?
答:在讨论传统搜索引擎与 ChatGPT 的比较时,我认为搜索引擎的独特优势至关重要。首先,搜索引擎能够广泛索引互联网上的公开信息,提供多样的内容来源。其次,搜索引擎实时更新,能够提供最新的新闻和动态信息,而 ChatGPT 的知识是静态的。再次,搜索引擎支持多种搜索功能,如图片、视频和新闻搜索,满足用户的不同需求。此外,搜索引擎展示多个搜索结果,用户可以选择最合适的链接进行深入阅读。再者,搜索引擎能提供基于用户地理位置的本地信息,增强搜索的相关性。最后,搜索引擎擅长处理复杂查询,能够提供更精确的结果。总之,目前来看,这些优势使得传统搜索引擎在信息检索中仍然不可替代。
Q3: 软件的行为和用户的期望值不一样,就一定是 Bug 吗?
答:我认为不一定。如果用户没有得到足够的教育或文档支持,他们可能会对软件的功能产生误解,这种情况下问题可能在于沟通而非软件本身。环境因素也可能影响软件的表现,软件在不同的操作系统、设备或网络条件下可能表现不同,如果用户在特定环境中遇到问题,而软件在其他环境中正常工作,这可能不是 Bug,而是环境适配的问题。而且,有时用户的期望可能不合理或不切实际,开发者需要评估这些期望是否符合实际的功能范围。
Q4:单元测试中,测试用例是提前准备好的,还是看过代码后针对性编写的?
答:首先,基于需求文档先编写测试用例,需要覆盖所有功能和边界条件;其次,测试人员在查看代码后,根据实现逻辑和潜在边界条件进行编写。两种方法相结合可以较好地保证软件地可靠性。
Q5: 作为”卑微“的乙方,开发团队该如何面对变化无常的需求?
答:首先,采用敏捷开发方法,定期与客户沟通,确保大家对需求的理解一致。其次,帮助客户确定需求的优先级,先做最重要的功能。此外,创建原型让客户提前看到产品雏形,减少后期的重大变更。最后,记录需求变化的原因,帮助团队理解背景,并教育客户需求变更对项目进度和成本的影响。
在接下来的职业规划中,我的目标是首先在大学三年级的整个学期内全力以赴争取保研。如果能够顺利进入研究生阶段,我希望专注于人工智能领域,特别是计算机视觉方向的研究与应用。计算机视觉是一个充满潜力的领域,我希望通过深入学习和实践,掌握相关技术,为未来的智能化应用做出贡献。
与此同时,我也意识到掌握基础的前端知识是非常重要的。这不仅能帮助我在团队合作中更好地理解前端与后端的协作关系,还有助于我在未来的职业生涯中具备更全面的技术能力。如果保研未能如愿,我也计划将职业发展方向转向后端开发。在这一过程中,我希望通过实践积累丰富的项目经验,提升自己的技术水平。
长远来看,我的目标是成为一名软件架构设计师。在工作数年后,我将不断总结经验,提升自己的系统设计能力和架构思维,力求在软件开发的各个环节中发挥更大的作用。通过不断学习和实践,我相信自己能够在这个快速发展的行业中找到自己的位置,实现职业理想。
软件工程提供了一种更全面、更系统的视角和工具集,用于指导和管理软件开发的整个过程。这门课程主要是为了让我们了解软件工程的基本概念,掌握软件开发的流程,培养团队合作的能力,提高我们对软件质量的重视,同时也锻炼我们的项目管理能力
I. Spring Boot:如何使用Spring Boot快速构建RESTful API。
II. Spring Cloud:如何利用Spring Cloud实现服务注册与发现(Eureka)、负载均衡(Ribbon)、API网关(Zuul)和配置管理(Spring Cloud Config)。
III. Redis:理解Redis的基本概念和使用场景,学习如何在Spring Boot应用中集成Redis,进行缓存管理、数据存储和消息队列等操作。
I. 系统设计能力:学习如何设计和实现可扩展的微服务架构,理解服务之间的通信和数据管理,特别是在使用Redis进行缓存和数据存储时的设计考虑。
II. 性能优化能力:通过使用Redis进行缓存管理,提升应用程序的性能和响应速度,理解如何选择合适的缓存策略。
III. 问题解决能力:在实际项目中遇到问题时,能够快速定位和解决技术难题。
IV. 团队协作能力:通过团队项目实践,提升与团队成员的沟通和协作能力。
I. 实践指导:在学习Spring Boot、Spring Cloud和Redis的过程中,能够提供具体的实践案例和项目指导,帮助我们理解如何将理论应用于实际开发中。
II. 及时反馈:在项目开发过程中,能够及时给予反馈和建议,尤其是在我们遇到技术难题时,能够提供有效的解决方案。
III. 资源分享:分享一些有用的学习资源和工具,帮助我们更好地掌握相关技术。
通过这些学习和实践,我希望能够为未来的职业生涯打下坚实的基础,特别是在微服务架构和分布式系统方面的能力。