• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 英语学习 > 正文

    面向对象系统分析的主要成果是什么 [浅析面向对象系统分析阶段软件复用模型]

    时间:2018-12-25 03:24:47 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要: 软件复用技术在软件开发过程中发挥着极其重要的作用。如何更好地应用软件复用技术,成为软件工程研究中的一项重要课题。文章通过总结分析当今的软件复用技术,提出了软件复用在系统分析阶段的应用,在此基础上提出了一种复用模型,并对此模型进行了较详细的分析。
      关键词: OOA阶段 软件复用 范式抽象 智能学习 范式库
      
      1. 引言
      
      随着计算机应用范围的扩大,人们对软件系统的需求越来越高,计算机软件作为一门学科也在迅速发展,相关技术和方法层出不穷,随之而来的软件规模越来越大,开发费用越来越高,开发的质量和效率不断降低的问题日益严重。针对这些日益复杂的矛盾,满足高质量、高效率地开发各种各样复杂、大型的软件系统的需求,消除所谓的“软件危机”,成为计算机软件学科所面临的重要课题。软件复用技术的提出成为一种解决这一危机的方案。近年来,面向对象方法和技术成为主流的软件开发技术,使得软件复用也成为解决软件危机一条切实可行的途径。与此同时,分布式系统、模型构件技术、自动生成技术又为软件复用注入了新的活力,本文主要针对面向对象系统分析阶段软件复用模型进行分析和探讨。
      
      2. 软件复用
      
      软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
      2.1软件复用的主要思想
      软件复用的主要思想是,将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的组件被建立起来以后,编写一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。
      2.2软件复用的特点和现状
      软件复用就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。软件复用不仅仅是对程序的复用,它还包括对软件生产过程中任何活动所产生的制成品的复用,如项目计划、可行性报告、需求定义、分析模型、设计模型、详细说明、源程序、测试用例等等。如果是在一个系统中多次使用一个相同的软件成分,则不称作复用,而称作共享;对一个软件进行修改,使它运行于新的软硬件平台也不称作复用,而称作软件移值。
      目前及近期的未来最有可能产生显著效益的复用是对软件生命周期中一些主要开发阶段的软件制品的复用,按抽象程度的高低,可以划分为如下的复用级别:
      2.2.1代码的复用
      包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久,当前大部分编程语言的运行支持系统都提供了连接(Link)、绑定(Binding)等功能来支持这种复用。源代码的复用级别略高于目标代码的复用,程序员在编程时把一些想复用的代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。想大规模地实现源程序的复用只有依靠含有大量可复用构件的构件库。
      2.2.2设计的复用
      设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少,从而使可复用构件被复用的机会更多,并且所需的修改更少。这种复用有三种途径,第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计;第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。
      2.2.3分析的复用
      这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某些问题的抽象程度更高的解法,受设计技术及实现条件的影响很少,所以可复用的机会更大。复用的途径也有三种,即从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档作输入产生针对不同软硬件平台和其它实现条件的多项设计;独立于具体应用,专门开发一些可复用的分析构件。
      2.2.4测试信息的复用
      主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试用例在新的软件测试中使用,或者在软件作出修改时在新的一轮测试中使用;后者是在测试过程中通过软件工具自动地记录测试的过程信息,包括测试员的每一个操作、输入参数、测试用例及运行环境等一切信息。这种复用的级别,不便和分析、设计、编程的复用级别作准确的比较,因为被复用的不是同一事物的不同抽象层次,而是另一种信息,但从这些信息的形态看,大体处于与程序代码相当的级别。
      
      3. 面向对象系统分析(OOA)阶段软件复用模型
      
      3.1 OOA阶段可重用性的本质
      编程阶段不同类型的编程软件和类有不同深度的可重用性:高深度、中深度、低深度。所谓高深度重用是指在不进行任何改变就可以直接使用重用产品的重用,像可视化开发工具中的所有控件就属于这方面的重用。目前,面向服务的软件开发技术中对服务的重用,只要程序员获得服务者提供的接口,就可以直接使用别人开发的产品,这种复用也是高深度的复用技术,因此高深度的软件复用,可重用性最好。所谓中深度的重用,程序员可以根据自己的开发经验,开发出一些比较通用的组件,在具体的使用中,对这些通用的组件只要稍作修改就可以应用于具体的项目中去,这种复用可重用性较好。当然,对于低深度的可重用性就于具体的项目相关,它只能局限于该项目,可重用性最差。由此可见,可重用性与业务逻辑的相关性是成反比例关系的:越是与业务逻辑无关的重用,重用性越好;反之则越差。
      OOA阶段,就是对具体项目的分析,关注的就是与具体项目相关的问题和对象,相对来说可重用性较差,但如果在分析中对建模构件注入重用的思想,就可以构建可重用性相对较高的建模构件,这样在构件足够多的情况下,将会大大提高系统分析的效率和科学性,这就是OOA阶段可重用性的本质。
      3.2 OOA阶段软件复用模型研究
      OOA阶段的软件复用,在一定程度上可以说是建立在许多优秀的系统分析员实践和经验基础之上的复用,是一种思想上的复用。在这个阶段的软件复用更具有通用性和重用性,因此,构造这个阶段的软件复用模型,可以使复用达到更好的效果。下面给出OOA阶段的软件复用模型:
      
      此模型主要的工作流程为:首先,系统分析师针对项目的需求说明书进行面向对象的系统分析(也就是OOA阶段),这个阶段所涉及的方法和技术已经相当成熟。通过有经验的系统分析师,构造出相当抽象的对象、行为、关系等模型。其次,对分析出的对象、行为、关系模型进行更进一步的抽象,总结出相对独立的、高重用的范式,这些范式成为OOA阶段软件复用的主题。再次,把智能学习系统引入范式库中,通过对范式库进行检索,如果找到已有的范式,可以直接利用这些范式进行下一步的分析和设计;如果找不到所要的范式,利用智能学习系统把范式加入范式库中,以利用以后分析的重用。上面的流程向我们展示在OOA阶段软件复用所涉及的问题和内容,下面针对这些问题和内容进行具体的研究:
      3.2.1范式抽象
      所谓范式就是抽象的解决方案模板,它可在不同具体项目中使用。范式抽象就是在此基础上提出的对范式的设计方法。针对不同的问题域,就应该有与之对应的设计方法,这样可以使范式的设计达到很高的重用性。针对OOA阶段具体现状,有三种范式抽象方法:
      3.2.1.1关系抽象
      在OOA阶段,针对具体的项目,会分析出大量的关系模型。例如在学校排课表系统中,需要定义教师类,它包括教师姓名、性别、职称等有关教师的基本信息,同时,为了便于教师很快得出自己的上课表,还需要定义一个与教师对应的教师课表类,这个类显示了一周中教师的课程安排情况;在网上购物系统中,需要定义一个购物者类,包括了购物者的相关信息,同时为了得到购物者所购的物品,还需定义一个购物车类,该类描述了购物者与所购买的物品的对应关系。这两个系统的具体业务是不同的,但教师类与教师课表类、购物者类与购物车类的关系却是基本相同的,都是一个实体对另一个实体的拥有关系,同样,所进行的操作也基本相同,诸如都涉及对所拥有实体的查询操作等。因此可将这种关系抽象出来,定义为拥有关系,然后在此关系的基础上定义相应的操作。这种关系就可以以范式的形式保存起来,在不同的项目中都可重用这种范式。同样,还可抽象出许多其他的关系范式,如实体―内容关系、上下级关系等。这些关系都是不依赖于具体的项目和业务的,可重复使用,只是在针对具体的业务时,在相关属性和方法上稍作修改就可以了。
      按照上述思想进行的范式抽象就可称为关系抽象,这种抽象依据的就是分析阶段的关系模型,抽象出的范式可称为关系范式。这种范式与具体项目之间的相似程度可以叫做关系相似性,关系相似性越高,重用的程度就越大。
      3.2.1.2相似对象抽象
      在不同项目的OOA阶段,还会分析出大量的相似对象或类,例如用户、用户组、角色、权限等在所有涉及权限管理的系统中都会出现这类对象;在一些相同领域的项目中,由于涉及的领域的标准化,有些对象的相似性以及相同的机率会更大。对于这些相似程度如此大的对象来说,由于其在项目开发中的相对独立性,把这些对象模型以范式的形式保存起来会使分析的结果得到更大的重用。
      按照上述思想进行的范式抽象称为相似对象抽象,这种抽象依据的是分析阶段的对象模型,这种对象模型具有独立的、高度的相似性,抽象出来的范式可称为对象范式。这种范式与具体项目之间的相似可称为表面相似性。表面相似越接近,范式的重用性就越大。
      3.2.1.3领域抽象
      所谓领域抽象是用于某一领域的抽象问题的解决方案。在同一个领域的项目开发过程中往往能够总结出更多的相似性,包括关系相似性和表面相似性,将二者相结合,可构建出与行业有关的构件。这种构件是建立在具体领域上的一种抽象,称为领域抽象。领域抽象的过程可借助领域工程的知识和方法。其中在OOA阶段主要用到了领域分析的方法。所谓领域分析是被称为领域工程更大的学科中的第一项技术活动。
      通过对上面几种范式抽象方式的探讨,我们发现OOA阶段的软件复用主要体现在从模型和思想上的复用,是一种底层的复用,这种复用对于软件的规范和标准化、行业的标准化都有重要的意义。
      3.2.2智能的范式库系统
      在OOA阶段软件复用模型中,对于范式库的构件也是主要的研究对象。范式库可以说是系统分析师们实践和经验的总结,是思想和智慧的结晶,对于这些成果的保存是极为重要的。对于这个问题的解决,本文提出了智能学习范式库的概念。所谓智能范式库,就是在对每一个项目的OOA阶段,通过范式抽象获取的范式可以直接通过范式库进行查找,如果找到可以直接利用范式库中有关此范式的所有信息进行下阶段的设计;如果找不到,系统分析人员就要重新进行设计,同时把设计出的成果保存在范式库中去。通过这个模型在通过多个项目的分析后,可重用性将大大提高,从而提高设计的效率。
      
      4. 总结
      
      本文通过对软件复用技术的分析,提出了一种面向对象系统分析阶段软件复用的模型,并对此模型中所涉及范式抽象方法做了分析,指出把它们应用于具体的项目中去很好地利用,大大提高了项目的完成速度。
      
      参考文献:
      [1]黄靖,赵海光.软件复用,软件合成与软件集成[J].计算机应用研究,2004年.
      [2]王丽娟.软件复用技术及其在软件开发中的应用[J].中山大学学报论坛,2004年第24卷第1期.
      [3]许天兵.一种面向对象的软件复用框架[J].微型电脑应用,2001年第17卷第10期.

    推荐访问:浅析 面向对象 复用 系统分析

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章