软件工程-概述

【前言】

       随着人们对软件需求的增长,软件却远远没有跟上硬件的发展,软件的质量也没有可靠的保证,科学家提出借鉴工程界严密完整的工程设计思想来指导软件的开发与维护,一门新的学科——软件工程学由此诞生了。

       软件的定义:程序+数据+文档

       软件的特点:逻辑实体,生产方式不同,维护不同,复杂,成本昂贵

        软件危机:指在计算机软件的开发,使用和维护过程中遇到的一系列的严重问题。

       正因为有了软件危机,科学家们为了解决这些危机,提出了“软件工程”的概念,即用现代工程的原理,技术和方法进行软件的开发,管理,维护和更新软件。

【正文】

1、概念:

      软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科

2、软件工程的要素:方法,工具,过程。

3、软件工程的基本目标:低成本开发,易于维护,高可靠性,高性能,按时交付。

4、软件生存周期:指一个计算机软件从功能确定,设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程。

5、软件开发模型:

(1)瀑布模型

描述:每个软件过程顺序衔接、一次性通过

优点:为项目提供了按阶段划分的检查点,当前一阶段完成后,只需要去关注后续阶段

缺点:建设周期长、风险大、缺乏灵活性、无法通过并发活动澄清本来不够确切的需求难以满足用户需求

适用场合:需求明确且很少变更的项目,如二次开发或升级型项目

    

(2)螺旋模型

描述:以原型为基础沿螺线旋转、每转一圈都经过计划/风险评估/实施/评估等过程且得到相应的新版本、经过若干次螺旋上升得到最终版本。
优点:设计上的灵活性,可以在项目的各个阶段进行变更,以小的分段来构建大型系统,使成本计算变得简单容易,客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
缺点:建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
适用场合:需求经常变化的大型复杂系统。

(3)喷泉模型

描述:以用户需求为动力、以对象为驱动的模型,支持软件复用及多项开发活动的集成,主要支持面向对象的开发方法

优点:各个阶段没有明显的界限,开发人员可以同步进行开发,可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

猜你喜欢

转载自blog.csdn.net/zhanduo0118/article/details/81070901