软件工程第一次作业

这个作业属于哪个课程 2026软件工程与软件工程实践
这个作业要求在哪里 第一次作业
这个作业的目标 梳理自己的技术基础,完成 API 调用和 GitHub 个人主页搭建,并明确本学期的软件工程学习目标
学号 102402133

一、当前技能与自我评价

目前我主要接触的是 Python、人工智能基础以及一些简单的软件开发内容。

在编程方面,我主要使用 Python,也接触过 C++、MATLAB、HTML、CSS 和 JavaScript。现在能够完成课程作业和一些简单项目,但在代码规范、项目结构设计和完整的软件开发流程方面经验还比较不足。

在人工智能方面,我学习过机器学习、深度学习、图像分类、目标检测等基础内容,也接触过强化学习和自动驾驶相关项目。不过目前还主要处于学习和实践阶段,很多内容还需要继续深入。

我目前比较感兴趣的方向是人工智能、计算机视觉、强化学习和软件开发。

目前比较欠缺的能力主要包括:

  • 软件需求分析
  • 项目结构设计
  • Git 团队协作
  • 软件测试
  • 代码规范和可维护性

因此,我希望通过这门课程逐渐提高自己完成一个规范软件项目的能力。

二、当前代码量与本学期目标

过去编写的代码主要来自课程实验、人工智能相关项目以及一些简单的软件开发练习,但我没有进行过准确统计。

粗略估计,目前自己累计编写和修改过的代码大约在几千行左右。本学期结束后,希望能够新增约 3000~5000 行有实际意义的代码实践。

本学期结束后,我希望能够通过课程作业和项目继续增加实际编程量,同时更加关注代码质量,而不仅仅是代码行数。

相比单纯追求代码数量,我更希望自己在以下方面有所提升:

  • 代码结构更加清晰
  • 命名和注释更加规范
  • 学会基本的软件测试
  • 学会使用 Git 管理项目
  • 能够完成一个相对完整的小型软件项目

因此,本学期的目标不仅是“多写代码”,更希望提高自己写代码和组织项目的能力。

三、对软件工程课程的期待

在之前的学习中,我更多关注的是程序功能能否实现,对完整的软件开发流程了解得还不够系统。

因此,我希望通过这门课程进一步学习以下内容:

  • 如何进行基本的软件需求分析
  • 如何合理设计项目结构和划分模块
  • 如何使用 Git 和 GitHub 进行版本管理和团队协作
  • 如何进行基本的软件测试
  • 如何提高代码的规范性、可读性和可维护性

我目前最希望提升的是“完整完成一个软件项目”的能力,而不仅仅是实现某一个单独的功能。

希望课程结束后,自己能够对软件从需求分析、设计、编码到测试和维护的过程有更加清晰的认识,并能够将这些方法应用到之后的课程项目和人工智能项目中。

四、AI 生成的软件工程学习指南

本次我选择使用 ChatGPT 生成一份简要的软件工程课程学习指南。

我向 ChatGPT 提出的问题是:

请为一名具有 Python 和人工智能基础,但软件工程经验较少的本科生,生成一份简要的软件工程课程学习指南。

ChatGPT 给出的建议如下:

软件工程学习指南

  1. 先了解软件工程的基本概念,认识软件开发不仅包括编写代码,还包括需求分析、设计、测试和维护等过程。

  2. 学习基本的软件需求分析方法,在写代码之前先明确软件需要实现哪些功能。

  3. 学习模块化设计,将一个较大的程序划分为不同功能模块,尽量减少模块之间的相互影响。

  4. 学习 Git 和 GitHub 的基本使用,包括 Commit、Branch、Merge 等操作,逐渐熟悉版本管理和团队协作。

  5. 学习基本的软件测试方法,在程序完成后检查功能是否正确,同时考虑异常情况和边界情况。

  6. 通过一个完整的小型项目实践软件开发流程,从需求分析开始,一直到编码、测试和总结。

  7. 在项目完成后检查代码结构和可读性,尝试进行简单的代码优化和重构。

五、对 AI 生成学习指南的评价

我认为 ChatGPT 给出的学习指南整体比较合理。

它不仅关注编程本身,还包括需求分析、软件设计、Git 版本管理、软件测试以及项目实践等内容,这些正好也是我目前比较欠缺的部分。

其中我最希望加强的是 Git 项目管理、软件测试和完整项目开发流程。以前做课程作业时,我通常更加关注功能是否能够实现,而较少考虑代码结构、测试和后期维护。

不过,这份指南的内容比较概括,实际学习时还需要结合课程进度和老师的具体要求进行调整。

总体来说,我认为 AI 可以帮助我快速梳理学习内容,但真正掌握软件工程知识,仍然需要通过实际项目不断练习。

六、本次作业实践

1. Hugging Face API 调用

本次作业主要学习 Hugging Face 平台中模型 API 的调用方法,并结合前端页面实现交互式图像生成。实验选择 XLabs-AI/flux-RealismLora 模型,通过 Hugging Face Inference Provider 调用模型
作业整体目录结构如下:
image
本次实验选择的模型为:XLabs-AI/flux-RealismLora
image
image
image
创建Access Token后使用 Flask 搭建本地 Web 服务,同时通过 huggingface_hub 调用 Hugging Face API,requirements.txt 内容如下:
image
后端使用 Flask
image
从 .env 中读取 Hugging Face Token,然后通过以下代码调用模型:
image
之后使用 JSON 将生成结果返回给前端:
image
于是就实现了:
前端输入提示词

Flask 后端

Hugging Face API

Flux 模型生成图片

Base64 图像数据

返回前端并显示
为了方便直接输入提示词并查看生成结果,本次实验设计了一个简单的 Web 前端页面。用户输入提示词后点击按钮,JavaScript 使用 fetch() 向 Flask 后端发送 POST 请求:
image
前端页面:
image
运行代码显示:
image
访问输入提示词示例:
image
最初使用较简单的提示词:
A living room with a cup of coffee
第二版提示词在第一版的基础上增加环境和光照描述:
A cozy living room on a rainy evening,
a cup of coffee on the table,
warm lighting
最终使用的提示词为:
A cozy modern living room on a rainy evening,
warm lighting,
a cup of coffee on the table,
photorealistic,
highly detailed
最终生成图像能够较好地呈现雨天窗外环境、室内暖色灯光、沙发、桌面咖啡等内容,整体具有较强的真实照片效果。
通过本次实验,我对 Hugging Face 模型 API 的使用过程有了更加完整的认识。相比单纯在 Hugging Face 网页中输入提示词生成图片,将模型 API 集成到自己的程序中,需要进一步考虑身份认证、后端接口、数据传输以及前端交互等问题。本次实验最终完成了从 Hugging Face 模型选择、API Token 创建、模型调用,到前后端交互和最终图像展示的完整流程,加深了我对生成式人工智能 API 应用开发的理解。

2. GitHub 个人主页搭建

本次作业中,我创建了与 GitHub 用户名相同的 Shiyue999 仓库,并通过仓库中的 README 文件完善个人主页。

主页主要介绍了自己的学习方向、编程技能、项目经历以及未来学习计划。

通过这次操作,我进一步熟悉了 GitHub 仓库和 README 的基本使用,也了解了如何利用 Markdown 对个人主页内容进行整理和展示。
68099cf557c0892bcfc21e1e926c0f61
831e8b2540f20fc94e9065d0c6a4c6bb
8dc8b566ccacbc57b60e5839820af4d7
f5afca13392076d75dfdbc043e40485a
5a29a64f7e8d530be73bd59c86239994

posted @ 2026-09-09 17:53  十月有什么呢  阅读(18)  评论(0)    收藏  举报