软件工程课程第一次团队作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 完成GitHub的团队搭建以及项目构建,完成自我介绍,开通博客园并发布随笔
学号 102301129

作业相关

个人介绍

image

团队主页的网址

https://github.com/FantasyRL/HachimiONanbayLyudou

个人能力

技能

c、c++、python等

兴趣

小游戏程序的制作,有趣的神秘小程序的制作

代码量以及希望学习到的能力

目前代码量预计在5000左右
希望能在学习课程知识后,能够自主开发并完成一个完整的软件程序,并期望代码量能提升至8000左右。

学习建议

以下是我用deepseek生成的学习计划


核心目标: 不仅仅是学会编程,而是学会如何高效、协作、可控地构建和维护高质量的软件。


第一阶段:基础入门与思想启蒙 (约4-6周)

这个阶段的目标是建立对软件工程的宏观认识,并掌握最基本的单人开发流程。

学习模块 具体内容 实践任务 产出物/检验标准
1. 软件工程概述 - 什么是软件工程?与编程的区别?
- 软件生命周期(SDLC)的各个阶段
- 常见的软件开发模型(瀑布模型、V模型、增量迭代、敏捷)
阅读《人月神话》或《代码大全》的经典章节,写一篇读书笔记。 能够清晰阐述软件工程的核心思想及其重要性。
2. 版本控制 Git - 为什么需要版本控制?
- Git 基本命令:clone, add, commit, push, pull
- 分支管理基础:branch, merge
1. 在 GitHub/GitLab 上创建个人项目仓库。
2. 每天将你的学习代码/笔记用 Git 提交并推送到远程仓库。
一个活跃的GitHub主页,能熟练使用 Git 进行日常代码管理。
3. 一门编程语言与IDE - 选择一门主语言(如 Java/Python/C++)。
- 学习其基本语法、面向对象思想。
- 熟练使用一款IDE(如 IntelliJ IDEA, VSCode)及其调试功能。
实现一个简单的命令行小工具(如待办事项列表、计算器)。 能够用所选语言熟练编写、调试小型程序。

第二阶段:核心工程方法与技术 (约6-8周)

这个阶段是软件工程的“硬核”部分,学习如何将需求转化为稳定、可维护的软件结构。

学习模块 具体内容 实践任务 产出物/检验标准
1. 需求工程 - 如何获取和分析需求?
- 编写用户故事(User Story)。
- 学习绘制用例图(Use Case Diagram)。
为你计划开发的一个“个人博客系统”编写3-5个核心用户故事和用例图。 能够将模糊的需求转化为结构化的功能描述。
2. 软件设计 - UML 图:类图(Class Diagram)、时序图(Sequence Diagram)。
- 设计原则:SOLID 原则。
- 设计模式:了解单例、工厂、观察者等常用模式。
为你的“个人博客系统”绘制核心类图和关键业务流程的时序图。 能够使用 UML 清晰地表达你的软件设计思路。
3. 软件测试 - 测试的重要性与分级:单元测试、集成测试、系统测试。
- 学习编写单元测试(如 JUnit for Java, pytest for Python)。
- 测试驱动开发(TDD)初体验。
为你第一阶段的小工具或“个人博客系统”的核心类编写单元测试,力争达到高代码覆盖率。 养成“写代码必写测试”的习惯,理解测试对质量的保障作用。
4. 构建与依赖管理 - 学习使用构建工具(如 Maven/Gradle for Java, pip for Python)。
- 理解依赖管理的概念。
将你的项目用构建工具进行配置,管理外部库依赖。 项目可以通过一条命令(如 mvn compile)完成编译和依赖下载。

第三阶段:团队协作与项目管理 (约4-6周)

软件工程是团队活动,这个阶段学习如何与他人协作,并管理项目进度。

学习模块 具体内容 实践任务 产出物/检验标准
1. 敏捷开发与 Scrum - 敏捷宣言与价值观。
- Scrum 框架中的角色、工件和仪式(Sprint, Backlog, Daily Stand-up)。
与2-3名同学组队,模拟一个为期2周的 Sprint。使用看板工具(如 Trello, GitHub Projects)管理任务。 亲身体验一次完整的迭代开发周期,理解敏捷协作的流程。
2. 协作 Git 工作流 - 学习主流的工作流:Git Flow 或 GitHub Flow。
- 代码审查(Code Review)的意义和流程。
- Pull Request/Merge Request 的创建与合并。
在团队项目中,为每个新功能创建特性分支,完成后发起 Pull Request 邀请队友进行代码审查。 能够在团队中规范地使用 Git 进行协作,并完成一次高质量的代码审查。
3. 项目管理基础 - 任务分解(WBS)。
- 进度估算(如故事点)。
- 风险管理。
为你们的团队项目制定一个简单的迭代计划,并进行任务分解和估算。 能够对一个小型项目进行初步的规划和跟踪。

第四阶段:系统整合与进阶探索 (约4-6周)

将前面所学融会贯通,完成一个完整的项目,并接触现代软件工程的必备技能。

学习模块 具体内容 实践任务 产出物/检验标准
1. 综合项目实践 - 将第二、三阶段的知识应用于一个更复杂的项目(如一个简单的Web应用)。
- 涵盖:需求分析、设计、编码、测试、部署。
团队大作业:开发一个“在线投票系统”或“简单的电商系统”。 一个功能完整、有文档、有测试、可运行的软件产品。
2. 持续集成/持续部署 (CI/CD) - 理解 CI/CD 的概念和流水线。
- 学习使用 GitHub Actions 或 GitLab CI 编写简单的流水线脚本。
为你的团队项目配置一个 CI 流水线,实现代码推送后自动运行测试。 项目拥有一个自动化的 CI 流水线,并能成功运行。
3. 文档编写 - 学习编写优秀的 README.md。
- 了解API文档、技术设计文档的写法。
为你的综合项目编写一份清晰的 README,包括项目介绍、构建和运行说明。 你的项目文档能让一个新成员快速上手。
4. 进阶主题选学 - 软件架构:微服务 vs 单体架构。
- DevOps 文化与容器化(Docker 初步)。
- 代码质量:静态代码分析工具(如 SonarQube)。
尝试用 Docker 将你的项目容器化。 对现代软件开发的趋势有基本的了解。

学习建议

  1. 理论与实践结合:千万不要只看书。计划中的每一个理论点,都要通过“实践任务”去巩固。动手!动手!动手!
  2. 善用工具:尽早熟悉你的IDE、Git、命令行、项目管理工具,它们是你的“枪”,能极大提升效率。
  3. 拥抱社区:多逛 GitHub,看看优秀的开源项目是怎么组织的。在 Stack Overflow 上提问和回答问题。
  4. 重视文档和沟通:把你做的东西、遇到的问题、解决方案写下来。清晰的文档和沟通能力是高级工程师的必备素质。

合理性分析

该计划十分完善,但是同时难度也不小,不过如果可以努力跟着计划去学习,未来将能有很大的进步。

博客云截图

image

posted @ 2025-10-04 19:48  上官霁情  阅读(19)  评论(0)    收藏  举报