软件工程第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16716 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16716 |
| 这个作业的目标 | 掌握 HuggingFace API 的调用方法,完成 Flux 模型图像生成交互;搭建 GitHub 个人主页;梳理技能树并制定未来三年规划。 |
| 学号 | 102402131 |
1. HuggingFace API 的调用
1.1 实验目的
本实验旨在学习并掌握 Hugging Face 平台中模型 API 的基本调用方法,通过注册 Hugging Face 个人账号并获取 API Token,在 Python Flask 后端中调用 Hugging Face 推理服务,实现根据用户输入的文本提示词自动生成 AI 图像。
同时,本实验结合前端网页界面,实现用户输入提示词、发送生成请求、后端调用 AI 模型、返回生成图片并展示生成结果的完整流程。
通过本次实验,进一步掌握以下内容:
- Hugging Face API Token 的获取与配置;
- Python 环境及虚拟环境的使用;
- Flask Web 框架的基本使用;
- Hugging Face
huggingface_hub库的使用; - AI 文生图模型的 API 调用;
- 前后端数据交互;
- API 调用过程中错误信息的分析与处理;
- AI 图像提示词(Prompt)的设计与优化。
1.2 实验环境
本次实验使用的开发环境如下:
| 项目 | 环境 |
|---|---|
| 操作系统 | Windows |
| 开发工具 | Visual Studio Code |
| 编程语言 | Python |
| Python 版本 | Python 3.x |
| Web 框架 | Flask |
| AI 平台 | Hugging Face |
| API 库 | huggingface_hub |
| 前端技术 | HTML、CSS、JavaScript |
1.3 操作步骤与代码实现
第一步:获取 API Token
首先在 HuggingFace 官网注册账号,并在 Settings -> Access Tokens 中创建一个新的 Token
第二步:后端代码编写 (Python)
调用XLabs-AI/flux-RealismLora模型,核心代码如下。


第三步:前端交互界面
使用简单的 HTML/JS实现输入框和图片,关键代码展示:

1.4 提示词设计思路与修改过程
• 关键词描述:photorealistic, 8k, sunset seaside, realistic photo, depth of field


2. Github个人主页搭建
我选择了 方案一:创建个人资料自述文件。
2.1 任务要求
在GitHub上完成个人主页建设,个人主页需要包含:
- 自我介绍,兴趣爱好、个人经历;可配图丰富页面。
- 展示个人成果、技能、专业实践经历,完成自我评估:已掌握的知识能力、感兴趣的技术方向、希望学习的内容。
- 未来三年发展规划(考研/保研/就业/考公等,写明目标与理由)。
2.2 实现步骤
- 注册GitHub账号,创建仓库名与GitHub ID完全相同的特殊仓库;
- 在仓库根目录新建
README.md文件,编写markdown个人主页内容; - 提交代码,仓库首页自动渲染README,作为GitHub个人主页;
- 完善内容:个人介绍、竞赛实践、技能自评、三年规划;
- 截图保存GitHub主页效果,上传图片到博客园。
2.3 GitHub个人主页截图

随笔:软件工程课程自我评估与学习规划
一、个人技能树和技术偏好,自我评估
✅ 已具备的专业知识与能力
- 编程语言:Python、C,熟练掌握基础语法,能够独立完成中小型程序编写,擅长复杂逻辑分析与算法设计。
- 大数据生态:初步了解Hadoop、HDFS、MapReduce、Hive、HBase、Spark相关基础概念。
- 工程工具:掌握Git版本控制,能够搭建维护GitHub仓库;有赛事团队协作开发经验。
🎯 感兴趣的技术方向
对大数据技术、大语言模型(LLM)方向充满热情,希望系统学习Transformer架构、RAG、模型微调等前沿技术,把AI模型落地到实际项目中。
❌ 还欠缺的能力
- 软件工程规范化流程经验不足,缺少完整项目从需求、设计、编码到测试交付的工程实践;
- 大型软件架构设计能力薄弱,模块解耦、代码工程化规范有待加强;
- 大模型工程落地经验少,模型部署、API工程化调用实战经验不足。
二、代码量统计
截至目前,累计手写代码约 4500行,以C、Python算法练习、Demo程序、比赛代码为主。
完成本学期软件工程课程后,目标累计代码量达到 10000行,重点产出工程化项目代码,包含小组项目、大模型相关Demo。
三、本课程最期待学习的知识,希望收获
最期待学习完整软件全生命周期开发流程:需求分析、UML建模、软件架构设计、测试、项目管理与团队协作。
希望收获:
- 建立软件工程化思维,不只追求代码跑通,学会写出规范、可维护的项目代码;
- 掌握团队项目分工、进度管理方法,提升多人协同开发能力;
- 学会软件项目文档撰写,掌握项目交付规范;
- 能够独立完成中小型软件项目完整开发流程,为后续大模型项目落地打下工程基础。
四、AI生成软件工程课程学习指南(使用DeepSeek生成)
软件工程课程学习指南
一、课程学习目标
建立工程化软件开发思维,掌握软件生命周期各阶段方法,具备小组协作开发中小型软件项目的能力。
二、分阶段学习计划
基础理论阶段(第1-4周)
认真听课,理解软件工程核心概念:软件危机、软件生命周期、瀑布模型、增量模型、敏捷开发。课后整理笔记,区分不同开发模型适用场景。完成课后思考题,不要死记硬背,理解概念本质。需求与设计阶段(第5-8周)
学习需求分析方法,练习撰写需求规格说明书;学习UML图,熟练绘制用例图、类图、时序图。多动手画图,结合案例练习,不要只看课件。小组提前讨论项目选题,初步构思项目需求。编码与测试阶段(第9-12周)
学习代码规范、模块化设计;掌握单元测试、集成测试基础。小组分工完成项目编码,持续使用Git管理代码,定期提交版本。边编码边写测试用例,不要全部写完代码再测试。项目交付与复盘阶段(第13-16周)
完成项目文档撰写、演示准备,进行项目复盘,总结开发过程遇到的问题,整理项目文档。三、学习方法建议
- 理论结合实践:软件工程不能只背知识点,所有理论都要在小组项目中落地实践;
- 重视文档:软件项目中文档和代码同等重要,养成写文档的习惯;
- 主动沟通:小组项目遇到分歧及时沟通,做好任务分工,避免有人任务过重或划水;
- 善用工具:Git、Draw.io(绘图)、JUnit(单元测试)等工具提前上手练习。
四、避坑提醒
- 不要考前突击背诵,软件工程重在理解和实践;
- 小组项目不要只靠一两个人写代码,全员都要参与需求、设计、编码、测试环节;
- 不要忽视需求分析,很多项目后期大量bug根源是前期需求没有理清。
五、对这份AI学习指南的分析(学生视角)
✅ 合理的地方
- 学习阶段划分贴合大学软件工程课程进度,按周划分,从理论、需求设计、编码测试到项目交付,和课程授课节奏匹配,可落地;
- 抓住了软件工程核心特点:重实践、重文档、重团队协作,没有单纯强调背诵知识点,提醒我们不能死读书,要结合小组项目练习;
- 给出了明确工具清单,告诉我们要用Git、UML绘图工具、单元测试工具,对新手很友好;
- 避坑部分直击常见痛点:考前突击、小组项目分工不均、需求分析被忽略,这些都是往届学生经常踩的坑,有很强参考价值。
⚠️ 存在不足,需要自己补充调整
- 指南没有区分重难点,没有提示哪些是考试重点,只能作为日常学习规划,不能直接用来备考;
- 对代码质量、设计模式讲解较少,只提到模块化,缺少深入学习指引;
- 计划是通用模板,没有考虑个人基础差异。比如我编码基础尚可,但UML画图薄弱,我需要额外增加画图练习时间,不能完全照搬计划;
- 缺少自主拓展资源推荐(书籍、网课),如果课堂内容理解困难,还需要自己找资料补充。
使用Markdown编写作业

总结
这份指南整体合理,有很大帮助,可以作为我这门课的基础学习框架,但不能完全照搬。我会以这份计划为基础,根据自己薄弱点(UML建模、软件测试)增加额外练习,同时严格落实小组项目的每一个环节,把软件工程理论真正落地。
浙公网安备 33010602011771号