软工第一次作业

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

自我介绍:

86f24fcf04cffc943b85ae0e513d5145

团队主页:https://github.com/sureyoung86-byte/smilefacetiger

自我评估

已具有的能力:

               1.制作基本网站
               2.基础的算法使用

缺少的能力:

               1.实践能力
               2.对前后端没有深入的学习

感兴趣的方向:

               1.软件开发 如游戏引擎、底层开发
               2.数据库技术

期待的知识与收获:

               希望学习到软件开发的基本逻辑以及具体开发途径,可以自主完成软件开发的某一部分。 

代码量:

               约4000行 学习后希望达到万行。

由deepseek生成的一份学习指南:
本指南遵循“先基础,后应用,再升华”的理念,帮助你系统地构建软件工程的知识和技能体系。


一份简单的软件工程学习指南

核心目标:不仅仅是学会写代码,更要学会如何协作、高效地构建和维护高质量的软件

第一阶段:打下坚实基础 (约3-6个月)

这个阶段的目标是让你成为一名合格的“码农”,能够独立完成小型功能。

  1. 掌握一门编程语言

    • 推荐PythonJava
    • 为什么:Python语法简洁,应用广泛;Java严谨,是企业级开发的主流,能帮你建立牢固的面向对象思想。
    • 要求:做到精通该语言的基本语法、数据类型、流程控制、函数/方法。
  2. 理解面向对象编程

    • 核心概念:类与对象、封装、继承、多态。
    • 这是现代软件开发的基石,务必理解透彻。
  3. 学习算法与数据结构

    • 数据结构:数组、链表、栈、队列、哈希表、树(特别是二叉树)。
    • 算法:排序(快速排序、归并排序)、查找、递归、简单的复杂度分析(大O表示法)。
    • 目标:明白不同数据结构的优缺点和适用场景,能解决LeetCode上的简单~中等难度题目。
  4. 熟悉版本控制Git

    • 这是软件工程师的“时光机”和协作基石
    • 学会git clone, add, commit, push, pull, branch, merge
    • 实践:在GitHub或Gitee上创建你的第一个代码仓库。

第二阶段:了解工程全貌 (约6-12个月)

这个阶段的目标是让你成为一名“开发工程师”,了解软件从无到有的全过程。

  1. 操作系统与计算机网络

    • 操作系统:了解进程/线程、内存管理、文件系统的基本概念。Linux是必备技能,学会常用的命令行操作。
    • 计算机网络:理解TCP/IP协议族、HTTP/HTTPS协议。明白“当你在浏览器输入网址后,发生了什么”。
  2. 数据库知识

    • SQL数据库MySQL是首选。熟练掌握DDL、DML,特别是多表连接查询和子查询
    • NoSQL数据库:了解一种,如Redis(用作缓存)或MongoDB(文档型数据库)。
  3. 软件工程核心思想

    • 设计模式:了解最常见的几种,如单例、工厂、观察者模式。不要求背下所有,但要理解其思想。
    • 软件开发模型:了解瀑布模型、敏捷开发(Scrum)等,知道现代团队是如何协作的。
    • API设计:学习RESTful API的设计理念和规范。
  4. 选择一个技术栈并实践

    • Web后端(推荐):
      • 学习一个Web框架(Java的Spring Boot 或 Python的Django/Flask)。
      • 连接数据库,实现一个简单的RESTful API。
    • Web前端
      • 学习HTML/CSS/JavaScript,再学习一个主流框架(React或Vue)。
    • 最佳实践用你学的技术,独立完成一个项目,比如一个简单的博客系统、待办事项应用或图书管理系统。

第三阶段:迈向专业与协作 (长期)

这个阶段的目标是让你成为一名“软件工程师”,关注质量、流程和团队协作。

  1. 代码质量与测试

    • 编写可读的代码:学习清晰的命名、函数拆分、代码注释。
    • 单元测试:学习为你的代码编写测试(如Java的JUnit, Python的pytest)。
    • 重构:学习如何改进已有代码的设计,而不改变其外在行为。
  2. DevOps与部署

    • 容器化:学习使用Docker将你的应用和环境打包。这是现代部署的标准。
    • CI/CD:了解持续集成/持续部署的基本概念和流程(如使用GitHub Actions)。
    • 尝试:将你的个人项目用Docker容器化,并部署到云服务器(如阿里云/腾讯云)或Vercel/Heroku等平台。
  3. 软技能

    • 沟通能力:能清晰地表达技术问题,编写技术文档。
    • 团队协作:熟练使用Git进行团队协作,理解代码审查的重要性。
    • 问题解决能力:善于使用Google、Stack Overflow、官方文档来寻找答案。

可行性分析:

指南遵循的原则先基础,后应用,再升华。指引了从零基础到成为专业软件开发员的道路,分为三个阶段,较为细致,能够指引软件开发者的进步。

后台编辑页面:

ccd15ef269e37d08f6ab564ed9f70f5a

posted @ 2025-10-03 11:58  shiroha0608  阅读(23)  评论(0)    收藏  举报