软件工程第一次作业
软件工程第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering/homework/15712 |
| 这个作业的目标 | 1.完成账号注册;2.调用Flux模型实现AI文生图前端交互;3.搭建GitHub个人主页;4.自我技能评估,生成并分析软件工程学习指南 |
| 学号 | 102401434 |
前期准备工作
- GitHub账号:tw1l1ghtcc,已完善头像、昵称和个人资料。
- 博客园账号:twilduduidis,已完善头像、昵称和个人资料。
- 关注任课老师的博客
- 吴越钟
- 关注助教的博客
- 张明圣
- 王奇蕊
Hugging Face Flux‑RealismLora API 调用实践
一、完整操作步骤记录
-
注册 HuggingFace 账号并获取密钥
访问官网 huggingface.co 完成注册,进入个人设置页面生成具备调用权限的User Access Token,保存好 API 密钥,避免直接公开密钥。 -
申请模型访问权限
打开模型仓库地址:https://huggingface.co/XLabs‑AI/flux‑RealismLora
,阅读协议并提交访问申请,完成模型权限开通。
- 本地 Python 环境配置
在终端执行命令安装项目依赖库,使用gradio快速搭建交互前端界面,huggingface_hub库完成云端模型 API 请求。
pip install gradio huggingface_hub
-
编写完整业务代码
编写 Python 脚本,初始化推理客户端,定义图片生成函数;配置 Gradio 可视化页面,设置正向提示词输入框、负向提示词输入框、图片输出区域,自定义页面标题。 -
启动本地 Web 服务
在 PowerShell 终端运行py app.py,程序成功启动本地服务地址http://127.0.0.1:7860,打开浏览器访问前端交互页面。

- 输入提示词并发起生成请求
页面中填写风景类正向、反向提示词,点击 Submit 按钮向 HuggingFace 云端接口发送请求,等待云端算力完成图像生成。 - 结果留存与计费查看
![屏幕截图 2026-09-08 162353]()
二、提示词设计思路与迭代修改过程
V1 极简初始提示词
mountain lake at sunrise
问题:描述过于简单,缺少画质、光影关键词,生成画面质感差,偏向插画风格,没有写实照片效果。
V2 优化画质描述版本
- 正向提示词:
photorealistic mountain lake at sunrise, natural sunlight, DSLR photo, ultra realistic - 负面提示词:
blurry, cartoon, painting, ugly, low quality
优化方向:
- 增加关键词
photorealistic、DSLR photo,告诉模型输出单反实拍的写实风格; - 补充光影关键词
natural sunlight,控制日出湖面的自然光氛围; - 使用负面提示词过滤卡通、油画、模糊、低画质等瑕疵画面;
- 反复测试微调词汇,最终得到画面光影自然、湖面倒影真实的山间日出湖泊实景图。
最终定稿提示词
正向提示词:
photorealistic mountain lake at sunrise, natural sunlight, DSLR photo, ultra realistic负面提示词:
blurry, cartoon, painting, ugly, low quality

三、完整运行代码

四、API 调用体验与心得
本项目采用云端 API 调用的方式,不需要在本地电脑部署庞大的 Flux 大模型,普通家用电脑就可以完成高清写实图片生成,降低了 AI 绘图的硬件门槛。
Hugging Face 提供计费式推理服务,本次调用产生了一次请求,产生少量费用,使用云端算力需要关注调用成本与额度限制。
提示词工程对最终画面质量起到决定性作用,想要得到贴近真实相机拍摄的照片,除了主体景物描述,还需要补充画质、相机类型、光线相关关键词,搭配负面提示词规避畸形失真的画面。
使用 Gradio 仅用少量 Python 代码,就快速完成了一个具备输入、交互、展示功能的 Web 前端页面,直观体验了后端 AI 大模型服务 + 前端交互界面的软件工程开发模式。
这次实践让我理解了现代 AI 产品的基础架构:将大模型封装成远程 API 接口,开发者只需要编写前端交互程序去调用接口,这种服务化的开发思路是软件工程里很重要的开发思想。
GitHub个人主页搭建
- 个人资料页:tw1l1ghtcc

个人技术梳理|软件工程课程随笔
一、个人技能树梳理与自我评估
✅ 已具备的专业知识与能力
- 编程语言:掌握 C/C++ 基础语法,熟悉面向过程编程的基本逻辑。
- 数据结构与算法:了解基础的数据结构,能够实现链表、栈、队列以及简单的排序、查找类算法习题。
- 版本控制工具:熟悉 Git 的基础操作,可以完成代码提交、拉取、切换分支等基础的版本管理工作。
🎯 感兴趣的技术方向
- 后端开发:想要学习服务端开发相关知识,了解接口设计、服务部署等后端工程内容。
- 大模型应用开发:对大模型工程落地、AI 应用开发方向比较感兴趣,希望后续可以结合后端能力实现 AI 相关项目。
❌ 当前欠缺的能力
- 实战项目经验不足:没有完整规范的软件项目开发经历,不熟悉项目架构设计与模块划分。
- 代码积累不足:日常代码大多是课堂练习题,缺少大型工程化项目的编码实践。
- 软件工程规范薄弱:不熟悉需求文档撰写、单元测试、敏捷开发、团队协作整套工程开发流程。
二、代码量现状与本学期目标
- 当前代码量:没有进行精确统计,现有代码以课堂作业和算法练习题为主。
- 本学期目标:通过软件工程课程的项目实践,新增高质量工程代码约 5000 行,注重代码模块化、规范化编写。
三、课程期待学习的知识与收获
我希望在软件工程课程中系统学习完整的软件开发流程,掌握从需求分析、概要设计、详细设计,到编码实现、软件测试、项目交付的整套工程化思想。
同时熟练掌握团队协作开发模式,学会编写标准化项目文档,完成小组实战项目。
不只是单纯增加代码行数,更重要的是建立工程化开发思维,摆脱零散刷题式的编程习惯,为之后从事后端以及大模型应用开发打好实践基础。
个人技术梳理|软件工程课程随笔
一、个人技能树梳理与自我评估
✅ 已具备的专业知识与能力
- 编程语言:掌握 C/C++ 基础语法,熟悉面向过程编程的基本逻辑。
- 数据结构与算法:了解基础的数据结构,能够实现链表、栈、队列以及简单的排序、查找类算法习题。
- 版本控制工具:熟悉 Git 的基础操作,可以完成代码提交、拉取、切换分支等基础的版本管理工作。
🎯 感兴趣的技术方向
- 后端开发:想要学习服务端开发相关知识,了解接口设计、服务部署等后端工程内容。
- 大模型应用开发:对大模型工程落地、AI 应用开发方向比较感兴趣,希望后续可以结合后端能力实现 AI 相关项目。
❌ 当前欠缺的能力
- 实战项目经验不足:没有完整规范的软件项目开发经历,不熟悉项目架构设计与模块划分。
- 代码积累不足:日常代码大多是课堂练习题,缺少大型工程化项目的编码实践。
- 软件工程规范薄弱:不熟悉需求文档撰写、单元测试、敏捷开发、团队协作整套工程开发流程。
二、代码量现状与本学期目标
- 当前代码量:没有进行精确统计,现有代码以课堂作业和算法练习题为主。
- 本学期目标:通过软件工程课程的项目实践,新增高质量工程代码约 5000 行,注重代码模块化、规范化编写。
三、课程期待学习的知识与收获
我希望在软件工程课程中系统学习完整的软件开发流程,掌握从需求分析、概要设计、详细设计,到编码实现、软件测试、项目交付的整套工程化思想。
同时熟练掌握团队协作开发模式,学会编写标准化项目文档,完成小组实战项目。
不只是单纯增加代码行数,更重要的是建立工程化开发思维,摆脱零散刷题式的编程习惯,为之后从事后端以及大模型应用开发打好实践基础。
四、使用DeepSeek生成的软件工程课程简易学习指南
我选用 DeepSeek 作为AI工具,向它下达指令:帮我写一份面向大三计算机学生的简要软件工程课程学习指南
以下为AI生成原文:软件工程课程简易学习指南
- 课前预习:提前了解软件生命周期、瀑布模型、敏捷开发等基础概念,带着问题听课。
- 课堂学习重点:重点掌握需求分析、UML绘图、软件架构设计、软件测试、项目管理五大核心模块,做好课堂笔记。
- 工具实操练习:熟练使用Git完成团队代码管理;学习使用绘图工具绘制用例图、类图;尝试简单的单元测试编写。
- 小组项目实践:积极参与分工,分别体验需求撰写、设计编码、测试交付完整流程,重视项目文档而不只是写代码。
- 课后复盘总结:每次作业和小组迭代结束后反思问题,规范代码风格,积累工程化经验,逐步提升项目实战能力。
- 拓展学习:课后可以了解后端开发、AI应用项目的工程落地方式,把软件工程方法应用到自己感兴趣的技术方向上。
五、对AI生成指南的合理性分析与个人收获判断
1. 合理性评价
这份学习指南整体逻辑合理,覆盖了软件工程课程最核心的学习环节:课前预习、课堂重点、工具实操、小组项目、复盘总结、课外拓展。
优点在于没有只强调写代码,把文档、UML画图、版本控制、团队分工、测试这些我薄弱的工程能力列为重点,并且最后建议结合后端、AI大模型方向拓展,贴合我个人的技术兴趣。
不足之处在于内容比较宽泛,缺少具体的实操步骤,没有给出作业时间规划、文档模板、练习案例,只能作为一个宏观的学习框架,不能替代课堂教学与老师的指导。
2. 对我个人的实际帮助
对我而言这份指南具备很强的参考价值:
- 提醒我不能只关注编码,重视项目文档与流程规范,弥补我工程经验不足的短板;
- 明确了小组项目中各个环节的意义,帮助我更好完成本学期5000行高质量代码的目标;
- 引导我把软件工程这套开发思维运用到后续后端、大模型应用的开发学习当中。
之后我可以以这份指南作为学习大纲,配合课堂内容一步步完成课程实践。
小结
经过本次自我评估,我清楚自身拥有基础的编程与算法功底,短板集中在真实项目实战能力上。软件工程课程刚好可以弥补工程实践方面的缺陷。借助AI生成的学习指南作为辅助规划,我会认真完成课程任务与小组项目,达成本学期代码量目标,全面提升软件开发综合能力。
编辑后台截图



浙公网安备 33010602011771号