软件工程课程第一次个人作业

这个作业属于哪个课程 H202601软件工程与软件工程实践
这个作业要求在哪里 作业要求
这个作业的目标 掌握HuggingFace推理API调用方法,搭建Github个人主页,在博客园撰写随笔,熟练掌握Markdown语法进行文档写作
学号 102402137

1、huggingface-API的调用

作业要求在hugging face官网注册个人账号并获取API,调用Flux模型生成一张最贴近真实世界的图像,在调用模型的代码基础上结合前端接口,实现交互生成。

运行代码

import os
import gradio as gr
from huggingface_hub import InferenceClient

MODEL = "XLabs-AI/flux-RealismLora"
os.environ["HF_TOKEN"] = "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"

def generate_image(prompt):
    """调用 Hugging Face Flux 接口并返回生成的图片。"""
    prompt = (prompt or "").strip()
    if not prompt:
        raise gr.Error("请输入图片描述")

    token = os.environ.get("HF_TOKEN")
    if not token:
        raise gr.Error("请先设置环境变量 HF_TOKEN")

    client = InferenceClient(provider="fal-ai", api_key=token)
    return client.text_to_image(prompt, model=MODEL)


with gr.Blocks(title="Flux 文生图") as demo:
    gr.Markdown("# Flux 文生图\n输入描述,生成图片。")
    with gr.Row():
        with gr.Column():
            prompt = gr.Textbox(
                label="图片描述",
                placeholder="例如:Astronaut riding a horse",
                lines=4,
            )
            generate_button = gr.Button("生成图片", variant="primary")
        output = gr.Image(label="生成结果", type="pil")

    generate_button.click(generate_image, inputs=prompt, outputs=output)
    prompt.submit(generate_image, inputs=prompt, outputs=output)


if __name__ == "__main__":
    demo.launch()

API成功调用的记录

image

前端页面最终生成图像的截图

第一次调用时我先试用简单的提示词“a beautiful girl",结果如下
第一次进行图片生成
屏幕截图 2026-09-06 182855
在第1次提示词的基础上,我又增加了对girl的描述,
“a beautiful girl, 20 years old, fair skin, long wavy chestnut hair, warm hazel eyes, gentle slight smile, white linen dress, soft sunlight through window, shallow depth of field, realistic portrait”
结果如下
屏幕截图 2026-09-07 111946

API 调用体验与心得

  1. 我首先完成了Hugging Face官网的账号注册与API密钥的申请配置。此前我仅了解AI模型的基础使用,从未接触过模型接口调用,本次操作让我清晰掌握了开源AI平台的使用规范。
  2. HuggingFace 推理 API 可以直接调用云端大模型,无需本地部署 Flux 大模型,低配设备也能完成图像生成任务,降低大模型使用门槛。
  3. 我深刻体会到前后端分离开发的核心逻辑:前端负责接收用户输入的提示词、展示生成结果,后端负责发起安全的模型API请求、处理返回的图像数据。
  4. 本次Flux写实模型API调用实操,不仅巩固了我的前后端开发能力,更让我系统掌握了开源大模型的工程化落地方法,为后续开展软件工程实践积累了宝贵的实操经验。

2. Github个人主页搭建

我的介绍主页:http://wqwabc.guthub.io
主页图片如下
屏幕截图 2026-09-09 162205

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

(一)已具备的专业知识与能力

  1. Python 开发能力:熟练掌握 Python 基础语法,能够使用 NumPy、Pandas 进行数据处理与数据分析。
  2. 程序设计基础:掌握 C、Java 基础语法,具备基本算法思维,能够编写结构化代码,完成简单程序开发。
  3. 计算机基础能力:掌握操作系统基础、计算机网络基础。

(二)感兴趣的技术方向

  1. 人工智能与大模型应用开发
  2. 大数据数据分析与分布式计算
  3. 软件工程规范化开发与项目工程化

(三)目前欠缺的能力

  1. 软件工程能力薄弱:缺乏完整项目开发流程经验,不会规范化需求分析、系统设计、测试与文档编写。
  2. 团队协作开发经验少:没有完整使用 Git 进行多人协作开发、分支管理、版本迭代经验。
  3. 软件测试能力欠缺:不会编写测试用例、单元测试、集成测试,缺乏bug调试与系统优化能力。
  4. 项目部署能力弱:不熟悉项目上线、服务部署、环境配置、前后端联调流程。

二、个人代码量现状与目标

  1. 当前累计代码量:约 4000 行。
  2. 本学期目标代码量:期末争取累计达到 10000 行以上,通过软件工程项目、算法训练、小型应用开发扩充代码量,提升代码熟练度与工程能力。

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

(一)期待学习的知识

  1. 软件完整开发流程:需求分析、概要设计、详细设计、编码、测试、维护。
  2. 规范化开发标准、项目文档撰写。
  3. 软件测试方法、测试用例设计与系统调试技巧。

(二)希望获得的收获

  1. 建立标准、规范、工程化的软件开发思维,摆脱纯写代码的碎片化学习方式。
  2. 学会独立完成一个完整软件项目,从0到1完成设计、开发、测试、交付。
  3. 提升团队协作、沟通、项目管理能力,适配未来开发岗位需求。
  4. 掌握软件开发行业标准规范,为后续大数据、AI项目开发打下工程基础。

四、AI生成《软件工程课程学习指南》及合理性分析

(一)AI工具选择
本次使用 DeepSeek AI 生成软件工程课程学习指南。

(二)AI生成的软件工程课程学习指南
软件工程课程学习指南
一、基础理论学习

  1. 理解软件、软件工程、软件危机的基本概念,掌握软件生命周期全过程。
  2. 熟练掌握软件开发模型:瀑布模型、迭代模型、增量模型、敏捷模型,理解各自优缺点与适用场景。
  3. 学习软件工程基本原则:模块化、抽象、信息隐藏、高内聚低耦合。

二、需求工程学习

  1. 掌握需求获取、需求分析、需求确认流程。
  2. 学会撰写需求规格说明书,区分功能性需求与非功能性需求。
  3. 学会使用用例图梳理用户需求。

三、软件设计学习

  1. 掌握概要设计、详细设计的区别。
  2. 熟练绘制常用UML图:用例图、类图、时序图、活动图。
  3. 掌握分层架构、模块化设计、接口设计思想。

四、软件实现与编码规范

  1. 养成良好编码规范:命名规范、代码缩进、注释规范、代码复用。
  2. 熟练使用Git进行版本管理,掌握提交、分支、合并、冲突解决。
  3. 学会模块化开发,减少冗余代码。

五、软件测试与维护

  1. 掌握黑盒测试、白盒测试、单元测试、集成测试。
  2. 学会编写测试用例,排查程序bug。
  3. 了解软件维护类型:纠错性维护、适应性维护、完善性维护。

六、项目管理与团队开发

  1. 了解项目进度管理、风险管理、团队分工。
  2. 掌握敏捷开发Scrum基本流程。
  3. 能够参与小组项目,完成从需求到交付的完整流程。

七、实践建议

  1. 每章节课后完成小型练习项目,巩固理论。
  2. 小组合作完成一次完整软件工程大作业。
  3. 坚持写项目文档,培养工程思维。

(三)指南合理性与自我帮助分析

  1. 整体合理性高
    AI给出的学习指南完全贴合软件工程课程教学大纲,学习顺序由浅入深,从理论、需求、设计、编码、测试到团队项目,符合正规软件工程学习体系,知识点完整、系统、无错误。

  2. 对个人学习帮助很大

  • 解决了我之前学习零散、不成体系的问题,帮我建立完整学习框架。
  • 明确了UML绘图、文档编写、测试、Git管理等我薄弱的内容。
  • 强调工程规范与团队开发,刚好弥补我最大的短板:无工程化思维、无项目经验
  1. 存在的不足
    指南偏通用理论,缺少结合大数据、AI方向的个性化工程实践内容,缺少真实项目实战案例。

  2. 总结
    该AI学习指南科学、合理、适配课程目标,能够有效指导我本学期的软件工程学习,我将以该指南为学习主线,重点补足自己的工程能力、文档能力、测试能力和团队开发能力。

4、后台博文编辑页面的截图

image

posted @ 2026-09-10 14:08  WQWa  阅读(7)  评论(0)    收藏  举报