软件工程第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering/homework/15712
这个作业的目标 完成软件工程个人作业第三部分随笔,梳理个人技能、代码量规划,学习使用AI工具生成课程学习指南并分析,记录HuggingFace Flux模型API调用实验过程,使用Markdown编写并附上截图
学号 102402117

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

✅ 已经掌握的专业知识与能力

  1. C/C++基础编程,熟悉Linux系统调用,fork、wait、signal等进程相关API
  2. Web前端基础,HTML静态页面开发,会使用Git、GitHub管理代码仓库,完成GitHub Pages个人主页部署
  3. 基础网络知识,了解IPv4/IPv6,Mininet简单网络仿真实验
  4. 能够调用HuggingFace模型API,结合前端实现图像生成交互

🎯 感兴趣的技术方向

  • 应用开发,人工智能,前后端

❌ 目前欠缺的能力

  1. 大型项目架构设计能力,缺少完整项目开发经验
  2. 后端开发、数据库相关知识薄弱
  3. 软件测试、项目规范文档编写经验不足

二、代码量统计与预期目标

  1. 当前累计代码量:没有具体统计,正常计算机大三学生的代码量,在此基础上学习了机器学习和cs224w跟随博主写了几个代码实战
  2. 完成本学期软件工程课程之后,希望能够多写些项目实践,完善自己能力,对于代码量没有统计,无法直接说明

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

最期待学习的知识

软件工程完整开发流程、需求分析、项目管理、软件测试、团队协作开发规范

希望获得的收获

掌握工程化开发思想,学会规范写项目文档,提升项目协作能力,能够独立完成小型软件项目开发

四、AI工具生成软件工程学习指南 + 分析

我选用的AI工具:豆包

AI生成的《软件工程课程学习指南》

软件工程简要学习指南

软件工程核心:不是单纯写代码,学习软件完整开发流程,建立工程化思维,兼顾理论考试和小组课程项目。

一、核心知识模块

  1. 基础概念:软件特性、软件危机、软件工程定义,软件质量指标(可靠性、可维护性、可用性、安全性)。
  2. 软件开发模型:瀑布、增量、迭代、螺旋、敏捷Scrum。重点记各自优缺点、适用场景(简答必考)。
  3. 需求工程:功能需求/非功能需求,需求获取、需求规格说明书SRS,需求变更管理。
  4. 软件设计:概要设计(架构)、详细设计(模块);核心原则高内聚、低耦合;MVC、分层架构;ER图、模块结构图。
  5. UML建模:用例图、类图、时序图、活动图、状态图、组件图。会看图、会画图,作业和大题重点。
  6. 软件测试:黑盒/白盒测试;单元、集成、系统测试;测试用例设计。
  7. 软件维护:4类维护:改正性、适应性、完善性、预防性维护。
  8. 项目管理:进度、成本、风险,Git版本控制,项目文档管理。

二、学习方法

  1. 先搭整体框架,再填充细节,不要零散背知识点。
  2. 结合小项目理解理论,不要脱离实例死记概念。
  3. UML多动手画,推荐ProcessOn练习。
  4. 整理对比表格,区分易混概念(各个开发模型、四类维护等)。

三、课程实践(课程设计)

  1. 开发顺序:需求分析 → 概要设计 → 详细设计 → 编码 → 测试 → 项目总结,不要上来直接写代码。
  2. 必备文档:需求规格说明书、系统设计文档、测试报告。文档是重要得分点。
  3. 使用Git管理代码版本,保留迭代记录。

四、期末备考要点

  1. 选择填空:基础定义、软件特性、模型特点、维护分类。
  2. 简答题:各开发模型优缺点、高内聚低耦合、测试分类、需求工程流程。
  3. 实操大题:UML绘图、设计测试用例、根据场景选开发模型。
  4. 综合题:小型项目全流程分析、项目风险分析。

五、避坑提醒

  1. 不要只看重写代码,软件工程重点是流程、文档、设计思维。
  2. 分清容易混淆概念:增量vs迭代,四类维护,黑盒白盒。
  3. 小组作业不要忽视文档,文档占分很高。

六、学习节奏

日常:上完课整理知识点,配套UML画图练习
中期:每两周复盘知识框架,对比易混知识点
期末:背诵概念+刷题,主攻UML和综合应用题

对这份指南合理性分析

这份软工学习指南,整体是面向本科应试的精简版。
优点:贴合课堂和期末考试,知识点按考试题型划分,同时兼顾课程设计项目,没有多余废话,能快速搭建软件工程知识框架。
缺点:深度有限,只适合应付课程学习,缺少配套例题、UML和测试的实战题目,也没有针对你们学校考题定制。
适合平时上课复习、期末突击、做课程设计;不适合找工作进阶学习。
可选升级方向:极简背诵版、带例题版本、课程设计专用版本或者完整版。

五、HuggingFace API调用实验记录(Flux模型图像生成)

实验目的

调用HuggingFace的XLabs-AI/flux-RealismLora模型,结合前端页面实现交互生成图片,完成软件工程个人作业。

操作步骤

  1. 在HuggingFace官网注册账号,申请API Token;

70D61C906C70B80C6500C4CDD5339609

  1. 编写代码调用API,传入提示词,接收返回图片;

5F0FBC6A1F81A0D58380DF117F1F7578

  1. 搭建前端交互页面,实现输入提示词、点击生成图片功能。

47AB28D605BF58E41B1EB94100E84BB2

79E6460C97D9FB3AB756EFF82CE85957

CAAA51C5D40B494059259155551D3898

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

一开始的提示词是一个男人走在路上,最终生成的过于脱离现实,书包甚至是悬空的;第二次更详细,老人,提着包,画面一下子就合理了,但总觉得还是不够贴切;最后我又加了老人旁边有辆车这个条件,最终的结果就很贴近现实了

API调用体验与心得

关于api调用我还是第一次实践,之前从未接触过,所以比较生疏,我从b站上找了教学视频跟着做,成功打开huggingface并调用,但是之前从未接触过前端代码,所以代码部分我借助了ai的帮助。上面提交的并不是一开始的代码,一开始的代码实现了网页生成与api调用:

929FC4131CB209D9DF4FB9C80A0D355D

621A74331DE41D9975617FE92E6063DB

但是遇到了ssl握手断裂与跨域cors问题,问了一下ai他说这个是windows系统环境问题以及vpn节点不稳定,建议我下载电脑自带的linux子系统,我觉得太麻烦,就尝试切热点,在vpn打开系统代理与接受局域网,最后又尝试调用huggingface那个大模型自带库,但是都失败了,依旧无法解决ssl断裂,后面我问ds有没有办法绕开ssl握手,他建议我直接编写html代码,从网页调用api,最终成功实现。

六、作业截图

GitHub个人主页页面截图:

屏幕截图_10-9-2026_211458_github

posted on 2026-09-10 22:00  蔡以恒  阅读(15)  评论(0)    收藏  举报