一切的开始与结束

news/2025/3/10 22:42:21/文章来源:https://www.cnblogs.com/dust4399/p/18638006

一、学期回顾

1.1 回顾对于软件工程课程的想象

对软件工程的第一印象

对于软件工程,我一开始没想那边多,认为他仅仅是和其他课程没什么区别的普通专业课罢了。但是日后的个人作业,结对作业,乃至团队编程都给了我当头一棒。
深刻的理解了开发软件面对的巨大压力。

初步达到我的预期

  • 1.在这三个月的学习实践中,不论是需求分析,还是原型设计,到后面的小组编程的后端开发,我都基本参与过了,可以说是大致了解软件开发的全部流程。特别是后端的接口开发,以及数据库部分,这两块直接由我负责,不仅实践了软件工程所学习到的知识,还融会贯通了数据库课程上的有关所学。

  • 2.磨练了个人的意志。在众多作业完成过程中,最让我感觉到痛苦的莫过于修改bug,尤其是修改别人的代码,对于自己编写的代码,遇到了问题,好歹还能有一定的思考方向,但是遇到其他人的问题真的是让人无从下手。

  • 3.最最中要的是掌握AIGC这门技术。AI可以说是贯穿我整个软件工程学习史的。从国内的大模型,像kimi,豆包再到国外的chatgpt,一系列人工智能大模型在代码的实现,bug的查找修改等方面发挥了巨大作用,可以说没有ai,就没有今天能够顺利完成软件工程课程的我。

1.2 回顾这门课程中的投入与产出

在软工实践课程当中我编写了大约9000行代码。
其中个人作业的应用编写了约500行代码,结对作业中前后端都有兼顾编写了约3000行代码,剩余的都是在团队作业当中完成的,包括后端接口代码,单元测试代码,以及数据库部分相关代码。后期还
参与了前端对接和部分代码问题修改。

  • 在个人作业中,我实现了类“羊了个羊”小游戏,鱼了个鱼。小游戏本身逻辑不难,但是从零接触无基础开始设计构思乃至编写一个小游戏程序对当时的我来说确实是一个不小的挑战(多亏AIGC才能快速实现满足需求的代码)。

  • 在结对作业中,我主要负责的是前端界面的路由跳转等函数设计以及云数据库的管理。两个人直接实现开发一个小程序,榨干了我们的整个国庆中后期(除去休息了的前两天),流转于各大网站学习技术,了解相关知识,在github上查阅了大量前人的代码,在结合了AIGC工具的帮助下,终于是赶在截至日期前完成了项目。后面三天我们两个几乎每天都是两点一线,宿舍食堂两头转。两眼一睁就是写代码。

(根据自己的想法简单实现的公共实时聊天室)

  • 在团队项目中我参与了 养食记 的设计与开发,我在其中所承担的角色是后端开发人员。在后端小组身兼多职,服务器运行维护,数据库搭建管理,后端程序编写,进行测试与前后端对接,几乎整个小组的任务我都参与了。好处是有的,就是我经历了完整的整个后端开发过程(不考虑巨大的压力),能够理解其他人的工作,更好的进行交流讨论,改进优化程序,修改bug。
    腾讯云服务器

    mysql数据库

    flask后端

软工实践的各次作业分别花费的时间:

作业 花费时间
第一次个人作业 4(h)
第二次个人作业 20(h)
第一次结对作业 20(h)
第二次结对作业 45(h)
第一次团队作业 30(h)
第二次团队作业 100(h)
现场编程作业 5(h)
团队作业beta冲刺 80(h)

在软件工程课程上花费的时间:

累计时间 实际周均时间 预计周均时间
304(h) 24(h) 25(h)

1.3 印象最深刻的是

毫无疑问,是小组编程阿尔法冲刺的经历。在大约10天的时间里,在白天还要上课的基础上,将原型设计的软件实现出来,我认为这对所有人来说都是一个极大的挑战。但是,在组长的带领下,历经多个日夜的鏖战,我们最终还是完成了大部分重要的功能,使我们的项目初具雏形,能够在发布会上进行展示。那一段时间里,和小组成员在宿舍苦苦熬夜,为实现一个功能感到开心,发现修改一个bug而激动,到现在看来,都是微不足道的小事情,但在当时却是激励我们不断把软件完成下去的动力。当最终看到自己编写的程序成功运行起来,通过二维码展示给大家时,欢欣雀跃,无比自豪的心情无疑是对自己最大的回报。

二、总结收获

2.1 展开说说你的软工实践故事

经验总结:

(以下观点都是建立在自身痛苦经历了总结出来的)

  1. 一定要养成写代码注释的好习惯:
    注释不仅是用来帮助其他人理解你的代码,还是帮助未来的自己。因为一段时间后,可能连你自己也看不懂这段代码(至少花费一定的时间去理解)。
  2. 前期不要过多的设计细节:
    过多的设计细节的功能会大大拖延前期的进度,同时在没有整体完成的基础上,一些小的功能是依赖与其他主要功能的,在大部分模块完成前无法实现。
  3. 数据库开放后一定记得改一个难一点的密码(一定!!):
    搭建好数据库的第一个晚上,熬到三点的我沉沉的睡下了,这时我还不知道明天会发生什么。一早醒来,打开数据库,只看见这样一段话:

All your data is backed up. You must pay 0.0089 BTC to bc1q307y2v8aujqwrej8m9v998yj0m242km989t8d2 In 48 hours, your data will be publicly disclosed and deleted. (more information: go to http://2info.win/mysql)

翻译过来是:你的所有数据都已备份。你必须在48小时内支付0.0089比特币到bc1q307y2v8aujqwrej8m9v998yj0m242km989t8d2这个地址,否则你的数据将被公开披露并删除。(更多信息:请访问http://2info.win/mysql)
(查阅资料发现,大概率是因为root的密码设置的太简单了)
还好我在本地的数据库备份了信息,而且刚开始表中没多少数据,还来得及挽救。

一定切记不能设置简单的密码(特别是123456!!!)

2.2 学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助

技术方面

  1. 云服务器配置搭建及小程序项目部署

自主搭建了腾讯云服务器并用于配置mysql数据库以及小程序的后端,了解配置域名以及ssl等服务器管理有关方法。

  1. mysql数据库管理维护

实践了在数据库管理系统课程上学习到的知识,配置,运行,维护数据库,实时监控保证数据安全。

  1. python-flask后端框架

掌握搭建flask框架体系,开发运行于服务器上,轻量级的后端框架,满足对数据库进行操作的接口需求。实现ai接口的调用。

  1. vue3框架

了解vuee3前端框架,设置store来管理全局变量,页面的设计,函数的编辑以及接口的调用。

生产力工具

  1. APIFOX

便捷的编写接口文档,支持根据文档写接口测试,根据文档生成代码,直接发送请求并判断返回格式是否正确。同时,还能用于简单接口自动化测试,可以支持多线程多请求访问。

  1. HBuilder

前端开发工具,支持内置浏览器预览设计的小程序,且支持一键打包,对小型的程序还可以生成临时查看的二维码

  1. XShell Xgtp

好用的远程连接服务器的工具,不论是上传文件还是操作终端

  1. AIGC工具

无论是编写实现某些功能的代码,还是修改代码中bug,以及帮助优化代码,AIGC在本次的课程中都居功至为,可以说全部以上的代码都由AI经手过。(再次感谢kimi,豆包,chatgpt4,)

2.3 技术之外,这门课程还给你带来了哪些方面的提升?

  1. 抗压能力
    面对时间紧迫,任务量繁多的项目开发工作,没有良好的心理抗压能力,很难在日后的职场上坚持下来。
  2. 协作能力
    较大的团队项目不是一个人埋头苦干能够完成的,如何分工,如何对接,如何避免矛盾分歧,都需要在实践中学习掌握。
  3. 自学能力
    学校不可能教会你所需的全部知识。只有不断的自主学习才能跟进时代的潮流,把握机会,成长自己。
  4. 时间管理能力
    在日常课程中挤出时间,分配好每一部分的工作,按部就班的完成,最大化利用时间,才能高效率的完成任务。

2.4 如果还有什么想记录的或者想说的,就写在这儿吧!

虽然我的专业是大数据,未来不一定会从事软件开发相关工作,但是作为一名计算机学院的学生,怎么能没有和伙伴们熬夜开发程序的经历呢。大三上的软件工程课程很好的弥补了这一缺憾,算是让我的计算机学习生涯更加圆满了一些吧。过程中尽管存在种种挫折,可是当这篇博客写到这里,一切都即将结束的时候,或者真的只有一句轻舟已过万重山可以形容此时我的心情了吧。

三、致谢

最想要感谢的人有两位,分别是我们小组的组长和我的结对作业同伴。在他们的帮助鼓励下,我才能在软件工程这门课程上收获如此之多。在遇到问题时有人分享,思考解决。遇到困难时,分工合作,共同化解。情绪低落时,能够一起谈笑抱怨,缓解压力。同时,在困惑时,有人一起探索求真,指引方向。
同时,也感谢张栋,吴越钟老师以及助教们的帮助指导,顺利的完成本学期的软件工程课程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860666.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

onedrive 同步文件排除制定类型

regedit修改注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\OneDrive\EnableODIgnoreListFromGPOOneDriveEnableODIgnoreListFromGPO 新建字符串值,值和数据都是 *.lnk

通过shadow来更改ubuntu密码,并且使用frp组网

局域网搜索 pings 所有设备找到在线设备并登录网页 :: 作者:mao 时间:2024 11.30 @echo off chcp 65001 >nul :: 启用延迟环境变量扩展 setlocal enabledelayedexpansion:: 检查是否提供了必要的参数 if "%~1"=="" (echo =============================…

图片使用LightBox浏览

在N多年前,在公司内部实现相似功能的图片浏览的网站,如公司团建,年会,聚餐,活动,外出旅游......以前,是以二进制数据流实现的,而且数据库没有存储图片任何信息,直接访问文件夹图片,因此得写好几个ashx,附带上目录。图集目录,进入某一图集,可以看到图片展示, 点击…

Go基础之环境搭建

目录1 Go1.1 简介1.1.1 定义1.1.2 特点用途1.2 环境配置1.2.1 下载安装1.2.2 环境配置1.2.2.1 添加环境变量1.2.2.2 各个环境变量理解1.2.3 验证环境变量1.3 包管理工具 Go Modules1.3.1 开启使用1.3.2 添加依赖包1.3.3 配置国内包源1.3.3.1 通过 go env 配置1.3.3.2 修改环境变…

PhpWebStudy(Web服务器和环境管理器) v4.5.1

PhpWebStudy 是一款功能强大的Web服务器和环境管理器,支持macOS、Windows和Linux三大操作系统。这一工具通过简洁的安装包和直观的界面,为开发者提供了一站式的本地Wb开发环境搭建方案,让你无需繁琐配置即可启动你的Web应用。PhpWebStudy采用了业界主流技术栈,包括但不限于…

量子 Clifford group

所谓的normalizer gates 为{CNOT,H,S} (见Nielsen书),这些门的组合可以生成Clifford group。包括泡利X,Y,Z门。 SS=Z

Chat2DB(数据库管理) v3.4.1 !人工智能的数据库SQL客户端和报表工具

Chat2DB 是一个集成了人工智能的数据库SQL客户端和报表工具,支持 windows、mac 本地安装,也支持服务器端部署,web 网页访问。支持MySQL、Oracle、PostgreSQL、DB2、SQLServer、DB2、SQLite、H2、ClickHouse等。 Chat2DB 集成了 AIGC 的能力,能够将自然语言转换为 SQL,也可…

楚颖i solar应急响应 wp

2024第一届Solar杯应急响应挑战赛一、 个人信息 楚颖i三、解题情况 日志流量-1 题目文件:tomcat-wireshark.zip/web 新手运维小王的Geoserver遭到了攻击: 黑客疑似删除了webshell后门,小王找到了可能是攻击痕迹的文件但不一定是正确的,请帮他排查一下。 flag格式 flag{xxxx…

从“梦幻”到“魔幻”

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标 回顾软件工程实践内容,做出课程总结学号 102201630一、学期回顾 1.1回顾你对于软件工程课程的想象 学期初认为的…

AIPPT -- 分享

最好用的 AIPPT 分享如何快速打造自己的专业领域 PPT ? 推荐给大家一个网站:7牛AI (功能齐全,重要的是:免费),这个网站功能跟其他的 AIPPT 网站来比功能丝毫不少,还有就是,我是从 6 月份开始使用的,给我最大的感受就是,版本更新快,模版更新快,最重要一点还有:免费…

基于Windows环境的Kafka搭建与.NET实战开发案例

前言:基于Windows环境下的Kafka搭建(scal+zookeeper+Kafka+可视化工具)、以及使用.NET6.0进行简单的生产者与消费者的演示 一、环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Java环境,以及Scala语言环境。 【JAVA环境配置】 安装java jdk环境,下载地址…