软件工程第一次个人作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | 1.利用一个AIGC工具创建一个个人logo 2.创建个人主页,学习使用markdown工具编写个人介绍 3.学会如何发布随笔,提交作业 |
学号 | 102201130 |
1.个人logo生成
使用DELL3工具进行个人logo的生成
设计思路和过程
- 思路
- 创建一个符合个人风格的logo
- 我比较喜欢简约的风格,需要创建一个符合个人喜好的简约风格的logo
- 考虑到我的姓氏,所以取了个Z作为logo,设计这个"Z"字母的主要思路是结合现代简约美学,以打造出一个强烈、具有个性且视觉冲击力的标志。
- 过程
- 先与chatgpt进行沟通,chatgpt通过与我之前的通话记录确定我的性格特点等,确定我的logo的设计方案
- chatgpt在我的修改建议下对于logo进行修改
2.Github个人主页搭建
个人主页
3.发布随笔
自我评估
- 目前我已经掌握了4种能力,其中分别是
A. 初步掌握C/C++的一些相关知识,会用C++进行面向对象的编码,可以写一些简单的数据结构
B. 会简单使用一些并行技术进行C/C++的开发
C. 会使用python解决一些简单的问题,例如生成图表,方便分析数据
D. 能够写一些简单的深度学习模型
- 目前我对如下方向感兴趣
对于图形学方向比较感兴趣,希望学习该方面的知识,未来希望从事相关工作
- 缺少的能力
A. 大型项目的开发经历
B. 缺少前后端开发的知识
C. 缺少阅读项目代码的经历和能力
代码量
- 目前已经有6K行左右的代码量(包括作业、OJ等等)
- 希望在课程结束后能有1w行的代码量
最期待在课程种的收获
- 希望在课程中学会一些前后端开发的知识和经验
- 希望在课程中了解一些项目开发中会产生的问题
- 希望在课程中获得一些项目开发的经验
chatGPT生成指南
以下是通过chatGPT生成的《软件工程》学习指南
软件工程学习指南
1. 软件工程概述
软件工程是一门关于系统化、规范化和可量化的软件开发与维护方法的学科。其目标是提高软件的质量、效率和可维护性,确保软件开发项目按时完成。
主要内容:
- 软件生命周期:需求分析 -> 设计 -> 编码 -> 测试 -> 维护
- 软件开发方法论:如瀑布模型、增量模型、V模型、敏捷开发等
- 软件质量保障:软件质量评估与管理
2. 需求分析
需求分析是软件开发过程的第一个阶段,明确软件的功能需求和非功能需求。
需求分析要点:
- 功能需求:系统应具备哪些功能
- 非功能需求:性能、可靠性、安全性等
- 需求文档:编写清晰、完整、可追踪的需求说明书
3. 软件设计
软件设计是将需求转化为详细的技术解决方案的过程,通常分为总体设计和详细设计。
设计的主要关注点:
- 模块划分:软件应分为多个易于维护的模块
- 架构设计:选择合适的软件架构(如MVC、微服务架构)
- 数据设计:数据库和数据结构的设计
4. 编码与实现
编码阶段将设计文档转化为实际的源代码,是软件开发的核心步骤。应遵循编码标准和最佳实践,并确保代码的可读性和可维护性。
关键要点:
- 遵循编码规范
- 代码复用:避免重复编写相似功能
- 版本控制:使用Git等工具进行版本管理
5. 软件测试
软件测试通过多种测试方法来发现软件中的错误和缺陷,确保软件功能符合需求。
测试方法:
- 单元测试:测试代码中的最小单元
- 集成测试:测试模块之间的交互
- 系统测试:整体系统的功能和性能测试
- 回归测试:确保修改后的代码没有引入新的问题
6. 维护与进化
软件维护是软件生命周期中最长的一个阶段,主要包括纠错性维护、适应性维护、改进性维护和预防性维护。
维护的重点:
- Bug修复
- 性能优化
- 功能扩展
7. 项目管理
软件项目管理是确保软件开发过程能够在预算内按时交付的管理活动。包括:
- 进度管理:使用甘特图等工具来跟踪进度
- 人员管理:合理分配开发团队的任务
- 风险管理:识别和应对潜在的项目风险
8. 软件工程工具
- 需求管理工具:Jira、Trello
- 版本控制工具:Git、SVN
- 持续集成工具:Jenkins、Travis CI
- 测试工具:JUnit、Selenium
9. 总结
软件工程是一门实践性非常强的学科,注重软件开发的规范性与团队协作。掌握软件工程理论,能够有效提升软件开发效率和质量。
推荐阅读:
《软件工程:实践者的研究方法》 by Roger S. Pressman
《人月神话》 by Frederick P. Brooks
分析指南
- 这篇指南过于泛了,有点不像学习的指南,更像软件工程是怎么样的一个介绍
- 不过这篇指南对于我粗略的了解软件工程是有帮助的