软件工程到底是什么?软件工程师是做什么的?
软件工程本质上是工程,工程在定义上来说是“应用科学方法在成本效益比有效的方式下建造一个机器,以针对性的解决现实世界问题”。
软件工程的特征
如果从事前开始分析,有两个特征:1)不容易发现,2)不容易处理。
软件工程解决现实世界问题的难点
1、每一个问题都是新的,不清楚的。
2、我们要处理,但是处理的范围又十分广泛。
由此,软件工程团队专门独立出一部分人专门负责和现实世界打交道,专门负责和发现问题。来确定业务方案。这一部分人通常称为需求分析师或产品经理。
业务方案
不太关心软件内部构造问题,更多的是降低用户成本,利润提升和移动当中的问题。
软件工程的终点
需求分析师和业务方案是软件工程的起点,软件工程的终点则是一种机器。工程的目的是建造一个机器来解决现实生活的问题。
软件工程的流程与任务
软件工程的任务有两种,一个是本质性的,一个是附属性的。
本质性的工作叫分析与设计,建造工程化的解决方案。
附属性的工作则是编码,将工程化的方案安装到通用计算机上。