软件工程第一次作业

一、自我评估:技能树与技术偏好
目前已具备的专业知识与能力

能力 A:工程仿真与设计能力
熟练掌握Fluent(热流场仿真)、SolidWorks(三维建模)、AutoCAD(工程制图)。能够独立完成从建模到仿真分析的全流程,并在专利(磁控复合相变换热系统)中实际应用了热仿真技术。

能力 B:安全工程核心基础
掌握安全系统工程、火灾爆炸、风险评价、工业通风等专业知识。能够运用安全原理分析工程隐患,并结合计算机做初步的智能监测方案设计。

能力 C:编程与数据处理基础
辅修计算机期间掌握了Python(Pandas、Matplotlib、基本爬虫)、SQL 数据库操作、数据结构与算法(基础)。能够完成简单的数据分析、可视化以及算法题解,代码量约5000行(含课程作业、小型仿真后处理工具)。

能力 D:科研创新与专利写作
具备专利撰写、竞赛项目申报、团队组织与答辩的能力。拥有多项校级以上奖项及一项授权发明专利,能够将工程问题转化为创新方案。

对哪些技术方向有兴趣
AI + 大数据分析:希望将机器学习应用于安全预警、能源系统优化、故障诊断等场景。
智慧城市与应急管理:利用数据驱动方法提升公共安全水平。
深度学习与计算机视觉:例如火灾识别、工地安全监控等。

觉得还缺少哪些能力

  1. 大规模数据处理能力:缺少 Spark、Hadoop 等分布式框架的实战经验,处理 TB 级数据时效率低。
  2. 深度学习工程落地能力:对 PyTorch/TensorFlow 仅停留在调用层面,缺乏模型调优、部署(ONNX、TensorRT)的完整项目经验。
  3. 软件工程规范与协作能力:虽然写过 Python 脚本,但从未严格遵循版本控制(Git 分支管理)、单元测试、CI/CD 流程,代码可维护性差。
  4. 算法与数学深度:对概率图模型、优化理论等理解不够深入,阻碍前沿论文的复现。

二、代码量现状与课程目标

当前代码量:约 **5000 行(主要来自 Python 课程设计、数据挖掘作业、Fluent 自动化批处理脚本)。
本学期课程完成后希望达到的代码量:12000 行以上。
计划通过软件工程课程的大作业(团队项目)、个人练习(如实现一个小型 Web 服务或命令行工具),以及课后刷题/开源贡献,新增约 7000 行高质量代码,重点训练模块化设计、文档编写和测试驱动开发。


三、最期待在课程中学到什么

  1. 完整的软件开发流程:从需求分析、架构设计、编码规范、测试到部署交付,理解每个环节的最佳实践。
  2. 团队协作与项目管理:学会使用 Git Flow、Issue 跟踪、Code Review,真正体验敏捷开发。
  3. 软件质量保证:单元测试、集成测试、性能测试;如何写出低耦合、高内聚的代码。
  4. 工程文档撰写:包括需求规格说明书、设计文档、用户手册等,为未来港校研究或工业界项目打基础。
  5. 将安全工程与软件工程结合:如何构建一个安全监测系统或智能应急平台,把专业知识转化为可运行的软件产品。

四、AI 生成的《软件工程》学习指南与分析

我选择了 ChatGPT(GPT-4o)生成一份软件工程课程的学习指南。提示词为:“请为一名辅修计算机的工科本科生写一份《软件工程》课程学习指南,内容包含:学习重点、推荐工具、实践建议、常见误区、参考资源。语言简洁明了。”

【AI 生成的学习指南】

软件工程课程学习指南

一、学习重点

  1. 软件生命周期(需求→设计→实现→测试→维护)
  2. 常用开发模型(瀑布、敏捷、Scrum、Kanban)
  3. 需求工程:用例图、用户故事、SRS 文档
  4. 软件设计:UML 图(类图、时序图、活动图)、设计模式(单例、工厂、观察者等)
  5. 软件测试:单元测试、集成测试、系统测试、JUnit/Pytest
  6. 项目管理:Git 工作流、任务分解、燃尽图

二、推荐工具

  • 版本控制:Git + GitHub/GitLab
  • 项目管理:Jira、Trello、飞书/钉钉任务
  • 设计建模:Draw.io、StarUML、PlantUML
  • 测试框架:JUnit (Java)、pytest (Python)
  • 持续集成:GitHub Actions、Jenkins
  • 文档协作:Markdown、Swagger(API 文档)

三、实践建议

  1. 每学一个模型就动手画图,用 UML 表达一个身边小系统(如图书借阅、选课系统)。
  2. 组队完成一个完整项目(4-5 人),经历从需求到部署的全过程。
  3. 每周末进行一次代码审查,互相指出命名、注释、结构问题。
  4. 坚持写开发日志(包括踩坑记录)。

四、常见误区

  • 跳过需求分析直接写代码 → 后期返工成本高
  • 忽略文档,认为代码即文档 → 团队协作困难
  • 一次性提交大量代码 → 难以 review,冲突频繁
  • 测试只在最后做 → 缺陷难定位,修复成本高

五、参考资源

  • 书籍:《软件工程:实践者的研究方法》《代码大全》《重构》
  • 视频:B站“软件工程 清华”系列、Coursera “Software Engineering”
  • 网站:GeeksforGeeks 软件工程板块、Atlassian Git 教程

【分析:这份指南是否合理、有帮助?】

合理性评估:

  • 结构清晰:从重点到工具再到实践,符合新手认知顺序。
  • 核心概念覆盖全:生命周期、UML、测试、Git 等关键点都提到了,没有明显遗漏。
  • 工具推荐实用:Draw.io、pytest、GitHub Actions 都是工业级常见工具。
  • 实践建议具体:每周 code review、写开发日志等可操作性强。
  • 误区警示到位:指出“跳过需求分析”“最后做测试”等学生常见错误,非常有针对性。

对我是否有帮助?

  • 非常有帮助。尤其对我这种半路出家的辅修学生,指南帮我明确了“必须掌握的硬技能”(如 UML、测试框架)和“必须养成的习惯”(如版本控制纪律)。
  • 我以前写代码习惯直接开干,指南中的“需求分析先行”和“持续集成”正是我缺少的能力。
  • 参考资源中《代码大全》和 Git 教程已加入学习清单。

不足之处(补充建议):

  • 缺少代码量目标的指引(例如建议每个项目达到多少行代码或覆盖多少测试用例)。
  • 没有区分理论与实践的课时配比,初学者可能花过多时间看书而少写代码。
  • 安全工程背景学生的特定场景(如开发安全监测系统)没有给出定制化建议,但作为通用指南已足够优秀。
posted @ 2026-05-22 16:19  LinJC\  阅读(4)  评论(0)    收藏  举报