软件生存周期模式

第三节 软件生存周期模型,方法和工具

生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的

基础,也是建立软件开发环境的核心。

生存周期模型作用:确立了软件开发中各阶段的次序限制,活动准则,所要遵守的规定和限制,便于

各种活动的协调,人员之间的有效通信,有利于活动重用和活动管理。

生存周期模型准则:模型能表示各种活动的实际工作方式,能随情况变化而演化能表示各种活动间同步和制约关系,能表示活动的动态特性。容易为开发人员理解,能适应不同软件项目,具有较强灵活性,

能支持软件开发环境的建立。

目前有:

1 瀑布模型:将软件生存周期中各活动规定为依线性顺序连接的若干阶段。包括可行性分析,项目开发计划,需求分析,概要设计,详细设计,编码,测试和维护。它是一种理想的线性开发模式,缺乏灵活,

特别是无法解决软件需求不明确的问题。适合于需求不明确,设计方案有一定风险的软件项目。 2 增量模型:软件在模型中是" 逐渐" 开发出来的,开发一部分,展示一部分,能及早发现问题。或者

先开发一" 原型" 软件,完成主要功能,然后逐步完善,最终获得满意的软件产品。

3 螺旋模型:将瀑布模型与增量模型结合起来,加入风险分析,弥补了这两种模型的不足。开发分四

步:制定计划,风险分析,开发实施,用户评估。

4 喷泉模型:以用户需求为动力,以对象为驱运动模型,适合于面向对象开发方法,使开发过程具有

迭代性和无间隙性。

迭代性:系统有些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。

无间隙:在分析,设计,实现等开发活动之间不存在明显边界。

5 基于知识的模型:瀑布模型与专家模型的结合。开发各阶段都有利用相应专家系统来辅助设计,使

维护在系统需求一级进行。

6 变换模型:适合于形式化开发方法的模型。

软件开发方法:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

软件开发开发的目标:通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求

的高质量的软件。

软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。

已使用的成功方法有:

1、结构化方法:一种面向数据流的开发方法,适合数据处理领域。指导指导思想是自顶向下,逐步求精。用数据流图建立系统功能模型,完成需求分析工作。用软件结构图建立系统物理模型,实现概要设计。

最后将每个模块的功能用相应标准控制结构表示出来,从而实现详细设计。

2、JACKSON 方法:一种面向数据结构的开发方法,适合小规模项目。首先描述问题的输入,输出数据结构,分析其对应性,然后推出相应程序结构,从而给出问题的软件过程描述。当输入与输出数据结构

无对应关系时,难于应用此方法,JSD(一完整的系统开发方法) 对JSP 进行了扩充

3、维也纳开发方法(VDM):一种形式化开发方法,软件的需求用严格的形式语言描述,然后把模型逐

步变换成目标系统。

4、面向对象的开发方法:基本出发点是尽可能按人类认识世界的方法和思维方式来分析和解决问题。以对象作为最基本的元素,客观世界中具体的事物,事件,概念和规则都有可看成对象,它也是分析问题,解决问题的核心。开发方法包括面向对象分析,面向对象设计,面向对象实现。主要有BOOCH 方法,Coad

方法和OMT 方法。为统一这些方法的术语,概念和模型,(1997年) 推出统一建模型语言UML 。

结构化方法可用:瀑布模型,增量模型,螺旋模型进行开发。

JACKSON 方法可用:瀑布模型,增量模型进行开发。来源:www.examda.com

面向对象的开发方法可用:喷泉模型,瀑布模型,增量模型进行开发。

形式化的维也纳方法只能用变换模型进行开发 。

软件工具:为支持软件人员开发和维护活动而使用的软件。使用软件工具后,可提高软件生产率。目前软件工具发生了很大变化,目的是生成软件周期各个环节的自动化。主要用于软件的分析和设计,使用

这些工具软件开发人员就能在微机或工作站上以对话方式建立各种软件系统。

工具箱:最初的软件工具是以工具箱形式出现的。但界面不统一,工具内部无联系,工具切换由人工

操作。它们对大型软件的开发和维护的支持能力有限。

软件开发环境:目的是使软件工具支持整个生存周期。而且做到不仅支持各阶段的技术工作,还要支

持管理和操作工作,保持项目开发的高度可见性,可控制性和可追踪性。

计算机辅助软件工程:可简单定义为软件开发的自动化,简称为CASE 。实质是为软件开发提供一组优化集成的,大量节省人力的软件开发工具。是软件工具和软件开发方法的结合。目的是实现软件生存周

期各环节的自动化,并使之成为一个整体。

CASE 工具与以往软件工具不同体现在:

1 支持专用的个人计算环境;

2 使用图形功能对软件系统进行说明并建立文档;

3 将生存周期各阶段的工作连接在一起;

4 收集和连接软件系统从最初的软件需求到软件维护各个环节的所有信息;

5 用人工智能实现软件开发和维护工作的自动化。

第三节 软件生存周期模型,方法和工具

生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的

基础,也是建立软件开发环境的核心。

生存周期模型作用:确立了软件开发中各阶段的次序限制,活动准则,所要遵守的规定和限制,便于

各种活动的协调,人员之间的有效通信,有利于活动重用和活动管理。

生存周期模型准则:模型能表示各种活动的实际工作方式,能随情况变化而演化能表示各种活动间同步和制约关系,能表示活动的动态特性。容易为开发人员理解,能适应不同软件项目,具有较强灵活性,

能支持软件开发环境的建立。

目前有:

1 瀑布模型:将软件生存周期中各活动规定为依线性顺序连接的若干阶段。包括可行性分析,项目开发计划,需求分析,概要设计,详细设计,编码,测试和维护。它是一种理想的线性开发模式,缺乏灵活,

特别是无法解决软件需求不明确的问题。适合于需求不明确,设计方案有一定风险的软件项目。 2 增量模型:软件在模型中是" 逐渐" 开发出来的,开发一部分,展示一部分,能及早发现问题。或者

先开发一" 原型" 软件,完成主要功能,然后逐步完善,最终获得满意的软件产品。

3 螺旋模型:将瀑布模型与增量模型结合起来,加入风险分析,弥补了这两种模型的不足。开发分四

步:制定计划,风险分析,开发实施,用户评估。

4 喷泉模型:以用户需求为动力,以对象为驱运动模型,适合于面向对象开发方法,使开发过程具有

迭代性和无间隙性。

迭代性:系统有些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。

无间隙:在分析,设计,实现等开发活动之间不存在明显边界。

5 基于知识的模型:瀑布模型与专家模型的结合。开发各阶段都有利用相应专家系统来辅助设计,使

维护在系统需求一级进行。

6 变换模型:适合于形式化开发方法的模型。

软件开发方法:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

软件开发开发的目标:通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求

的高质量的软件。

软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。

已使用的成功方法有:

1、结构化方法:一种面向数据流的开发方法,适合数据处理领域。指导指导思想是自顶向下,逐步求精。用数据流图建立系统功能模型,完成需求分析工作。用软件结构图建立系统物理模型,实现概要设计。

最后将每个模块的功能用相应标准控制结构表示出来,从而实现详细设计。

2、JACKSON 方法:一种面向数据结构的开发方法,适合小规模项目。首先描述问题的输入,输出数据结构,分析其对应性,然后推出相应程序结构,从而给出问题的软件过程描述。当输入与输出数据结构

无对应关系时,难于应用此方法,JSD(一完整的系统开发方法) 对JSP 进行了扩充

3、维也纳开发方法(VDM):一种形式化开发方法,软件的需求用严格的形式语言描述,然后把模型逐

步变换成目标系统。

4、面向对象的开发方法:基本出发点是尽可能按人类认识世界的方法和思维方式来分析和解决问题。以对象作为最基本的元素,客观世界中具体的事物,事件,概念和规则都有可看成对象,它也是分析问题,解决问题的核心。开发方法包括面向对象分析,面向对象设计,面向对象实现。主要有BOOCH 方法,Coad

方法和OMT 方法。为统一这些方法的术语,概念和模型,(1997年) 推出统一建模型语言UML 。

结构化方法可用:瀑布模型,增量模型,螺旋模型进行开发。

JACKSON 方法可用:瀑布模型,增量模型进行开发。来源:www.examda.com

面向对象的开发方法可用:喷泉模型,瀑布模型,增量模型进行开发。

形式化的维也纳方法只能用变换模型进行开发 。

软件工具:为支持软件人员开发和维护活动而使用的软件。使用软件工具后,可提高软件生产率。目前软件工具发生了很大变化,目的是生成软件周期各个环节的自动化。主要用于软件的分析和设计,使用

这些工具软件开发人员就能在微机或工作站上以对话方式建立各种软件系统。

工具箱:最初的软件工具是以工具箱形式出现的。但界面不统一,工具内部无联系,工具切换由人工

操作。它们对大型软件的开发和维护的支持能力有限。

软件开发环境:目的是使软件工具支持整个生存周期。而且做到不仅支持各阶段的技术工作,还要支

持管理和操作工作,保持项目开发的高度可见性,可控制性和可追踪性。

计算机辅助软件工程:可简单定义为软件开发的自动化,简称为CASE 。实质是为软件开发提供一组优化集成的,大量节省人力的软件开发工具。是软件工具和软件开发方法的结合。目的是实现软件生存周

期各环节的自动化,并使之成为一个整体。

CASE 工具与以往软件工具不同体现在:

1 支持专用的个人计算环境;

2 使用图形功能对软件系统进行说明并建立文档;

3 将生存周期各阶段的工作连接在一起;

4 收集和连接软件系统从最初的软件需求到软件维护各个环节的所有信息;

5 用人工智能实现软件开发和维护工作的自动化。


相关内容

  • 第八章软件工程环境与工具
  • 本文由01小景01贡献 ppt1. 21世纪高职高专计算机专业教材 21世纪高职高专计算机专业教材 软件工程 主讲教师:宫明明 主讲教师: 13854278403 gongmm@qtc.edu.cn 1 现代建筑业中,为了提高生产率.改进建 提高生产率. 现代建筑业中,为了提高生产率 筑质量,会不断 ...

  • 可靠性维修性标准
  • 可靠性维修性标准 GJB450A-2004装备可靠性工作通用要求 GJB368A-1994装备维修性大纲 GJB900-1990系统安全性通用大纲 GJB3872 装备综合保障通用要求 GJB2547 装备测试性大纲 GJB4239 装备环境工程通用要求 GJB1909 装备可靠性维修性保障性要求论 ...

  • 2016年软考软件设计师考试范围
  • 2016年软考软件设计师考试范围 软件工程 1.计算机科学基础知识 1.1数制及其转换 二进制.八进制.十进制和十六进制等常用数制及其相互转换 1.2计算机内数据的表示 软件设计师考试辅导 数的表示(补码表示,整数和实数的表示,精度和溢出) 非数值表示(字符和汉字表示,声音表示.图像表示) 1.3算 ...

  • 关于医疗器械软件注册申报基本要求的说明
  • 关于医疗器械软件注册申报基本要求的说明 随着计算机技术的快速发展,医疗器械软件的种类日渐增多,在医疗器械中所起的作用越来越强,开发方式灵活多样,但随之带来的质量问题也越来越突出,造成的召回事件日益增加,严重性不容忽视. 美国FDA自1983年至2005年的医疗器械软件召回数据如表1所示: 表1:FD ...

  • 软件设计师考试大纲
  • 软件设计师考试大纲 一.考试说明 考试要求 (1) 掌握计算机内的数据表示.算术和逻辑运算方法; (2) 掌握相关的应用数学及离散数学基础知识; (3) (4) (5) (6) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; 掌握操作系统.程序设计语言的基础知识,了解编译程序的基本知识; 熟 ...

  • 软件工程基础考试重点
  • 1 软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题 2 软件危机的原因有:1客观:软件规模大.复杂性高2主观:忽视需求分析 3 软件危机的主要表现: (1) 对软件开发成本和进度的估计常常不准确(2)用户对已完成系统不满意的现象经 常发生(3)软件产品质量往往靠不住(4)软件常常是不 ...

  • 软件生存周期过程
  • <信息技术 软件生存周期过程> --ISO/IEC 12207与GB/T 8566 摘 要对于保证软件质量,提高软件工程能力,关键是科学地建立和管理软件工程过程.ISO/IEC12207 <信息技术一软件生存周期过程>总结了有关研究成果,描述了软件生存期的各个过程及其关系,成 ...

  • 软件配置管理规范
  • 配置管理规范 文件编号:QMS -PROC -SCM03 版本:1.2 受控签章 修改历史 1 目的和范围 本规范是为了配合公司配置管理流程文件的执行所给出的配置管理活动中配置项用命名.角色定义及权限分配规范,目的是给配置管理流程的使用人员详细的操作指南. 2 目标 配置管理活动相关人员通过本规范的 ...

  • Java软件工程师转正申请书
  • 第1篇第2篇第3篇第4篇第5篇更多顶部 目录 第一篇:Java软件工程师转正申请书 第二篇:it员工和Java软件工程师转正申请书 第三篇:Java软件工程师介绍 第四篇:Java软件工程师如何学习 第五篇:Java软件工程师 更多相关范文 正文 第一篇:Java软件工程师转正申请书 尊敬的公司领导 ...