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

软件工程 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工具(文心一言craiyonMidJourney天工AI)都没能得到满意的结果,最后我根据这一张图片的风格进行修改,得到了上面所展示的第二张logo图。

2. 设计理念

我特别喜欢元代唐珙的一首诗——《题龙阳县青草湖》,而诗中的一句“醉后不知天在水,满船清梦压星河”,我尤为喜欢。这一句写得特别梦幻,有如童话般的诱人,惝恍迷离,诗境之缥缈奇幻,构思之新颖独特,我一眼就喜欢上了。而我的githubcnblogscsdn等其它网站所用的英文名“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. 课程内容

  1. 引言与基础概念

    • 软件工程的定义与重要性
    • 软件开发生命周期(SDLC)
  2. 软件开发方法论

    • 瀑布模型、增量模型、螺旋模型、敏捷方法
    • 敏捷开发框架(如Scrum、Kanban)
  3. 需求工程

    • 需求获取与分析
    • 需求建模与管理
    • 需求规格说明书(SRS)
  4. 软件设计

    • 软件架构与设计原则
    • 设计模式(如单例模式、观察者模式、工厂模式等)
    • 用户界面设计与用户体验(UI/UX)
  5. 编码与实现

    • 编码标准与实践
    • 代码复审与优化
    • 使用版本控制系统(如Git)
  6. 软件测试与质量保证

    • 单元测试、集成测试、系统测试、验收测试
    • 测试驱动开发(TDD)
    • 自动化测试工具与框架(如JUnit、Selenium)
  7. 软件维护与演化

    • 软件维护类型(纠错性、适应性、完善性、预防性)
    • 逆向工程与重构
    • 软件进化模型
  8. 项目管理与实践

    • 项目规划与风险管理
    • 团队协作与沟通
    • 软件工程伦理

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说的非常有道理!它的回答分为课程概况、学习目标、课程内容、学习方法、推荐书籍和总结共六个部分,每一部分都说的很详细、很有条理。

后台博文编辑页面:

posted @ 2024-09-03 22:51  starryship  阅读(50)  评论(0编辑  收藏  举报