软件工程之美¶
“质量焦点” 在最底层,这不难理解软件工程是为了应对软件危机诞生的学科,其目标就是为了要聚焦于质量,构建和维护高质量的软件。可以说,聚焦于质量就是软件工程的基石。
“过程”:要构建高质量软件,则要解决软件过程中的混乱,将软件开发过程中的沟通、计划、建模、构建和部署等活动有效地组织起来。而软件过程,就是在软件项目的生命周期内,也就是软件从诞生到结束这期间,在开发与构建系统时要遵循的步骤。(瀑布模型和敏捷开发——两种主流的软件过程指导框架)
方法是指在整个过程中,如何构建系统的方法学。比如说,如何分析用户需求;如何对产品进行测试验收;如何进行系统架构设计等。
工具用来辅助方法的执行,提高效率。通过工具,可以把一些手动的工作自动化,比如自动化测试工具,自动构建部署工具;通过工具,可以帮助把一些流程规范起来,比如 Bug 跟踪、源代码管理;还可以通过工具,帮助提高编码效率,比如各种编辑器 IDE、各种高级语言。
备注
软件工程的核心知识点,就是围绕软件开发过程,产生的方法学和工具。软件工程 = 工具 + 方法 + 过程。
基础理论 (9 讲)¶
01 | 到底应该怎样理解软件工程¶
02 | 工程思维: 把每件事都当作一个项目来推进¶
03 | 瀑布模型: 像工厂流水线一样把软件开发分层化¶
04 | 瀑布模型之外还有哪些开发模型¶
增量模型¶
备注
按模块分批次交付
迭代模型¶
备注
每次迭代都有一个可用的版本
05 | 敏捷开发到底是想解决什么问题¶
06-07 | 大厂都在用哪些敏捷方法¶
备注
Ticket 和敏捷开发中的 Backlog(任务清单)正好结合起来,通过 Ticket 可以收集管理整个项目的 Backlog 和当前 Sprint(迭代)的 Backlog。
08 | 怎样平衡软件质量与时间成本范围的关系¶
09 | 为什么软件工程项目普遍不重视可行性分析¶
对于软件项目的可行性研究,主要从以下几个方面入手:
1. 经济可行性
2. 技术可行性
3. 社会可行性
10 | 如果你想技术转管理, 先来试试管好一个项目¶
11 | 项目计划: 代码未动,计划先行¶
12 | 流程和规范: 红绿灯不是约束,而是用来提高效率¶
13 | 白天开会, 加班写代码的节奏怎么破¶
14 | 项目管理工具: 一切管理问题,都应思考能否通过工具解决¶
15 | 风险管理: 不能盲目乐观,凡事都应该有 B 计划¶
16 | 怎样才能写好项目文档¶
需求分析篇¶
17 _ 需求分析到底要分析什么/怎么分析¶
18 _ 原型设计: 如何用最小的代价完成产品特性¶
19 | 作为程序员, 你应该有产品意识¶
20 | 如何应对让人头疼的需求变更问题¶
“一问一答”第2期 _ 30个软件开发常见问题解决策略¶
扑克牌估算工作量方法: http://www.scrumcn.com/agile/scrum/4523.html