软工第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501softwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
| 这个作业的目标 | 搭建团队github主页,学习基本的git指令 |
| 学号 | 102301619 |
自我介绍:

团队主页:https://github.com/sureyoung86-byte/smilefacetiger
自我评估
已具有的能力:
1.制作基本网站
2.基础的算法使用
缺少的能力:
1.实践能力
2.对前后端没有深入的学习
感兴趣的方向:
1.软件开发 如游戏引擎、底层开发
2.数据库技术
期待的知识与收获:
希望学习到软件开发的基本逻辑以及具体开发途径,可以自主完成软件开发的某一部分。
代码量:
约4000行 学习后希望达到万行。
由deepseek生成的一份学习指南:
本指南遵循“先基础,后应用,再升华”的理念,帮助你系统地构建软件工程的知识和技能体系。
一份简单的软件工程学习指南
核心目标:不仅仅是学会写代码,更要学会如何协作、高效地构建和维护高质量的软件。
第一阶段:打下坚实基础 (约3-6个月)
这个阶段的目标是让你成为一名合格的“码农”,能够独立完成小型功能。
-
掌握一门编程语言
- 推荐:Python 或 Java。
- 为什么:Python语法简洁,应用广泛;Java严谨,是企业级开发的主流,能帮你建立牢固的面向对象思想。
- 要求:做到精通该语言的基本语法、数据类型、流程控制、函数/方法。
-
理解面向对象编程
- 核心概念:类与对象、封装、继承、多态。
- 这是现代软件开发的基石,务必理解透彻。
-
学习算法与数据结构
- 数据结构:数组、链表、栈、队列、哈希表、树(特别是二叉树)。
- 算法:排序(快速排序、归并排序)、查找、递归、简单的复杂度分析(大O表示法)。
- 目标:明白不同数据结构的优缺点和适用场景,能解决LeetCode上的简单~中等难度题目。
-
熟悉版本控制Git
- 这是软件工程师的“时光机”和协作基石。
- 学会:
git clone,add,commit,push,pull,branch,merge。 - 实践:在GitHub或Gitee上创建你的第一个代码仓库。
第二阶段:了解工程全貌 (约6-12个月)
这个阶段的目标是让你成为一名“开发工程师”,了解软件从无到有的全过程。
-
操作系统与计算机网络
- 操作系统:了解进程/线程、内存管理、文件系统的基本概念。Linux是必备技能,学会常用的命令行操作。
- 计算机网络:理解TCP/IP协议族、HTTP/HTTPS协议。明白“当你在浏览器输入网址后,发生了什么”。
-
数据库知识
- SQL数据库:MySQL是首选。熟练掌握DDL、DML,特别是多表连接查询和子查询。
- NoSQL数据库:了解一种,如Redis(用作缓存)或MongoDB(文档型数据库)。
-
软件工程核心思想
- 设计模式:了解最常见的几种,如单例、工厂、观察者模式。不要求背下所有,但要理解其思想。
- 软件开发模型:了解瀑布模型、敏捷开发(Scrum)等,知道现代团队是如何协作的。
- API设计:学习RESTful API的设计理念和规范。
-
选择一个技术栈并实践
- Web后端(推荐):
- 学习一个Web框架(Java的Spring Boot 或 Python的Django/Flask)。
- 连接数据库,实现一个简单的RESTful API。
- Web前端:
- 学习HTML/CSS/JavaScript,再学习一个主流框架(React或Vue)。
- 最佳实践:用你学的技术,独立完成一个项目,比如一个简单的博客系统、待办事项应用或图书管理系统。
- Web后端(推荐):
第三阶段:迈向专业与协作 (长期)
这个阶段的目标是让你成为一名“软件工程师”,关注质量、流程和团队协作。
-
代码质量与测试
- 编写可读的代码:学习清晰的命名、函数拆分、代码注释。
- 单元测试:学习为你的代码编写测试(如Java的JUnit, Python的pytest)。
- 重构:学习如何改进已有代码的设计,而不改变其外在行为。
-
DevOps与部署
- 容器化:学习使用Docker将你的应用和环境打包。这是现代部署的标准。
- CI/CD:了解持续集成/持续部署的基本概念和流程(如使用GitHub Actions)。
- 尝试:将你的个人项目用Docker容器化,并部署到云服务器(如阿里云/腾讯云)或Vercel/Heroku等平台。
-
软技能
- 沟通能力:能清晰地表达技术问题,编写技术文档。
- 团队协作:熟练使用Git进行团队协作,理解代码审查的重要性。
- 问题解决能力:善于使用Google、Stack Overflow、官方文档来寻找答案。
可行性分析:
指南遵循的原则先基础,后应用,再升华。指引了从零基础到成为专业软件开发员的道路,分为三个阶段,较为细致,能够指引软件开发者的进步。
后台编辑页面:

浙公网安备 33010602011771号