软件工程课程开篇随笔:自我梳理与学习展望

这个作业属于哪个课程 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 调用逻辑,接收前端传来的提示词,调用模型生成图像并返回。
2025534e-aa03-40ba-825c-5c5ef16cc8ac

前端交互页面(HTML + JS)

单页交互界面,包含提示词输入框、生成按钮和图像展示区域,支持用户输入自定义提示词并触发生成。
2066aed9-02d0-41cc-8604-847f10016abe

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 调用步骤总结

  1. 在 Hugging Face 官网注册账号并创建访问令牌,获取 API 密钥。
  2. 确认目标模型 XLabs-AI/flux-RealismLora 支持 Inference API 调用。
  3. 编写 Python 后端,封装 API 请求逻辑,提供 HTTP 接口给前端调用。
  4. 编写前端页面,实现提示词输入、生成交互与结果展示。
  5. 启动后端服务,打开前端页面,输入提示词测试生成效果,优化提示词直至达到预期。

1.4 体验与心得

通过本次 API 调用实践,熟悉了 Hugging Face 模型推理 API 的调用规范与鉴权方式,也体会到了 AI 生成模型中提示词工程的重要性 —— 精准的场景与细节描述是输出高质量结果的关键。同时,前后端分离的简单交互实现,也让我对 “模型能力封装为接口、前端负责交互” 的开发模式有了更直观的理解。过程中也遇到了模型排队加载、请求超时的情况,了解到了公有推理 API 的资源限制特性,后续如果需要稳定生成,可以考虑本地部署模型或者使用付费推理端点。

2. GitHub 个人主页搭建

本次选择方案一:创建个人资料自述文件,搭建 GitHub 个人主页
image

3. 技能树梳理与课程学习展望

3.1 技能树梳理与自我评估

已具备的专业知识与能力

  1. 编程基础能力:系统学习过 C++、Java 两门编程语言,掌握面向对象基础特性,能够独立完成单模块的业务逻辑编写;熟练使用 Python 进行数据处理,能借助 Pandas、NumPy 完成基础的数据清洗与统计分析。
  2. 计算机基础理论:掌握数据结构中常用的数据组织方式与基础算法,了解计算机网络、操作系统的核心概念与运行机制,具备数理统计、线性代数等数据科学必备的数学基础。
  3. 基础工具使用:能够熟练使用 VS Code、IntelliJ IDEA 等开发环境,掌握基础的代码调试方法;熟悉 Markdown 语法,能够完成规范的文档排版与内容撰写。

感兴趣的技术方向

  1. 软件需求分析与系统架构设计,希望掌握从业务需求到技术方案的转化方法论,理解合理的架构设计如何支撑软件的长期迭代。
  2. 团队协作与项目管理模式,尤其是敏捷开发在中小型项目中的落地实践,以及多人协同开发中的效率与质量管控方法。
  3. 高质量代码设计,包括编码规范、设计模式、代码重构等内容,希望写出可维护、易扩展的工程化代码,而非仅能运行的 “作业代码”。

仍欠缺的核心能力

  1. 工程化编码思维:当前代码多为课程作业式的小规模实现,缺乏模块化设计、接口抽象、异常处理等工程化考量,代码可读性与可维护性不足。
  2. 全流程项目经验:从未经历完整的软件生命周期,对需求分析文档、设计文档的撰写规范完全不熟悉,缺少从需求到交付的全链路实践。
  3. 团队协作开发能力:缺乏多人协同开发经验,仅掌握 Git 最基础的提交、拉取操作,不熟悉分支管理、代码评审、冲突解决等团队开发必备技能。
  4. 软件质量管控意识:对软件测试的方法、流程认知空白,没有编写测试用例、做单元测试的习惯,难以主动保障代码质量。

3.2 代码量现状与学期目标

截至目前,个人累计有效代码量约 6000 行,其中 Java 课程作业约 2500 行,C++ 算法练习约 2000 行,Python 数据处理与脚本编写约 1500 行。整体以单文件、小规模代码为主,几乎没有工程化项目的代码积累。

完成本学期软件工程课程后,我希望累计有效代码量突破 15000 行。新增代码将以课程项目为核心,覆盖需求设计对应的原型代码、功能模块实现代码、单元测试代码,以及项目配套的工具脚本,最终沉淀至少一个完整的小组项目代码仓库,实现从 “写代码” 到 “做项目” 的转变。

3.3 课程期待与预期收获

这门课是我目前最期待的专业课程之一,最希望学到的核心内容有三点:一是软件生命周期的完整方法论,尤其是需求工程、系统设计、软件测试三个阶段的标准流程与文档规范;二是团队协作开发的最佳实践,包括 Git 进阶用法、敏捷开发流程、团队分工与沟通方法;三是高质量代码的编写原则,掌握常用设计模式与代码重构的基础方法。

我希望通过这门课获得三方面的成长:第一,建立完整的软件工程思维,跳出 “编程就是写代码” 的认知误区,理解软件产品从 0 到 1 的完整逻辑;第二,积累真实的团队项目经验,在小组作业中完整走一遍需求、设计、开发、测试的全流程,产出一份可复用的项目成果;第三,养成工程化的开发习惯,形成规范的编码风格与文档意识,为后续的专业项目与实习打下基础。

3.4 AI 生成学习指南与分析

本次选择 豆包 生成软件工程课程学习指南,内容如下:

image

4. 作业说明

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

image

posted @ 2026-09-10 14:33  VioletQAQ  阅读(15)  评论(0)    收藏  举报