软件工程第一次作业

这个作业属于哪个课程 软件工程
这个作业要求在哪里 作业要求
这个作业的目标 1.掌握Git的使用,完成GitHub主页搭建
2.学会GitHub团队协作
3.完成博客,进行自我评估与学习规划
学号 102301309

Github团队主页搭建

团队主页网址:https://github.com/YQL-light/Groups-warehouses

团队主页截图:

团队截图

成员资料截图:

自我介绍截图

自我评估

已具备的专业知识和能力

  • 编程能力

    • 熟练掌握c和c++的使用
    • 会用基本的数据结构和算法解决简单问题
    • 了解计算机网络,操作系统的原理
  • 会使用的工具

    • 会使用Git的基本操作
    • 能够使用VS Code等开发工具

技术兴趣方向

对嵌入式开发、人工智能和机器学习应用有一些兴趣

需要提升的能力

  • 缺乏大项目的设计经验
  • 缺乏团队协作开发的实际经验
  • 缺乏项目管理能力,比如不了解代码规范、测试、部署等完整流程以及如何规划项目进度和风险管理

代码量评估

当前代码量:约2万行
学期目标:希望达到5-8万行代码量,通过完成课程项目积累经验

课程期待

  • 不想只懂写代码,想了解一个软件从构思、开发到上线的完整流程。
  • 学会协作: 掌握和团队高效协作开发的方法与工具,告别小组作业的混乱。
  • 实用的工程流程: 如敏捷开发、Git协作、代码审查的具体实践。
  • 连接理论与实践: 希望这门课能告诉我,课堂上学的数据结构、算法等知识,在真实项目中到底怎么用。
  • 主流开发工具链: 熟悉项目管理、持续集成等现代开发中必不可少的工具。

AI生成的学习指南分析

使用 Deepseek 生成的软件工程学习指南:
软件工程入门学习指南
核心理念:不要只编码,要“工程化”地编码。

第一阶段:基础奠基(约1-2个月)

  1. 精通一门编程语言:
    • 目标: 选择一门主流语言(如 Python、Java 或 JavaScript),掌握其核心语法、数据结构、面向对象编程等概念。达到能熟练编写小型程序的程度。
    • 方法: 完成在线教程、阅读入门书籍、做练习题。
  2. 版本控制入门 - Git:
    • 目标: 理解版本控制的概念,学会使用 Git 进行代码的提交、分支管理、合并等基本操作。
    • 方法:
      • 学习 git init, git add, git commit, git push, git pull 等核心命令。
      • 在 GitHub 或 GitLab 上创建账户,尝试将你的代码推送到远程仓库。

第二阶段:工程思维与流程(约2-3个月)

  1. 软件开发生命周期:
    • 目标: 了解不同的开发模型,如瀑布模型、敏捷开发、Scrum、看板方法。理解为什么“迭代”和“用户反馈”如此重要。
    • 方法: 阅读相关文章或书籍章节,了解每个阶段(需求分析、设计、编码、测试、部署)的目标。
  2. 需求分析与设计:
    • 目标: 学会将模糊的用户需求转化为清晰、可执行的技术规格。学习绘制简单的用例图、流程图。
    • 方法: 尝试为一个你想象中的小项目(如“个人博客系统”)编写一份简单的需求文档。
  3. 软件测试:
    • 目标: 理解测试的重要性。了解单元测试、集成测试、系统测试的区别。学会为你的代码编写简单的单元测试。
    • 方法: 学习并使用你所用语言的测试框架(如 Python的 pytest, Java的 JUnit)。

第三阶段:核心技能深化(长期持续)

  1. 代码质量与重构:
    • 目标: 学习编写“干净”的代码。理解什么是可读性、可维护性。学习基本的重构技巧,如重命名、提取函数等。
    • 方法: 阅读经典书籍《代码整洁之道》,定期回顾和修改自己的旧代码。
  2. 设计与架构基础:
    • 目标: 了解什么是设计模式、软件架构。知道为什么要把代码分成“模块”和“层”(如 MVC 模式)。
    • 方法: 了解几个常用的设计模式(如单例、工厂、观察者模式)。尝试将一个简单的程序进行模块化设计。
  3. 协作与工具:
    • 目标: 熟悉团队协作的基本工具和流程,如如何使用 Git 进行团队协作(Pull Request)、如何使用项目管理工具(如 Jira, Trello)。
    • 方法: 与同学组队完成一个小项目,实践完整的 Git 协作流程。

合理性

  1. 理论与实践相结合:
    · 每个理论知识点后都附带了实践建议(如“为小项目写需求”、“编写单元测试”)。这避免了“纸上谈兵”,确保你能将所学知识立即应用,加深理解。
  2. 聚焦核心,避免信息过载:
    · 软件工程领域极其庞大,包含了运维、安全、大数据等众多分支。本指南聚焦于每个软件工程师都必须掌握的核心基础,没有过多涉及细分领域,这对于初学者建立清晰的知识地图至关重要。
  3. 强调现代工程实践:
    · 指南将 Git 和敏捷开发放在重要位置,这完全符合当今工业界的实际工作方式。学习这些能让你更好地与未来的工作接轨。

对我的帮助

  1. 帮我构建系统化的知识体系:
    · 让我理解软件工程不仅仅是“写代码”,而是一个涉及分析、设计、协作、测试、维护的完整系统工程。让你看到树木,更看到森林。
  2. 给我提供清晰的学习路线图:
    · 解决了“不知道下一步该学什么”的迷茫。你可以按照这个路径,一步一个脚印地前进,减少决策疲劳。
posted @ 2025-10-06 20:35  cfl05  阅读(9)  评论(0)    收藏  举报