类是一组具有相同数据结构和相同操作的对象的集合。灵活运用方法重载,可以满足同一类的不同对象多样化的要求。通过方法重载,可以满足形状的多种求面积的算法。但如果方法重载使用不当,程序就会出错。使用方法重载时,参数的名称和返回类型不参与比较。抽象类的声明如下所示:......
2023-11-23
类之间关系最常用的有四种:依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization)。
1.依赖关系
依赖关系是指一个元素(提供者)的某些改变会影响到其他元素(客户)。例如,UML中表示两个类的依赖关系如图9-6所示。动物有两大特征:新陈代谢,能繁殖。动物要有生命,需要氧气、水、食物等,所以动物依赖于氧气和水,它们之间是依赖关系,用带箭头的虚线表示。
2.泛化关系
泛化关系是一种存在于一般元素和特殊元素间的分类关系,它可以用于类、用例以及其他模型元素。注意:虽然实例间接受到类的影响,但泛化关系只用在类上,而不是实例上。一个类可以继承另一个类,但一个对象不能继承另一个对象。
在UML中,泛化关系用一条从子类指向父类的带空心三角箭头的实线表示。一般元素被称作超类或父类,特殊元素被称作子类。如图9-7所示,鸟和动物之间是泛化关系。
图9-6 依赖关系示例
图9-7 泛化关系示例
3.关联关系
关联关系是一种结构关系,它指明一个类与另一个类之间的联系,最普通的关联是二元关联。在UML中,关联关系用一条连接两个类的实线表示。
除了关联的基本形式,为了更详细地描述关联关系,有几种应用于关联的修饰:名称、角色(Role)、多重性。
(1)名称
关联可以有个名称,用以描述关联的性质。通常用动词或动词短语来命名关联,如图9-8所示。
(2)角色
角色是关联关系中一个类对另一个类表现出的职责,它的名称是名词或名词短语,用以解释对象是如何参与关系的,如图9-9所示,并且对角色名称使用了可见性符号。
图9-8 关联的名称
图9-9 关联的角色
(3)多重性(www.chuimin.cn)
多重性是UML的一种约束,赋给一个端点的多重性,表示该端点可以有多少对象与另一个端点的一个对象关联。多重性的语法见表9-1。
表9-1多重性语法示例
如图9-9所示,某段时间一个学生只能在一个学校学习,一个学校可以有多个学生。
关联关系分为一般关联(Association)、聚合(Aggregation)和组合(Composition)关系。
(1)关联关系
这是最常见的二元关系。例如企鹅与气候有很大的关系,企鹅需要知道气候的变化,需要了解气候的规律。当一个类“知道”另一个类时,可以用关联关系。
(2)聚合关系
聚合关系是一种特殊类型的关联,表示整体与部分的关系。聚合关系表示一种弱的“拥有”关系,体现的是A类可以包含B类,但B类不是A类的一部分。在UML中,聚合关系用带空心菱形的实线表示,头部指向整体,箭头指向部分。如图9-10所示,大雁是群居动物,每个大雁属于一个雁群,每个雁群有很多只大雁。它们之间满足聚合关系。
图9-10 聚合关系示例
(3)组合关系
组合关系是一种强的“拥有”关系,体现了严格的整体和部分的关系,整体和部分的生命周期一样。组合关系用实心的菱形加实线箭头表示。另外,组合关系的连线两端还有一个数字“1”和“2”,被称为基数,表明这一端的类可以有几个实例。如图9-11所示,“鸟”和“翅膀”是整体和部分的关系,并且鸟和翅膀的生命周期是相同的,所以两者是组合关系。很显然,一只鸟应该有两个翅膀。如果一个类可能有无数个实例,就用“n”来表示。关联关系和聚合关系也是可以有基数的。
图9-11 组合关系示例
4.实现关系
实现关系通常用在两种情况:接口和实现接口的类之间,用例以及实现该用例的协作之间。
在UML中,实现关系的符号与泛化关系的符号类似,用一条带指向接口的空心三角箭头的虚线表示。泛化关系用一条带指向接口的空心三角箭头的实线表示,如图9-12所示。因为接口还有棒棒糖表示法,所以实现接口的方法有两种。
图9-12 实现关系示例
有关信息系统开发方法与实践教程的文章
类是一组具有相同数据结构和相同操作的对象的集合。灵活运用方法重载,可以满足同一类的不同对象多样化的要求。通过方法重载,可以满足形状的多种求面积的算法。但如果方法重载使用不当,程序就会出错。使用方法重载时,参数的名称和返回类型不参与比较。抽象类的声明如下所示:......
2023-11-23
UML是一种通用建模语言,它本身具有的可扩展性使其不仅可以用于软件系统开发各个阶段的建模,也可以用于商业和其他几乎所有类型的建模。总体来说,UML由以下几个部分构成。模型元素UML中的模型元素包括事物以及事物之间的联系。通用机制UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。UML的组成结构如图6-1所示。图6-1 UML结构图用例图和类图是面向对象系统开发的重点内容。......
2023-11-23
信息系统的开发具有长期性、复杂性和风险性,需要科学的方法论作指导。常用的信息系统开发方法有结构化系统开发方法、面向对象系统开发方法和原型法三种。像决策支持系统这种具有开发性而无固定需求范围的系统,更适合用原型法进行开发。图1-15 原型法的开发过程本书的第2~5章主要讲述的是结构化的系统开发方法;第6~15章,主要介绍的是面向对象的系统开发方法。......
2023-11-23
如图9-2所示,显示了图书管理系统中书的类。图9-2 类的示例隐藏属性部分和操作部分,并不代表没有属性或操作,只是没有显示出来。在UML中,属性的语法为:[可见性]属性名[:类型][=初始值][{属性字符串}]]内的部分表示是可选的。UML中不存在默认的可见性,如果没有显示任何符号,则表示没有定义该属性的可见性。在UML中,接口的表示方法有两种,如图9-5所示。......
2023-11-23
用例是一组动作序列的描述,系统执行这些动作,并产生传递参与者意愿的可观察结果。用例的名字是一个字符串,分为简单名和路径名两种方式。用例Mainte nance是属于包Business的。基于这些参与者及其需求,通过回答前面的问题,可以建立如下用例:●记录成绩。......
2023-11-23
继承是指子类可以自动拥有父类的全部属性和操作。另外如图7-2所示,表示出了几种类之间的继承关系,位于上层的类是下层类的直接或间接父类,最下层是几种类实例化成的对象。图7-1 继承的描述图7-2 继承的例子继承性又分为单重继承和多重继承两类。单重继承时一个子类只能有一个父类,多重继承时一个子类可以有多于一个的父类。单重继承构成的类之间关系是一棵树,多重继承构成的类之间的关系是一个图。继承具有传递性。......
2023-11-23
这一阶段的任务主要由系统分析员来完成。系统分析阶段是系统详细开发的关键性阶段,关键在于“理解”和“表达”。这是对系统进行概要描述的工具,是系统分析的核心内容。......
2023-11-23
相关推荐