第一次作业

项目 内容
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 完成个人技能评估、制定学习目标、分析AI生成的学习指南
学号 102301516

团队主页

https://github.com/xuezong691/fzuteam_lakers

成员介绍

87A0848E2935B4C4BFE348FBB04DB2D8

技能数与技术偏好

具备的专业知识和能力:

  • C和C++的基本语法结构
  • 基本的数据结构和算法

技术偏好与兴趣方向:

  • 对软件开发方面较有兴趣

缺少什么样的能力:

  • 缺少项目开发的经验
  • 缺少将实践与理论结合的能力

代码量:

  • 目前代码量为1000到2000行,主要涉及C和C++,以及算法相关。
  • 通过本学期的学习希望打到3000乃至4000行的代码量,并积累实践经验。

学习期望与规划:

  • 我希望学习如何系统化地管理软件生命周期,掌握需求分析、系统设计和项目管理的方法论,而不仅仅是编写代码。
  • 我渴望通过团队项目,亲身实践规范的版本控制、代码审查、持续集成和自动化测试,积累真实的协作开发经验。

软件工程学习指南(由deekseek生成):

第一阶段:工程思维与基础理论 (第1-4周)

核心目标:

  • 建立软件工程的宏观视野,理解“工程化”与“编程”的区别。

学习内容:

  • 软件生命周期与开发模型:深入理解瀑布模型、V模型、迭代模型,并重点掌握敏捷开发(特别是Scrum)的核心思想与流程。
  • 需求工程:学习如何获取、分析和定义需求,掌握编写用户故事和使用案例的方法。
  • 软件设计基础:了解软件架构的重要性,学习UML基础(如用例图、类图、时序图),并接触经典的设计原则(如SOLID原则)。

实践任务:

  • 为一个小型项目(如“图书馆管理系统”)编写一份简要的需求规格说明书。
  • 尝试绘制该项目的用例图和类图。

第二阶段:团队协作与开发工具链 (第5-8周)

核心目标:

  • 掌握现代软件团队协作必备的工具和流程。

学习内容:

  • 版本控制(Git):超越add/commit/push,学习分支策略(如GitFlow)、Pull Request、代码合并与冲突解决。
  • 团队协作平台:熟练使用GitHub/GitLab的Issue、Project看板等功能进行任务管理和协作。
  • 持续集成/持续部署(CI/CD):了解基本概念,并尝试为项目配置一个简单的CI流水线(如使用GitHub Actions),实现自动化的代码检查和测试。

实践任务:

  • 与小组成员在GitHub上建立一个项目仓库,使用Issue分配任务,并通过Pull Request进行代码合并。
  • 为项目配置一个基础的CI脚本,确保代码提交后能自动运行静态检查或单元测试。

第三阶段:质量保障与系统演进 (第9-12周)

核心目标:

  • 培养构建高质量、可维护软件的能力。

学习内容:

  • 软件测试:系统学习并动手编写单元测试、集成测试。理解测试金字塔模型。
  • 代码规范与重构:学习编写清晰、可读的代码,了解常见的代码“坏味道”,并掌握基本的重构技巧。
  • 文档编写:学习编写高质量的技术文档,包括API文档、设计文档和用户手册。

实践任务:

  • 为你的项目核心模块编写覆盖率达到一定标准(如60%)的单元测试。
  • 定期进行代码审查,并尝试对一段现有代码进行重构,提升其可读性和可扩展性。

第四阶段:项目实战与总结回顾 (第13-16周)

核心目标:

  • 整合所学知识,完成一个完整的团队项目,并进行复盘。

学习内容:

  • 项目冲刺:以团队形式,采用敏捷开发方法,完整地实现一个软件项目。
  • 部署与发布:学习将项目部署到云服务器或云平台(如Heroku, Vercel, 阿里云等)。
  • 项目总结与反思:进行项目回顾,总结在需求、技术、管理、协作方面的经验与教训。

实践任务:

  • 完成整个项目的开发、测试和部署,并对外发布可运行的版本。
  • 团队共同撰写一份最终项目报告,并进行成果展示。

0CC75529373577FAB4A3FA1C88DBE40E

posted @ 2025-10-06 15:25  AAAyzh  阅读(12)  评论(0)    收藏  举报