2024软工第一次作业
| 这个作业属于哪个课程 | |
|---|---|
| 这个作业要求在哪里 | |
| 这个作业的目标 | 初步认识软件工程,学会使用博客园和GitHub工具 |
| 学号 | 102201420 |
1.个人logo文生成图

设计理念
导入Artstaion上的插画作品,生成包含“鸟”、“自由”、“蓝色”、“飞翔”等属性的logo
设计过程
登录Craiyon网站,导入基础图片预处理
输入提示词,进行多次训练拟合
这里生成的第二幅图片具有个性,适合logo使用,拟采用,结束训练


使用体会
AI生成图片的技术已经较为成熟,使用少量的关键词即可自动生成符合逻辑的图片
利用AI生成图片在精细度上还有提高空间,在细节的处理欠缺,难以复刻优秀画师的作品
在未来AI的发展难以预测,AI的出现对插画行业带来冲击还是注入新的活力,值得我们继续关注
2. Github个人主页搭建
使用GitHub Pages建立个人主页
Github地址: https://clauede2233.github.io/Claude2233.github.io/

在Github的主页上进行了自我介绍,欢迎有兴趣的同学可以在Github上互相交流
在博客园发布随笔
自我评估
1.掌握技能:
C/C++语言: 基础编程工具,初出茅庐
Python: 机器学习必备伙伴,打开编程新大门
其他工具: Anaconda虚拟环境搭建、jupyter notebook线上编译、matplotlab绘图制作等
2.感兴趣领域
设计: 包括但不限于PPT制作、插画制作、游戏设计
3.缺乏能力
组织能力: 在项目负责人时略显有点力不从心,合作能力较弱
目前代码量
目前代码量在1w行左右,预期代码量2w行
期待与收获
希望通过本门课,能对软件设计有更进一步的理解,能够自己编写一些小游戏
软件工程学习指南:
以下是我在Chatgpt上生成的学习指南
1. 软件工程基础
学习要点:
软件工程定义与原则:理解软件工程的定义、目标、基本原则(如模块化、抽象、信息隐藏等)。
软件开发过程模型:掌握瀑布模型、迭代模型(如敏捷开发)、螺旋模型等,理解各自的优缺点和适用场景。
软件质量:学习软件质量属性(如功能性、可靠性、易用性)、质量保证和质量控制的方法。
推荐资源:
《软件工程导论》(张海藩著):经典的软件工程教材,适合初学者。
在线课程:Coursera、edX、Udemy等平台上的软件工程基础课程。
2. 需求工程
学习要点:
需求获取:学习如何与用户、利益相关者沟通,收集并理解需求。
需求分析:掌握需求建模技术(如用例图、活动图)、需求规格说明书的编写。
需求验证与管理:了解需求验证的方法、需求变更管理的流程。
推荐资源:
《需求工程:软件建模与分析》(Karl Wiegers著):深入讲解需求工程。
博客和论坛:如Stack Overflow、InfoQ,了解行业内的最佳实践和常见问题。
3. 设计工程
学习要点:
软件架构设计:学习架构设计原则、设计模式、架构风格(如分层架构、微服务架构)。
详细设计:掌握UML(统一建模语言)的使用,包括类图、序列图等。
数据库设计:了解数据库设计原理、ER图、SQL语言及数据库优化。
推荐资源:
《设计模式:可复用面向对象软件的基础》(Erich Gamma等著):设计模式经典书籍。
《数据库系统概论》(王珊等著):数据库设计基础教材。
4. 编程与实现
学习要点:
编程语言:熟练掌握至少一种编程语言(如Java、Python、C++),了解其语法、标准库和最佳实践。
代码规范与重构:学习代码编写规范、代码审查、重构技巧。
版本控制:掌握Git等版本控制系统的使用。
推荐资源:
官方文档和教程:如Python官网、Java官方文档。
《重构:改善既有代码的设计》(Martin Fowler著):重构经典书籍。
5. 测试与质量保证
学习要点:
测试类型:了解单元测试、集成测试、系统测试、验收测试等不同类型的测试。
测试工具:掌握常用的测试工具(如JUnit、Selenium、JMeter)。
持续集成/持续部署(CI/CD):学习CI/CD流程、工具(如Jenkins、GitLab CI/CD)。
推荐资源:
《软件测试的艺术》(Glenford J. Myers著):软件测试经典书籍。
在线教程和博客:如Medium、DevOps.com,了解CI/CD的最新实践。
6. 软件维护与进化
学习要点:
软件维护:理解软件维护的类型(更正性维护、适应性维护、完善性维护、预防性维护)。
软件进化:学习软件重构、重设计、再工程等技术。
项目管理:掌握项目管理工具(如Jira、Trello)和敏捷方法(如Scrum、Kanban)。
推荐资源:
《软件维护:概念与实践》(Robert C. Martin著):软件维护领域的经典之作。
项目管理书籍和在线课程:如《敏捷项目管理》书籍、PMI的PMP认证课程。
7. 实践与项目经验
学习要点:
参与项目:尽可能多地参与实际软件开发项目,无论是学校项目、开源项目还是实习项目。
持续学习:跟踪行业动态、新技术、新工具,保持学习的热情。
反思与总结:每次项目结束后,进行反思和总结,提炼经验教训。
推荐资源:
GitHub:参与开源项目,学习他人代码,贡献自己的代码。
技术社区和论坛:如CSDN、V2EX、Stack Overflow,与同行交流经验。
通过这份学习指南,你可以系统地掌握软件工程的核心知识和技能,为未来的职业生涯打下坚实的基础。
指南分析
通过修改关键词,Chatgpt很好地对软件工程学习需要注意的各个方面提供了较为合理的指导,尤其是针对每一个方面都提供了与之对应的推荐资源,方便后续进行进一步的学习
当然,目前生成的学习指南还较为简略,但对软件工程的初步学习依然有很大帮助
博客截图
