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

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

瀑布模型

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

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

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

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

特征:

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

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

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

对活动评审。

缺点:

缺乏灵活性

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

原型模型

       

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

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

迭代

长处:

用户交流多。

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

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

缺点:

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. 小米2S twrp 中文,支持双系统

    更新日志: 更新日志: 汉化了要使用的功能 修改语言选择方式,修改为下拉方式 TDB(TrueDualBoot) 功能完美实现 **adb**功能,完美实现,无需特别操作(比CWM强大) 修改双系统切 ...

  2. 我理解设计模式C++实现观察者模式Observer Pattern

    概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设 ...

  3. chrome 关闭自己主动更新

    一不小心,把chrome更新成了37, chrome 37不支持模态窗体[ window.showModalDialog() ],折腾死人了. 实在抵不住,仅仅好降级成36.0.1985.143m 至 ...

  4. Oracle性能优化顺序表名称来选择最有效的学习笔记

    选择最有效的顺序表名(只有有效的基于规则的优化)  ORACLE分析器按照订单处理从右到左FROM在FROM子句中的表名,故FROM写在最后的表(基础表 driving table)将被最先处理. 在 ...

  5. 数据结构 - 双链表(C++)

    // ------DoublyLinkedList.h------ template <class T> class DNode { private: // 指向左.右结点的指针 DNod ...

  6. 同ListView该接口无法通过手势滑动左右切换界面问题解决方法

    同ListView该接口无法通过手势滑动左右切换界面问题解决方法 问题描写叙述: 在做OnGestureListener滑动切换窗体的时候,会遇到这种问题.就是当界面中含有ListView的时候.On ...

  7. Java一流的施工顺序

    1.没有对象的构造 public class Test { public static int k = 0; public static int n = 99; public static int i ...

  8. ubuntu nginx安装及相关linux性能參数优化

    一.安装 下载源代码,解压:tar -xzvf nginx-1.4.7.tar.gz ./configure make && make install 改动默认nginx的监听port ...

  9. uva 10831 - Gerg&#39;s Cake(勒让德符号)

    题目链接:uva 10831 - Gerg's Cake 题目大意:给定a和p.p为素数,问说是否存在x,使得x2≡a%p 解题思路:勒让德记号,推断ap−12≡1%p #include <cs ...

  10. [cocos2dx注意事项014]一个用于cocos2dx对象智能指针模板

    现在,C++有许多实现智能指针,一个更无所谓.哈. 这种智能指针是专为cocos2dx 2.2.x自定义.主要的易用性,同时必须遵循现有的cocos2dx内存管理.特殊实现这样的智能指针.无需在使用时 ...