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