学库吧 > 软件设计师 > 正文

软件设计师UML知识点:第七章类图 考研强化阶段:马哲

更新:2008-09-22 整理:www.xuekuba.com
字体:

[考研强化阶段:马哲知识点详解之第七章]社会发展和人的发展1 .社会发展的历史进程社会形态及其更替社会形态是指同生产力发展的一定阶段相适应的经济基础和上层建筑的统一体。社会形态的概念是马克思主义所特有的概念,它深刻地揭示了人类社会的本质结构及其发展的客观律,为我们正确分析社会现象、认识社会的本质和发展律提供了方法论指导,它要求我们全面地、具体地、历史地分析社会。马克思主义社会形态理论深刻地揭示了社会发展是......+阅读

软件设计师UML知识点:第七章类图

前言
  类图是在面向对象的系统模型中使用得最普遍的图。类图包含了一组类、接口和协作以及他们之间的关系。
  你使用类图来为系统的静态视图建模。通常这包括模型化系统的词汇(从系统的词汇表中发现类),模型化协作,或则模型化模式。类图还是一些相关的图的基础,包括组件图、分布图。
  类图的重要性不仅仅体现在为系统建立可视化的、文档化的结构模型,同样重要的是构建通过正向和反向工程建立执行系统。
  术语和概念
  类图:类图是一组类、接口和协作以及他们之间的关系构成的。
  类图通常包含如下的内容:
  l 类
  l 接口
  l 协作
  l 依赖关系、继承关系、关联关系
  同其他的图一样,类图也可以包含注解和限制。
  类图中也可以包含包和子系统,这两者用来将元素分组。有时后你也可以将类的实例放到类图中。
  注:组件图和分布图和类图类似,虽然他们不包含类而是分别包含组件和节点。
  你通常通过下面三种方式使用类图:
  1,为系统词汇建模型
  为系统的词汇建模实际上是从词汇表中发现类,发现它的责任。
  2,模型化简单的协作
  协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。例如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能只通过一个类来明白事务是怎样进行的,事实上这个过程的执行涉及到一系列的类的协同工作。使用类图来可视化这些类和他们的关系。
  3,模型化一个逻辑数据库模式
  想象模式是概念上设计数据库的蓝图。在很多领域,你将想保存持久性数据到关系数据库活面向对象的数据库。你可以用类图为这些数据库模式建立模型。
  通用建模技术
  没有类是单独存在的,他们通常和别的类协作,创造比单独工作更大的语义。因此,除了捕获系统的词汇以外,还要将注意力集中到这些类是如何在一起工作的。使用类图来表达这种协作。
  l 确定你建模的机制。机制代表了部分你建模的系统的一些功能和行为,这些功能和行为是一组类、接口和其他事物相互作用的结果。
  l 对于每个机制,确定类、接口和其他的参与这个协作的协作。同时确定这些事物之间的关系。
  l 用场景来预排这些事物,沿着这条路你将发现模型中忽略的部分和定义错误的部分。
  l 确定用这些事物的内容来填充它们。对于类,开始于获得一个责任(类的职责),然后,将它转化为具体的属性和方法。
  图 7-1 模型化简单的协作
  图7-1是一个自治机器人的类图。这张的图焦点聚集那些让机器人在路上行走的机制对应的类上。你可以发现一个虚类Motor和两个从它派生出来的类:SteeringMotor和MainMotor。这两个类都从它的父亲Motor继承了五个方法。这两个类又是另一个类Driver的一部分。类PathAgent和Driver有一个1对1的关系,和CollisionSensor有1对n的关系。
  在这个系统中其实还有很多其他的类,但这张图的重点是放在那些将机器人移动的类上的。在其他的图中你可能也会看到这些类。通过将焦点放在不通的功能上,可以获得从不通的角度对整个系统的认识,最终达到认识整个系统。
  很多系统都是有持久性数据的,也就是说要将这些数据保存到数据库中以便下一次使用。通常你会使用关系型数据库或面向对象的数据库,或其它类型的数据库来保存数据。UML很适合为逻辑数据库模式建模。
  UML的类图是E-R图(为逻辑数据库建模的通用工具)的超集,尽管E-R图的重点是数据,类图的扩展允许模型化行为。在物理数据库中这些逻辑操作一半转化为触发器或存储过程。
  确定那些状态比其生命周期要长的类。
  创建一张包含这些类的图,标记它们为持久性的。
  详细定义它们的属性。
  对于使得物理数据库设计复杂的模式如:循环关系、1对1关系、N元关系,考虑创建中间抽象来使得逻辑结构复杂。
  详细定义这些类的操作,特别是那些访问数据和涉及数据完整性的方法。
  如果可能的话使用工具来将你的逻辑设计转化为物理设计。
  

本文地址:http://www.xuekuba.com/view/13762059.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请给我们来信(willowduanall@hotmail.com),我们会及时处理和回复,谢谢.

类似推荐

软件设计师知识点:面向对象语言概论二4. Subsumption和Dynamic Dispatch (译者按:呵呵,黔驴技穷,找不到合适的翻译了)从上述的几个例子来看,似乎子类只是用来从父类借用一些定义,以避免重复。但是,当我们考虑到subsumption, 事情就有些不同了。什么是Subsumption呢?请看下面这个例子:var myCell: InstanceTypeOf(cell) := new cell;var myReCell: InstanceTypeOf(reCell) := new reCell;procedure f(x: InstanceTypeOf(cell)) is … end;再看下面这段码:myCe...
软件设计师UML知识点:第六章前言建模实际上是对真实世界进行简化,从而可以更好地理解你要开发的系统。使用UML中基本的建筑块如:类、接口、、协作、组件、依赖、继承等,可以建立你想要的模型。还可以利用第五章介绍的机制扩充UML来表达问题领域独特的东西。图是你这些建筑块的方式。图着一系列的元素,这些元素常常被画成用点(事物)和弧()相连的图。利用图来从不同的视角来观察系统。由于没有一个复杂的系统可以从一个图弄明白,UM...
软件设计师知识点:面向对象语言概论三传统的基于类的面向对象语言的一个主要特点就是inheritance, subclassing和subtyping之间的密不可分的。很多的面向对象语言的语法,概念,就是从这三者而来的。说,通过subclassing, 你可以继承父类的一些方法,而同时你又可以在子类中改写父类的方法。这个改写过的方法,通过subtyping, subsumption, 又可以从一个类型是父类的对象去调用。但是,inheritance, subclassing, subtyping这三者并不是永远和睦相处的。在一些...
软件设计师知识点:面向对象语言概论四四,彻底划清界限(继续分离Subclassing和Subtyping)在第二节我们讨论了部分分离Subclassing和subtyping的方法,即subclassing-implies-subtyping. 现今的多面向对象语言,如Ja, C#都是采用了这种技术。除此之外,还有一种进一步分离Subclassing和subtyping的方法。这种被称作inheritance-is-not-subtyping的方法通过完全割裂subclassing和subtyping之间的而在更大程度上方便了码的。它的产生很大程度上是由于人们想...
软件设计师面向对象知识点:类和对象类的实现的基本格式:class 类名 类声明{类体的内容}类体中包括:变量的定义 + 方法的定义。例:class Ladder 类声明{float a,b,h,ladderArea; 定义变量float area() 定义方法{float ladArea;ladArea=(a+b)*h/2.0f;return ladArea;}void setHeight(float newH) 定义方法{h=newH;}}成员变量和部变量成员变量:类体中,变量定义部分所定义的变量。部变量:类体中,方法体定义的变量和方法的参数。成员变量的作用范围:在整个类...
软件设计师UML知识点:第三章类类是具有相同属性、作、的对象集合的总称。通常在UML中类被画成矩形。名称每个类都必须有一个名字,用来分其它的类。类名是一个字符串,称为简单名字。路径名字是在类名前加包含类的包名为前缀。例如Wall、ja::awt::Wall都是合法的类名。属性属性是指类的命名的特性,常常一类取值。类可以有任意多个属性,也可以没有属性。在类图中属性只要写上名字就可以了。如下图也可以在属性名后跟上类型甚至缺省取值,如下图:...
2009年考研论知识点详解第七章1第一节 场经济一、场经济理论的提出和基本内涵(一)场经济的含义场经济是场机制在配置中起基础性作用的一种经济形式。它是商品充分发展的必然产物。场机制则是指构成场的各个基本要素(、供求、竞争)之间相、相互制约、相互作用的运动过程和调节功能。(二)场经济的提出和基本内涵场经济就是以生产公有制为基础,由场机制在配置中起基础性作用...
软件设计师上午知识点软件设计上午知识分析近三年的考试情况,上午试题的知识分布如表1所示。 表1 近三年上午试题考核内容分布情况 题目编号 考核内容 1-6 计算机基础知识 7-9 10-11 标准化与知识产权 12-14 多媒体技术 15-19 软件开发基础知识 20-22 程序设计语言知识 23-28 作系统基础知识 29-36 软件过程、软件质量管理、文档与软件维护、软件测试 37-47 面向对象技术、UML、设计模式 48-50 程序语言基础知识 51-56 数据库系统基础...
软件设计师面向对象知识点:面向对象系统的特性面向对象系统最突出的特性就是封装性、继承性和多态性。衡量某一种程序设计语言,看它是否是面向对象的程序设计语言,主要看它是否具有这三种特性。在这一章中我们将对它们逐个地进行分析。3.1 封 装 性3.1.1 什么是封装从字面上理解,封装就是将某事物包围起来,使外界不知道其实际内容。在程序设计中,封装是指将一个数据和与这个数据有关的作集合放在一起,形成一个能动的实体 ---- 对象,不必知道对象行为的实现细节...