2024秋软件工程个人作业(第一次)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | 1. 体验使用AIGC的功能 2.了解Github社区3.掌握Markdown编辑器的使用 |
学号 | 102202106 |
1.个人logo文生图任务
使用工具:DALL·E
过程
个人logo展示
设计过程与理念
1.使用DALL·E生成一个个人logo
2.在交流过程中加入科技感与蜘蛛的元素
3.生成以上的个人logo造型。
个人使用体验与感想
1.具有高效性:最直观的感受是快。AICG能在极短时间内提供多个方案供用户选择,让创作用户有更多的选择和优化空间。
2.能够进行个性化定制:用户可以根据自己的需求和喜好,通过与AICG交互,从而得到更加理想的作品。
3.AICG的功能强大且进步快速,将来或将取代很多从事设计工作的人群。
4.AICG功能强大,我们也面临着一些伦理和责任方面的问题。例如,如何确保生成内容的原创性和真实性?
2. Github个人主页搭建
个人资料
个人主页
3.我的随笔
能力评估
1.基本掌握C++,Python,Java等语言。
2.使用CSS进行网页制作。
3.缺乏软件开发的能力。
4.缺乏项目团队合作经验。
5.代码量:3k行左右。
感兴趣的方向:Web开发,前端开发,算法开发
期待目标
1.期待具备初步的软件开发能力。
2.达到8k到12k行的代码量
软件工程学习指南
一、软件工程概述
定义:软件工程是应用计算机技术和数学原理以及工程管理原则和方法,对软件进行系统化的规划、设计、实现和维护的一门工程学科。它强调在软件开发过程中,按照一定的流程和方法来组织、规划、管理和控制软件开发过程,以保证开发出高质量、可靠、易维护的软件项目。
重要性:软件工程对于提高开发效率、软件质量、团队协作效率和软件安全性具有重要意义。通过遵循软件工程的原则和规范,可以有效地避免“屎山代码”的出现,提高项目的可维护性和可扩展性。
二、学习建议
基础知识学习
软件工程原理:学习软件工程的定义、基本原理、目标和原则,理解软件工程的整体框架和思路。
软件开发流程:了解并掌握不同的软件开发模型,如瀑布模型、敏捷开发、增量模型和螺旋模型等,理解每种模型的优缺点和适用场景。
核心技能培养
需求分析:学习如何获取和分析用户需求,编写需求规格说明书,确保需求清晰明确、无歧义。
软件设计:掌握软件设计原则(如SOLID原则)和设计模式,学会使用UML等工具进行软件设计和建模。
编程与实现:选择适合项目的编程语言,掌握面向对象编程或函数式编程等编程范式,遵循编码规范和最佳实践。
软件测试:学习软件测试的基本方法和类型(如单元测试、集成测试、系统测试等),掌握测试用例设计和自动化测试技术。
团队协作与项目管理
版本控制:熟悉Git等版本控制工具的使用,掌握代码合并、分支管理等基本操作。
持续集成与持续部署:了解持续集成(CI)和持续部署(CD)的概念和工具,如Jenkins等,提高开发效率和交付速度。
团队协作工具:掌握Jira、Trello等团队协作工具的使用,提高团队协作效率和沟通效果。
实践项目
参与项目:积极参与实际项目开发,将所学知识应用于实践中,通过项目经验提升自己的技能水平。
案例分析:学习并分析优秀的软件工程案例,了解项目背景、目标、流程、挑战和解决方案等,从中汲取经验和教训。
三、学习资源推荐
书籍:
《软件工程:实践者的研究方法》:一本经典的软件工程教材,内容全面且深入。
《软件开发的201个原则》:一本实用的工具书,适合快速查阅和学习。
《软件工程基础教程》:适合初学者入门,内容循序渐进、深入浅出。
在线课程:
清华大学软件工程课程:在Bilibili等视频平台上有相关课程视频,适合自学。
北京大学软件工程课程:同样在视频平台上有丰富的课程资源。
文档与规范:
阿里巴巴Java开发手册:提供了Java开发过程中的规范和最佳实践。
Google Java Style Guide:谷歌的Java代码规范,适用于需要遵循特定编码风格的项目。
四、总结
软件工程学习需要掌握扎实的基础知识、培养核心技能、注重团队协作与项目管理,并通过实践项目不断积累经验。通过合理利用学习资源、积极参与项目实践,可以不断提升自己的软件工程能力,为未来的职业发展打下坚实的基础。