软件工程第一次作业

这个作业属于哪一个课程 软件工程
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/15710
这个作业的目标 建立技术博客并学习 Markdown 排版,总结个人学习情况,明确未来发展方向,提高软件工程实践能力

1 自我介绍

大家好,我是广东工业大学计算机科学与技术专业的一名学生。

从进入大学开始,我逐渐接触计算机相关知识,并对软件开发产生了较大的兴趣。相比于算法研究,我更加喜欢通过编写程序解决实际问题,因此逐渐确定了后端开发方向。

在学习过程中,我主要学习了 Java 后端开发相关技术,包括 Java 基础、数据库以及服务器端程序开发。目前累计 Java 代码量超过10000行,对 Java 语言以及后端开发流程有较深入的学习。

除了学习计算机知识外,我平时也喜欢打羽毛球。运动不仅能够保持身体状态,也让我认识到长期坚持和团队配合的重要性。

目前我的主要技术积累包括:

  • Java程序设计;
  • MySQL数据库;
  • 后端开发相关技术;
  • 软件工程基础知识。

我认为自己的优势是目标比较明确,并且愿意投入大量时间进行技术积累。通过持续编写代码,我逐渐形成了自己的编程习惯。

但是,我也认识到自己还有不足。例如对于大型软件项目开发流程、系统架构设计、团队协作开发经验仍然不足,对于软件工程中的需求分析、测试和维护等环节需要进一步学习。

希望通过这门软件工程课程,让自己从单纯完成代码,提升到能够参与完整软件项目开发。


2 现状、经验和计划

(1)专业选择与差距

选择计算机科学与技术专业主要是因为我对软件开发有兴趣。

相比其他专业,计算机领域变化快速,需要不断学习新的技术,这一点吸引了我。

经过前几年的学习,我已经掌握了一定的 Java 编程基础以及后端开发相关知识。

但是距离成为一名合格的软件工程师,还有以下不足:

  1. 缺少大型项目开发经验;
  2. 对软件架构设计理解不足;
  3. 对测试、部署、维护等工程流程了解较少;
  4. 团队协作开发经验需要加强。

技能调查表

技能 目前水平(0-9) 课程结束后目标(0-9) 提高手段
Java程序设计 7 8 ① 坚持编写Java项目;② 阅读优秀开源代码;③ 学习Java高级特性
MySQL数据库 6 7 ① 学习数据库优化;② 掌握索引和事务原理;③ 完成实际项目练习
后端开发能力 6 8 ① 开发完整后端项目;② 学习Spring相关框架;③ 阅读优秀项目源码
Git版本控制 3 6 ① 使用Git管理项目代码;② 学习分支管理流程;③ 参与团队开发
软件设计能力 3 7 ① 学习软件设计思想;② 练习模块划分;③ 阅读软件工程相关书籍
团队协作能力 4 7 ① 参与团队项目;② 学习团队开发流程;③ 加强沟通交流
技术文档写作 3 6 ① 坚持写技术博客;② 学习规范文档格式;③ 总结项目经验

(2)阅读博客心得

关于师生关系

我认为软件工程课程中的老师更应该扮演指导者的角色。

软件开发不仅需要学习理论知识,更需要大量实践。

老师可以帮助学生发现问题、提供方向,而学生需要主动探索和解决问题。

我希望课程中能够形成一种相互交流的学习关系,而不是单纯完成任务。


关于借鉴与抄袭

软件开发过程中参考资料和开源代码是非常常见的。

优秀的软件工程师不会重复制造已经存在的问题,而是会学习已有经验。

但是借鉴和抄袭的区别在于是否理解和创新。

如果只是复制代码完成任务,没有掌握其中思想,那么即使程序运行成功,也没有真正提高能力。


学习时间计划

除了课堂时间,我计划每周投入至少6小时用于软件工程课程学习。

主要包括:

  • 完成课程作业;
  • 学习后端开发相关知识;
  • 阅读优秀项目源码;
  • 总结开发经验。

(3)未来规划

未来希望成为一名后端开发工程师。

相比其他同学,我认为自己的优势:

  1. Java基础较扎实;
  2. 有较多代码积累;
  3. 对后端开发方向兴趣明确。

不足:

  1. 项目经验不足;
  2. 对系统架构理解有限;
  3. 工程规范需要进一步提高。

本学期计划:

  1. 完成软件工程课程任务;
  2. 提高Git使用能力;
  3. 学习软件开发流程;
  4. 尝试完成完整后端项目。

WOOP计划:软件工程学习

Wish

希望通过本课程掌握软件开发完整流程,能够独立完成一个结构清晰的小型软件项目。

Outcome

如果目标实现,我希望自己不仅能够完成代码开发,还能够理解需求分析、系统设计、测试以及项目维护过程。

未来面对真实项目时,可以更加规范地进行开发。

Obstacles

可能遇到的问题:

  1. 习惯关注代码实现,忽略文档和设计;
  2. 项目复杂时容易不知道如何拆分任务;
  3. 学习时间安排不合理。

Plan

如果不知道如何开始项目:

那么先分析需求,将任务拆分成多个小模块。

如果只关注编码:

那么编码前先完成简单设计。

如果学习过程中时间不足:

那么优先完成核心任务,再逐步完善。


3 提出问题与反馈

问题1:软件工程中的规范是否会降低开发效率?

章节:
第一章 软件工程概述

书中强调软件开发需要规范流程,例如需求分析、设计文档、测试等。

但是在一些小型项目中,开发人员可能认为这些流程会降低开发速度。

那么实际开发中应该如何判断什么时候需要严格遵守工程流程?


问题2:优秀的软件工程师应该更加关注技术深度还是工程能力?

章节:
软件工程师能力相关内容

很多程序员拥有很强的技术能力,但是大型项目更依赖团队合作和工程管理。

因此我想知道:

对于未来的软件工程师来说,技术深度和工程实践能力哪个更加重要?


问题3:数据库设计应该如何提前规划?

章节:
软件设计相关内容

实际开发中,数据库结构往往会随着需求变化不断修改。

如果一开始设计过于复杂,会增加开发成本。

但是设计不足又会导致后期维护困难。

那么数据库设计应该如何在灵活性和稳定性之间取得平衡?


4 前车之鉴

1. 科班学生是否真的学懂计算机?

链接:
https://book.douban.com/subject/4006425/discussion/22803961/

阅读后,我认识到计算机学习不能只停留在课堂。

技术发展速度非常快,如果只学习课程知识,很容易跟不上行业需求。

因此需要主动学习,并通过项目实践提升能力。


2. 软件工程师成长路线

链接:
http://coolshell.cn/articles/4561.html

这篇文章让我认识到,成为优秀程序员不仅需要掌握技术,还需要长期积累。

后端开发涉及数据库、架构、性能优化等多个方面,需要不断学习和实践。


结束语

通过这次博客作业,我重新认识了自己的学习方向。

未来我会继续加强 Java 后端开发能力,同时提升软件工程实践水平。

希望通过这门课程,让自己成为一名更加规范、更具工程能力的软件开发人员。
image

https://github.com/town-flowWind/-/tree/main

posted @ 2026-09-05 23:11  lvcb11  阅读(11)  评论(0)    收藏  举报