软件工程导论面向对象方法学引论

软件工程导论面向对象方法学引论

ID:38681286

大小:1.10 MB

页数:55页

时间:2019-06-17

软件工程导论面向对象方法学引论_第1页
软件工程导论面向对象方法学引论_第2页
软件工程导论面向对象方法学引论_第3页
软件工程导论面向对象方法学引论_第4页
软件工程导论面向对象方法学引论_第5页
资源描述:

《软件工程导论面向对象方法学引论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程导论 第14课9.4.2表示关系的符号9.4.2表示关系的符号类与类之间通常有关联、泛化(继承)、依赖和细化等4种关系1关联关联表示两个类的对象之间存在某种语义上的联系9.4.2表示关系的符号普通关联:最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示。例如,作家使用计算机,我们就认为在作家和计算机之间存在某种语义连接,因此在类图中应该在作家类和计算机类之间建立关联关系黑三角表示关联方向(2)关联的角色在任何关联中都会涉及到参与此关联的对象所扮演的角色,在某些情况下显式标明角

2、色名有助于别人理解类图例:一个人与另一个人结婚,必然一个人扮演丈夫的角色,另一个人扮演妻子的角色。如果没有显式标出角色名,则意味着用类名作为角色名。(3)限定关联(3)限定关联(3)限定关联限定关联通常在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或从多对多简化成多对一例如,某操作系统中一个目录下有许多文件,一个文件仅属于一个目录,在一个目录内文件名确定了惟一一个文件。可见,利用限定词把一对多关系简化成了一对一关系图9.7查找目录->文件名->文件(4)关联类①为了说明关联的性质

3、可能需要一些附加信息,可以引入一个关联类来记录这些信息。②关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。图9.8有4个连接,每个连接都对应一个队列2聚集聚集也称为聚合,是关联的特例。聚集表示类与类之间的关系是整体和部分的关系。在陈述需求时使用的“包含”、“组成”、“分为……部分”等字句,往往意味着存在聚集关系。除了一般聚集之外,还有两种特殊的聚集关系,分别是共享聚集和组合聚集。(1)共享聚集如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚

4、集。一般聚集和共享聚集的图示符号,都是在表示关联关系的直线未端,紧挨整体类的地方画一个空心的菱形(2)组合聚集如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失(或失去存在的价值了),则该聚集称为组合聚集(简称为组成)。例如,在屏幕上打开一个窗口,它由文本框、列表框、按钮和菜单组成,一旦关闭了窗口,各个组成部分也同时消失,窗口和它的组成部分之间存在着组合聚集关系组成关系用实心菱形表示3泛化在UML中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系。具体元

5、素完全拥有通用元素的信息,并且还可以附加一些其他信息。③泛化针对类型而不针对实例,一个类可以继承另一个类,但一个对象不能继承另一个对象。④实际上,泛化关系指出在类与类之间存在“一般-特殊”关系。⑤泛化可进一步划分成普通泛化和受限泛化。(1)普通泛化需要特别说明的是没有具体对象的类称为抽象类抽象类通常作为父类,用于描述其他类(子类)的公共属性和行为。图示抽象类时,在类名下方附加一个标记值{abstract}操作的图示方法,在标记后面跟一个性质串{abstract}例子:一副工程蓝图由许多图形组成,图形可

6、以是直线,圆,多边形或组合图,而多边形由直线组成,组合图由各种线型混合而成(2)受限泛化可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化预定义的约束有4种:多重,不相交,完全和不完全,这些约束都是语义约束。多重继承指的是,一个子类可以同时多次继承同一个上层基类。与多重继承相反是不相交继承完全继承指的是父类的所有子类都已在图中穷举不完全继承指的是父类的所有子类没有都穷举出来4依赖和细化(1)依赖关系:依赖关系描述两个模型元素之间的语义连接关系,其中一个模

7、型元素是独立的,另一个模型元素不是独立的,如果独立的模型元素改变,将影响依赖于它的模型元素。箭头指向独立的类(2)细化关系:当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。箭头由更详细层指向上层9.5动态模型动态模型表示瞬时的,行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。状态是任何可以被观察到的系统行为模式,每个类的动态行为用一张状态图来描绘各个类的状态图通过共享事件合并起来,从而构成系统的动态模型动态模型是基于事件共享而互相关联的一组状态图的集合动态模型的

8、三要素:①事件(event):引发对象状态改变的控制信息(瞬时)②状态(status):即对象的属性所处的情形(可持续)③行为(action):对象要达到某种状态所做的操作(耗时)注意:状态图:适合描述跨越多个用例的单个对象的行为,不适合描述多个对象之间的协作行为不应对系统中的每个类都画状态图,而只应对某些关键类建立状态图;而且应将状态图与其它技术组合使用9.6功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。