软件工程第一次作业

软件工程第一次作业

这个作业属于哪个课程 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 调用实践

一、完整操作步骤记录

  1. 注册 HuggingFace 账号并获取密钥
    访问官网 huggingface.co 完成注册,进入个人设置页面生成具备调用权限的User Access Token,保存好 API 密钥,避免直接公开密钥。

  2. 申请模型访问权限
    打开模型仓库地址:https://huggingface.co/XLabs‑AI/flux‑RealismLora

,阅读协议并提交访问申请,完成模型权限开通。

  1. 本地 Python 环境配置
    在终端执行命令安装项目依赖库,使用gradio快速搭建交互前端界面,huggingface_hub库完成云端模型 API 请求。
pip install gradio huggingface_hub 
  1. 编写完整业务代码
    编写 Python 脚本,初始化推理客户端,定义图片生成函数;配置 Gradio 可视化页面,设置正向提示词输入框、负向提示词输入框、图片输出区域,自定义页面标题。

  2. 启动本地 Web 服务
    在 PowerShell 终端运行 py app.py,程序成功启动本地服务地址 http://127.0.0.1:7860,打开浏览器访问前端交互页面。

屏幕截图 2026-09-04 151347

  1. 输入提示词并发起生成请求
    页面中填写风景类正向、反向提示词,点击 Submit 按钮向 HuggingFace 云端接口发送请求,等待云端算力完成图像生成。
  2. 结果留存与计费查看
    屏幕截图 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

优化方向:

  • 增加关键词 photorealisticDSLR photo,告诉模型输出单反实拍的写实风格;
  • 补充光影关键词 natural sunlight,控制日出湖面的自然光氛围;
  • 使用负面提示词过滤卡通、油画、模糊、低画质等瑕疵画面;
  • 反复测试微调词汇,最终得到画面光影自然、湖面倒影真实的山间日出湖泊实景图。

最终定稿提示词

正向提示词:
photorealistic mountain lake at sunrise, natural sunlight, DSLR photo, ultra realistic

负面提示词:
blurry, cartoon, painting, ugly, low quality

屏幕截图 2026-09-04 151520

三、完整运行代码

屏幕截图 2026-09-04 151743

四、API 调用体验与心得

本项目采用云端 API 调用的方式,不需要在本地电脑部署庞大的 Flux 大模型,普通家用电脑就可以完成高清写实图片生成,降低了 AI 绘图的硬件门槛。

Hugging Face 提供计费式推理服务,本次调用产生了一次请求,产生少量费用,使用云端算力需要关注调用成本与额度限制。

提示词工程对最终画面质量起到决定性作用,想要得到贴近真实相机拍摄的照片,除了主体景物描述,还需要补充画质、相机类型、光线相关关键词,搭配负面提示词规避畸形失真的画面。

使用 Gradio 仅用少量 Python 代码,就快速完成了一个具备输入、交互、展示功能的 Web 前端页面,直观体验了后端 AI 大模型服务 + 前端交互界面的软件工程开发模式。

这次实践让我理解了现代 AI 产品的基础架构:将大模型封装成远程 API 接口,开发者只需要编写前端交互程序去调用接口,这种服务化的开发思路是软件工程里很重要的开发思想。

GitHub个人主页搭建

屏幕截图 2026-09-08 165425

个人技术梳理|软件工程课程随笔

一、个人技能树梳理与自我评估

✅ 已具备的专业知识与能力

  1. 编程语言:掌握 C/C++ 基础语法,熟悉面向过程编程的基本逻辑。
  2. 数据结构与算法:了解基础的数据结构,能够实现链表、栈、队列以及简单的排序、查找类算法习题。
  3. 版本控制工具:熟悉 Git 的基础操作,可以完成代码提交、拉取、切换分支等基础的版本管理工作。

🎯 感兴趣的技术方向

  1. 后端开发:想要学习服务端开发相关知识,了解接口设计、服务部署等后端工程内容。
  2. 大模型应用开发:对大模型工程落地、AI 应用开发方向比较感兴趣,希望后续可以结合后端能力实现 AI 相关项目。

❌ 当前欠缺的能力

  1. 实战项目经验不足:没有完整规范的软件项目开发经历,不熟悉项目架构设计与模块划分。
  2. 代码积累不足:日常代码大多是课堂练习题,缺少大型工程化项目的编码实践。
  3. 软件工程规范薄弱:不熟悉需求文档撰写、单元测试、敏捷开发、团队协作整套工程开发流程。

二、代码量现状与本学期目标

  1. 当前代码量:没有进行精确统计,现有代码以课堂作业和算法练习题为主。
  2. 本学期目标:通过软件工程课程的项目实践,新增高质量工程代码约 5000 行,注重代码模块化、规范化编写。

三、课程期待学习的知识与收获

我希望在软件工程课程中系统学习完整的软件开发流程,掌握从需求分析、概要设计、详细设计,到编码实现、软件测试、项目交付的整套工程化思想。
同时熟练掌握团队协作开发模式,学会编写标准化项目文档,完成小组实战项目。
不只是单纯增加代码行数,更重要的是建立工程化开发思维,摆脱零散刷题式的编程习惯,为之后从事后端以及大模型应用开发打好实践基础。

个人技术梳理|软件工程课程随笔

一、个人技能树梳理与自我评估

✅ 已具备的专业知识与能力

  1. 编程语言:掌握 C/C++ 基础语法,熟悉面向过程编程的基本逻辑。
  2. 数据结构与算法:了解基础的数据结构,能够实现链表、栈、队列以及简单的排序、查找类算法习题。
  3. 版本控制工具:熟悉 Git 的基础操作,可以完成代码提交、拉取、切换分支等基础的版本管理工作。

🎯 感兴趣的技术方向

  1. 后端开发:想要学习服务端开发相关知识,了解接口设计、服务部署等后端工程内容。
  2. 大模型应用开发:对大模型工程落地、AI 应用开发方向比较感兴趣,希望后续可以结合后端能力实现 AI 相关项目。

❌ 当前欠缺的能力

  1. 实战项目经验不足:没有完整规范的软件项目开发经历,不熟悉项目架构设计与模块划分。
  2. 代码积累不足:日常代码大多是课堂练习题,缺少大型工程化项目的编码实践。
  3. 软件工程规范薄弱:不熟悉需求文档撰写、单元测试、敏捷开发、团队协作整套工程开发流程。

二、代码量现状与本学期目标

  1. 当前代码量:没有进行精确统计,现有代码以课堂作业和算法练习题为主。
  2. 本学期目标:通过软件工程课程的项目实践,新增高质量工程代码约 5000 行,注重代码模块化、规范化编写。

三、课程期待学习的知识与收获

我希望在软件工程课程中系统学习完整的软件开发流程,掌握从需求分析、概要设计、详细设计,到编码实现、软件测试、项目交付的整套工程化思想。
同时熟练掌握团队协作开发模式,学会编写标准化项目文档,完成小组实战项目。
不只是单纯增加代码行数,更重要的是建立工程化开发思维,摆脱零散刷题式的编程习惯,为之后从事后端以及大模型应用开发打好实践基础。

四、使用DeepSeek生成的软件工程课程简易学习指南

我选用 DeepSeek 作为AI工具,向它下达指令:帮我写一份面向大三计算机学生的简要软件工程课程学习指南
以下为AI生成原文:

软件工程课程简易学习指南

  1. 课前预习:提前了解软件生命周期、瀑布模型、敏捷开发等基础概念,带着问题听课。
  2. 课堂学习重点:重点掌握需求分析、UML绘图、软件架构设计、软件测试、项目管理五大核心模块,做好课堂笔记。
  3. 工具实操练习:熟练使用Git完成团队代码管理;学习使用绘图工具绘制用例图、类图;尝试简单的单元测试编写。
  4. 小组项目实践:积极参与分工,分别体验需求撰写、设计编码、测试交付完整流程,重视项目文档而不只是写代码。
  5. 课后复盘总结:每次作业和小组迭代结束后反思问题,规范代码风格,积累工程化经验,逐步提升项目实战能力。
  6. 拓展学习:课后可以了解后端开发、AI应用项目的工程落地方式,把软件工程方法应用到自己感兴趣的技术方向上。

五、对AI生成指南的合理性分析与个人收获判断

1. 合理性评价

这份学习指南整体逻辑合理,覆盖了软件工程课程最核心的学习环节:课前预习、课堂重点、工具实操、小组项目、复盘总结、课外拓展。
优点在于没有只强调写代码,把文档、UML画图、版本控制、团队分工、测试这些我薄弱的工程能力列为重点,并且最后建议结合后端、AI大模型方向拓展,贴合我个人的技术兴趣。
不足之处在于内容比较宽泛,缺少具体的实操步骤,没有给出作业时间规划、文档模板、练习案例,只能作为一个宏观的学习框架,不能替代课堂教学与老师的指导。

2. 对我个人的实际帮助

对我而言这份指南具备很强的参考价值:

  • 提醒我不能只关注编码,重视项目文档与流程规范,弥补我工程经验不足的短板;
  • 明确了小组项目中各个环节的意义,帮助我更好完成本学期5000行高质量代码的目标;
  • 引导我把软件工程这套开发思维运用到后续后端、大模型应用的开发学习当中。
    之后我可以以这份指南作为学习大纲,配合课堂内容一步步完成课程实践。

小结

经过本次自我评估,我清楚自身拥有基础的编程与算法功底,短板集中在真实项目实战能力上。软件工程课程刚好可以弥补工程实践方面的缺陷。借助AI生成的学习指南作为辅助规划,我会认真完成课程任务与小组项目,达成本学期代码量目标,全面提升软件开发综合能力。

编辑后台截图

屏幕截图 2026-09-08 171032

posted @ 2026-09-08 17:11  twilduduidis  阅读(0)  评论(0)    收藏  举报