软件工程课程开篇随笔:自我梳理与学习展望
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16716 |
| 这个作业的目标 | 完成 HuggingFace API 调用实践、GitHub 个人主页搭建,梳理个人技能树与课程学习规划,熟悉博客园 Markdown 写作规范 |
| 学号 | 102402139 |
1. HuggingFace API 调用实践
本次调用的模型为 XLabs-AI/flux-RealismLora,这是基于 Flux 模型微调的真实感图像生成 LoRA 模型,擅长生成贴近真实世界光影与质感的高清图像。
1.1 前后端实现代码
后端接口(Python + Flask)
使用 Flask 搭建轻量后端,封装 Hugging Face Inference API 调用逻辑,接收前端传来的提示词,调用模型生成图像并返回。

前端交互页面(HTML + JS)
单页交互界面,包含提示词输入框、生成按钮和图像展示区域,支持用户输入自定义提示词并触发生成。

1.2 调用结果与提示词优化过程
提示词设计思路
目标是生成贴近真实世界的图像,因此提示词围绕「具体场景 + 光影质感 + 画质参数」三个维度构建,明确场景主体、环境氛围、画质要求,避免模糊笼统的描述。
- 初始提示词:
a coffee shop, realistic
问题:场景过于笼统,生成的图像细节缺失,光影平淡,真实感不足。 - 优化后提示词:
a cozy vintage coffee shop on a rainy city street, wet pavement reflection, soft warm window light, overcast afternoon, photorealistic, 8k, ultra detailed, cinematic lighting, film grain
补充了场景风格、环境细节、光影条件、画质与质感描述,大幅提升画面真实度与氛围感。
调用效果
后端控制台成功返回 200 状态码,前端页面正常加载生成的图像,画面呈现出雨天街道咖啡店的真实质感,玻璃反光、路面水渍、店内暖光的细节都较为自然,符合真实世界的视觉效果。
1.3 调用步骤总结
- 在 Hugging Face 官网注册账号并创建访问令牌,获取 API 密钥。
- 确认目标模型
XLabs-AI/flux-RealismLora支持 Inference API 调用。 - 编写 Python 后端,封装 API 请求逻辑,提供 HTTP 接口给前端调用。
- 编写前端页面,实现提示词输入、生成交互与结果展示。
- 启动后端服务,打开前端页面,输入提示词测试生成效果,优化提示词直至达到预期。
1.4 体验与心得
通过本次 API 调用实践,熟悉了 Hugging Face 模型推理 API 的调用规范与鉴权方式,也体会到了 AI 生成模型中提示词工程的重要性 —— 精准的场景与细节描述是输出高质量结果的关键。同时,前后端分离的简单交互实现,也让我对 “模型能力封装为接口、前端负责交互” 的开发模式有了更直观的理解。过程中也遇到了模型排队加载、请求超时的情况,了解到了公有推理 API 的资源限制特性,后续如果需要稳定生成,可以考虑本地部署模型或者使用付费推理端点。
2. GitHub 个人主页搭建
本次选择方案一:创建个人资料自述文件,搭建 GitHub 个人主页

3. 技能树梳理与课程学习展望
3.1 技能树梳理与自我评估
已具备的专业知识与能力
- 编程基础能力:系统学习过 C++、Java 两门编程语言,掌握面向对象基础特性,能够独立完成单模块的业务逻辑编写;熟练使用 Python 进行数据处理,能借助 Pandas、NumPy 完成基础的数据清洗与统计分析。
- 计算机基础理论:掌握数据结构中常用的数据组织方式与基础算法,了解计算机网络、操作系统的核心概念与运行机制,具备数理统计、线性代数等数据科学必备的数学基础。
- 基础工具使用:能够熟练使用 VS Code、IntelliJ IDEA 等开发环境,掌握基础的代码调试方法;熟悉 Markdown 语法,能够完成规范的文档排版与内容撰写。
感兴趣的技术方向
- 软件需求分析与系统架构设计,希望掌握从业务需求到技术方案的转化方法论,理解合理的架构设计如何支撑软件的长期迭代。
- 团队协作与项目管理模式,尤其是敏捷开发在中小型项目中的落地实践,以及多人协同开发中的效率与质量管控方法。
- 高质量代码设计,包括编码规范、设计模式、代码重构等内容,希望写出可维护、易扩展的工程化代码,而非仅能运行的 “作业代码”。
仍欠缺的核心能力
- 工程化编码思维:当前代码多为课程作业式的小规模实现,缺乏模块化设计、接口抽象、异常处理等工程化考量,代码可读性与可维护性不足。
- 全流程项目经验:从未经历完整的软件生命周期,对需求分析文档、设计文档的撰写规范完全不熟悉,缺少从需求到交付的全链路实践。
- 团队协作开发能力:缺乏多人协同开发经验,仅掌握 Git 最基础的提交、拉取操作,不熟悉分支管理、代码评审、冲突解决等团队开发必备技能。
- 软件质量管控意识:对软件测试的方法、流程认知空白,没有编写测试用例、做单元测试的习惯,难以主动保障代码质量。
3.2 代码量现状与学期目标
截至目前,个人累计有效代码量约 6000 行,其中 Java 课程作业约 2500 行,C++ 算法练习约 2000 行,Python 数据处理与脚本编写约 1500 行。整体以单文件、小规模代码为主,几乎没有工程化项目的代码积累。
完成本学期软件工程课程后,我希望累计有效代码量突破 15000 行。新增代码将以课程项目为核心,覆盖需求设计对应的原型代码、功能模块实现代码、单元测试代码,以及项目配套的工具脚本,最终沉淀至少一个完整的小组项目代码仓库,实现从 “写代码” 到 “做项目” 的转变。
3.3 课程期待与预期收获
这门课是我目前最期待的专业课程之一,最希望学到的核心内容有三点:一是软件生命周期的完整方法论,尤其是需求工程、系统设计、软件测试三个阶段的标准流程与文档规范;二是团队协作开发的最佳实践,包括 Git 进阶用法、敏捷开发流程、团队分工与沟通方法;三是高质量代码的编写原则,掌握常用设计模式与代码重构的基础方法。
我希望通过这门课获得三方面的成长:第一,建立完整的软件工程思维,跳出 “编程就是写代码” 的认知误区,理解软件产品从 0 到 1 的完整逻辑;第二,积累真实的团队项目经验,在小组作业中完整走一遍需求、设计、开发、测试的全流程,产出一份可复用的项目成果;第三,养成工程化的开发习惯,形成规范的编码风格与文档意识,为后续的专业项目与实习打下基础。
3.4 AI 生成学习指南与分析
本次选择 豆包 生成软件工程课程学习指南,内容如下:

4. 作业说明
本次作业全程使用 Markdown 格式编写,已将博客园编辑器切换为 Markdown 编辑器模式,提交时会附上后台编辑页面截图。后续每次作业都会严格遵循要求,在正文最前置入作业信息表格,统一写作规范。·

浙公网安备 33010602011771号