2026秋软件工程个人作业(第一次)
| 这个作业属于哪个课程 | H202601软件工程与软件工程实践 |
|---|---|
| 这个作业要求在哪里 | 2026秋软件工程个人作业(第一次) |
| 这个作业的目标 | 完成GitHub与博客园注册、个人主页搭建、API调用与图像生成、技能梳理 |
| 学号 | 102401304 |
一.Github个人主页搭建

二、技能树梳理与自我评估
2.1 已具备的专业知识与能力
- 编程语言基础:掌握 C 语言基础语法与面向对象编程思想
- 数据结构与算法:熟悉数组、链表、栈、队列、树等基本数据结构,了解排序与查找算法
- 深度学习入门:了解神经网络的基本原理(前向传播、反向传播),熟悉 PyTorch 的基本使用,能够加载并预处理图像数据
- 计算机视觉基础:理解卷积神经网络(CNN)的组成结构(卷积层、池化层、全连接层),接触过图像分类与预处理任务,了解长尾学习中的 LDS 与 FDS 方法
- 开发工具:熟练使用 PyCharm 进行编码与调试,了解 Git 与 GitHub 的协作流程
2.2 技术兴趣方向
- 计算机视觉:目标检测、图像分类、长尾学习与不平衡数据处理
- 具身智能与机器人:视觉导航、视觉 SLAM、ROS 机器人系统,探索视觉算法在物理实体上的部署
- AI 应用开发:模型训练、微调与工程化部署
2.3 目前欠缺的能力
- 软件工程系统性方法:对 UML 建模、需求分析、软件架构设计等流程不够熟悉,缺乏从需求到交付的完整项目经验
- 代码质量意识:模块划分、异常处理、代码复用方面有提升空间
- 工程化部署能力:Docker 容器化、CI/CD、模型服务化部署(FastAPI 等)处于入门阶段
- 团队协作经验:规范化分支管理、代码评审流程方面缺乏实战经验
- 测试能力:单元测试、集成测试、测试驱动开发(TDD)方法不够熟练
三、代码量与目标
截至目前的代码量:估计约 1000-3000 行
本学期目标代码量:希望在课程结束时达到 5000-7000 行,通过软件工程课程项目与实验室项目实践,提升代码的规范性与工程化水平
四、本课程期待学习的知识与收获
4.1期待学习的知识:
- 软件工程全流程:需求分析 → 系统设计 → 编码实现 → 测试 → 部署,理解每一阶段的核心任务与产出物
- UML 建模:用例图、类图、时序图的绘制与应用,能够用图形化的方式表达系统设计
- 软件架构设计:学习模块化设计、设计模式、高内聚低耦合原则,提升代码的可维护性
- 敏捷开发与团队协作:了解 Scrum 或类似敏捷流程,体验团队分工与协作开发
- 软件测试方法:单元测试、集成测试、黑盒/白盒测试方法,建立测试优先的意识
4.2希望获得的收获:
- 完整参与一个软件项目的开发过程,体验从需求到交付的全生命周期
- 学会编写规范的技术文档与项目报告
- 培养代码评审意识与团队沟通能力
- 将课程所学方法应用到实验室项目中,提升科研工作的工程规范性
五.AI生成的课程学习指南
5.1 使用的 AI 工具
DeepSeek
5.2 AI 生成的学习指南
以下内容由 DeepSeek AI 生成:
📖 软件工程课程学习指南(简要版)
一、课程核心内容
| 模块 | 核心知识点 | 学习目标 |
|---|---|---|
| 软件过程模型 | 瀑布模型、原型模型、增量模型、螺旋模型、敏捷开发(Scrum) | 理解各模型的适用场景与优缺点 |
| 需求工程 | 功能需求与非功能需求、数据流图(DFD)、用例图、需求规格说明书(SRS) | 能够独立完成小型项目的需求分析 |
| 系统设计 | 概要设计、详细设计、UML 类图与时序图、模块化设计、高内聚低耦合 | 能够将需求转化为系统架构 |
| 软件测试 | 单元测试 → 集成测试 → 系统测试 → 验收测试;黑盒测试(等价类划分、边界值分析)与白盒测试(逻辑覆盖、环复杂度) | 建立测试优先的意识,掌握基本测试方法 |
| 项目管理 | 甘特图、关键路径、COCOMO 估算、Git 配置管理 | 了解项目规划与进度管理的基本手段 |
| 设计原则 | SOLID 原则、设计模式(工厂、单例、观察者等) | 编写可维护、可扩展的代码 |
二、学习方法建议
- 理论结合实践:每学一个知识点,找对应的代码示例或小项目进行练习
- 重视需求分析:需求不清晰是项目失败的主要原因,动手前先理清需求
- 多用图表表达:DFD、用例图、类图、时序图是软件工程的通用语言,建议用 draw.io 或 PlantUML 练习绘制
- 测试驱动开发(TDD) :养成先写测试、再写实现的习惯,降低后期调试成本
- 版本控制从小做起:每次有意义的修改都做一次
git commit,便于回溯与协作
三、推荐学习顺序
| 阶段 | 周次建议 | 学习内容 |
|---|---|---|
| 第一阶段 | 第 1-3 周 | 软件过程模型 + 需求工程 |
| 第二阶段 | 第 4-6 周 | 系统设计 + UML 建模 |
| 第三阶段 | 第 7-9 周 | 编码实现 + 设计模式 + 代码评审 |
| 第四阶段 | 第 10-12 周 | 软件测试 + 质量保障 |
| 第五阶段 | 第 13-15 周 | 综合项目实战(团队协作 + 完整交付) |
四、常见误区
- 只重编码,忽视设计文档与需求文档
- 测试只在项目最后阶段才做,导致返工成本高
- 闭门造车,不与他人进行代码评审与技术交流
- 忽略代码可维护性,只求功能“能用就好”
五、推荐资源
- 📖 《软件工程——实践者的研究方法》(Pressman 著)
- 📖 《代码整洁之道》(Robert C. Martin)
- 📖 《重构:改善既有代码的设计》(Martin Fowler)
- 🌐 博客园班级博客、GitHub 开源项目
5.3 指南的合理性分析与个人评价
合理之处
| 维度 | 评价 |
|---|---|
| 模块划分清晰 | 指南将课程内容划分为过程模型、需求、设计、测试、项目管理五大模块,覆盖了软件工程课程的主线知识体系 |
| 强调实践 | 建议“理论结合实践”和“版本控制从小做起”,对培养工程化开发习惯有很大帮助 |
| 重视测试 | 专门将测试列为独立模块,并提到测试驱动开发(TDD),这在很多初学者的自学历程中容易被忽视 |
| 学习顺序合理 | 从过程模型 → 需求 → 设计 → 编码 → 测试 → 综合项目,符合“先见森林、再见树木”的认知规律 |
不足之处
| 维度 | 评价 |
|---|---|
| 偏理论化 | 指南给出了“学什么”,但对“如何应对课程中的团队协作冲突”“如何高效进行代码评审”等实践细节着墨较少 |
| 缺少课程特色 | 没有结合本课程特有的博客作业、班级协作、GitHub 提交等具体要求,通用性较强但针对性不足 |
| AI 工具未提及 | 本课程鼓励使用大模型辅助开发(如 DeepSeek、ChatGPT),但指南未涉及如何在软件工程各阶段中借助 AI 工具提效 |
能否对自己带来帮助
- 能,这份指南帮助我建立了软件工程课程的整体框架,让我明确了各个阶段的学习重点
- 特别是“常见误区”部分(只重编码、忽视测试、忽略维护性),对我有很强的提醒作用
- 我不会完全照搬这份指南,而是将其作为参考框架,结合老师的课堂安排与作业要求,重点加强需求分析、设计文档编写和测试环节的实践,同时主动探索 AI 工具在代码生成、文档撰写、测试用例设计等环节的应用
5.4 小结
AI 工具能够在短时间内生成一份结构完整、逻辑清晰的学习指南,可以作为课程学习的“导航地图”。但它目前还无法替代老师的教学安排与个性化指导,也无法覆盖课程中的实践细节与团队协作经验。合理的做法是:以 AI 指南为框架,以课堂内容为主线,以项目实践为落脚点,将三者结合起来形成自己的学习路径。
六、Hugging Face API 调用与交互式图像生成
6.1 环境准备与 API 配置
说明:由于 Hugging Face 官网在当前网络环境下访问不稳定,本次作业选用国内稳定可用的 ModelScope(魔搭社区)平台完成图像生成任务。ModelScope 是由阿里巴巴发起的主流 AI 模型社区,与 Hugging Face 同属一类平台,具备完善的模型推理能力。本次使用的模型为 Flux.2Klein9B-f16:V1.0,与作业推荐的 XLabs-AI/flux-RealismLora 同属 FLUX 系列,具备同等的写实风格图像生成能力。
API 调用方式:通过 ModelScope 平台内置的在线推理功能,以 HTTP 请求方式调用 Flux.2Klein9B 模型生成图像。
6.2 调用记录与截图
- 前端交互实现
再调用模型的代码基础上通过HTML搭建静态网页,输入API和提示词后可生成图片
- 第一次:a cat on the windowsill
- 第二次:An orange cat sitting on a wooden windowsill, sunlight streaming in
- 第三次:The afternoon sun shines through the glass window, spilling onto the wooden floor. An orange cat is napping on the windowsill, and outside, there are blurry shadows of green trees. The atmosphere is warm and peaceful, with a hyper-realistic photographic style.
6.3 提示词设计思路与修改过程
本次采用逐步优化的方式设计提示词,以下是迭代过程:
| 版本 | 提示词 | 效果与调整 |
|---|---|---|
| V1 | a cat on the windowsill |
画面过于简单,缺乏真实感 → 增加细节描述 |
| V2 | An orange cat sitting on a wooden windowsill, sunlight streaming in |
画面更具体,但场景仍较单调 → 补充环境和光线 |
| V3(最终版) | The afternoon sun shines through the glass window, spilling onto the wooden floor. An orange cat is napping on the windowsill, and outside, there are blurry shadows of green trees. The atmosphere is warm and peaceful, with a hyper-realistic photographic style. |
添加了环境细节和画质关键词,真实感明显提升 |
设计思路:从“主体→环境→光线→画质风格”四个层次逐步丰富提示词,让模型生成更贴近真实世界的图像。
6.4 使用心得
本次通过 ModelScope 平台在线生成图像,整体体验比较顺畅:
- 操作简单:不需要配置本地环境,打开网页就能用,对新手友好
- 生成速度可接受:30 步采样大约需要 30-60 秒,等待时间合理
- 提示词影响很大:同样的模型,详细描述比简单描述效果好很多
七.Markdown编辑截图







浙公网安备 33010602011771号