文章目录

  • 一、软件过程
  • 二、软件工程方法论
  • 三、软件过程模型
    • 1.瀑布模型
    • 2.快速原型模型
    • 3.增量模型
    • 4. 螺旋模型
    • 5.喷泉模型
    • 6.Rational统一过程
    • 7.极限编程
    • 8.微软过程
  • 四.总结

一、软件过程

软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。由于没有一个适用于所有软件项目的任务集合,科学、有效的软件过程应该定义一组适合于所承担的项目特点的任务集合。概括地说,软件过程(软件工程方法论)描述为了开发出客户需要的软件,就要实现三W一H,既什么人(who)、在什么时候(when)、做什么事(what)以及怎样(how)做这些事以实现某一个特定的具体目标。

二、软件工程方法论

软件工程方法论就是根据待开发的软件特点设计相应的开发流程,就是把一个大事情,拆分成一个一个的小事情,再把这些小事情串起来组成一个大事情。经过不断的实践,效果非常明显的开发流程就固定了下来,形成了“开发模型”。要知道,软件工程方法和软件过程是同一种概念。

三、软件过程模型

通常使用软件过程模型简洁地描述软件过程,它规定了把软件生命周期划分成的阶段及各个阶段的顺序。本篇文章介绍了8种典型的软件过程模型。

1.瀑布模型


瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户真正需要的。
实际的瀑布模型如下:

2.快速原型模型


快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。
快速原型模型图如下:

3.增量模型


增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。
增量模型图如下:

4. 螺旋模型


风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。
简化的螺旋模型图如下:

5.喷泉模型


喷泉模型较好地体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一。
改进的喷泉模型图如下:

6.Rational统一过程


1998年首次推出的Rational统一过程(RUP)是一个具有突出优点的软件过程模型,它提供了理想开发环境下软件过程的一种完整而且完美的模式,可以作为对一个项目进行软件开发的良好开端。
RUP软件开发生命周期图如下:

7.极限编程


近年来推出的以极限编程(XP)为杰出代表的敏捷过程,具有对变化和不确定性的更快速、更敏捷的反应特性,因此能够较好地适应商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束,可以作为对RUP的补充和完善;但是,作为一种软件过程模式,敏捷过程远不如RUP全面和完整。

8.微软过程


多年的实践经验证明,微软过程是非常成功和行之有效的。一方面,可以把微软过程看作RUP的一个精简配置版本,整个过程包含若干个生命周期的持续递进循环,每个生命周期由5个阶段组成,每个阶段精简为由一次迭代完成;另一方面,可以把微软过程看作敏捷过程的一个扩充版本,它扩充了每个生命周期内的各个阶段的具体工作流程。

四.总结

以上就是今天要讲的内容,本文仅仅简单介绍了8种典型的软件过程模型,以及软件过程和软件工程方法论的概念。诚然,为了计算机系统的进一步发展,需要认真研究开发和维护软件的科学技术。应总结计算机软件的历史经验教训,借鉴其他工程领域的管理技术,逐步使软件工程这门新学科发展和完善起来。
学习利用软件工程方法或者说是软件过程都是更好地利用资源,获得高质量的软件产品,设计出科学,有效的软件,所有的软件都要按部就班,使用软件工程方法一步一步地来开发。这就要求我们在平时的学习中打好软件方面基础,做到认真,专注学习。

软件工程方法论对我们经软件开发有多大用处?相关推荐

  1. 软件工程方法论为我们经软件开发有多大用处?谈谈你的看法。

    软件工程方法论为我们经软件开发有多大用处?谈谈你的看法. 软件工程的各个阶段对软件开发与维护有指导作用和实际意义, 软件工程生命周期的各个阶段相互关联, 对软件的开发和维护均有重要作用. 为了摆脱软件 ...

  2. 软件工程方法论对我们软件开发有多大用处?

    软件工程方法论对我们软件开发有多大用处? 人们将在开发软件和维护软件中,遇到的一系列的问题称为软件危机,而软件工程,就是为了解决软件危机应运而生. 我们都知道,软件工程的概念是当时的人们讨论软件的可靠 ...

  3. 软件工程方法论对我们开发软件有多大用处?谈谈你的看法。

    软件工程方法论对我们开发软件有多大用处?谈谈你的看法. 软件工程是指导计算机软件开发和维护的一门工程学科.从软件工程的定义我们可以知道:软件工程方法论就是教给人们软件开发更科学更系统的方法.软件工程方 ...

  4. 软件工程方法论对我们开发软件有多大用?谈谈你的看法。

    软件工程方法学包含3个要素:方法.工具和过程.其中,方法是完成软件开发的各项任务的技术方法,回等"怎样做"的问题:工具是为运用方法而提供的自动的或半自动的软件工程支撑环境:过程是为 ...

  5. 漫谈软件工程(1)——回顾十年软件开发经历

    软件工程专业毕业,从事软件开发工作将近十年了,近来我重看一些软件工程书籍,回顾着这些年的软件开发经历,越发有一种冲动:结合这些年软件开发的经历,倾述当前软件过程管理中的行业现状.当然我所说的并不一定就 ...

  6. 软件工程与软件开发模型、软件开发方法

    什么是软件工程? 软件工程一直以来都缺乏一个统一的定义. IEEE给出的定义是:软件工程是:1.将系统化的.严格约束的.可质量化的方法应用于软件的开发.运行和维护,即将工程化应用于软件:2.在1中所述 ...

  7. 软件工程方法论对开发的有多大用?

    软件工程方法学包含3个要素:方法.工具和过程.其中,方法是完成软件开发的各项任务的技术方法,回等"怎样做"的问题:工具是为运用方法而提供的自动的或半自动的软件工程支撑环境:过程是为 ...

  8. 软件工程:浅谈人工智能软件开发与传统软件开发的区别

    题目:浅谈人工智能软件开发与传统软件开发的区别 摘要:人工智能的飞速发展带动着软件工程的发展,最终使得软件工程产生新的变革.因为人工智能特有的性质,因而导致了人工智能软件与传统软件的差异性.本文对比了 ...

  9. 面向对象方法的优势简化软件开发的过程_软件开发技巧的途径

    软件开发的复杂性每天都在增加.几乎每年都会发布一个新的框架(例如AngularJS,ReactJS)和一个新的构建工具(例如Webpack,Rollup).甚至每年都会发布新的JavaScript版本 ...

最新文章

  1. 干掉SQL中的like,我用es后运营小姐姐们都说好快!
  2. java socket通信demo_Java Socket通信示例
  3. 天才基本法_《天才基本法》强推!年度神仙小说,看完这本书我竟然爱上了数学...
  4. NSAttributedStringKey
  5. Spring5的几个新特性
  6. C++基础知识:C++语言中的表达式求值
  7. java url类下载_Java根据url下载图片或文件的工具类-Fun言
  8. 十大经典排序算法总结 (Python)
  9. 【图像隐写】基于matlab DCT数字水印嵌入+检测+攻击(测试鲁棒性)【含Matlab源码 1133期】
  10. magisk卸载内置软件_红米Note7 MIUI12 10.15版 主题和谐 Magisk 省电稳定 迅雷会员
  11. Apache ab测试结果解析
  12. dsolve函数的功能_为什么Mathematica的DSolve函数会解不出显式解??
  13. 【第2重磅】王者荣耀「绝悟」升级,全英雄池解禁
  14. Web前端和Web后端的区分
  15. MATLAB 三维立体绘图
  16. Unity小游戏——3D坦克大战
  17. python zipapp_python zip文件 压缩
  18. 强化学习训练Chrome小恐龙Dino:最高超过4000分
  19. iOS 全屏侧滑手势/UIScrollView/UISlider间滑动手势冲突
  20. 【Web】一种好用的浏览器页面打印(打印销售小票)方法

热门文章

  1. Mac 10.12安装Go2Shell在资源管理器快速打开Shell并跳转到指定位置
  2. Unity入门——角色属性设置
  3. android animation
  4. 38. OP-TEE中secure stroage------安全文件数据格式和操作过程
  5. 如何在WPS中打开多个窗口
  6. 微信小程序 位置定位position详解,相对定位relative,绝对定位absolute相关问题
  7. 基于51单片机的烟雾火灾报警系统
  8. python安卓开发-一个Android开发者自学Python的心路历程
  9. 修改xcode字体大小(Mac)
  10. Eclipse 代码大小写切换