软件工程——概述

10 篇文章 0 订阅
8 篇文章 1 订阅

    【前言】

    之前的学习都是小块的学习,是了解和接触计算机的第一步,那么从现在开始就是正式进入软件工程师的路程了。学习的过程中是一个“盲人摸象”的过程,最重要的是把握整体,这样才不至于迷失方向。这一阶段的学习就是如此,在开始的时候对软件工程有一个全局的理解,以自顶向下的方法将知识细分,深入了解学习。让我们开启从一名菜鸟向大神的华丽转身吧!


什么是软件工程


    Boehm:运用现代科学技术知识来设计并构造计算机程序机为开发、运行和维护这些程序所必须的相关文件资料。
    IEEE:软件工程师开发、运行、维护和修复软件的系统方法。
    Fritz Bauer:建立并使用完善的工程化原则,比较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。


    软件工程三要素:方法、工具和过程


    如果粗鲁的来理解其实也是很好理解的,在以前农村盖房的时候,自己跟班头说好要什么样的然后开工就可以了。但是现在情况不同了,以前的小地方现在发展成一个经济中心了,人口众多,这时候再想建房的时候显然只是和班头交代一下是不可能完成任务的,这个时候就需要引入“软件工程”的思想。规划,设计,审核设计方案,然后利用现代的技术手段建造出一栋多功能摩天大厦,一直到投入使用,整个过程都需要“软件工程”的支撑。


    


软件开发模型


    软件开发模型给软件开发提供了支撑和帮助,下面介绍一下几个传统的模型。

(1)瀑布模型

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

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

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

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



(2)螺旋模型

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




(3)喷泉模型

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

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




评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值