这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546
这个作业的目标 初步学习协作开发、创建团队主页、Git和MARKDOWN等基础知识的学习、学习使用AIGC图像生成工具、学习使用github同时了解自己和明确目标
学号 172309055

成员资料截图








个人资料


团队主页的网址

https://github.com/Hannezs/404-Team-Not-Found


自我评估

技能树模块一:专业基础知识

细分技能 掌握程度+实验佐证
计算机组成原理 熟悉 CPU 架构(冯诺依曼)、内存分层(Cache / 内存 / 硬盘),能分析“数据在计算机内部的流向” (课程实验)
计算机网络 熟悉 TCP/IP 四层模型,能排查 “TCP 连接超时” 问题(曾解决 “本地项目无法访问云服务器 MySQL” 的端口 / 防火墙问题)
数据结构与算法 熟悉常见数据结构(链表 / 栈 / 队列 / 树 / 图)及算法(排序 / 查找 / 动态规划),洛谷刷题 100+,参加过校ACM选拔,CSP认证300分

技能树模块二:编程语言体系

编程语言 掌握程度+实验佐证
C/C++ 精通:掌握 STL 容器(vector/map/queue)、面向对象编程、指针,用 C++ 实现 “校园图书管理系统”
Python 熟悉:掌握 Pandas/Numpy 数据处理
Java 了解:掌握 Java 基础
SQL 熟悉:掌握DDL(建表/索引)、DML(增删改查)、DQL(多表联查/子查询)、DCL(权限控制)

技能树模块三:工具与工程实践

工具类型 掌握程度+实验佐证
版本控制(Git) 熟练:掌握 clone/commit/push/pull/branch/merge,团队项目用 Git 管理版本,解决过 “代码冲突”
容器化(Docker) 熟悉:掌握镜像 / 容器概念,用Docker部署Deepseek、Ollama等AI
IDE / 编辑器 熟练:IntelliJ IDEA(Java)、VS Code(前端 / Python),掌握快捷键(如 Ctrl+Alt+L 格式化)

技能树模块四:实践与项目经历

  • 项目一名称:企业级合同分析智能体(AI前端开发)

  • 场景:解决企业内部“查询合同执行情况”、“查询合同细节”等问题

  • 任务:负责Agent工作流的搭建和测试

  • 行动:用Docker部署Dify和通义千问大模型、Dify搭建智能体工作流、MySQL存储数据、创建知识库存储合同

  • 结果:完成工作流搭建,实现大模型与后端数据连接

  • 项目二名称:SRTP基于深度学习无人机视觉识别与避障系统

  • 场景:解决当前无人机不够自动化、智能化的问题

  • 目前进度:已有论文复现阶段

技能偏好

  • 机器人深度学习方向
    想学习用 PyTorch 搭建模型,CNN、强化学习与 SLAM的结合。尤其偏好 “算法轻量化 + 硬件适配” 的开发模式
  • 嵌入式开发方向
    想学习以 STM32 系列芯片为核心做硬件开发,搭配 RT-Thread 实时操作系统。尤其偏好 “硬件电路设计 + 嵌入式软件开发” 的全流程开发

欠缺能力

  • 对主流语言的掌握不熟练:对Java、Python等语言的学习还不够深入
  • 对前后端知识的欠缺

代码量:

目前:目前代码量还不算很多,各类代码总量加起来应该不超过10000行
期望:课程结束后,希望能增加8000-10000行代码量


期待与收获

期待学习的知识

  • 规范化的软件开发流程
    期待系统学习 “需求分析→系统设计→编码实现→测试验收→部署维护” 的全流程方法论,比如:
    如何用用例图、ER 图把模糊需求转化为可落地的技术方案(避免直接写代码导致后期频繁返工);
    不同开发模型(瀑布模型、原型开发模型)的适用场景;
    如何拆分复杂需求。
  • 软件质量保障与 “反脆弱” 设计
    期待跳出 “只关注功能实现” 的误区,学习让软件更稳定、易维护的能力,比如:
    规范化的测试方法(单元测试、集成测试、压力测试);
    常见的 “坑” 与规避方案(比如如何处理并发场景下的数据不一致、如何设计可扩展的接口避免后期重构);
    代码规范与重构技巧(比如如何用设计模式优化 “冗余代码”,让后续迭代更高效)。
  • 团队协作与工程化工具落地(解决 “多人开发乱成一锅粥” 的问题)
    期待学习企业级的协作模式,而非仅靠 “传文件” 协作,比如:
    团队分工与角色配合(产品、开发、测试的职责边界,比如开发如何与测试同步 BUG 修复进度);
    工具链的协同使用(Git 分支管理策略避免 “代码冲突难解决”“接口对接靠猜”);
    文档编写规范(需求文档、设计文档、用户手册的核心要素,避免 “项目做完没人看得懂”)。
    希望获得的收获
  • 从 “代码执行者” 到 “工程化思维者” 的认知转变
    不再把 “写好一个功能” 当作终点,而是学会从 “软件生命周期” 视角思考问题:比如开发前先判断 “这个需求是否符合用户实际使用场景”,编码时考虑 “未来是否容易扩展”,上线后关注 “用户反馈如何优化”—— 解决学生常犯的 “为技术而技术,忽略软件实用性” 的问题。
  • 能独立牵头或协同完成 “复杂软件项目” 的落地能力
    比如课程结束后,能带着团队完成一个 “有实际场景的中小型软件”,并做到:
    能独立输出规范的需求文档和设计方案;
    能通过 Git 分支管理避免团队代码冲突,用测试用例覆盖 80% 以上核心功能;
    最终交付的软件不仅能跑通,还能应对 100 + 用户同时使用,且后期能快速迭代新功能。

学习指南

  1. 课程目标(你将学会)
    • 理解软件工程的核心概念与软件生命周期(需求 → 设计 → 实现 → 测试 → 部署 → 维护)。
    • 学会把握常见开发过程(瀑布、迭代、敏捷/XP、DevOps 等),能为不同项目选择合适流程。
    • 掌握软件需求分析、架构与设计、测试与质量保证、配置管理、项目管理与团队协作的基本技能。
    • 在小组项目中实践软件工程流程,完成从需求到交付的端到端工程任务(含文档与演示)。

  2. 推荐教材 & 权威资源(入门必看)
    • Ian Sommerville — Software Engineering(Sommerville):经典教材,覆盖流程、架构、可靠性等核心内容。适合作为课程主教材。
    • Roger Pressman — Software Engineering: A Practitioner’s Approach:偏实践、工程方法与案例。适合结合阅读。
    • SWEBOK(IEEE 的 Software Engineering Body of Knowledge):权威的知识体系梳理,用于课程大纲与学习点对齐。
    • 在线课程 & 微课程(补充练习与视频教学):例如 edX 的 Software Engineering Essentials(TUM)以及 Coursera 上的 Software Design & Architecture / Software Processes and Agile Practices 专项。

  3. 12 周示例进度(每周重点)

每周建议:阅读教材 1~2 章、完成小练习/作业,并在第 4/8/12 周有小型里程碑展示(需求文档、设计文档、最终演示)。

1.	第 1 周 — 课程导入 & SDLC 概念:什么是软件工程;常见流程;课程要求与团队分配。 
2.	第 2 周 — 需求工程:需求获取、用户故事、用例与需求规格书(SRS)。
3.	第 3 周 — 系统建模与 UML:用例图、类图、序列图、活动图。
4.	第 4 周 — 软件架构与设计原则:模块化、设计模式、架构风格(MVC、微服务等)。(第 4 周里程碑:需求 + 初步架构) 
5.	第 5 周 — 面向对象设计 / 详细设计。
6.	第 6 周 — 实现实践:代码组织、编码规范、重构。
7.	第 7 周 — 版本控制与配置管理(Git):分支策略、合并、冲突解决、CI 基本概念。
8.	第 8 周 — 测试与验证:单元测试、集成测试、测试驱动开发(TDD)。(第 8 周里程碑:可运行的最小可交付版本)
9.	第 9 周 — 软件质量、度量与缺陷管理:质量属性、度量指标、缺陷跟踪。 
10.	第 10 周 — 项目管理与计划:估算、风险管理、敏捷实战(Scrum/XP)、团队沟通。 
11.	第 11 周 — 安全性、可靠性与维护:基本安全实践、可维护性、演进与重构。 
12.	第 12 周 — 集成、部署与课程结业项目演示:CI/CD、发布、课设展示与回顾。
  1. 每周输出(作业与考核建议)
    • 小测验 / 阅读理解(每周)
    • 实验 / 编程作业(第 3、6、8 周重点)
    • 文档作业:需求规格书(第 4 周)、设计文档(第 6 周)
    • 小组项目(贯穿全学期):要求使用版本控制、issue 管理、CI(例如 GitHub Actions)
    • 期末演示 + 报告(第 12 周)

  2. 必备技能清单(实践导向)
    • 编程基础(任一主流语言,如 Java、Python、C#)
    • 版本控制:Git(branch、PR、rebase/merge)
    • 单元测试框架:例如 JUnit、pytest 等
    • 构建与自动化:Maven/Gradle、Make、CI(GitHub Actions / GitLab CI)
    • 基本 UML 与建模能力
    • 基本项目管理:敏捷(Scrum)、任务分配、估算、燃尽图
    • 代码质量工具:静态分析、代码审查流程
    • 文档写作:SRS、设计文档、用户手册

  3. 学习方法与小技巧
    • 项目驱动学习:把每个主题和你的小项目直接结合(例如:把第 4 周学到的架构应用到项目)。
    • 每日/每周小结:写短日报,记录遇到的问题与解决方法。
    • 代码复审(Peer Review):团队互审代码比单独写更容易学到工程实践。
    • 多看案例:阅读开源项目的 README、设计文档,学习真实系统是如何组织的。
    • 参照 SWEBOK 来检查知识点:用它做“知识清单”来对照自己掌握的 KA(knowledge areas)。

对该指南的分析
这份指南设计的相对合理,但结合自身情况而言,该指南的任务量略大,我会根据自身实际情况调整。同时,这份指南对我也很有帮助,给我指明了方向,对我针对自身情况制定学习计划有一定帮助。


后台编辑页面截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!