为了反映软件生存周期内各个工作应怎样组织,各阶段怎样衔接,须要软件开发模型给出直观图示表达。软件开发模型是软件思想的详细化,是实施在过程模块中的软件开发方法和工具。

以下来介绍开发模型的特点以及他们的优缺点。

瀑布模型

核心思想是按工序开发软件,功能,设计与实现分开,各阶段分工协作。

结构化分析设计方法,逻辑实现和物理实现分开。

活动为:开发计划,需求分析和说明,设计,測试,执行维护。

各阶段瀑布流水,逐级下落,自上而下。

特征:

上一个活动方产生的工作对象为输入

利用输入,实现本项活动要完毕内容

该项活动结果,传一个下一个活动

对活动评审。

缺点:

缺乏灵活性

无法解决软件需求不明白。

原型模型

       

需求分析,软件开发真和用户一起定义总目标,划出区域。

高速设计出可见部分,用户评估,不断完好。

迭代

长处:

用户交流多。

低风险开发柔性计算机系统

易于维护,费用低,时间短

缺点:

easy跑题

忽略基本点

文档更新麻烦,管理困难

钻进牛角。

螺旋模型

       

特点:

逐步细化,每一个周期都进项完好

持续向用户想法实现。

螺旋模型是瀑布和演化模型结合,并添加风险分析。

指定计划,风险分析,实施开发,客户评估。

长处:

可选方案和约束条件的强调利于软件重用。

降低測试不合理的风险

维护仅仅是模型的还有一个周期,与开发没有本质差别

喷泉模型

与瀑布模型相应

各阶段相互重叠,多次重复。

对软件复用和生存周期多项开发活动的继承提供支持。

开发活动,分析设计和编码之间不存在明显边界。

增量模型

       

把软件产品作为一系列的增量构件设计,编码,集成和測试。

每一个构件多个相互作用模块。

分解必须遵守约束条件:当把新构件集成到现有软件中时,所形成的产品必须是可測试的。

长处:

短时间提交给用户可完毕部分工作的产品

逐步添加功能,同一时候便于用户学习。

困难:

把每一个新的增量模型构件集成到现有软件体系结构中时,不破坏原来开发的产品。

每一个模式都有自己的特点,软件开发的过程中,要选择适应的模型,结合每种模式的优缺点,通过分析选择最优的办法,事半功倍,设计出好的软件。

【软件project】生存期模型(含图)的更多相关文章

  1. 软件project文档中的数据库模型设计

    背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...

  2. 形形色色的软件生命周期模型(4)——MSF、实用型

    摘要: 读大学时,我们曾经学习过不少软件生命周期模型,当时还不是很懂软件开发,你可能会觉得这些东西很新奇.在实际工作中,你会发现这些模型其实很难应用,与此同时你会接触到RUP.MSF等权威软件公司的生 ...

  3. 《软件project》课程报告 —国土资源执法监察管理信息系统建模

    ***********************************************声明*************************************************** ...

  4. 面向对象的软件project——面向对象分析

    为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...

  5. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  6. 【软件project】——软工视频总结

    软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...

  7. 【软件project】菜鸟俯瞰软件project

    [背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...

  8. 软考-系统开发与软件project

    关于软件project方面的知识,相信大家都不陌生,软考中这部分知识也是重点考察范围,关于软件project的知识点很的琐碎.我把这部分的知识点分成了五部分,各自是软件project的基础知识.开发管 ...

  9. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

  10. 【软件project】 文档 - 银行业务管理 - 需求分析

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. Mongodb入门——安装与配置

    作者:zhanhailiang 日期:2014-11-07 1. 安装mongodb: [root@~/wade/nodejs/nodeclub]# yum search mongodb [root@ ...

  2. hdu 5092 Seam Carving

    这道题 我没看出来 他只可以往下走,我看到的 8-connected :所以今天写一下如果是 8-connected 怎么解: 其实说白了这个就是从上到下走一条线到达最后一行的距离最小: 从Map[a ...

  3. quick 2.23 它们的定义c++代码lua与总结的一些细节

    它们的定义c++代码lua与总结的一些细节 参考:点击打开链接 1.自己定义 XXX.cpp .XXX.h 2.D:\quick\quick-cocos2d-x-2.2.3-rc\lib\cocos2 ...

  4. BootStrap布局案例

    BootStrap布局 bootstrap 2.3版与3.0版的使用区别 http://www.weste.net/2013/8-20/93261.html 以一个博客系统的首页,来介绍如何布局 1, ...

  5. 1159 Palindrome(最小插入回文串)

    标题效果 定的字符串长度的串和内容.中的字符可以在任何位置被插入.它至少需要为数字,这使得编程回文串串. 回文序列从左至右,从右到左和读取相同. 例如. aaaacbbbb它是一个回文串 aaab前面 ...

  6. CoreGraphics QuartzCore CGContextTranslateCTM 说明

    CoreGraphics.h 一些经常使用旋转常量 #define M_E 2.71828182845904523536028747135266250 e 
#define M_LOG2E 1.442 ...

  7. Oracle基于学习3--Oracle创建用户和授权

    Oracleserver端的操作,如以下一般: 1)       安装Oracleserver软件 2)       创建数据库(安装时自己主动创建) 3)       配置监听(安装时自己主动配置) ...

  8. Xaml于string(弦)定义常量和处理空间

    xml version="1.0" encoding="UTF-8"? > (1)基本使用方法 xaml中能够实例化各种对象,比方在ResourceDic ...

  9. vuejs 相关资料

    官网 http://vuejs.org/ 中文网站 http://cn.vuejs.org/ Vue.js——60分钟快速入门 http://www.cnblogs.com/keepfool/p/56 ...

  10. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...