我们大多数人在学校学到的科学方法归纳如下:1、描绘:观察当前的状态。2、假设:给出一个假设,解释你的观察。3、预测:根据你的假设做出预测。4、实验:验证你的预测。
解决软件问题的实用、务实的方法,其基础是对基本科学原理的非正式运用,换句话说,就是工程。
软件工程的定义是:软件工程是对经验主义的、科学方法的运用,目的是为软件中的实际问题找到高效的、经济的解决方案。
对软件开发采用工程方法的原因是:1、软件开发是一项发现与学习的活动。2、如果我们的目标是高效的和经济的,那么我们的学习能力必须是持续的。
我们必须管理我们所创造系统的复杂性,及保持我们学习新事物和适应新事物的能力。我们必须称为学习专家和管理复杂性的专家。
成为学习专家的五个原则是:迭代、反馈、增量、实验、经验主义。
成为管理复杂性的专家需要:模块力、内聚力、关注点分离、抽象、松耦合。
为软件开发提供有效策略的工具性理念:可测试性、可部署性、速度、控制变量、持续交付。
把软件开发视为一种真正的工程学科,根植于科学方法和科学理性主义原理,其意义是深远的。
将工程思维应用到软件领域,不需要太过沉重或复杂的过程。
将上述原则、理念和能力系统运用,就是现代软件工程。#现代软件工程是站在#软件工程 的肩膀上。