- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 第九章面向对象方法学引论.ppt
第 九 章 面向对象方法学引论 从一般意义上 讲,客观世界中的任何事物都可视为对象。它可以是有形的,也可以是无形的。 开发一个系统时,可以把在问题域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象。 它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。 9.3.2其他概念 1.类(Class) 人类习惯于把有相似特征的事物划分为一类,分类是人类认识客观世界的基本方法。 在面向对象的软件技术中,把具有相同数据和相同操作的一组相似对象也定义为一“类” 。 即抽象成对象类,简称类。 5.属性( Attribute) 属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。 类的每个实例都有自己特有的属性值。 在C++语言中把属性称为数据成员。 例如,Circle类中定义的代表圆心坐标、半径、颜色等的数据成员,就是圆的属性。 动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。 生命周期中的阶段就是对象的状态。 状态,是对对象属性值的一种抽象。 1、动态模型的基本术语: 1)事件 事件是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态 的现实世界中的事件的抽象。事件没有持续时间,是瞬间完成的。 事件也就是信息从一个对象到另一个对象的单向传送。 事件就是引起对象状态转换的控制信息。 2)状态 状态就是对象在其生命周期中的某个特定阶段所处的某种情形,它是对影响对象行为的属性值的一种抽象。 状态规定了对象对输人事件的响应方式。 状态有持续性,它占用一段时间间隔。 事件表示时刻,状态代表时间间隔。 3)行为:指对象达到某种状态时所做的一系列处理操作。 9.6.1 用例图 1.系统 系统被看作是一个提供用例的黑盒子,内部如何工作、用例如何实现,这些对于建立用例模型来说都是不重要的。 代表系统的方框的边线表示系统的边界,用于划定系统的功能范围,定义了系统所具有的功能。描述该系统功能的用例置于方框内,代表外部实体的行为者置于方框外。 2.用例 一个用例是可以被行为者感受到的、系统的一个完整的功能。 在UML中把用例定义成系统完成的一系列动作,这些动作除了完成系统内部的计算与工作外,还包括与一些行为者的通信。用例通过关联与行为者连接,关联指出一个用例与哪些行为者交互,这种交互是双向的。 用例具有下述特征: (1)用例代表某些用户可见的功能,实现一个具体的用户目标; (2)用例总是被行为者启动的,并向行为者提供可识别的值; (3)用例必须是完整的。 用例是一个类,它代表一类功能而不是使用该功能的某个具体实例。用例的实例是系统的一种实际使用方法,通常把用例的实例称为脚本。脚本是系统的一次具体执行过程。 3.行为者 行为者是指与系统交互的人或其他系统,它代表外部实体。使用用例并且与系统交互的任何人或物都是行为者。 行为者代表一种角色,而不是某个具体的人或物。 在用例图中用直线连接行为者和用例,表示两者之间交换信息,称为通信联系。 行为者触发(激活)用例,并与用例交换信息。单个行为者可与多个用例联系;反之,一个用例也可与多个行为者联系。 对于同一个用例而言,不同行为者起的作用也不同。可以把行为者分成主行为者和副行为者,还可分成主动行为者和被动行为者。 (1) 共享聚集 如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集。 例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是共享聚集关系. 图9.10 共享聚集示例 (2) 组合聚集 如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失(或失去存在价值了),则该聚集称为组合聚集(简称为组成)。 例如,在屏幕上打开一个窗口,它就由文本框、列表框、按钮和菜单组成,一旦关闭了窗口,各个组成部分也同时消失,窗口和它的组成部分之间存在着组合聚集关系。 图9.11 组合聚集示例 3. 泛化 UML中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系。 在UML中,用一端为空心三角形的连线表示泛化关系,三角形的顶角紧挨着通用元素。 泛化关系指出在类与类之间存在“一般-特殊”关系。 泛化可分成普通泛化和受限泛化。 (1) 普通泛化 普通泛化与9.2.2节中讲过的继承基本相同. 没有具体对象的类称为抽象类。抽象类通常作为父类,用于描述其他类(子类)的公共属性和行为。 图示抽象类时,在类名下方附加一个标记值{abstract}. 如图所示。 图9.12 抽象类示例 具体类有自己的对象,并且该类的操作都有具体的实现方法。 图9.13给出一个比较复杂的类图示例,这个例子综合应用了前面讲过的
文档评论(0)