软件工程学—面向对象方法学引论.pptVIP

  • 10
  • 0
  • 约1.85万字
  • 约 149页
  • 2022-03-21 发布于湖南
  • 举报
图9.10 共享聚集示例 为了更好地理解问题,人们常常采用建立问题模型的方法。所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。更进一步讲,模型是一种思考工具,利用这种工具可以把知识规范地表示出来。 模型可以帮助我们思考问题、定义术语、在选择术语时作出适当的假设,并且可以帮助我们保持定义和假设的一致性。 9.3 面向对象建模 为了开发复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。对于那些因过分复杂而不能直接理解的系统,特别需要建立模型,建模的目的主要是为了减少复杂性。人的头脑每次只能处理一定数量的信息,模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少系统的复杂程度。 在对目标系统进行分析的初始阶段,面对大量模糊的、涉及众多专业领域的、错综复杂的信息,系统分析员往往感到无从下手。模型提供了组织大量信息的一种有效机制。 一旦建立起模型之后,这个模型就要经受用户和各个领域专家的严格审查。由于模型的规范化和系统化,因此比较容易暴露出系统分析员对目标系统认识的片面性和不一致性。通过审查,往往会发现许多错误,发现错误是正常现象,这些错误可以在成为目标系统中的错误之前,就被预先清除掉。 通常,用户和领域专家可以通过快速建立的原型亲身体验,从而对系统模型进行更有效的审查。模型常常会经过多次必要的修改,通过不断改正错误的或不全面的认识,最终使软件开发人员对问题有了透彻的理解,从而为后续的开发工作奠定了坚实基础。 用面向对象方法成功地开发软件的关键,同样是对问题域的理解。面向对象方法最基本的原则,是按照人们习惯的思维方式,用面向对象观点建立问题域的模型,开发出尽可能自然地表现求解方法的软件。 用面向对象方法开发软件,通常需要建立3种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。这3种模型都涉及到数据、控制和操作等共同的概念,只不过每种模型描述的侧重点不同。这3种模型从3个不同但又密切相关的角度模拟目标系统,它们各自从不同侧面反映了系统的实质性内容,综合起来则全面地反映了对目标系统的需求。一个典型的软件系统组合了上述3方面内容:它使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。 为了全面地理解问题域,对任何大系统来说,上述3种模型都是必不可少的。当然,在不同的应用问题中,这3种模型的相对重要程度会有所不同,但是,用面向对象方法开发软件,在任何情况下,对象模型始终都是最重要、最基本、最核心的。在整个开发过程中,3种模型一直都在发展、完善。在面向对象分析过程中,构造出完全独立于实现的应用域模型;在面向对象设计过程中,把求解域的结构逐渐加入到模型中;在实现阶段,把应用域和求解域的结构都编成程序代码并进行严格的测试验证。 下面分别介绍上述3种模型。 对象模型表示静态的、结构化的系统的“数据”性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。正如9.1节所述,面向对象方法强调围绕对象而不是围绕功能来构造系统。对象模型为建立动态模型和功能模型,提供了实质性的框架。 9.4 对象模型 在建立对象模型时,我们的目标是从客观世界中提炼出对具体应用有价值的概念。 为了建立对象模型,需要定义一组图形符号,并且规定一组组织这些符号以表示特定语义的规则。也就是说,需要用适当的建模语言来表达模型,建模语言由记号(即模型中使用的符号)和使用记号的规则(语法、语义和语用)组成。 一些著名的软件工程专家在提出自己的面向对象方法的同时,也提出了自己的建模语言。但是,面向对象方法的用户并不了解不同建模语言的优缺点,很难在实际工作中根据应用的特点选择合适的建模语言,而且不同建模语言之间存在的细微差别也极大地妨碍了用户之间的交流。面向对象方法发展的现实,要求在精心比较不同建模语言的优缺点和总结面向对象技术应用经验的基础上,把建模语言统一起来。 曾对面向对象方法学的发展做出过重要贡献的Booch,Rumbaugh和Jacobson经过合作研究,于1996年6月设计出统一建模语言UML 0.9。截止到1996年10月,在美国已有700多家公司表示支持采用UML作为建模语言,在1996年年底,UML已经稳定地占领了面向对象技术市场的85%,成为事实上的工业标准。1997年11月,国际对象管理组织OMG批准把UML 1.1作为基于面向对象技术的标准建模语

文档评论(0)

1亿VIP精品文档

相关文档