软件工程第一次作业
一、自我评估:技能树与技术偏好
目前已具备的专业知识与能力
能力 A:工程仿真与设计能力
熟练掌握Fluent(热流场仿真)、SolidWorks(三维建模)、AutoCAD(工程制图)。能够独立完成从建模到仿真分析的全流程,并在专利(磁控复合相变换热系统)中实际应用了热仿真技术。
能力 B:安全工程核心基础
掌握安全系统工程、火灾爆炸、风险评价、工业通风等专业知识。能够运用安全原理分析工程隐患,并结合计算机做初步的智能监测方案设计。
能力 C:编程与数据处理基础
辅修计算机期间掌握了Python(Pandas、Matplotlib、基本爬虫)、SQL 数据库操作、数据结构与算法(基础)。能够完成简单的数据分析、可视化以及算法题解,代码量约5000行(含课程作业、小型仿真后处理工具)。
能力 D:科研创新与专利写作
具备专利撰写、竞赛项目申报、团队组织与答辩的能力。拥有多项校级以上奖项及一项授权发明专利,能够将工程问题转化为创新方案。
对哪些技术方向有兴趣
AI + 大数据分析:希望将机器学习应用于安全预警、能源系统优化、故障诊断等场景。
智慧城市与应急管理:利用数据驱动方法提升公共安全水平。
深度学习与计算机视觉:例如火灾识别、工地安全监控等。
觉得还缺少哪些能力
- 大规模数据处理能力:缺少 Spark、Hadoop 等分布式框架的实战经验,处理 TB 级数据时效率低。
- 深度学习工程落地能力:对 PyTorch/TensorFlow 仅停留在调用层面,缺乏模型调优、部署(ONNX、TensorRT)的完整项目经验。
- 软件工程规范与协作能力:虽然写过 Python 脚本,但从未严格遵循版本控制(Git 分支管理)、单元测试、CI/CD 流程,代码可维护性差。
- 算法与数学深度:对概率图模型、优化理论等理解不够深入,阻碍前沿论文的复现。
二、代码量现状与课程目标
当前代码量:约 **5000 行(主要来自 Python 课程设计、数据挖掘作业、Fluent 自动化批处理脚本)。
本学期课程完成后希望达到的代码量:12000 行以上。
计划通过软件工程课程的大作业(团队项目)、个人练习(如实现一个小型 Web 服务或命令行工具),以及课后刷题/开源贡献,新增约 7000 行高质量代码,重点训练模块化设计、文档编写和测试驱动开发。
三、最期待在课程中学到什么
- 完整的软件开发流程:从需求分析、架构设计、编码规范、测试到部署交付,理解每个环节的最佳实践。
- 团队协作与项目管理:学会使用 Git Flow、Issue 跟踪、Code Review,真正体验敏捷开发。
- 软件质量保证:单元测试、集成测试、性能测试;如何写出低耦合、高内聚的代码。
- 工程文档撰写:包括需求规格说明书、设计文档、用户手册等,为未来港校研究或工业界项目打基础。
- 将安全工程与软件工程结合:如何构建一个安全监测系统或智能应急平台,把专业知识转化为可运行的软件产品。
四、AI 生成的《软件工程》学习指南与分析
我选择了 ChatGPT(GPT-4o)生成一份软件工程课程的学习指南。提示词为:“请为一名辅修计算机的工科本科生写一份《软件工程》课程学习指南,内容包含:学习重点、推荐工具、实践建议、常见误区、参考资源。语言简洁明了。”
【AI 生成的学习指南】
软件工程课程学习指南
一、学习重点
- 软件生命周期(需求→设计→实现→测试→维护)
- 常用开发模型(瀑布、敏捷、Scrum、Kanban)
- 需求工程:用例图、用户故事、SRS 文档
- 软件设计:UML 图(类图、时序图、活动图)、设计模式(单例、工厂、观察者等)
- 软件测试:单元测试、集成测试、系统测试、JUnit/Pytest
- 项目管理:Git 工作流、任务分解、燃尽图
二、推荐工具
- 版本控制:Git + GitHub/GitLab
- 项目管理:Jira、Trello、飞书/钉钉任务
- 设计建模:Draw.io、StarUML、PlantUML
- 测试框架:JUnit (Java)、pytest (Python)
- 持续集成:GitHub Actions、Jenkins
- 文档协作:Markdown、Swagger(API 文档)
三、实践建议
- 每学一个模型就动手画图,用 UML 表达一个身边小系统(如图书借阅、选课系统)。
- 组队完成一个完整项目(4-5 人),经历从需求到部署的全过程。
- 每周末进行一次代码审查,互相指出命名、注释、结构问题。
- 坚持写开发日志(包括踩坑记录)。
四、常见误区
- 跳过需求分析直接写代码 → 后期返工成本高
- 忽略文档,认为代码即文档 → 团队协作困难
- 一次性提交大量代码 → 难以 review,冲突频繁
- 测试只在最后做 → 缺陷难定位,修复成本高
五、参考资源
- 书籍:《软件工程:实践者的研究方法》《代码大全》《重构》
- 视频:B站“软件工程 清华”系列、Coursera “Software Engineering”
- 网站:GeeksforGeeks 软件工程板块、Atlassian Git 教程
【分析:这份指南是否合理、有帮助?】
合理性评估:
- ✅ 结构清晰:从重点到工具再到实践,符合新手认知顺序。
- ✅ 核心概念覆盖全:生命周期、UML、测试、Git 等关键点都提到了,没有明显遗漏。
- ✅ 工具推荐实用:Draw.io、pytest、GitHub Actions 都是工业级常见工具。
- ✅ 实践建议具体:每周 code review、写开发日志等可操作性强。
- ✅ 误区警示到位:指出“跳过需求分析”“最后做测试”等学生常见错误,非常有针对性。
对我是否有帮助?
- 非常有帮助。尤其对我这种半路出家的辅修学生,指南帮我明确了“必须掌握的硬技能”(如 UML、测试框架)和“必须养成的习惯”(如版本控制纪律)。
- 我以前写代码习惯直接开干,指南中的“需求分析先行”和“持续集成”正是我缺少的能力。
- 参考资源中《代码大全》和 Git 教程已加入学习清单。
不足之处(补充建议):
- 缺少代码量目标的指引(例如建议每个项目达到多少行代码或覆盖多少测试用例)。
- 没有区分理论与实践的课时配比,初学者可能花过多时间看书而少写代码。
- 对安全工程背景学生的特定场景(如开发安全监测系统)没有给出定制化建议,但作为通用指南已足够优秀。

浙公网安备 33010602011771号