《软件工程-第16章第2节.pptx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

16.1.2软件开发环境的分类

16.1.2软件开发环境的分类软件开发环境是与软件生存期、软件开发方法和软件生存期模型紧密相关的。其分类方法很多,本节按解决的问题、软件开发环境的演变趋向与集成化程度进行分类。1.按解决的问题分类1)程序设计环境程序设计环境解决如何将规范说明转换成可工作的程序问题,它包括两个重要部分:方法与工具。

16.1.2软件开发环境的分类2)系统合成环境系统合成环境主要考虑把很多子系统集成为一个大系统的问题。所有的大型软件系统都有两个基本特点:它们是由一些较小的、较易理解的子系统组成的,因此,需要有一个系统合成环境来辅助控制子系统及其向大系统的集成。3)项目管理环境大型软件系统的开发和维护必然会有许多人员在一段时间内协同工作,需要对人与人之间的交流和合作进行管理。项目管理环境的责任是解决由于软件产品的规模大、生存期长、人们的交往多而造成的问题。

16.1.2软件开发环境的分类2.按软件开发环境的演变趋向分类1)以语言为中心的环境以语言为中心的环境的特点是强调支持某特定语言的编程;包含支持某特定语言编程所需的工具集;环境采取高度的交互方式;仅支持与编程有关的功能(如编码和调试),不支持项目管理等功能。这类环境的例子有InterLisp(Lisp语言),SmallTalk80(SmallTalk语言),ToolparkPascal语言),POS(Pascal语言)和Ada(Ada语言)。

16.1.2软件开发环境的分类以语言为中心的程序设计环境是最早被人们开发并使用的环境,也是目前使用最多的环境。这类环境具有以下特点:(1)支持软件生存期后期活动,特别强调对编程、调试和测试活动的支持。(2)该类环境的特点依赖于程序设计语言(高级语言)。(3)该类环境感兴趣的研究领域是增量开发方法(IncrementalDevelopment)。

16.1.2软件开发环境的分类2)工具箱环境工具箱环境的特点由一整套工具组成,供程序设计选择之用,如有窗口管理系统、各种编辑系统、通用绘图系统、电子邮件系统、文件传输系统及用户界面生成系统等。用户可以根据个人需要对整个环境的工具进行裁剪,以产生符合自己需要的个人的系统环境。其次这类环境特点是独立于语言的。这类环境的例子有:UNIX,Windows,APSE的接口集CAIS和SPICE等。另外还可以按集成化程度将环境分成第一代、第二代和第三代集成化环境,以及分布式环境和智能环境等。

16.1.2软件开发环境的分类3)基于方法的环境基于方法的环境是专门用于支持特定的软件开发方法的。这些方法可用于两大类:一是软件开发周期中某个特定阶段的管理,二是软件开发周期中某个特定阶段的开发过程。前者包括需求说明、设计、确认、验证和重用。后者又可细分为支持产品管理与支持开发和维护产品的过程管理。产品管理包括版本管理和配置管理。开发过程管理包括项目计划和控制、任务管理等。这类环境的例子有Cornell程序综合器,支持结构化方法,SmallTalk80支持面向对象方法。

16.1.2软件开发环境的分类3.按集成化程度分类环境的形成与发展主要体现在各工具的集成化的程度上,当前国内外软件工程把软件开发环境分为三代。·第一代建立在操作系统之上,工具是通过一个公用框架集成的,工具不经修改即可由调用过程来使用;工具所使用的文件结构不变,而且成为环境库的一部分。人机界面图形能力差,多使用菜单技术。例如,20世纪70年代UNIX环境以文件库为集成核心。

16.1.2软件开发环境的分类·第二代具有真正的数据库,而不是文件库,多采用E-R模式,在更低层次集成工具。工具和文件都作为实体保存在数据库中,现有工具要作适当修改或定制方可加入。人机界面采用图形、窗口等。例如,Ada程序设计环境(APSE)以数据库为集成核心。·第三代建立在知识库系统上,出现集成化工具集,用户不用在任务之间切换不同的工具,采用形式化方法和软件重用等技术,采用多窗口技术。这一代软件集成度最高,利用这些工具,实现了软件开发的自动化,大大提高软件开发的质量和生产率,缩短软件开发的周期,并可降低软件的开发成本。例如,20世纪80年代CASE与目前的CASE集成化产品。

16.2软件工具软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的软件系统。是为特定目标而开发的,例如项目管理工具、数据库管理工具,同时也是为实现软件生存周期中的各种处理活动(包括管理、开发和维护)的自动化和半自动化而开发的程序系统。开发软件工具的主要目的是为了提高软件生产率和改善软件的质量。

16.2软件工具正像程序系统可分为系统和子系统一样,软件工具也可具有不同的粒度,称之为

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档