第一章 软件的发展概况.ppt

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

导致缺点的原因(1) 对软件设计的结果最终是要用某种面向对象的语言实现,那么,用一种语言实现的对象类怎么用另一种语言来复用呢?软件世界是五彩缤纷,各种语言各有其各自的优点和适应的范围,如果想用某一种通用的、万能的语言代替所有的其它语言,在目前是不现实的,Ada语言就是一种失败的尝试。退一步讲,即使我们发明了这种语言,我们又如何复用以前大量的、用现有语言开发的软件呢 ? 导致缺点的原因(2) 2. 面向对象所得到的软件的良好结构是源代码级的,软件的进化和维护只能在这一级进行,它不能解决一个软件产品交给最终用户以后(可执行的二进制代码),要想对其直接进行维护(增加或修改某个功能),这只有在得到源代码的前提下才可能,而得到源代码有时是不可能的。这就限制了最终用户的特定要求和以后软件方便地升级。 导致缺点的原因(3) 3. 一个对象的二进制代码是与实现它的硬件环境、操作系统平台相关的,他们不能满足Internet上日益增长的移动计算的需要,不能在异质的环境中对它们进行复用。 因此,我们需要一种新的、不依赖于某种特定语言的、在二进制代码级可复用的软件“对象”,这种“对象”就是构件(Component) 1.6 软件技术发展方向 软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装,或者像建筑业一样,用各种建筑材料搭建成各式各样的建筑。 软件的构件化和集成技术的目标是:软件可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。 构件技术 构件技术是一种软件实现的技术和方法,是对面向对象方法在二进制代码级的完善和补充。构件是由接口构成的,它把接口和接口的实现分离开了。接口是独立于语言的一种描述,它将内部的实现以及接口到实现的映射都封装起来了,外界只能通过接口描述使用构件。因此,接口用哪种语言实现也就无关仅要了。 由此可见,接口是构件技术的核心,只有定义了统一的接口标准,各种语言编制的软件就可互操作了。目前,ISO并没有定义接口的国际标准,但有三家权威机构已定义了它们的接口标准,并取得了广泛的应用,下面分别介绍。 现有构件技术 (1) COM(Component Object Model,对象构件模型)COM是由Microsoft公司1993年推出的构件接口标准。目前已有大量的基于COM的构件可供复用,原则上讲这些构件可以建立在任何环境下,但现有的COM构件大多都依赖于Microsoft环境,在Unix、Mac OS等其它操作系统环境下可复用的构件还很少 . 现有构件技术 (2) JavaBean:Javasoft公司推出了它们自己的构件接口标准,利用Java特殊的byteCode机制,很好地解决了其它构件标准难以解决的平台依赖性问题是“一次性编写,在任意地方可运行,在任意地方可重用”。严格地讲,目前的JavaBean在不同语言之间提供的互操作性方面是很弱的,它只是提供了在Java环境下的二进制代码共享机制 现有构件技术 (3) CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构) CORBA是由OMG(对象管理组)1990年首次为了解决分布式、异质的软件和硬件环境下对象之间的互操作问题而提出的、基于中间件(middleware)的构件技术。 * * * * * * * * * * * * 第一章 软件的发展概况 1.1 计算机软件系统 1.1.1 软件的概念与特点 软件是由程序、数据及其相关文档三部分组成。 ① 程序:按照事先设计的功能和性能要求执行的计算机指令序列。 ② 数据:使程序能够正常操纵信息的数据结构。 ③ 文档:与程序开发、维护和使用有关的资料。 1.1 计算机软件系统 1.1.2 软件的分类 软件可以按功能、工作方式、服务对象进行划分,其中按软件功能可划分为: ② 支撑软件:又称为软件开发环境。是介于系统软件和应用软件之间的中间层软件,是支撑各种软件的开发与维护的软件。 ③ 应用软件:针对特定领域开发,为特定目的服务的软件。应用软件又可分为:应用软件包和用户程序。 ① 系统软件:能与计算机硬件紧密配合,使计算机系统的各个部件、相关的软件和数据协调、高效工作。主要包括:操作系统、驱动程序、各种语言解释程序和编译程序、各种服务性程序。 1.1 计算机软件系统 计算机软件系统中所包括的各种软件之间的关系不是并列的,而是有一定的层次关系。 1.1.3 计算机软件的层次结构 系统软

文档评论(0)

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

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

1亿VIP精品文档

相关文档