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

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

瀑布模型

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

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

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

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

特征:

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

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

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

对活动评审。

缺点:

缺乏灵活性

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

原型模型

       

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

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

迭代

长处:

用户交流多。

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

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

缺点:

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. Android SDK 和 Eclipse ADT 离线安装 教程

    因为google 被限制,就是FQ后,下载的速度依旧非常慢,让人非常崩溃啊,所以这里就分享一下离线安装android SDK 和eclipse ADT 离线安装方法. 安装之前首先已经确保java s ...

  2. mysql监视器MONyog的使用

    MONyog是个商业收费软件,可是能够找一下破解版.我用的是4.72破解版 1.       图1.1 在server设置中,如图1.1. 在Sniffer Settings里Enable sniff ...

  3. hdu4190 简单的二分法

    题意是 有n个城市,m个投票箱.接下来n个城市人口数,每一个投票箱都不能为空.计算最后投票箱的容量必须达到多少,才干满足须要. 每一个城市的人必须仅仅能将票投到自己城市分得得投票箱中.要是容量最小箱子 ...

  4. Android - 用Fragments实现动态UI - 使用Android Support Library

    Android Support Library提供了一个带有API库的JAR文件来让你可以在使用最新的Android API的同时也也已在早期版本的Android上运行.例如,Support Libr ...

  5. 实现DataGridView行的拖动,即实现行的顺序交换

    参考:http://blog.csdn.net/soarheaven/article/details/3267379 1.界面准备 (1)首先在form中添加一个DataGridView控件,将默认A ...

  6. 【Shell剧本练习】得出的结论是当前用户

    推断是否当前用户root.假设是暗示root用户,假设而不是提示对于普通用户 #!/bin/bash #title: testus.sh #author: orangleliu #date: 2014 ...

  7. 让你提前知道软件开发(24):C语言和主要特征的历史

    文章1部分 再次了解C语言 C语言的发展历史和主要特点 作为一门众所周知的计算机编程语言,C语言是谁发明的呢?它是怎样演进的?它有何特点?究竟有多少人在使用它? 1. C语言之父 C语言是1972年由 ...

  8. 无显示仍然发挥树莓派——VNCserver设定

    谁说没有显示器就不能玩树莓派的图形界面了.不要忘了VNCserver哦! VNC(Virtual Network Computing)属于一种网络显示系统,也就是说它能将完整的窗体界面通过网络传输到还 ...

  9. Linux查看命令终止进程

    Linux查看命令终止进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ba ...

  10. AspNet MVC4 教育-28:Asp.Net MVC4 Ajax技术部门四舍五入余速Demo

    A.创建一个Basic项目类型. B.于Models创建一个文件夹: DivModel.cs: using System; using System.Collections.Generic; usin ...