软件工程课程第一次个人作业
软件工程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
作业目标 | 熟悉作业提交流程、完善个人资料、生成个人logo、搭建github个人主页、博客园发布随笔 |
学号 | 072208130 |
一、个人logo文生图
(一)logo展示
(二)设计理念与过程
1. 设计过程
使用GPT,按照我的prompt“我现在要给自己设计一个Logo,我的名字里面有一个星字,请你给出一个具体的logo设计方案”和“我喜欢复古风格,具有水墨画风的,我没有不喜欢的颜色,字体的话你看着发挥吧,这个logo是用来个人展示的”使GPT生成了一个具有我个人特色的logo。
但是我对这个logo不太满意,后面又调了几次prompt,换了几个AIGC工具(文心一言、craiyon、MidJourney、天工AI)都没能得到满意的结果,最后我根据这一张图片的风格进行修改,得到了上面所展示的第二张logo图。
2. 设计理念
我特别喜欢元代唐珙的一首诗——《题龙阳县青草湖》,而诗中的一句“醉后不知天在水,满船清梦压星河”,我尤为喜欢。这一句写得特别梦幻,有如童话般的诱人,惝恍迷离,诗境之缥缈奇幻,构思之新颖独特,我一眼就喜欢上了。而我的github、cnblogs、csdn等其它网站所用的英文名“starryship”就是出自于此。“starry”译为星光璀璨的,"ship"指的是航行的船,合在一起的意思就是星光璀璨的船,船上承载着梦想,承载着永不熄灭的理念,不断地航行,向前走。
基于以上种种,我的logo设计会偏向于臆造这种幻境。刚开始我使用GPT是有意臆造这种意象,但是试了好多次后都没有得到一个很好的效果,后来我转念一想(也是gpt给了我启发),使用gpt生成的这个图片的风格,自己再构建一个logo好像会更好。所以就有了第二张logo图,也是我非常满意的一张。
一艘小船,上面站着一颗闪闪发光的星星正在引航,奔腾不息,勇往直前!中间一行“starry ship”是正在用的网名,“xing”是我名字的第二个字的拼音。将我上面所说的意境全部囊括其中,而此logo又显得俏皮可爱,和我性格一致,我非常喜欢!
(三)文生图AIGC工具的使用体验和感想
这些文生图工具,也可以说目前所有的文生图工具(文生图模型),虽然有时候确实是能生成许多精美的图片,琳琅满目的,但是到自己使用的时候效果往往不是很好。它们很难按照你的要求生成你符合的图片,你的prompt(提示词)要多次设计,一直修改,将更多细节传输给模型,这时候模型根据你的需求慢慢调也许才能生成一个你满意的图片。而大多数模型,如豆包、天工、文心一言等,在这种模型细节微调方面或许效果不是很好,而云端部署的SD、LoRA等,还有gpt,相对来说会好一点,但是生成的效果也是因你提示词的好坏而变,不过这已经非常不错了。
在多次调整后,也非常感谢gpt给我的一个新思路,可以说是化繁就简,让我生成了一个好的logo。
二、github个人主页搭建
github profile:Starryship (github.com)
三、随笔
(一)自我评估
能力评估
当前我主要学习的领域为AI和大数据。在AI领域,我现在善于使用Pytorch框架搭建神经网络与模型调优,涉及到的领域有计算机视觉(2D and 3D)、语言识别、声音克隆等,喜欢研究AI,大模型的部署与架构解析。对于本专业的学习,善于数据采集、数据处理与数据挖掘,善于使用hadoop等分布式计算框架,熟练使用Pytorch、cv、tensorflow、sklearn等库,会用flask搭建一个简单的后端。目前也对前端方向比较感兴趣,但是在这方面的知识还有所欠缺,目前只初步了解了html、js和vue,希望在今后的学习中能多学点这部分的知识。
代码量
目前的代码量应该有1w+,平时会有做一点小项目,学完本门课后,希望达到的代码量是2w+
期待
期待在本门课程中,更多的学习如何进行小组合作,如何合作完成项目。规范自己做项目的一些习惯,比如说写好技术文档之类的,规范自己的代码习惯,在学习过程中,多学一点对自己有用的东西。
(二)学习指南(gpt)
gpt回答
当然可以!以下是一份软件工程课程的学习指南,涵盖了课程的主要内容、学习方法、和资源推荐。
软件工程学习指南
1. 课程概览
软件工程是一门研究如何系统地开发、维护、测试和评估软件的学科。它包括了软件生命周期的各个阶段,从需求分析到设计、实现、测试、维护和进化。
2. 学习目标
- 理解软件工程的基本概念和原则。
- 掌握软件开发的流程和方法论,如瀑布模型、敏捷开发等。
- 学习软件需求分析与管理的技巧。
- 熟悉软件设计的基本原则和设计模式。
- 掌握软件测试和质量保证的方法。
- 了解版本控制和持续集成的基本操作。
- 认识软件维护的重要性及其方法。
3. 课程内容
引言与基础概念
- 软件工程的定义与重要性
- 软件开发生命周期(SDLC)
软件开发方法论
- 瀑布模型、增量模型、螺旋模型、敏捷方法
- 敏捷开发框架(如Scrum、Kanban)
需求工程
- 需求获取与分析
- 需求建模与管理
- 需求规格说明书(SRS)
软件设计
- 软件架构与设计原则
- 设计模式(如单例模式、观察者模式、工厂模式等)
- 用户界面设计与用户体验(UI/UX)
编码与实现
- 编码标准与实践
- 代码复审与优化
- 使用版本控制系统(如Git)
软件测试与质量保证
- 单元测试、集成测试、系统测试、验收测试
- 测试驱动开发(TDD)
- 自动化测试工具与框架(如JUnit、Selenium)
软件维护与演化
- 软件维护类型(纠错性、适应性、完善性、预防性)
- 逆向工程与重构
- 软件进化模型
项目管理与实践
- 项目规划与风险管理
- 团队协作与沟通
- 软件工程伦理
4. 学习方法
- 理论与实践结合:软件工程不仅需要理解理论知识,还需要通过实际项目来应用所学内容。参加开源项目或自己动手做一个软件项目是很好的实践方式。
- 小组学习与讨论:通过与同学或同行讨论,可以更好地理解复杂概念和实践方法。
- 持续学习与更新:软件工程是一个快速发展的领域,需要持续关注行业动态,学习新工具和方法。
5. 推荐资源
书籍:
- 《软件工程:实践者的研究方法》 —— Roger S. Pressman
- 《敏捷软件开发:原则、模式与实践》 —— Robert C. Martin
- 《设计模式:可复用面向对象软件的基础》 —— Erich Gamma 等
在线课程与教程:
- Coursera、edX 上的计算机科学与软件工程课程
- Udemy 上的敏捷开发与软件设计模式课程
- GitHub 上的开源项目实践
工具与平台:
- 版本控制:Git, GitHub, GitLab
- 项目管理:JIRA, Trello, Asana
- 持续集成/持续部署:Jenkins, Travis CI, CircleCI
- 测试工具:JUnit, Selenium, Postman
6. 结语
学习软件工程需要不断实践和思考,鼓励你在学习过程中多做项目,多参与团队合作,不断总结和反思自己的学习过程。希望这份学习指南对你有所帮助,祝你学有所成!
如果你需要更详细的资料或有具体的问题,欢迎随时提问!
分析
gpt说的非常有道理!它的回答分为课程概况、学习目标、课程内容、学习方法、推荐书籍和总结共六个部分,每一部分都说的很详细、很有条理。
后台博文编辑页面: