【笔记】如何理解软件工程

这个笔记来自《软件工程之美》的01节,阅读需要3分钟。

全文的内容,我读了两遍,整理除了如下的思维导图,用于理解这篇文章的整体思路:

要理解软件工程,可以用拆分法——分别理解软件和工程。现代商用软件的创造缘起于一个想法、问题和解决方案,然后需要开发一个软件来高效得实现这个解决方案;工程性体现在软件创造的过程需要有计划、多人协作,也需要经历多次迭代和更新。

软件工程的提出是为了解决软件危机。软件工程发展了这么多年,本质上依然是为了研究和克服软件危机,实现成本、时间、质量这三个要素的平衡。

接下来文章讲了软件工程理论的发展历程,从瀑布模型,到瀑布模型的各种衍生模型,然后到现代的敏捷开发、scrum等等。

重点摘抄

  1. 像这种有人参与、有计划、有步骤地创造一键产品的过程,我们称之为“工程”。所有工程的目标,都是要做出有用的产品。
  2. 软件危机:上世纪60年代提出,具体表现为——软件产品质量低劣、软件维护工作量大、成本不断上升、进度不可控、程序人员无限度地增加。
  3. 软件工程,是为了研究和克服软件危机而生
  4. 软件工程定义的本质:用工程化的方法区规范软件开发,让项目可以按时完成、成本可控、质量有保证(铁三角)。
  5. 开发软件类似于盖房子,是从无到有的创造的过程。工程化的方式,就是你分步骤(过程),采用科学的方法,借助工具来做产品。
  6. 基于软件过程,我们有了角色分工、有了对过程的管理和工具,对过程中各个阶段的方法论和工具。
  7. 一个公式:软件工程 = 过程 + 方法 + 工具

我的感想

软件工程不是搞科研,不是搞艺术,而是解决多人合作将一个想法落地的学科,其中包括严谨的过程步骤、规范,用于提高效率或防范风险的工具。

软件工程的主体是工程,这就要求我们具备基本的工程思维:模块化思维、抽象思维;具备一些关键的意识:质量意识、风险意识、交付意识。


宝玉老师的文笔和思路都很清晰,这门课我准备完整跟下来,每一节都做对应的读书笔记分享出来,如果你希望跟我一起经历这个过程,可以选择购买课程,或者跟下我的笔记,欢迎在留言区与我交流。

【笔记】如何理解软件工程
滚动到顶部