软件工程第一次作业

这个作业属于哪个课程 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模型,核心代码如下。
image
image
第三步:前端交互界面
使用简单的 HTML/JS实现输入框和图片,关键代码展示:
image

1.4 提示词设计思路与修改过程

• 关键词描述:photorealistic, 8k, sunset seaside, realistic photo, depth of field
image

flux1-dev_photorealistic-8k-sunset-seaside

2. Github个人主页搭建

我选择了 方案一:创建个人资料自述文件。

2.1 任务要求

在GitHub上完成个人主页建设,个人主页需要包含:

  1. 自我介绍,兴趣爱好、个人经历;可配图丰富页面。
  2. 展示个人成果、技能、专业实践经历,完成自我评估:已掌握的知识能力、感兴趣的技术方向、希望学习的内容。
  3. 未来三年发展规划(考研/保研/就业/考公等,写明目标与理由)。

2.2 实现步骤

  1. 注册GitHub账号,创建仓库名与GitHub ID完全相同的特殊仓库;
  2. 在仓库根目录新建 README.md 文件,编写markdown个人主页内容;
  3. 提交代码,仓库首页自动渲染README,作为GitHub个人主页;
  4. 完善内容:个人介绍、竞赛实践、技能自评、三年规划;
  5. 截图保存GitHub主页效果,上传图片到博客园。

2.3 GitHub个人主页截图

image

随笔:软件工程课程自我评估与学习规划

一、个人技能树和技术偏好,自我评估

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

  1. 编程语言:Python、C,熟练掌握基础语法,能够独立完成中小型程序编写,擅长复杂逻辑分析与算法设计。
  2. 大数据生态:初步了解Hadoop、HDFS、MapReduce、Hive、HBase、Spark相关基础概念。
  3. 工程工具:掌握Git版本控制,能够搭建维护GitHub仓库;有赛事团队协作开发经验。

🎯 感兴趣的技术方向

对大数据技术、大语言模型(LLM)方向充满热情,希望系统学习Transformer架构、RAG、模型微调等前沿技术,把AI模型落地到实际项目中。

❌ 还欠缺的能力

  1. 软件工程规范化流程经验不足,缺少完整项目从需求、设计、编码到测试交付的工程实践;
  2. 大型软件架构设计能力薄弱,模块解耦、代码工程化规范有待加强;
  3. 大模型工程落地经验少,模型部署、API工程化调用实战经验不足。

二、代码量统计

截至目前,累计手写代码约 4500行,以C、Python算法练习、Demo程序、比赛代码为主。
完成本学期软件工程课程后,目标累计代码量达到 10000行,重点产出工程化项目代码,包含小组项目、大模型相关Demo。

三、本课程最期待学习的知识,希望收获

最期待学习完整软件全生命周期开发流程:需求分析、UML建模、软件架构设计、测试、项目管理与团队协作。
希望收获:

  1. 建立软件工程化思维,不只追求代码跑通,学会写出规范、可维护的项目代码;
  2. 掌握团队项目分工、进度管理方法,提升多人协同开发能力;
  3. 学会软件项目文档撰写,掌握项目交付规范;
  4. 能够独立完成中小型软件项目完整开发流程,为后续大模型项目落地打下工程基础。

四、AI生成软件工程课程学习指南(使用DeepSeek生成)

软件工程课程学习指南

一、课程学习目标

建立工程化软件开发思维,掌握软件生命周期各阶段方法,具备小组协作开发中小型软件项目的能力。

二、分阶段学习计划

  1. 基础理论阶段(第1-4周)
    认真听课,理解软件工程核心概念:软件危机、软件生命周期、瀑布模型、增量模型、敏捷开发。课后整理笔记,区分不同开发模型适用场景。完成课后思考题,不要死记硬背,理解概念本质。

  2. 需求与设计阶段(第5-8周)
    学习需求分析方法,练习撰写需求规格说明书;学习UML图,熟练绘制用例图、类图、时序图。多动手画图,结合案例练习,不要只看课件。小组提前讨论项目选题,初步构思项目需求。

  3. 编码与测试阶段(第9-12周)
    学习代码规范、模块化设计;掌握单元测试、集成测试基础。小组分工完成项目编码,持续使用Git管理代码,定期提交版本。边编码边写测试用例,不要全部写完代码再测试。

  4. 项目交付与复盘阶段(第13-16周)
    完成项目文档撰写、演示准备,进行项目复盘,总结开发过程遇到的问题,整理项目文档。

三、学习方法建议

  1. 理论结合实践:软件工程不能只背知识点,所有理论都要在小组项目中落地实践;
  2. 重视文档:软件项目中文档和代码同等重要,养成写文档的习惯;
  3. 主动沟通:小组项目遇到分歧及时沟通,做好任务分工,避免有人任务过重或划水;
  4. 善用工具:Git、Draw.io(绘图)、JUnit(单元测试)等工具提前上手练习。

四、避坑提醒

  • 不要考前突击背诵,软件工程重在理解和实践;
  • 小组项目不要只靠一两个人写代码,全员都要参与需求、设计、编码、测试环节;
  • 不要忽视需求分析,很多项目后期大量bug根源是前期需求没有理清。

五、对这份AI学习指南的分析(学生视角)

✅ 合理的地方

  1. 学习阶段划分贴合大学软件工程课程进度,按周划分,从理论、需求设计、编码测试到项目交付,和课程授课节奏匹配,可落地;
  2. 抓住了软件工程核心特点:重实践、重文档、重团队协作,没有单纯强调背诵知识点,提醒我们不能死读书,要结合小组项目练习;
  3. 给出了明确工具清单,告诉我们要用Git、UML绘图工具、单元测试工具,对新手很友好;
  4. 避坑部分直击常见痛点:考前突击、小组项目分工不均、需求分析被忽略,这些都是往届学生经常踩的坑,有很强参考价值。

⚠️ 存在不足,需要自己补充调整

  1. 指南没有区分重难点,没有提示哪些是考试重点,只能作为日常学习规划,不能直接用来备考;
  2. 对代码质量、设计模式讲解较少,只提到模块化,缺少深入学习指引;
  3. 计划是通用模板,没有考虑个人基础差异。比如我编码基础尚可,但UML画图薄弱,我需要额外增加画图练习时间,不能完全照搬计划;
  4. 缺少自主拓展资源推荐(书籍、网课),如果课堂内容理解困难,还需要自己找资料补充。

使用Markdown编写作业

image

总结

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

posted @ 2026-09-10 21:28  102402131马天鸿  阅读(10)  评论(0)    收藏  举报