第一次作业
第一次作业
基本信息
项目 | 内容 |
---|---|
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
这个作业的目标 | 创建团队主页、Git和MARKDOWN等基础知识的学习、学习使用AIGC图像生成工具 |
学号 | 102301512 |
团队github主页链接:https://github.com/QishengLiu/unbeatable-grade-hunters
我的技能树与学习规划
一、自我评估
1. 已具备的专业知识与能力
- C/C++编程基础:掌握C/C++语法特性,能够熟练使用相关编译和调试工具
- 算法与数据结构:掌握常见数据结构及基础算法思想
2. 技术偏好与兴趣方向
- 希望深入了解软件开发流程。同时想要学习规范的代码管理和项目构建
3. 当前的不足与挑战
- 项目经验缺乏:尚未参与过完整的软件开发项目
- 工程实践能力:缺乏将理论知识转化为实际项目的能力
- 团队协作经验:缺少多人协作开发的实际经验
二、当前水平与学期目标
当前状态
- 代码量积累:约2000行,主要集中在C++算法练习和编程题目
学期目标
- 代码量目标:提升至3000行以上,增加项目实战代码
- 项目目标:完整参与并完成一个小型软件项目的开发全流程
- 能力目标:掌握基本的团队协作开发技能和项目管理方法
三、学习期望与规划
学习重点
- 系统学习软件工程完整流程
- 深入理解Git工作流、代码审查、项目管理
- 掌握模块化设计、接口设计、代码规范
具体期望
- 学习并实践小型项目的完整开发流程
- 掌握团队协作开发工具和方法论
- 建立规范的编程习惯和工程思维
- 积累项目经验,为未来职业发展打下基础
四、 软件工程学习指南(由deepseek生成)
阶段一:基础准备(1-2周)
学习目标
- 建立软件工程基本概念体系
- 掌握必备的开发工具和环境配置
具体任务
-
理论学习
- 阅读《人月神话》或《代码大全》前几章
- 了解软件生命周期和开发模型(瀑布、敏捷、迭代)
- 学习软件工程的基本概念和术语
-
工具准备
- 安装并配置Git,学习基本命令
- 注册GitHub/GitLab账号
- 学习Markdown语法并完成练习
- 配置开发环境(IDE、调试工具)
-
实践练习
- 创建第一个Git仓库
- 使用Markdown撰写学习笔记
- 完成简单的"Hello World"项目提交
阶段二:个人项目实践(3-4周)
学习目标
- 体验完整的个人开发流程
- 掌握基本的项目规划和设计方法
具体任务
-
项目规划
- 选择一个小型个人项目(如待办事项应用、计算器等)
- 编写需求文档和功能清单
- 设计系统架构和模块划分
-
开发实践
- 使用版本控制管理代码
- 编写清晰的项目README文档
- 实现基础功能并定期提交
-
质量保证
- 学习编写单元测试
- 进行代码审查(自我审查)
- 修复发现的问题和bug
阶段三:团队协作基础(4-5周)
学习目标
- 掌握团队协作开发的基本流程
- 学习项目管理工具和方法
具体任务
-
协作工具
- 深入学习Git分支管理和协作流程
- 学习使用项目管理工具(如Trello、Notion)
- 掌握Issue跟踪和Pull Request流程
-
团队项目启动
- 参与或组建3-5人开发团队
- 确定团队项目目标和范围
- 制定开发计划和任务分配
-
开发规范
- 建立团队编码规范
- 制定提交信息和文档规范
- 设置代码审查流程
阶段四:工程化实践(4-6周)
学习目标
- 掌握软件工程的核心实践方法
- 建立完整的开发-测试-部署流程
具体任务
-
需求分析与设计
- 学习用户故事和用例编写
- 进行系统架构设计
- 创建详细的技术方案文档
-
开发与测试
- 实践测试驱动开发(TDD)
- 编写集成测试和系统测试
- 建立持续集成流水线
-
部署与维护
- 学习基本的部署流程
- 掌握日志记录和监控
- 进行版本发布管理
阶段五:项目迭代与优化(3-4周)
学习目标
- 体验敏捷开发迭代过程
- 学习项目优化和重构技巧
具体任务
-
迭代开发
- 制定2-3个开发迭代周期
- 每个迭代完成特定功能模块
- 进行迭代评审和回顾
-
代码优化
- 学习代码重构技巧
- 进行性能分析和优化
- 改善代码质量和可维护性
-
文档完善
- 编写用户手册和技术文档
- 整理项目经验总结
- 创建项目演示材料
阶段六:总结与提升(2-3周)
学习目标
- 巩固所学知识体系
- 规划后续学习方向
具体任务
-
知识整理
- 整理学习笔记和经验总结
- 创建个人技能图谱
- 编写学习历程文档
-
项目复盘
- 分析项目成功与不足
- 总结团队协作经验
- 提炼工程实践心得
-
持续学习规划
- 确定下一步学习重点
- 探索感兴趣的细分领域
- 制定长期学习计划
学习建议
📚 推荐资源
- 书籍:《代码大全》、《重构》、《设计模式》
- 在线课程:Coursera软件工程专项、慕课网相关课程
- 实践平台:GitHub、LeetCode、开源项目
💡 学习技巧
- 理论与实践结合:每个概念都要通过实践来巩固
- 定期复盘:每周总结学习进展和问题
- 主动交流:参与技术社区,与同学讨论
- 持续记录:维护学习博客或笔记
🎯 成功标准
- 能够独立规划和完成小型项目
- 掌握团队协作开发的基本流程
- 建立良好的工程习惯和代码规范
- 具备持续学习和解决问题的能力
记住:软件工程是一门实践性很强的学科,动手实践比理论学习更重要!
五、合理性分析
- 覆盖了从个人基础到团队协作的完整路径,实践性强。
- 但时间安排可能过于理想化,未充分考虑学生课业压力。
- 部分阶段缺乏具体评估标准,对新手小白来说挑战还是有点大啊。整体而言,它提供了明确的学习框架,但需要根据个人情况灵活调整节奏。