软工第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
这个作业的目标 | 创建并完善github账户及博客园账户,掌握markdown语法,掌握git基本命令的用法,熟练运用ai工具,明确自己具备的技能并做好职业规划 |
学号 | 102301125 |
团队主页网址
https://github.com/Hannezs/404-Team-Not-Found
个人资料截图
当前技能树与技术偏好
已具备的专业知识与能力
- 编程基础能力
- C 语言编程能力:掌握 C 语言核心语法,包括变量、指针、数组、结构体、函数等,能独立完成基础算法实现(如冒泡排序、二分查找)和简单应用开发(如学生成绩管理系统、简易计算器),熟悉 Visual Studio 等开发环境的使用。
- C++ 基础应用能力:了解 C++ 对 C 语言的扩展特性,如类与对象、封装、继承、多态等基础面向对象概念,能编写简单的类与对象实例(如定义 “图书” 类实现图书信息的增删改查),但对 STL 标准库的使用仅停留在基础层面。
- Python 入门能力:掌握 Python 基础语法(变量、列表、字典、循环、条件判断),能使用 Python 完成简单的数据处理任务(如读取 Excel 表格数据、统计数据频次),了解 requests 库的基础用法,可实现简单网页数据爬取(如爬取静态网页的文字内容)。
技术兴趣方向
- 对人工智能和机器学习有浓厚兴趣
- 想深入探索全栈开发技术栈
- 对DevOps和云原生技术感兴趣
需要提升的能力
-
系统设计能力
- 缺乏大型项目架构经验
- 需要学习设计模式和系统优化
-
工程实践能力
- 缺乏完整的项目开发流程经验
- 需要提升调试和性能优化能力
-
团队协作能力
- 需要加强在团队中的沟通协调能力
- 需要学习敏捷开发方法
代码量评估
- 当前代码量:约1500行
- 学期目标代码量:达到5000行
课程期待
- 希望掌握完整的软件开发流程
- 想学习如何进行有效的团队协作开发
- 期待了解软件工程的最佳实践
- 希望提升项目管理和文档编写能力
ChatGPT生成的软件工程学习指南
(一)基础认知阶段(1-3 周)
- 核心目标:理解 “软件工程” 与 “单纯编程” 的区别,建立工程化思维。
- 学习内容:软件工程基础概念(软件生命周期、需求分析 / 设计 / 编码 / 测试 / 维护)、开发模型(瀑布模型 vs 敏捷开发)适用场景。
- 实践任务:用 C/C++/Python 拆分旧代码(如计算器)为 “输入 / 计算 / 输出模块”,体会模块化思想。
(二)工具与协作阶段(4-8 周)
- 核心目标:掌握团队开发必备工具,理解协作流程。
- 学习内容:Git 版本控制(仓库创建、commit、分支合并、冲突解决)、项目管理工具(Jira/Trello 任务分配)、代码规范(Google C++ 规范、Python PEP8)。
- 实践任务:2-3 人小组用 Git 协作开发 C++ 图书管理系统,分工完成模块并解决 1-2 次代码冲突。
(三)设计与测试阶段(9-12 周)
- 核心目标:学会基础设计与测试方法,提升代码质量。
- 学习内容:用例图 / 类图绘制(Visio/DrawIO)、软件测试(黑盒 / 白盒测试) 、调试工具(GDB for C++、PyCharm Debug)。
- 实践任务:为协作项目绘制类图,编写 5-8 个测试用例,排查并修复 2 个潜在 bug。
(四)项目实战阶段(13-16 周)
- 核心目标:综合运用知识完成完整项目。
- 学习内容:项目全流程复盘(需求文档 / 设计文档 / 测试报告编写)、基础性能优化(C++ 内存管理、Python 循环效率)。
- 实践任务:团队开发 Python+SQLite 学生信息管理系统,提交完整文档与可运行代码。
学习资源推荐
- 书籍:《软件工程:实践者的研究方法》(理论)、《Git 权威指南》(工具)。
- 视频:B 站 “黑马程序员软件工程教程”、YouTube“C++ Programming for Engineers”(工程实践)。
- 工具:Git、DrawIO(画图)、pytest/JUnit(测试)、Clang-Format(代码格式化)。
针对性建议
- 扬长避短:用熟悉的 C/C++/Python 做项目,避免因语言门槛影响工程思维学习。
- 小步快跑:实践任务先 “能用” 再 “好用”,避免因追求完美停滞。
- 主动提问:遇到 Git 冲突等问题及时请教,不被工具卡壳耽误核心学习。
学习指南合理性与帮助性分析
合理性分析:
- 贴合基础:明确针对 “有 C/C++/Python 基础” 的学生,推荐用熟悉语言做项目,避开复杂新技术,符合大三学生现状。
- 聚焦核心差距:重点解决 “编程到工程” 的能力断层,如模块化设计、Git 协作,与个人待提升方向高度匹配。
- 实践驱动:每个阶段搭配具体任务(如拆分模块、协作开发),避免纯理论学习,可操作性强。
帮助性分析: - 明确工具优先级:将 Git、Jira 等协作工具列为重点,直接指导课程团队项目实践,解决 “不知学什么工具” 的困惑。
- 降低实践门槛:实践任务从 “拆分旧代码” 到 “完整项目” 逐步升级,避免直接做大型项目的畏难情绪,循序渐进建立信心。
- 辅助课程规划:可参考 “分阶段时间线”,将课程内容与个人学习结合(如课程学敏捷开发时,同步练 Git 协作),提升学习效率。