软件工程第一次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
这个作业的目标 | 了解并使用AIGC工具 ,丰富github主页,学习有关github的内容;学习使用Markdown编辑器;对本课程的学习制定自己的学习目标 |
学号 | 102201317 |
一、个人LOGO生成
设计工具
- OpenAI旗下的DALL-E
设计理念
- 色调以冷色系为主,深蓝、银色;设计简洁、平衡,易于辨识;能够体现计算机专业的学生的创造力和技术以及科技与创新;
设计过程和成果
使用体验
- OpenAI中的DALL-E生成的图像通常很高质量,能很好地反映文本描述。强大的生成能力使得创建图像变得非常便捷。但是,有时候生成的图像可能需要一些微调以完全匹配预期。
二、GitHub个人主页的搭建
建立方式
- 建立个人资料自述文件,在GitHub新建一个与自己GitHub ID一致的仓库,在仓库根目录的README写上自我介绍。
个人主页截图
三、博客园随笔
技能树与技术偏好
- 1.掌握的知识
掌握计算机科学中的数学基础,包括线性代数、概率论与统计、离散数学等。能够应用数学知识解决计算机科学中的各种问题,如算法分析;
入门C/C++,编写基本算法,优化代码性能,理解并应用面向对象编程(OOP)概念;
掌握常用的算法和数据结构,能够选择和实现合适的算法解决实际问题,进行算法优化和复杂度分析。 - 2.技术方向兴趣。需要提升的能力
计算机图形学:所涉及生成和处理图像及视觉效果,以及渲染技术
数据处理:关注数据结构和算法在大数据处理和分析中的应用,特别是数据压缩和索引技术。
多线程编程:提升在C/C++中的多线程编程能力,了解并发控制和同步机制。
现代编程语言:拓展对其他现代编程语言(如Python、Java)的知识,了解其在数据处理和机器学习中的应用。
代码量与课程目标
- 目前代码量:完成了大约3000行的C/C++代码,涉及基础编程、数据结构实现以及算法应用。
- 本学期目标:希望在课程结束后,能够编写和调试约一万代码,涵盖更多复杂的算法和数据结构实现。
课程期待与收获
- 期望收获:
(1)学会如何高效地从需求分析到系统交付的整个开发流程;
(2)理解和应用设计模式和系统架构原则,提高软件设计的灵活性和可维护性。
(3)掌握如何规划、执行和控制软件项目,确保按时交付高质量的软件。
(4)通过案例分析和实践,提升解决复杂软件问题的能力。
(5)学习如何在团队环境中有效沟通和协作,提高整体项目效率。
(6)提高在编程中的实际应用能力,能够独立解决复杂的技术问题,增强对计算机科学核心概念的理解和应用。
本课程的学习指南
- 使用chatgpt软件工程学习指南如下
- 课程概述
软件工程课程旨在介绍软件开发过程的基本原理和实践,涵盖需求分析、设计、实现、测试和维护等关键阶段。课程将帮助学生掌握软件开发的最佳实践和工具,以提高软件质量和开发效率。 - 学习目标
理解软件工程的基本概念和流程。
掌握需求分析、系统设计、编码、测试和维护的基本方法。
学习使用现代软件开发工具和技术。
培养团队合作和项目管理技能。 - 课程内容
第1章:软件工程导论
软件工程定义和重要性
软件开发生命周期模型(瀑布模型、迭代模型、增量模型、敏捷开发)
第2章:需求分析
需求收集和文档化
用例分析和需求规格说明书(SRS)
需求验证和管理
第3章:系统设计
设计原则和模式
架构设计(分层架构、微服务架构等)
详细设计(类图、时序图、状态图)
第4章:编码与实现
编码规范和最佳实践
版本控制系统(如Git)
单元测试和代码审查
第5章:测试
测试类型(单元测试、集成测试、系统测试、验收测试)
测试用例设计和测试计划
自动化测试工具和框架
第6章:维护与文档
维护的类型(纠错、改进、适应)
文档编写和维护
技术支持和用户培训
第7章:项目管理
项目计划和进度管理
风险管理和质量保证
团队合作和沟通
4. 学习资源
教材:例如《软件工程:实践者的研究》 by Roger S. Pressman
参考书:例如《设计模式:可复用面向对象软件的基础》 by Erich Gamma 等
在线资源:Coursera、edX 上的软件工程课程
工具:Git、JIRA、JUnit、Visual Studio Code
5. 练习与评估
作业:完成需求分析文档、设计图、编码和测试任务
小组项目:设计并实现一个小型软件系统,应用所学的工程实践
期中考试:测试对软件工程理论和实践的理解
期末考试:综合测试课程内容和实际应用能力
6. 反馈与改进
课堂讨论:定期参与课堂讨论,分享经验和问题
教师反馈:及时向教师寻求反馈,了解自己的进步和需要改进的地方
同学互评:参与同学之间的互评,学习他人的经验和建议
- 指南分析:
这份指南从课程概述、学习目标、课程内容、学习资源、练习于评估、反馈与改进六个方面全面覆盖了学习软件工程的关键点,概述详细介绍了软件工程的基本框架和重要性,学习目标明确了学习的终极成果和技能提升方向。课程内容系统化地划分了各个学习模块,从基础知识到高级技术,层层递进。学习资源部分推荐了权威教材、在线课程以及实践工具,确保学习过程的全面性和实际应用性。练习与评估环节通过实战项目和自我检测,帮助我巩固所学知识并衡量进展。最后,反馈与改进部分提供了定期自我评估和根据反馈调整学习策略的指导,确保学习计划的灵活性和有效性。这种结构化的指南不仅帮助制定明确的学习计划,还为实现个人学习目标提供了实用的策略和方法。给予我初步的学习指导,有助于我制定明确的学习计划并有效实现个人学习目标。