软件工程第一次作业
软件工程第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
这个作业的目标 | 创建并完善github账户及博客园账户,掌握markdown语法,掌握git基本命令的用法,熟练运用ai工具,明确自己具备的技能并做好职业规划 |
学号 | 102301638 |
markdown编辑截图
Github团队主页搭建
团队仓库: https://github.com/XunBo2023/cuddly-umbrella
团队logo
个人评估
目前具备技能
- c/c++、算法与数据结构
感兴趣的方面
- 对软件工程感兴趣
目前缺少的能力
- 缺少项目开发经验
代码量
- 2k左右
本学期学习目标
- 希望代码量能达到3k+
- 能独立完成一个项目
AI生成的学习指南
一、基础铺垫:先补 “短板”,再搭框架
软件工程的核心是 “用工程化方法开发软件”,而编程能力、数学思维、计算机基础是三大基石。先花 1-2 个学期针对性补全,避免后续学习 “卡壳”。
-
编程入门:从 “能跑通” 到 “能写好”
编程是软件工程的核心工具,推荐从Python入手(语法简单、应用广泛,适合零基础),再过渡到专业核心语言Java/C++。
入门阶段(1-2 个月):
目标:掌握基本语法(变量、循环、条件判断、函数),能独立写 100-200 行的小脚本(如计算器、待办清单)。
学习资源:
视频:B 站《Python 零基础入门到实战》(黑马程序员 / 尚硅谷,选一个跟着敲,不用贪多);
练习:LeetCode “简单” 难度题目(前 50 题,重点练语法和逻辑,不用纠结算法优化);
避坑:不要只看视频不敲代码!每学一个知识点,立刻写 3-5 个示例验证(比如学完 “循环”,就写 “打印 100 以内的偶数”“计算 1 到 100 的和”)。
进阶阶段(2-3 个月):
目标:掌握面向对象编程(类、对象、继承、多态),能开发简单的控制台应用(如学生信息管理系统)。
重点:理解 “类” 和 “对象” 的概念(比如 “手机” 是类,“你的 iPhone” 是对象),这是后续学习 Java、开发大型软件的关键。 -
数学基础:不用 “精通”,但要 “够用”
软件工程对数学的要求不像纯计算机专业那么高,但核心知识能帮你理解算法、优化代码。
必学内容:
离散数学(集合、逻辑、图论):理解数据库设计、网络拓扑的基础(比如 “图” 对应社交软件的好友关系);
线性代数(矩阵、向量):后续学机器学习、图形学必备(暂时用不上也没关系,先掌握基本概念);
学习建议:用 “应用型思维” 学数学 —— 比如学 “逻辑运算” 时,联系 “代码里的 if 判断”;学 “图论” 时,画一张 “微信好友关系图” 辅助理解,避免死记公式。 -
计算机基础:搞懂 “软件运行的底层逻辑”
很多同学写代码时 “知其然不知其所以然”,根源是不了解计算机的基本原理。
核心知识点:
计算机组成原理:知道 “CPU、内存、硬盘” 的关系(比如 “代码存在硬盘里,运行时加载到内存”);
操作系统(Windows/Linux):掌握文件管理、命令行操作(比如 Linux 的cd/ls命令,后续部署项目会用到);
学习建议:用 “类比法” 理解 —— 比如把 “CPU” 比作 “厨房厨师”,“内存” 比作 “操作台面”,“硬盘” 比作 “冰箱”,厨师(CPU)只能用台面上(内存)的食材,用完要放回冰箱(硬盘)。
二、核心课程学习:按 “开发流程” 拆解,避免混乱
软件工程的核心课程围绕 “软件开发全流程” 展开,建议按 “需求分析→设计→编码→测试→部署” 的顺序学习,形成闭环思维。 -
需求分析与设计:先 “想清楚”,再 “写代码”
核心课程:《软件工程导论》《UML 建模》
学习重点:
理解 “软件生命周期”(需求→设计→编码→测试→维护):比如开发一个 “校园外卖 APP”,先调研 “学生需要哪些功能”(需求),再画 “APP 界面草图”(设计),最后写代码;
掌握 UML 图(用例图、类图、时序图):用图形化工具表达设计思路(比如 “用例图” 画 “学生下单” 的流程,比文字描述更清晰);
实践:找一个简单的需求(比如 “开发一个班级考勤系统”)> ,尝试画一张用例图,标注 “学生打卡”“老师查考勤” 两个核心功能。 -
编码与开发:从 “写小功能” 到 “搭项目”
这是软件工程的核心技能,重点是掌握 “编程语言 + 框架”,能独立开发中小型项目。
核心课程与学习路径:
数据库与前端开发
数据库(MySQL):掌握 “增删改查”(CRUD)操作(比如 “从数据库里查学生的考勤记录”),理解 “主键、外键”(避免数据混乱);
前端(HTML/CSS/JavaScript):不用成为 “前端大神”,但要能看懂简单页面代码,会用 Vue.js(前端框架)写一个 “表单提交页面”(比如 “用户注册页面”);
实践:升级 “个人博客”—— 加入数据库存储文章,用 Vue.js 写前端界面,实现 “用户登录后才能写文章” 的功能。 -
测试与部署:让软件 “能用、好用、能上线”。
核心课程:《软件测试》《Web 服务器配置》
学习重点:
软件测试:掌握 “黑盒测试”(不用看代码,按功能测,比如 “输入错误密码能否登录”),会用 JUnit(Java 测试工具)写简单的测试用例;
三、实践能力提升:“做项目” 是最好的学习方式
基础差的同学容易陷入 “只学不练” 的误区,而软件工程是 “实践驱动” 的学科,只有通过项目才能真正掌握知识。 -
项目选择:从 “小而简单” 开始,积累信心
入门级项目:控制台应用(如学生成绩管理系统、图书借阅系统)—— 只用 Java/Python,不用数据库,重点练逻辑;
进阶级项目:Web 应用(如个人博客、校园论坛)—— 用到 Java+SpringBoot+MySQL+Vue,覆盖 “后端 + 前端 + 数据库”;
综合级项目:团队项目(如在线商城、校园外卖平台)—— 模拟企业开发,分工合作(有人写后端,有人写前端,有人做测试),学习 “版本控制”(用 Git 管理代码,避免多人开发冲突)。
-
项目学习方法:“模仿→修改→创新”
如果一开始不会写项目,不要慌,按 “三步法” 推进:第一步:模仿(找一个开源项目,跟着敲代码)
推荐平台:GitHub(搜索 “SpringBoot 入门项目”,选星数多、文档全的,比如 “mall-learning”);
重点:不是 “抄代码”,而是理解 “每一行代码的作用”(比如 “这段代码是连接数据库的”“这段代码是处理用户登录的”)。
第二步:修改(在模仿的基础上改功能)
比如在 “个人博客” 里加一个 “文章分类” 功能,或改一下页面颜色;
目的:通过修改,主动思考 “如何调整代码”,把知识变成自己的。
第三步:创新(自己设计并开发一个新项目)
比如基于 “校园论坛”,增加 “失物招领” 板块,设计专属的数据库表和界面;
此时你会发现,之前学的知识点(Java、数据库、UML)会自然串联起来。
-
工具使用:掌握 “提高效率的利器”
工欲善其事,必先利其器,这些工具是企业开发的标配,尽早掌握能少走弯路:代码编辑器:IntelliJ IDEA(Java 开发)、PyCharm(Python 开发)—— 学会用 “自动补全”“调试功能”(比如用断点找代码里的 bug);
版本控制:Git+GitHub—— 学会 “提交代码”“分支管理”(比如新建一个 “feature/login” 分支开发登录功能,避免影响主代码);
文档工具:Markdown(写项目文档)、DrawIO(画 UML 图)—— 不用复杂,能清晰表达即可。
四、总结
这个计划对我来说能接受,但还是有一定的困难,我会尽力去做