软件工程第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | 初识github;学会利用AIGC工具,如图文生成,文字美化,解决问题 |
学号 | 052101418 |
个人logo文生图任务
设计思路
由于拖延症错过了不少锻炼和提升自己的计划,所以希望成为一个事事有回应,件件有回响的人。附加需求是logo最好偏二次元风一些。
生成过程
把我的需求扔给gpt生成一段看起来靠谱的描述,再把描述丢给Craiyon。
感觉描述对生成的图像影响还是挺大的,所以还是让GPT润色一下吧()
Github个人主页
随笔
自我评估
- 掌握使用Go语言进行后端开发,熟悉Mysql,Redis等主流数据库,了解容器和虚拟化技术,如docker。
- 由于我的主要使用语言是Go,目前对分布式系统感兴趣。
- 虽然会一些后端开发,但是设计模式基本没用过。除此之外,前端知识几乎为0,AI方向正在探索,正在了解跨域推荐。
- 没统计过目前代码量,感觉不好量化希望达到多少行,完成一个完整项目吧。
- 在这门课结束后能熟悉前后端之间的协作。
软件工程学习指南
- 计算机科学基础
数据结构与算法
重点学习常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(排序、查找、递归、动态规划等)。
计算机组成原理
了解计算机系统的基本组成,包括CPU、内存、I/O设备等。
操作系统
学习操作系统的基本原理,包括进程管理、内存管理、文件系统、输入输出管理等。 - 编程基础
掌握一门或多门编程语言
选择一门主流编程语言(如Java、C++、Python、Go等)并熟练掌握。
面向对象编程
学习面向对象编程的概念,包括类、对象、继承、多态、封装等。 - 软件工程理论
软件开发生命周期
了解软件开发生命周期的各个阶段:需求分析、设计、编码、测试、部署、维护。
软件开发模型
学习不同的软件开发模型,如瀑布模型、V模型、增量模型、螺旋模型、敏捷开发等。
需求工程
学习如何进行需求收集、需求分析、需求文档编写等。
软件设计
了解软件设计的基本原则,如模块化设计、层次化设计、接口设计等。
学习设计模式(如工厂模式、单例模式、观察者模式等)。
软件测试
学习软件测试的基本概念,包括单元测试、集成测试、系统测试、验收测试等。
了解测试自动化工具和测试框架。 - 实践技能
版本控制
学习如何使用版本控制工具(如Git)进行代码管理。
持续集成/持续部署(CI/CD)
了解CI/CD的概念和实践,学习如何配置和使用CI/CD工具(如Jenkins、GitLab CI等)。
代码审查
学习如何进行代码审查,了解代码质量的最佳实践。
项目管理
了解项目管理的基本工具和方法,如JIRA、Trello等,以及Scrum、Kanban等敏捷方法。 - 高级主题
架构设计
学习系统架构设计,包括微服务架构、分布式系统设计、RESTful API设计等。
性能优化
了解如何进行系统的性能分析和优化,包括代码优化、数据库优化、缓存机制等。
安全性
学习软件系统的安全性设计,包括常见的安全威胁、加密技术、认证与授权机制等。
DevOps
了解DevOps的概念和工具链,学习如何实现开发与运维的无缝协作。 - 项目实践
开源项目贡献
尝试参与开源项目,学习如何在真实项目中应用软件工程的知识。
实战项目
自己设计并开发一个完整的软件项目,从需求分析到最终发布,全面实践所学知识。 - 持续学习
阅读经典书籍
《代码大全》(Code Complete)、《设计模式》(Design Patterns)、《重构》(Refactoring)等。
参与社区
参加技术会议、加入技术社区、阅读技术博客,不断更新自己的知识体系。 - 职业规划
实习与工作
寻找相关领域的实习机会,积累实际工作经验。
证书认证
考取一些行业认可的证书(如PMP、AWS认证等),提升竞争力。
学习建议:
理论结合实践:学习软件工程需要将理论与实际开发工作紧密结合,最好边学边做项目。
持续学习:软件工程领域变化较快,需要不断学习新技术和方法。
多交流:参与技术社区和团队合作,从中学习他人的经验和最佳实践。
按照以上路线系统学习,可以帮助你逐步掌握软件工程的各个方面,从而在职业生涯中取得更好的发展。
锐评生成指南
这份学习指南涵盖了软件工程的核心知识和实践技能,内容结构清晰且全面,从基础理论到高级主题,再到实践和职业规划,逐步引导学习者深入了解并掌握软件工程的各个方面。
大致学习路线感觉没什么问题,特别是测试这部分很重要。对我的帮助是需要使用时知道补足哪些知识。