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

软件工程第一次作业

这个作业属于哪个课程 2026春软件工程与软件工程实践
这个作业要求在哪里 2026春软件工程第一次个人作业
这个作业的目标 通过实践了解API调用流程...
学号 102401431

一、自我评估

1. 当前掌握的情况

C语言是我目前用得最多的工具,自己能独立写出一些简单的控制台程序。同时在调试方面,我会通过编译器报错信息和打印输出来排查问题,但对于更复杂的调试手段还不够熟练。

计算机理论方面,我上过数据结构、组成原理这几门课,但掌握程度比较浅。只是清楚一些基本概念,但如果说要把它们用在一个实际场景里,自己并不上手。

2. 目前明显的短板

前端方向几乎是从零开始,自己从来没有独立写过完整的页面,框架更是没碰过。我其实对这个方向感兴趣,但能力跟兴趣之间差距很大。

没有经历过完整的项目开发。我目前写过的代码基本都是单文件的、用完就丢的作业或实验,没有考虑过模块划分、代码规范这类事情。Git也是刚开始接触,还没有在实际合作中使用过。

对软件开发的全流程只有模糊的概念,我不清楚它们在实际项目中该如何操作。

3. 我感兴趣的方向

我对AI Agent(智能体)开发比较感兴趣。这个方向既有挑战性,也让我觉得有意思。同时我对前端开发也有兴趣,它的反馈快,写完就能看到效果,这种“即时性”比较符合我的工作习惯。

4. 代码量的情况

到目前来说,我的代码总量大概在3000行左右,基本都是课程作业、实验题和一些算法练习,特点是每个文件都很小、功能独立、没有延续性。

本学期我的目标是新增2000行以上,使总量达到5000行左右。这些新增部分主要来自课程项目和课外前端练习。

二、这门课里我想学什么

我希望通过这门课学到几个具体的东西:

第一,软件开发是如何从想法变成产品的,我想把这条路走通一次。

第二,团队开发中怎么用Git进行协作,在工作中这是必须的,所以自己想真正地把它用起来。

第三,怎么让代码结构更清晰、更容易让别人看懂和维护。包括模块划分、UML图这些东西,我希望能理解并实际用到项目中。

三、我希望通过这门课获得什么

我希望能完整参与一次团队项目,从需求分析到最终交付,经历一遍真实的开发过程,这对我来说比任何理论都更有价值。

四、AI生成的软件工程课程学习指南与分析

4.1 AI生成的学习指南

本次选用的AI工具为DeepSeek,输入提示词后生成如下指南:

软件工程课程学习指南(大三适用)

一、课程定位与学习目标

软件工程并非单纯的编程技法传授,而是旨在建立系统化、工程化的软件开发与项目管理思维。作为大三学生,本课程的学习应兼顾理论掌握与工具实践,为后续实习及项目开发奠定基础。

二、核心知识体系

建议围绕以下三条主线构建知识框架:

  • 开发过程模型:重点掌握瀑布模型、敏捷开发(Scrum)、螺旋模型等典型生命周期模型。理解各自适用场景:需求明确且稳定时宜采用瀑布模型;需求频繁变动时宜采用敏捷迭代。

  • 关键文档产出:熟悉软件需求规格说明书、概要设计说明书、详细设计说明书及测试报告的基本结构与撰写要点。概要设计侧重模块划分与接口定义,详细设计侧重流程与数据结构。

  • 质量保证与测试:掌握黑盒测试(等价类划分、边界值分析)与白盒测试(语句覆盖、分支覆盖、路径覆盖)的基本方法,了解单元测试、集成测试与系统测试的层次关系。

三、必要工具与技能

理论学习需配合工具实操,建议优先掌握以下三类工具:

  • 版本控制:熟练使用Git,重点练习分支管理、合并冲突解决及Pull Request流程。
  • 测试工具:能够编写简单的单元测试(如JUnit)及接口测试(如Postman),以提升代码可靠性。
  • 建模工具:使用StarUML或Draw.io绘制类图、时序图、数据流图等,作为团队沟通的标准语言。

四、项目实践建议

课程项目是检验学习成果的核心环节,建议采用以下规范化实践:

  • 接口优先:在编码前先行定义前后端交互接口(如Swagger),减少后期联调成本。
  • 每日同步:团队内部每日进行简短进度同步,明确当日任务与阻塞问题。
  • 代码审查:定期进行相互审查,重点关注命名规范、异常处理及事务边界等易忽略点。

五、考试与职业发展衔接

  • 理论备考:重视数据流图(DFD)、实体关系图(E-R)的绘制练习,此部分常为考核重点。
  • 面试关联:深入理解“高内聚低耦合”原则,并结合个人项目阐述如何通过模块拆分实现该目标。
  • 认知深化:软件工程的核心目标并非杜绝一切缺陷,而是在可控范围内确保系统的可维护性与可扩展性。

六、延伸建议

建议将课程项目部署至云服务器(如阿里云试用实例),并将个人负责模块的设计文档整理成册,可作为实习面试时的作品展示,以增强说服力。

4.2 合理性分析

指南整体上比较全面,把理论、工具和实践都覆盖到了,没有只讲概念而忽略操作,也没有反过来只谈工具不谈原理。它把软件工程拆成三条主线的方式也比较好理解,对一个刚开始接触这门课的人来说,方向感是比较明确的。

不足的地方在于它缺少具体的节奏安排,比如前期应该重点学什么、项目中后期应该补什么,没有给出时间上的区分。

4.3 对我的帮助

我打算按照这份指南提到的三个工具方向来安排学习。课程项目是实践这些内容的主要场合,具体的节奏我会根据项目的推进情况来调整,指南中的思路我会去参考,但不会严格执行。

五、Hugging Face API 调用记录

5.1 我实际做了什么

这次作业的 API 调用部分花了我很长时间,尝试了三种不同的方式,最终才拿到可用的结果。

第一次尝试:本地调用

我先按照作业要求在本地配置了 Hugging Face 的 Token,写了一个 Flask 后端和简单的前端页面,打算在本地跑通 API 调用。代码写完后启动服务没问题,但每次点击生成,终端都会报错。我试着换了几个模型,也调整了超时时间,但始终卡在连接问题上。前前后后改了好几版代码,最终放弃了本地调用的方式。

屏幕截图 2026-09-09 203931

屏幕截图 2026-09-09 210349

屏幕截图 2026-09-09 211800

第二次尝试:Google Colab

后来我换到 Colab 环境,想着云端环境网络应该更稳定。我把同样的代码放到 Colab 里运行,结果遇到了域名解析失败的问题。我查了一下,应该是 Colab 的出口 IP 被 Hugging Face 的 API 服务限制了,这条路也走不通。

屏幕截图 2026-09-09 212931

第三次尝试:Hugging Face 官方 Space

最后我只能用最直接的方式,打开 Hugging Face 官方提供的 FLUX.1-dev 在线推理 Space,在网页里输入提示词生成图片。Space 虽然有免费实例的资源限制,但至少能跑通,我就在这里完成了最终生成。

5.2 提示词的调整过程

V1:中文提示词

我先在 Space 里输入了“断壁残垣中开出了一树桃花”,但生成的结果跟我预想的完全不同,画面里的元素完全对不上。我怀疑模型对中文短句的理解不够准确,决定改用英文试试。

屏幕截图 2026-09-09 213228

V2:英文短提示词

第二版我写了一个简单的英文描述(“断壁残垣”换成了“石墙的缝隙中”,便于模型理解):“A photorealistic ancient stone wall with cracks, a peach tree growing through it with pink blossoms, warm sunset light”。这次画面的主体和场景基本对上了,光影效果自己还算满意,继续优化

屏幕截图 2026-09-09 213354

V3:补充细节的英文提示词

第三版我增加了更多具体描述:“A photorealistic ancient stone wall with deep cracks, a peach tree growing through the gap in the wall, its roots wrapping around the broken stones, pink blossoms on the branches, warm sunset light, moss on the stone, scattered petals on the ground, natural color tone”。这一版反而在画面真实感不如上一版,微缩模型感很重,相对一般了。

屏幕截图 2026-09-09 213600

5.3 生成结果

image

5.4 关于前端交互

作业要求中提到了“结合前端接口实现交互生成”,我在本地调用阶段已经写了一个完整的前端页面——有输入框、有生成按钮、有图片展示区域,也能正常访问。但由于本地 API 调用一直无法成功,前端只能停在“输入提示词,点击生成”的界面,没有拿到实际返回的图片。这部分功能逻辑已经完成,但受限于后端 API 的连通性,没有跑通完整的端到端流程。

5.5 一点体会

这次 API 调用的经历比我想象的要曲折很多。我原本以为配置好 Token、写好代码就能直接跑通,但实际上花了好几个小时才解决“怎么连上”的问题。不同的调用方式(本地、Colab、在线 Space)各有各的问题,最后能跑通的反而是在浏览器里直接用的在线版本。这也让我意识到,API 调用的稳定性除了代码本身,还受到环境、网络、平台限制等多方面因素影响。

六、GitHub个人主页

我选择通过创建与用户名相同的仓库,在README文件中完成个人介绍。个人主页已包含自我介绍、兴趣爱好、专业技能和未来规划等内容。

屏幕截图 2026-09-09 214501

屏幕截图 2026-09-09 214626

七、Markdown编辑后台截图

屏幕截图 2026-09-09 222521

八、总结

这篇作业花了我不少时间,主要的精力都耗在了 API 调用上。从本地环境配置到多次报错排查,再到换工具重试,走了一大段弯路。不过绕原路才是我的捷径,通过这个过程,我大概摸清了 API 调用的基本流程,也明白了“能写代码”和“能调通”之间还有不小的距离。博客园和 GitHub 的使用倒是顺利很多,没有遇到什么障碍。

posted @ 2026-09-09 22:30  天使十二  阅读(25)  评论(0)    收藏  举报