软件工程之怎么理解软件工程

软件工程学习第二篇,什么是软件工程?

随着软件规模越来越大,复杂度不断增加,在软件项目开发和维护的过程中逐渐暴露出来了一些问题,如:软件产品质量低劣、维护工作量大、成本不断上升,进度不可控、程序人员无限度的增加(增加人员并没有按时交付),“软件危机”这一概念被提了出来。而软件工程是为了研究和克服软件危机而产生的学科。

软件工程的本质是用工程化的方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证。

核心是围绕软件项目开发,对开发过程的组织,对方法的运用,对工具的使用。

我们所说的工程是指有人参与、有计划、有步骤的造出一件有用的产品。前提条件是有用,造出来的是无用的产品,我们不能称为工程。

有人参与,产生了各种角色:项目经理、产品经理、程序员(客户端开发人员、服务端开发人员)、设计师、测试、运维。

有计划、有步骤,软件开发的过程参考了建筑工程,被分成了几个阶段:需求定义与分析、设计、实现、测试、交付和维护,这些组成了软件项目的生命周期。对参与的人及整个过程的管理,我们称之为“项目管理”。

对上述阶段进一步演化,衍生出了一套最基础的过程模型:瀑布模型。

因瀑布模型不能很好的应对需求的变更,又衍生出了V模型、快速原型模型、增量模型、螺旋模型,试图改善瀑布模型存在的一些缺陷。

基于软件过程,我们有了角色分工,有了对过程的管理和工具,对过程中每个阶段细分的方法学和工具。

简单总结:软件工程就是用工程化的方法来开发维护软件。也就是用一定的过程,采用科学的方法,借助工具来开发软件。

用公式表达就是:软件工程=工具+方法+过程

posted @ 2019-04-04 11:14  鱼天翱  阅读(1187)  评论(0编辑  收藏  举报