软件开发环境与工具相关概念复习进程_第1页
软件开发环境与工具相关概念复习进程_第2页
软件开发环境与工具相关概念复习进程_第3页
软件开发环境与工具相关概念复习进程_第4页
软件开发环境与工具相关概念复习进程_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发环境与工具相关概念1. 概述 在软件工程学中,方法和工具是一个问题的两个方面: 方法是工具研制的先导 工具是方法的实在体现 软件工程方法的研究成果只有最终实现软件工具和系统,才能充分发挥软件工程方法在软件开发中的作用*5921.1 软件开发环境与工具的关系 软件开发环境是围绕着软件开发的一定目标组织在一起的一组相关软件工具的有机集合 软件开发环境是由工具构成的 软件工具是计算机技术发展的产物,随着技术的发展,工具逐渐集成形成了软件开发环境*593 软件开发环境工具1工具2工具n2. 软件开发环境简介 软件开发环境概述 软件开发环境的发展 软件开发环境的要求 软件开发环境的特性 软件开发

2、环境的分类*5942.1 软件开发环境的概述 软件开发环境是指在计算机的基础软件(比如操作系统)上,为了支持软件的开发而提供的一组工具软件系统*5952.1.1 不同的定义 IEEE和ACM的定义软件开发环境是一组软件工具的集合,它支持一定的软件开发方法或按照一定的软件开发方法模型组织而成 美国国防部的定义软件工程环境是一组方法、过程及计算机程序的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生存期*5962.1.2 软件开发环境举例LabView 软件开发环境(NI公司开发)*5972.1.3 软件工程环境举例Visual Studio2010 软件工程环境*5982.1.4 软件

3、开发环境的组成软件开发环境由3个部分构成人机接口 软件工具环境的重要质量标志软件环境数据库 软件开发环境的核心1.各种软件开发工具,完成具体的工作*5992.1.5 软件开发环境数据库的组成通用子程序数据库(比如函数库)可重组的程序加工信息库(编译环境)模块描述与接口信息库(接口,.h文件)软件测试与纠错依据信息库(测试文档)可行性和需求信息档案(需求文档)阶段设计详细档案(设计文档)测试驱动数据库(测试案例)软件维护档案等(维护文档)*59102.1.6 软件开发环境的分层软件开发环境通常分为4层:宿主层核心层基本层1.应用层*5911宿主层核心层基本层应用层2.1.6.1 软件开发环境的宿

4、主层 宿主层是软件开发环境依赖的计算机基础,包括 基本宿主硬件,如计算机、工作站、服务器等1. 基本宿主软件,如操作系统*59122.1.6.2 软件开发环境的核心层 核心层是软件开发环境本身的支持基础,包括 工具组,比如与操作系统相联系的工具1. 环境数据库,工具自身和开发产品的数据基础*59132.1.6.3 软件开发环境的基本层 基本层是软件开发工具的工作工具集,包括 最少限度的一组工具,比如 编译工具 连接工具 调试工具等1. 这些工具由核心层支持*59142.1.6.4 软件开发环境的应用层 应用层是以特定的基本层为基础而引入的配套补充工具,比如: 界面生成器 版本管理器1. 性能分

5、析器等*59152.2 软件开发环境的发展软件开发环境的发展依赖于软件开发方法的发展20世纪70年代:结构化开发方法,主要是高级语言开发工具的发展20世纪80年代:面向对象方法,主要是面向对象开发工具的发展20世纪90年代:系统集成方法,CASE集成开发环境开始出现*59162.3 软件开发环境的要求软件开发环境的目标是提高软件开发的生产率和软件产品的质量,要求如下:高度集成化的系统具有高度的通用性易于定制,具有高度的适应性和灵活性具有易用性1.具有半自动或自动化的开发能力*59172.4 软件开发环境的特性软件开发环境的特性包括:可用性自动化程度公共性集成化程度1.适应性*59182.5 软

6、件开发环境的分类软件开发环境与软件生存期、软件开发方法、软件处理模型紧密相关,有多种分类方法:按问题分类按软件开发环境的演变趋势分类按集成化程度分类*59192.5.1 按照解决问题分类程序设计环境 程序设计的基础,比如Eclipse系统合成环境 快速构建特定应用的开发环境,比如游戏引擎,IBM BlueMix应用程序合成环境等项目管理环境 进行软件项目的管理,比如Project,Clear case等*59202.5.1.1 合成开发环境举例 BlueMix 在云服务系统*59212.5.2 按照开发环境演变趋势分类以语言为中心的环境 比如C+开发环境Visual Studio 6.0工具箱

7、环境 由一整套工具组成,比如Visual Studio 2010基于方法的环境 专门用于支持特定的软件开发方法,比如LabView*59222.5.2.1 语言开发环境举例*5923Visual Studio 6.0界面3. 软件开发工具 软件开发工具概述 软件开发工具功能要求 软件开发工具性能要求*59243.1 软件开发工具概述 基本概念 目标 发展特点*59253.1.1 软件工具的概念 软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统 软件工具通常由工具、工具接口和工具用户接口三部分组成*59263.1.2 软件开发工具概念软件开发工具是用于辅助软件生命周期过

8、程的基于计算机的工具软件开发工具的3个要点:是高级语言进一步发展的产物目的是在软件开发过程中给予开发人员不同方面和程度的支持和帮助1.支持软件开发的全过程*59273.1.3 软件开发工具的发展特点软件开发工具由单个工具向多个工具集成化方向发展重视用户界面的设计不断采用新理论和新技术(软件工程)软件工具的商品化推动了软件产业的发展,软件产业的发展,反过来又促进了软件工具的发展(Visual Studio,LabView,Matlab,LoadRunner)*59283.2 软件开发工具功能要求软件开发工具5个方面的功能要求认识与描述客观系统:需求阶段存贮及管理开发过程中的信息:比如配置管理,核

9、心:保证数据的一致性1.代码的编写和生成:编辑、编译、链接,核心:通过代码自动生成方式及软件重用提高效率*59293.2.1 软件开发工具功能要求续文档的编制与生成:Word类工具,核心:保持文档与软件的一致性软件项目管理:为管理人员提供支持*59303.3 软件开发工具的性能要求软件开发工具5个方面的性能要求表达能力和描述能力保持信息一致性的能力使用的方便程度工具的可靠程度1.对硬件和软件环境的要求(Swift的开发环境,VisualStudio2010开发环境,云计算开发环境)*59314. CASE工具概述 CASE工具概述 CASE发展历史 CASE集成 CASE工作台 CASE环境的

10、组织框架结构 集成CASE环境的策略 CASE发展趋势*59324.1 CASE工具概述 基本概念 目标 作用 分类 CASE与其它开发软件的不同*59334.1.1 CASE的概念 CASE(Computer-Aided Software Engineering)是一组工具和方法的集合,可以辅助软件开发生成周期各阶段进行软件开发*59344.1.2 CASE目标CASE工具要到达以下目标:高效及时完成开发工作降低开发成本达到软件的功能要求取得较好的软件性能降低软件维护费用1.提高生产率,提高质量*59354.1.3 CASE作用提供一个具有快速响应、早期查错功能的交互式开发环境对软件的开发和

11、维护过程中的许多环节实现自动化通过一个强有力的图形接口,实现直观的程序设计*59364.1.4 CASE分类CASE工具可以分为3类:支持单个过程任务的工具工作台支持某一过程所有活动或某些活动1.环境支持软件过程所有活动或大部分活动*59374.1.5 CASE与其它软件的不同将软件生存期各个阶段的工作连接在一起收集和连接软件系统中从最初需求到软件维护各个阶段的所有信息用人工智能技术实现软件开发和维护工作的自动化*59384.2 CASE 的发展历史CASE技术是软件技术发展的产物,它既起源于软件工具的发展,又起源于软件开发方法学的发展,同时还受到实际应用发展的驱动应用的发展方法的发展1.工具

12、的发展*5939应用方法工具4.2.1 应用的发展CASE用以支持应用系统的开发,新的应用必然驱动系统开发方法、工具的演变,应用的发展经历了以下3个年代20世纪70年代 批处理系统,数据库的发展,出现了决策支持系统20世纪80年代 专家系统,应用要求自动推理和自动生成20世纪90年代 更加复杂的应用技术,比如组合建模、交互图形操作等 1.问题:未来的软件应用方向什么?*59404.2.2 方法的发展软件方法随着应用的需要也经历了3个年代的发展20世纪70年代 结构化方法20世纪80年代 面向对象方法1.20世纪90年代 快速原型法*59414.2.3 工具的发展软件工具随着方法的需要也经历了3

13、个年代的发展20世纪70年代 基于文件的CASE工具以及支持图形和结构化设计的前端工具20世纪80年代 基于数据库的CASE工具1.20世纪90年代 逐渐从单一的CASE工具发展为集成化的CASE环境*59424.3 CASE的集成CASE工具包括5个方面的集成平台集成(同一操作系统下)数据集成(文件、数据结构及共享仓库)表示集成(共同的用户操作界面)控制集成(控制不同工具的访问)1.过程集成(阶段支持)*59434.4 CASE 工作台一个CASE工作台是一组工具集,支持图形化设计、编码实现或测试等特定的软件开发阶段,可以分为:分析和设计工作台(上游CASE工具)程序设计工作台(下游CASE

14、工具)1.测试工作台*59444.5 CASE环境的组织框架结构组织框架结构就是把CASE环境放在一个开发和管理的环境中在企业层进行基本结构计划和设计在工程层进行系统工程管理和决策1.在单人和队组层进行软件开发过程管理*59454.6 集成CASE环境的策略CASE的环境策略语言为中心的环境,用一个特定的语言全面支持编程面向结构的环境,使用户可以独立于特定语言而直接对结构化对象进行加工基于方法的环境,由一组支持特定过程或方法的工具组成1.工具箱式的环境,由一套独立于语言的工具所组成*59464.7 CASE 的集成化发展趋势CASE的集成化发展变为趋势,集成化包括:界面集成数据集成控制集成1.

15、过程集成*59474.7.1 CASE 工具的界面集成界面集成是指一个系统中的工具使用共同的风格,以及采用共同的用户交互标准界面集成的目的是通过减轻用户的认知负担而提高用户使用环境的效率和效果*59484.7.2 CASE 工具的数据集成数据集成是指不同软件工程能相互交换数据数据集成的目的是确认开发环境中的所有信息都作为一个整体数据被各部分操作或转换数据集成包括:通用性、非冗余性、一致性、同步性和交换性五个方面属性*59494.7.3 CASE 工具的控制集成控制集成支持工作台或环境中一个工具对系统中其它工具的访问控制集成的目的是为了让工具共享功能工具之间的控制关系包括:供给:一个工具被别的工

16、具使用1.使用:一个工具使用其他工具*59504.7.4 CASE 工具的过程集成过程为开发软件所需要的阶段、任务活动序列,许多工具都服务于一定的过程过程集成是指CASE系统嵌入了关于过程活动、阶段、约束和支持这些活动所需要的工具的知识过程集成属性包括:过程段事件1.约束*59514.8 总结怎样看待和使用工具?工具背后隐藏着技术和方法,如果不熟悉这些背后的技术和方法,工具是无法使用的工具、环境和CASE之间的关系工具对应具体的技术环境对应各种不同的开发方法1.CASE对应计算机软件工程开发方法*59525. 软件开发环境的折旧问题软件开发环境的价值随着软件开发环境的使用而逐渐转移到生产的软件成本中,有多种折旧方法:年限平均法工作量法1.双倍余额递减法*59535.1 年限平均法年限平均法是将软件开发环境的折旧均衡地分摊到各期的一种方法,公式如下:年折旧率=1 / 预计使用年限 100%月折旧率=年折旧率 / 12月折旧额=软件开发环境原价月折旧率*59545.2 工作量法工作量法是根据实际工作量计算折旧额的一种方法,公式如下:每一工作量折旧额=软件开发环境原值 / 预计总工作量月折旧额 = 当月开发工作量每一工作量折旧额*59555.3 双倍余额递减法双倍余额递减法是常用的加速折旧方法,其特点是在软件开发环境使用的前期提取折旧

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论