欢迎来到天天文库
浏览记录
ID:52388548
大小:1.19 MB
页数:98页
时间:2020-04-05
《系统分析-类与类图.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/7/211第4讲类与类图2021/7/212内容提要类的定义类的表示:三部分类的关系:依赖、泛化、关联特殊类:接口,抽象类,参数化类建模指南对象图:“快照”1.类的概念2021/7/2141.1类的定义/1用例图定义了系统应该具备的功能,它描述了系统应该为用户解决的问题。交互图描述了此问题的解决方案,它定义了为解决此问题软件系统中必须设置的软件对象及其职责,这些对象及其职责或语义,是解决方案的概念或系统词汇(vocabulary)。类描述了一组对象的公共的结构和行为,类为对象规定了它们的结构和所能提供的服务(操作),相当于为对象图中规定的系统词汇提供了
2、严格的定义,包括系统词汇的:静态结构动态行为类构成了系统建造的基础2021/7/2151.1类的定义/2类的静态结构,在UML里用属性(attribute)描述类的动态行为,由操作(operation)描述交互是用例图提出的问题的解决方案,交互由对象和它们之间的消息的传递构成在交互中,对象为与它相连接的其它对象提供服务,对象本身会有状态的保持和转换在一个系统中,具有相同的结构和提供相同的服务的对象可能不止一个,它们可以参与在不同的交互中,提供类似的服务类是解决用例视图定义的问题的解决方案中必须具备的对象的抽象2021/7/2161.1类的定义/3一个类描述了一组
3、对象的公共的结构和行为类是真实世界的事物的抽象当这些事物存在于真实世界中时,它们是类的实例,并被称为对象同一个类的各对象具有相同的属性,提供相同的操作,具有相同的语义2021/7/2171.2类的表示类的图形表示:它是分为三个分隔区(compartment)的长方形。其中:顶端的分隔区为类的名字,下面两个分隔区为可省略的,分别可以列出类的属性和操作2021/7/2182021/7/2191.3类的命名类的名字是每个类所必有的构成,用于和其它类相区分类的名字可分为简单名字:简单名字是一个不包含冒号的字串复杂名字(路径名字):路径名是简单名字前面加上一个包含此类的所
4、在的模型包的名字,这两个名字之间用两冒号隔开TemperatureSensorWallBusinessRules::FraudAgentjava::awt::Rectsngle简单名字路径名字2.属性2021/7/21112.1属性的概念/1类不是孤立存在的,它的对象将参与一个或多个交互类捕获了系统实现方案中的概念或词汇,使得类代表某一类特定事物,具备特定的语义类的语义是对此对象代表的事物的性质的描绘,通过对事物性质的描绘,可以记录对象在交互过程中状态的变换,并可进一步决定对象在此状态下的行为例如:在基于窗口操作的操作系统中,处理窗口的对象描述窗口的尺寸、位置,
5、类型等性质,窗口的性质的不同取值又可以决定系统对鼠标操作的不同响应方式。2021/7/21122.1属性的概念/2类的属性,它是类的一个组成部分,描述了类在软件系统中代表的事物所具备的特征属性的定义在UML里,属性是类的一个具名的构成(namedproperty),它描述了此构成在类的实例中能具备的取值范围根据定义:类的属性首先是类的一个组成部分;其次,类每个属性都必须有一个名字,以区别于类的其它属性。为了定义属性的取值范围,必须为属性指定类型。例如:布尔类型的属性可以取两个值:TRUE和FALSE;字节型的属性只能取256个值当一个类的属性被完备地定义后,它的
6、任何一个对象的状态都被这些属性的特定取值所决定2021/7/21132.2属性的表示/1属性的图形表示:类的属性被列在其中的第二个分隔区中属性分隔区是可省略的当属性分隔区未被省略时:属性的名字必须出现属性的名字后面是它的类型类型和名字之间用冒号(:)分隔2021/7/21142.3属性的初始值属性的初始值:当类的一个对象被创建,它的各个属性就开始有特定的状态。有时,对象的初始状态对此对象参与的交互是有意义的。这时,有必要在对象的类中定义其对象的属性的初始值初始值的图形表示类的属性的初始值在属性的类型的后面指定初始值和类型之间用等号(=)分隔属性的初始值是可选的当
7、未为属性指定初始值时,属性的初值是不确定的2021/7/21152.4可省略的描述除了属性的名字之外,属性的其它描述都是可省略的,包括:类型、初值、可见性3.操作2021/7/21173.1操作的概念/1对象在交互中,存在着消息的交换消息是一个对象向另一个对象发送请求其提供服务的指令一个对象接收的各个不同的消息,构成了此对象的类能提供的服务的集合。类的操作就是对这些服务的具体规定,包括接收服务请求的格式以及类对合法请求所能提供的有效的服务的承诺如果把操作映射到C++语言,则操作就是C++的类的成员函数2021/7/21183.1操作的概念/2操作的定义:操作是一
8、个类所能提供的服务的实现
此文档下载收益归作者所有