软件工程第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | AIGC工具的使用,学期规划,了解自我 |
学号 | 102201237 |
一、个人logo文生图任务
1、生成过程
2、logo
3、设计理念
以月亮为主体,进行艺术化加工,简约风格
4、使用感想
(1)AIGC工具能让创作者的灵感具象化,或者为创作者提供创作灵感,让其进行二次加工
(2)输出的图像仍存在缺陷,存在意义不明的线条和模糊区域
(3)便利人们的生活,降低绘画的创作门槛
二、Github主页搭建
三、自我评估
(1)具备了哪些专业知识和能力:
·对c、c++的语法有一定的了解
·了解基本的算法
·了解基本汇编语言
(2)对哪类技术方向感兴趣:
·目前对前端开发感兴趣
·前端技术可以将网站的界面更好的呈现给用户,优化用户的使用体验
(3)缺少的能力:
·没有太多的编程经验
·代码量过少,对知识的掌握程度较低
·对目前的技术的了解不够深入
·没有一门熟练掌握的语言
(4)目前的代码量:
·一百行左右
(5)希望达到的代码量:
·三百行以上
(6)希望学习的知识:
·学习软件开发的相关知识以及过程
·学习软件开发相关工具的使用
·学习debug的技巧
四、ai学习指南
1. 软件工程概述
定义:软件工程是应用工程化的方法来设计、开发、测试和维护软件系统的过程。
目标:确保软件的质量、可靠性和可维护性,同时控制成本和开发时间。
2. 软件开发生命周期(SDLC)
需求分析:确定软件需求,包括功能需求和非功能需求。
系统设计:设计软件的架构和系统组件。
实现:编写代码和实现设计。
测试:验证软件是否符合需求并修复缺陷。
部署:将软件交付给用户并进行安装。
维护:修复问题,改进功能并更新软件。
3. 软件工程方法论
瀑布模型:顺序推进,每个阶段完成后进入下一个阶段。
敏捷方法:迭代开发,持续交付,强调灵活性和客户反馈。
螺旋模型:结合迭代和阶段性的开发,适用于大型复杂项目。
4. 需求工程
需求获取:通过与用户交流来收集需求。
需求分析:分析和澄清需求,形成需求文档。
需求规格说明:编写详细的需求文档,明确软件需要完成的功能。
5. 系统设计
架构设计:定义系统的高层结构和组件。
详细设计:定义每个组件的内部结构和接口。
设计模式:如单例模式、工厂模式、观察者模式等,帮助解决常见设计问题。
6. 编程和实现
编码规范:编写清晰、可维护的代码,遵循团队的编码标准。
版本控制:使用工具如Git来管理代码的版本和更改。
文档编写:记录代码、设计和系统功能。
7. 测试
单元测试:测试代码中的单个组件或功能。
集成测试:测试不同组件之间的交互。
系统测试:测试整个系统的功能和性能。
验收测试:测试软件是否满足用户需求和期望。
8. 项目管理
计划和控制:制定项目计划,跟踪进度和预算。
风险管理:识别和管理项目风险。
沟通:与团队成员和利益相关者保持有效沟通。
9. 最佳实践
代码审查:定期检查代码,确保质量和一致性。
持续集成:自动化测试和构建过程,提高开发效率。
文档化:记录设计、代码和过程,确保团队成员能够理解和维护。
10. 常用工具
开发环境:如Visual Studio Code、IntelliJ IDEA。
版本控制:如Git、GitHub。
项目管理:如JIRA、Trello。
测试工具:如JUnit、Selenium。
11.学习资源
书籍:如《软件工程:实践者的研究方法》(Roger S. Pressman)、《设计模式:可复用面向对象软件的基础》(Erich Gamma等)。
在线课程:Coursera、edX上的软件工程课程。
社区和论坛:Stack Overflow、Reddit上的相关讨论区。
五、学习指南分析
(1)结构清晰,模块化学习,可以有条不紊的进行学习
(2)覆盖内容广泛,实践与理论相结合,加深对知识的理解程度
(3)强调沟通与协作,建立小组内合作交流的意识