软件工程第一次作业

这个作业属于哪个课程 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)强调沟通与协作,建立小组内合作交流的意识

博客园编辑画面

posted @ 2024-09-04 23:54  Tierti  阅读(16)  评论(0编辑  收藏  举报