你将获得
- 拿来即用的软件工程方法论;
- 日常工作的实战场景剖析;
- 谷歌、微软等公司的最佳实践案例;
- 从软件工程的视角来思考问题。
课程介绍
软件工程是一门用工程化方法解决软件项目问题的学科。无论什么岗位,什么职责,只要你从事软件开发相关的工作,都绕不开软件工程,因为不管是工作方法论、团队协同亦或者流程,万变不离其宗,核心都是软件工程。
想象下在日常工作中,不管你用什么开发语言,不管你是前端还是后端,其实,软件工程的知识一直都在潜移默化地发挥着作用。比如:
- 你接到一个开发任务,如果想开发出客户想要的功能,你是不是先要做需求分析;
- 你接手一个复杂的、庞大的功能模块,是不是先要做设计,才能把复杂的拆成简单的,才能让大家一起分工去开发;
- 你完成一个功能模块,如果要保证质量,是不是需要写一些测试代码,还要做一些功能测试;
- 还有日常用的那些工具,像源代码管理、Bug 跟踪。
软件工程是一门偏实践的学科,而大学课程却更侧重理论,缺少问题导向意识,这样你理解起来自然就是枯燥乏味,很难学以致用。因此很多人错误地认为软件工程学科很“虚”,没有干货。
但是事实并非这样,很多人毕业之后,参加完工作,看到了诸多团队协同、项目管理中的“花样”之后,才恍然大悟,这不就是软件工程吗?
所以,在这个时间点,我们特意邀请了宝玉,希望能带你重新理解软件工程。他将结合自身丰富的软件开发实践经历,带你从软件工程的视角,去分析和解决你工作中遇到的问题,生动、系统地给你讲解软件工程的核心知识,从“器”(工具)、“术”(方法)、“道”(战略思维)入手,让软件工程可以切实地解决你所遇到的工作难题。
模块介绍
本课程共分为三大模块。
理解软件工程篇,从宏观的角度建立起软件工程的知识结构,展现软件工程学的全景图,让你掌握从软件工程的基础概念到主流的软件过程方法论。带你了解工程思维,希望你可以学会用工程化的思考模式,来解决工作和生活中所遇到的问题。
项目全过程知识树篇,完整的软件生命周期包含规划、需求分析、设计、编码、测试、运行维护这六个阶段,带你了解每个阶段要侧重做哪些事;分析每个阶段常见的问题,找到解决方法;了解各个阶段有哪些工具可以对项目有帮助,从而学会应用它们。
软件工程经典案例解析篇,带你分析像微软、谷歌、华为、阿里巴巴这样的大公司,是怎样把软件工程用得炉火纯青。另外,解析国内外经典的软件工程案例,让你能够从正面、反面的综合案例中,把前面的知识融会贯通,并逐步内化为自己的基础能力。
├── 01-开篇词 (1讲)/
│ ├── 00丨开篇词丨你为什么应该学好软件工程?.html
│ ├── 00丨开篇词丨你为什么应该学好软件工程?.mp3
│ └── 00丨开篇词丨你为什么应该学好软件工程?.pdf
├── 02-特别放送 (1讲)/
│ ├── 特别放送丨从软件工程的角度解读任正非的新年公开信.html
│ ├── 特别放送丨从软件工程的角度解读任正非的新年公开信.mp3
│ └── 特别放送丨从软件工程的角度解读任正非的新年公开信.pdf
├── 03-学习攻略 (1讲)/
│ ├── 学习攻略丨怎样学好软件工程?.html
│ ├── 学习攻略丨怎样学好软件工程?.mp3
│ └── 学习攻略丨怎样学好软件工程?.pdf
├── 04-基础理论 (9讲)/
│ ├── 01丨到底应该怎样理解软件工程?.html
│ ├── 01丨到底应该怎样理解软件工程?.mp3
│ ├── 01丨到底应该怎样理解软件工程?.pdf
│ ├── 02丨工程思维:把每件事都当作一个项目来推进.html
│ ├── 02丨工程思维:把每件事都当作一个项目来推进.mp3
│ ├── 02丨工程思维:把每件事都当作一个项目来推进.pdf
│ ├── 03丨瀑布模型:像工厂流水线一样把软件开发分层化.html
│ ├── 03丨瀑布模型:像工厂流水线一样把软件开发分层化.mp3
│ ├── 03丨瀑布模型:像工厂流水线一样把软件开发分层化.pdf
│ ├── 04丨瀑布模型之外,还有哪些开发模型?.html
│ ├── 04丨瀑布模型之外,还有哪些开发模型?.mp3
│ ├── 04丨瀑布模型之外,还有哪些开发模型?.pdf
│ ├── 05丨敏捷开发到底是想解决什么问题?.html
│ ├── 05丨敏捷开发到底是想解决什么问题?.mp3
│ ├── 05丨敏捷开发到底是想解决什么问题?.pdf
│ ├── 06丨大厂都在用哪些敏捷方法?(上).html
│ ├── 06丨大厂都在用哪些敏捷方法?(上).mp3
│ ├── 06丨大厂都在用哪些敏捷方法?(上).pdf
│ ├── 07丨大厂都在用哪些敏捷方法?(下).html
│ ├── 07丨大厂都在用哪些敏捷方法?(下).mp3
│ ├── 07丨大厂都在用哪些敏捷方法?(下).pdf
│ ├── 08丨怎样平衡软件质量与时间成本范围的关系?.html
│ ├── 08丨怎样平衡软件质量与时间成本范围的关系?.mp3
│ ├── 08丨怎样平衡软件质量与时间成本范围的关系?.pdf
│ ├── “一问一答”第1期丨30个软件开发常见问题解决策略.html
│ ├── “一问一答”第1期丨30个软件开发常见问题解决策略.mp3
│ └── “一问一答”第1期丨30个软件开发常见问题解决策略.pdf
├── 05-项目规划篇 (8讲)/
│ ├── 09丨可行性研究:一个从一开始就注定失败的跨平台项目.html
│ ├── 09丨可行性研究:一个从一开始就注定失败的跨平台项目.mp3
│ ├── 09丨可行性研究:一个从一开始就注定失败的跨平台项目.pdf
│ ├── 10丨如果你想技术转管理,先来试试管好一个项目.html
│ ├── 10丨如果你想技术转管理,先来试试管好一个项目.mp3
│ ├── 10丨如果你想技术转管理,先来试试管好一个项目.pdf
│ ├── 11丨项目计划:代码未动,计划先行.html
│ ├── 11丨项目计划:代码未动,计划先行.mp3
│ ├── 11丨项目计划:代码未动,计划先行.pdf
│ ├── 12丨流程和规范:红绿灯不是约束,而是用来提高效率.html
│ ├── 12丨流程和规范:红绿灯不是约束,而是用来提高效率.mp3
│ ├── 12丨流程和规范:红绿灯不是约束,而是用来提高效率.pdf
│ ├── 13丨白天开会,加班写代码的节奏怎么破?.html
│ ├── 13丨白天开会,加班写代码的节奏怎么破?.mp3
│ ├── 13丨白天开会,加班写代码的节奏怎么破?.pdf
│ ├── 14丨项目管理工具:一切管理问题,都应思考能否通过工具解决.html
│ ├── 14丨项目管理工具:一切管理问题,都应思考能否通过工具解决.mp3
│ ├── 14丨项目管理工具:一切管理问题,都应思考能否通过工具解决.pdf
│ ├── 15丨风险管理:不能盲目乐观,凡事都应该有B计划.html
│ ├── 15丨风险管理:不能盲目乐观,凡事都应该有B计划.mp3
│ ├── 15丨风险管理:不能盲目乐观,凡事都应该有B计划.pdf
│ ├── 16丨为什么你不爱写项目文档?.html
│ ├── 16丨为什么你不爱写项目文档?.mp3
│ └── 16丨为什么你不爱写项目文档?.pdf
├── 06-需求分析篇 (5讲)/
│ ├── 17丨需求分析到底要分析什么?怎么分析?.html
│ ├── 17丨需求分析到底要分析什么?怎么分析?.mp3
│ ├── 17丨需求分析到底要分析什么?怎么分析?.pdf
│ ├── 18丨原型设计:如何用最小的代价完成产品特性?.html
│ ├── 18丨原型设计:如何用最小的代价完成产品特性?.mp3
│ ├── 18丨原型设计:如何用最小的代价完成产品特性?.pdf
│ ├── 19丨作为程序员,你应该有产品意识.html
│ ├── 19丨作为程序员,你应该有产品意识.mp3
│ ├── 19丨作为程序员,你应该有产品意识.pdf
│ ├── 20丨如何应对让人头疼的需求变更问题?.html
│ ├── 20丨如何应对让人头疼的需求变更问题?.mp3
│ ├── 20丨如何应对让人头疼的需求变更问题?.pdf
│ ├── “一问一答”第2期丨30个软件开发常见问题解决策略.html
│ ├── “一问一答”第2期丨30个软件开发常见问题解决策略.mp3
│ └── “一问一答”第2期丨30个软件开发常见问题解决策略.pdf
├── 07-系统设计篇 (4讲)/
│ ├── 21丨架构设计:普通程序员也能实现复杂系统?.html
│ ├── 21丨架构设计:普通程序员也能实现复杂系统?.mp3
│ ├── 21丨架构设计:普通程序员也能实现复杂系统?.pdf
│ ├── 22丨如何为项目做好技术选型?.html
│ ├── 22丨如何为项目做好技术选型?.mp3
│ ├── 22丨如何为项目做好技术选型?.pdf
│ ├── 23丨架构师:不想当架构师的程序员不是好程序员.html
│ ├── 23丨架构师:不想当架构师的程序员不是好程序员.mp3
│ ├── 23丨架构师:不想当架构师的程序员不是好程序员.pdf
│ ├── 24丨技术债务:是继续修修补补凑合着用,还是推翻重来?.html
│ ├── 24丨技术债务:是继续修修补补凑合着用,还是推翻重来?.mp3
│ └── 24丨技术债务:是继续修修补补凑合着用,还是推翻重来?.pdf
├── 08-开发编码篇 (7讲)/
│ ├── 25丨有哪些方法可以提高开发效率?.html
│ ├── 25丨有哪些方法可以提高开发效率?.mp3
│ ├── 25丨有哪些方法可以提高开发效率?.pdf
│ ├── 26丨持续交付:如何做到随时发布新版本到生产环境?.html
│ ├── 26丨持续交付:如何做到随时发布新版本到生产环境?.mp3
│ ├── 26丨持续交付:如何做到随时发布新版本到生产环境?.pdf
│ ├── 27丨软件工程师的核心竞争力是什么?(上).html
│ ├── 27丨软件工程师的核心竞争力是什么?(上).mp3
│ ├── 27丨软件工程师的核心竞争力是什么?(上).pdf
│ ├── 28丨软件工程师的核心竞争力是什么?(下).html
│ ├── 28丨软件工程师的核心竞争力是什么?(下).mp3
│ ├── 28丨软件工程师的核心竞争力是什么?(下).pdf
│ ├── 29丨自动化测试:如何把Bug杀死在摇篮里?.html
│ ├── 29丨自动化测试:如何把Bug杀死在摇篮里?.mp3
│ ├── 29丨自动化测试:如何把Bug杀死在摇篮里?.pdf
│ ├── 30丨用好源代码管理工具,让你的协作更高效.html
│ ├── 30丨用好源代码管理工具,让你的协作更高效.mp3
│ ├── 30丨用好源代码管理工具,让你的协作更高效.pdf
│ ├── “一问一答”第3期丨18个软件开发常见问题解决策略.html
│ ├── “一问一答”第3期丨18个软件开发常见问题解决策略.mp3
│ └── “一问一答”第3期丨18个软件开发常见问题解决策略.pdf
├── 09-软件测试篇 (4讲)/
│ ├── 31丨软件测试要为产品质量负责吗?.html
│ ├── 31丨软件测试要为产品质量负责吗?.mp3
│ ├── 31丨软件测试要为产品质量负责吗?.pdf
│ ├── 32丨软件测试:什么样的公司需要专职测试?.html
│ ├── 32丨软件测试:什么样的公司需要专职测试?.mp3
│ ├── 32丨软件测试:什么样的公司需要专职测试?.pdf
│ ├── 33丨测试工具:为什么不应该通过QQ-微信-邮件报Bug?.html
│ ├── 33丨测试工具:为什么不应该通过QQ-微信-邮件报Bug?.mp3
│ ├── 33丨测试工具:为什么不应该通过QQ-微信-邮件报Bug?.pdf
│ ├── 34丨账号密码泄漏成灾,应该怎样预防?.html
│ ├── 34丨账号密码泄漏成灾,应该怎样预防?.mp3
│ └── 34丨账号密码泄漏成灾,应该怎样预防?.pdf
├── 10-运行维护篇 (6讲)/
│ ├── 35丨版本发布:软件上线只是新的开始.html
│ ├── 35丨版本发布:软件上线只是新的开始.mp3
│ ├── 35丨版本发布:软件上线只是新的开始.pdf
│ ├── 36丨DevOps工程师到底要做什么事情?.html
│ ├── 36丨DevOps工程师到底要做什么事情?.mp3
│ ├── 36丨DevOps工程师到底要做什么事情?.pdf
│ ├── 37丨遇到线上故障,你和高手的差距在哪里?.html
│ ├── 37丨遇到线上故障,你和高手的差距在哪里?.mp3
│ ├── 37丨遇到线上故障,你和高手的差距在哪里?.pdf
│ ├── 38丨日志管理:如何借助工具快速发现和定位产品问题?.html
│ ├── 38丨日志管理:如何借助工具快速发现和定位产品问题?.mp3
│ ├── 38丨日志管理:如何借助工具快速发现和定位产品问题?.pdf
│ ├── 39丨项目总结:做好项目复盘,把经验变成能力.html
│ ├── 39丨项目总结:做好项目复盘,把经验变成能力.mp3
│ ├── 39丨项目总结:做好项目复盘,把经验变成能力.pdf
│ ├── “一问一答”第4期丨14个软件开发常见问题解决策略.html
│ ├── “一问一答”第4期丨14个软件开发常见问题解决策略.mp3
│ └── “一问一答”第4期丨14个软件开发常见问题解决策略.pdf
├── 11-经典案例解析篇 (6讲)/
│ ├── 40丨最佳实践:小团队如何应用软件工程?.html
│ ├── 40丨最佳实践:小团队如何应用软件工程?.mp3
│ ├── 40丨最佳实践:小团队如何应用软件工程?.pdf
│ ├── 41丨为什么程序员的业余项目大多都死了?.html
│ ├── 41丨为什么程序员的业余项目大多都死了?.mp3
│ ├── 41丨为什么程序员的业余项目大多都死了?.pdf
│ ├── 42丨反面案例:盘点那些失败的软件项目.html
│ ├── 42丨反面案例:盘点那些失败的软件项目.mp3
│ ├── 42丨反面案例:盘点那些失败的软件项目.pdf
│ ├── 43丨以VS Code为例,看大型开源项目是如何应用软件工程的?.html
│ ├── 43丨以VS Code为例,看大型开源项目是如何应用软件工程的?.mp3
│ ├── 43丨以VS Code为例,看大型开源项目是如何应用软件工程的?.pdf
│ ├── 44丨微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?.html
│ ├── 44丨微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?.mp3
│ ├── 44丨微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?.pdf
│ ├── 45丨从软件工程的角度看微服务、云计算、人工智能这些新技术.html
│ ├── 45丨从软件工程的角度看微服务、云计算、人工智能这些新技术.mp3
│ ├── 45丨从软件工程的角度看微服务、云计算、人工智能这些新技术.pdf
│ ├── “一问一答”第5期(内含彩蛋) 22个软件开发常见问题解决策略.mp3
│ ├── “一问一答”第5期(内含彩蛋)丨22个软件开发常见问题解决策略.html
│ └── “一问一答”第5期(内含彩蛋)丨22个软件开发常见问题解决策略.pdf
├── 12-结束语 (0讲)/
│ ├── 结束语 万事皆项目,软件工程无处不在.mp3
│ ├── 结束语丨万事皆项目,软件工程无处不在.html
│ └── 结束语丨万事皆项目,软件工程无处不在.pdf
免责声明:
评论0