软件工程 | https://edu.cnblogs.com/campus/fzu/SE2024/join?id=CfDJ8AOXHS93SCdEnLt5HW8VuxRT6AQqVs0mNHhOMFCtt8IMscU6Av_iCXeJ1yrZksLek4Sb4eQ33ielNgQZ17WNvtTHzyIIaHFdy4c1XbJ0CE2yknMRYdVBQ0jOrgoKTOKwvcAZuUiQqpoOYBFbKCcvozo |
---|---|
要求 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243 |
目标 | 建立个人博客,创立Github账号,学习AIGC的使用和博客与Github的作用,学习markdown的使用方法。 |
学号 | 102201228 |
我的第一篇随笔作业
🌲我的技能树:
1. 熟悉c语言,c++,汇编语言编程
2. 熟悉面向对象编程与数据结构分析
3. 熟悉版本控制工具svn的使用 4.基于ctrl c与ctrl v工具使用的编程
缺少的能力:运用openAI辅助进行开发的能力。
🔢我的代码量: 代码量小,接触过小型工程,代码量在几百行。希望在学习后达到几千甚至上万的代码量。
📔课程目标:希望通过软件工程课程的学习能够对软件开发步骤具有一定了解,并能上手开发软件,参与小型项目的开发工作。并学习开发后对软件进行的维护更新应该怎样进行。
👉我的兴趣:对游戏开发具有一定的兴趣,但尚未进行相应的学习。
以下为用ChatGPT生成的课程学习建议。
软件工程学习指南
-
课程概述
软件工程是一门研究软件开发、维护和管理的学科。它包括从需求分析到软件设计、编码、测试、维护等各个阶段的内容。本课程旨在帮助你理解软件开发的基本概念和方法,并掌握实践技能。 -
学习目标
理解软件工程的基本概念和原理。
掌握软件开发生命周期的各个阶段。
学会使用常见的软件工程工具和技术。
了解团队协作和项目管理的重要性。 -
课程大纲
第一部分:引言
软件工程概念
软件工程与其他领域的关系
软件开发生命周期(SDLC)
第二部分:需求分析
需求获取与分析
需求规格说明书(SRS)
用例图与活动图
第三部分:软件设计
设计原则与方法
架构设计:模块化与分层
设计模式(如单例模式、工厂模式)
第四部分:编码
编码规范与最佳实践
代码审查与重构
使用版本控制系统(如Git)
第五部分:测试
测试类型:单元测试、集成测试、系统测试、验收测试
测试用例设计
自动化测试工具(如JUnit、Selenium)
第六部分:维护与管理
软件维护的类型:纠正性、适应性、完美性
项目管理方法(如敏捷开发、瀑布模型)
文档编制与知识管理
第七部分:工具与技术
项目管理工具(如JIRA、Trello)
开发环境与IDE(如Eclipse、Visual Studio)
持续集成与持续交付(CI/CD) -
学习资源
书籍:
《软件工程:实践者的研究方法》 by Roger S. Pressman
《设计模式:可复用面向对象软件的基础》 by Erich Gamma et al.
在线课程:
Coursera上的《软件工程》课程
edX上的《软件开发》课程
工具文档:
Git文档
JIRA用户手册 -
实践建议
项目实践:尝试参与实际的软件开发项目,以巩固所学知识。
代码挑战:参与在线编码挑战(如LeetCode、HackerRank),提升编程技能。
团队合作:加入开发社区或团队,学习如何在团队中协作。 -
评估与反馈
定期自我评估学习进度。
寻求导师或同学的反馈,改进学习方法。
参加课程讨论和工作坊,提升理解和应用能力。 -
常见问题解答
如何提高编程能力? 多练习编程题目,并尝试在实际项目中应用编程知识。
如何处理项目中的挑战? 学会分析问题的根源,并运用系统化的方法解决问题。
个人认为这份软件工程学习指南的框架较为全面和合理,涵盖了软件工程的核心概念和实践内容。对正在计划学习软件工程和希望提升相关技能的我来说,这份指南可以作为一个很好的起点。
同时通过明确的学习目标,如掌握软件开发生命周期、使用常见工具和技术,以及理解团队协作的重要性,可以帮助我系统地掌握软件工程的核心内容。