软件工程第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202601SofwareEngineering/homework/15712 |
| 这个作业的目标 | 完成软件工程个人作业第三部分随笔,梳理个人技能、代码量规划,学习使用AI工具生成课程学习指南并分析,记录HuggingFace Flux模型API调用实验过程,使用Markdown编写并附上截图 |
| 学号 | 102402117 |
一、技能树梳理与自我评估
✅ 已经掌握的专业知识与能力
- C/C++基础编程,熟悉Linux系统调用,fork、wait、signal等进程相关API
- Web前端基础,HTML静态页面开发,会使用Git、GitHub管理代码仓库,完成GitHub Pages个人主页部署
- 基础网络知识,了解IPv4/IPv6,Mininet简单网络仿真实验
- 能够调用HuggingFace模型API,结合前端实现图像生成交互
🎯 感兴趣的技术方向
- 应用开发,人工智能,前后端
❌ 目前欠缺的能力
- 大型项目架构设计能力,缺少完整项目开发经验
- 后端开发、数据库相关知识薄弱
- 软件测试、项目规范文档编写经验不足
二、代码量统计与预期目标
- 当前累计代码量:没有具体统计,正常计算机大三学生的代码量,在此基础上学习了机器学习和cs224w跟随博主写了几个代码实战
- 完成本学期软件工程课程之后,希望能够多写些项目实践,完善自己能力,对于代码量没有统计,无法直接说明
三、本课程期待学习的知识与收获
最期待学习的知识
软件工程完整开发流程、需求分析、项目管理、软件测试、团队协作开发规范
希望获得的收获
掌握工程化开发思想,学会规范写项目文档,提升项目协作能力,能够独立完成小型软件项目开发
四、AI工具生成软件工程学习指南 + 分析
我选用的AI工具:豆包
AI生成的《软件工程课程学习指南》
软件工程简要学习指南
软件工程核心:不是单纯写代码,学习软件完整开发流程,建立工程化思维,兼顾理论考试和小组课程项目。
一、核心知识模块
- 基础概念:软件特性、软件危机、软件工程定义,软件质量指标(可靠性、可维护性、可用性、安全性)。
- 软件开发模型:瀑布、增量、迭代、螺旋、敏捷Scrum。重点记各自优缺点、适用场景(简答必考)。
- 需求工程:功能需求/非功能需求,需求获取、需求规格说明书SRS,需求变更管理。
- 软件设计:概要设计(架构)、详细设计(模块);核心原则高内聚、低耦合;MVC、分层架构;ER图、模块结构图。
- UML建模:用例图、类图、时序图、活动图、状态图、组件图。会看图、会画图,作业和大题重点。
- 软件测试:黑盒/白盒测试;单元、集成、系统测试;测试用例设计。
- 软件维护:4类维护:改正性、适应性、完善性、预防性维护。
- 项目管理:进度、成本、风险,Git版本控制,项目文档管理。
二、学习方法
- 先搭整体框架,再填充细节,不要零散背知识点。
- 结合小项目理解理论,不要脱离实例死记概念。
- UML多动手画,推荐ProcessOn练习。
- 整理对比表格,区分易混概念(各个开发模型、四类维护等)。
三、课程实践(课程设计)
- 开发顺序:需求分析 → 概要设计 → 详细设计 → 编码 → 测试 → 项目总结,不要上来直接写代码。
- 必备文档:需求规格说明书、系统设计文档、测试报告。文档是重要得分点。
- 使用Git管理代码版本,保留迭代记录。
四、期末备考要点
- 选择填空:基础定义、软件特性、模型特点、维护分类。
- 简答题:各开发模型优缺点、高内聚低耦合、测试分类、需求工程流程。
- 实操大题:UML绘图、设计测试用例、根据场景选开发模型。
- 综合题:小型项目全流程分析、项目风险分析。
五、避坑提醒
- 不要只看重写代码,软件工程重点是流程、文档、设计思维。
- 分清容易混淆概念:增量vs迭代,四类维护,黑盒白盒。
- 小组作业不要忽视文档,文档占分很高。
六、学习节奏
日常:上完课整理知识点,配套UML画图练习
中期:每两周复盘知识框架,对比易混知识点
期末:背诵概念+刷题,主攻UML和综合应用题
对这份指南合理性分析
这份软工学习指南,整体是面向本科应试的精简版。
优点:贴合课堂和期末考试,知识点按考试题型划分,同时兼顾课程设计项目,没有多余废话,能快速搭建软件工程知识框架。
缺点:深度有限,只适合应付课程学习,缺少配套例题、UML和测试的实战题目,也没有针对你们学校考题定制。
适合平时上课复习、期末突击、做课程设计;不适合找工作进阶学习。
可选升级方向:极简背诵版、带例题版本、课程设计专用版本或者完整版。
五、HuggingFace API调用实验记录(Flux模型图像生成)
实验目的
调用HuggingFace的XLabs-AI/flux-RealismLora模型,结合前端页面实现交互生成图片,完成软件工程个人作业。
操作步骤
- 在HuggingFace官网注册账号,申请API Token;

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

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



提示词设计思路与修改过程
一开始的提示词是一个男人走在路上,最终生成的过于脱离现实,书包甚至是悬空的;第二次更详细,老人,提着包,画面一下子就合理了,但总觉得还是不够贴切;最后我又加了老人旁边有辆车这个条件,最终的结果就很贴近现实了
API调用体验与心得
关于api调用我还是第一次实践,之前从未接触过,所以比较生疏,我从b站上找了教学视频跟着做,成功打开huggingface并调用,但是之前从未接触过前端代码,所以代码部分我借助了ai的帮助。上面提交的并不是一开始的代码,一开始的代码实现了网页生成与api调用:


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

浙公网安备 33010602011771号