222200307_软件工程实践暑假作业

222200307叶宇滟 2024-08-29 17:31:25
这个作业属于哪个课程https://bbs.csdn.net/forums/2401_CS_SE_FZU
这个作业要求在哪里https://bbs.csdn.net/topics/619258010
这个作业的目标学习代码提交、对过去、未来进行总结,分享对构建之法部分问题的回答,以及Java的思维导图和学习路线
其他参考文献

目录

  • 1. 准备工作
  • 1.1 git上传截图
  • 1.2 仓库截图
  • 1.3 仓库地址
  • 2. 回首过去
  • 2.1 当初你为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗
  • 3. 立足当下
  • 4. 展望未来
  • 4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。要求在自己的思考中贴上原问题的链接。
  • 4.1.1 re-work是否能够衡量代码质量呢?
  • 4.1.2 想从事软件开发的大学生是去企业实习成长更快还是在学校实验室实习成长更快呢?
  • 4.1.3 需求分析:“最好”还是“最合适”?
  • 4.1.4 团队角色可以按需配置么?
  • 4.1.5 结对编程是否太理想化了?
  • 4.2 你未来的职业规划是什么?
  • 4.3 对于软件工程实践课程,你有什么理解和期望?
  • 5. 学习路线
  • 5.1 思维导图
  • 5.2 学习路线图

1. 准备工作

1.1 git上传截图

img

1.2 仓库截图

img

1.3 仓库地址

https://codehub.devcloud.cn-east-3.huaweicloud.com/dfe4a4a2f228441cbcadceb28e44bff3/222200307.git

2. 回首过去

2.1 当初你为什么选择软件工程这个专业?

  • 我在高中时期对地理学科充满了浓厚的兴趣,于是我考虑从事地理相关的专业。因为地质学的前景不甚理想,所以我将专业目标转向遥感领域。然而,由于大多数211高校的遥感专业实行大类招生,通常需要到大二或大三进行专业分流,且大部分学生最终会被分流到地质类专业,这样的选择对于我来说风险极大,因此最终放弃了这个想法。

  • 在寻找遥感专业信息的过程中,我发现遥感与计算机的关联非常密切。同时,计算机行业的就业前景较好,薪资水平也相对较高。然而,fzu计算机类专业的录取排名波动较大,存在一定的不确定性。

  • 因此,我选择将软件工程作为保底志愿,这样的选择既可以兼顾我的兴趣,又能为我的未来提供一定稳妥的保障。

    2.2 当初对软件工程这个专业的期待和想象是什么?

  • 通过大学四年的学习,能够获得一定的专业知识,然后获得一份薪资较为不错的工作(起码可以过上小康生活),通过双手养活自己,然后过得舒心顺意吧。

    2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗

    • 了解到计算机是一门大部分需要自学的学科,希望可以掌握多种语言然后为未来的工作作打算吧。

    • 提前学过一点c语言,然后就是跟着课程一起走。

    • flag:

      • 保持绩点,同时保持较高的学习能力

      • 参加西二的Java和Python的考核,然后多掌握一点后端的技术

      • 参加实验室,提升自身的科研水平

      • 多参加比赛,能够取得一定的名次

3. 立足当下

个人简历
姓名叶宇滟
兴趣爱好打游戏,唱歌
成果和获奖经历第十五届中国大学生服务外包创新创业大赛万维艾斯东部区域赛企业命题类三等奖
第十六届中国电机工程学会杯全国大学生电工数字建模竞赛三等奖
2023福州大学优秀共青团干部
两次一等综合奖学金(大一下/大二上);一次三等综合奖学金(大一上)
专业水平编程语言:Java,Python,C++,C,CSS/html
技术框架:springboot,sprincloud,flask,pytorch,tensorflow
开发软件: IDEA,Devc++,Pycharm,Clion,Vscode
累计代码量:8w+
Github:https://github.com/Kikikisum
项目经历群智感知项目
负责AI部分的功能接口,负责python端的部署
花卉模型的预测:可通过图片判断花卉的开花情况
自然语言处理:通过爬虫过滤微博数据获得特定地点的积水数据,形成一张积水地图
RabbitMQ,RocketMQ消息队列的处理
java:类抖音的评论功能实现
spring框架
context模块:实现ApplicationContext容器与Bean的管理
aop模块:实现AOP功能
jdbc模块:实现JdbcTemplate,以及声明式事务管理
web模块:实现Web MVC和REST API;
Githubhttps://github.com/Kikikisum/y-3-springgg.git
二手游戏交易平台 - 闲猫
是一个完整的二手交易平台。在其中基本交易功能,多种的事故处理以及聊天功能的支持。
基于Mybatis-plus进行数据库查询
负责网页端和移动端两个双端交互,python和java跨语言的合作
利用WebSocket实现系统消息的发放,以及历史消息的查询和已读、未读消息的处理
GithubPython:https://github.com/Kikikisum/MewStore-Web
Java:https://github.com/Kikikisum/MewStore

4. 展望未来

4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。要求在自己的思考中贴上原问题的链接。

4.1.1 re-work是否能够衡量代码质量呢?

  • 我并不认为re-work能够衡量代码质量,尤其是在前后端分离的合作方式下,对于一个需求的设计,在前端程序员和后端程序员的想法是不同的,会各自从不同的技术角度出发,这就导致了一个需求出现多样的理解,需求理解不同导致的re-work频繁是无法说明前后端程序员写出的代码质量不佳。

  • 初期设计阶段的考虑可能未能完全覆盖到所有实际使用场景,或者没有准确预见到某些复杂性。通过实际的开发和测试反馈,程序员会发现设计上的不足,进而进行 re-work。这种 re-work 是在不断接近理想状态,是团队适应变化和提高质量的过程,而非质量不佳的象征。

4.1.2 想从事软件开发的大学生是去企业实习成长更快还是在学校实验室实习成长更快呢?

  • 我的回答是看个人。

  • 我试过面试企业,企业更看重的是你的实践经验,而面试基本就是一道坎。每个企业有自己独特的技术栈和开发流程;在企业实习中,将接触到行业中的真实应用技术和工具。

  • 我同时也在本校某位老师的实验室中学习过,其中需确定的是你需要的是什么,如果想从事软件开发,应该去到实验室的项目中从事开发,学习前端/后端知识,一般来说这种项目的开发会考虑到你学生的身份,所以这种开发的灵活度更高且工作量小,大概一周只需要完成一个需求。

  • 总而言之,在考虑这个问题之前先确定自己需要什么,不同的目标会有不同的结果导向。如果你的目标是尽快进入职场、适应真实的工作环境、积累实践经验,那么企业实习可能更适合。相反,如果你希望在一个较低压力的环境中学习和积累基础知识,或是对具体的学术研究有兴趣,那么学校实验室的实习可能会更适合。

4.1.3 需求分析:“最好”还是“最合适”?

  • 我认为是最合适。

  • 用户的需求总是会变化的,随着时间的推移和市场的变化,这些需求也会不断调整。因此,“最好的”标准也会随着这些变化而改变。团队在开发过程中需要不断调整和适应,以应对这些变化,并不断优化产品。

  • 在实际开发中,团队需要综合考虑多方面的因素,比如用户的实际需求、市场趋势、技术实现的可行性以及资源限制等。与其单纯追求“最好的”产品,不如找到“最合适”的解决方案,也就是说,在现有条件和限制下,尽可能满足用户的核心需求。

4.1.4 团队角色可以按需配置么?

  • Of course 可以。

  • 在小程序的开发过程中,由于团队只有五个人,难以分出专门的测试人员、项目经理和美工。在这种情况下,强行给部分人分配测试和项目管理的角色,可能会降低开发效率和工程质量。因此,这些角色的设置应根据每个团队的实际需求进行调整。

  • 当然,实际开发过程中的情况变化很大。在最初组成团队时,我们应根据职责来选择合适的人员。对于一个简单系统的开发,前端和后端的比例可以是1:1,如果能再加上一名美术人员,将对前端工作有很大帮助,使前端能够更专注于页面还原。

  • 强行分配角色可能会使某些成员迷失方向,效率降低。在我看来,如果角色分配导致效率低下,不如不设这些角色。此外,能者多劳也是一种解决方案,让有能力的团队成员承担更多责任,以确保项目的顺利进行。

4.1.5 结对编程是否太理想化了?

  • 我认为是太理想化了。

  • 本人作为一个喜欢独立工作的程序员,我发现很多思路是我自己琢磨出来的,但有时可能会被其他人误解。结对编程增加了沟通成本,而在单人编程中,这种成本是完全可以避免的。此外,无论是共享屏幕还是增加注释,这些都会显著延长编写代码的时间。

  • 结对编程的效果很大程度上取决于合作伙伴的编程水平和两人之间的配合程度,而这种配合的不确定性和潜在的沉没成本太高。我认为,这种风险较大的方法未必是一个高效的工作方式。

4.2 你未来的职业规划是什么?

  • 暂时的目标是能够在本科期间发一篇cv方向的论文,然后可以在更高层次的学校就读研究生,因为目前的研究方向还是在3d方向,我希望能够转换研究方向,在cv方向能有更多的科研机会。还是想试试去做遥感大模型之类的方向,感觉做过的nlp和3d并不适合自己。

  • 比起工作,更偏向于继续读博,但具体情况需要参照研究生期间的科研能力(如果不能申到好学校的话,我还是收拾收拾滚去工作吧);以及如果是专硕的话,我就不会继续读博,而是找一份后端相关的工作。

4.3 对于软件工程实践课程,你有什么理解和期望?

  • 我想学习Java后端技术

    • 现在感觉软件开发的门槛越来越低了,无论是否是计算机专业背景的人都能进行简单的软件开发。我想深入学习一些底层框架的知识,不仅仅是如何使用某个接口,而是了解这些技术是如何被构建出来的,提升自己造轮子的能力吧。
  • 你对老师助教有什么期待?

    • 希望课堂上能提供一些前沿的知识和最新的技术趋势,而不仅仅是讲解一些过时的开发技术和技术栈。

    • 因为最近比起开发,好像更多在做ai相关的,希望这节课可以唤醒我的开发能力(doge)

5. 学习路线

5.1 思维导图

img

5.2 学习路线图

img

...全文
347 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
助教_林日臻 2024-08-29
  • 打赏
  • 举报
回复

试一试前后端分离,在多人合作编程中多磨合组内成员,分散自己编程压力

113

社区成员

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

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