zoukankan      html  css  js  c++  java
  • 软件工程之怎么理解软件工程

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    TREEVIEW拖拽对应修改目录
    shell脚本总结
    Linux将程序添加到服务的方法(通用【但最好还是用systemd】)
    Git客户端命令总结
    如何设置vim中tab键缩进---配置初始化设置
    在终端上创建Java项目及编译和运行
    Linux下Git安装及配置
    如何在eclipse的配置文件里指定jdk路径
    Redis总结和提取常用的和重要的命令
    Redis为什么是单线程
  • 原文地址:https://www.cnblogs.com/fishsky/p/10653743.html
Copyright © 2011-2022 走看看