软件工程面向对象.ppt

上传人:p** 文档编号:165992 上传时间:2023-03-10 格式:PPT 页数:68 大小:745.50KB
下载 相关 举报
软件工程面向对象.ppt_第1页
第1页 / 共68页
软件工程面向对象.ppt_第2页
第2页 / 共68页
软件工程面向对象.ppt_第3页
第3页 / 共68页
软件工程面向对象.ppt_第4页
第4页 / 共68页
软件工程面向对象.ppt_第5页
第5页 / 共68页
软件工程面向对象.ppt_第6页
第6页 / 共68页
软件工程面向对象.ppt_第7页
第7页 / 共68页
软件工程面向对象.ppt_第8页
第8页 / 共68页
软件工程面向对象.ppt_第9页
第9页 / 共68页
软件工程面向对象.ppt_第10页
第10页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程面向对象.ppt》由会员分享,可在线阅读,更多相关《软件工程面向对象.ppt(68页珍藏版)》请在第壹文秘上搜索。

1、面向对象导论29.2.2 其他概念1. 类(class)v类是对具有相同属性和行为的一个或多个对象的描述2. 实例(instance)v实例就是由某个特定的类所描述的一个具体的对象。3. 消息(message)v消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述3部分组成:v接收消息的对象;v消息选择符(也称为消息名);v零个或多个变元。4. 方法(method)v方法就是对象所能执行的操作,也就是类中所定义的服务。5. 属性(attribute)v属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。6. 封装(encapsulation)v

2、从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。v信息隐藏v代码重用对象具有封装性的条件如下:v(1) 有一个清晰的边界。v(2) 有确定的接口(即协议)。v(3) 受保护的内部实现。7. 继承(inheritance)v在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。v继承具有传递性。v多重继承要注意避免二义性。8. 多态性(polymorphism)9. 重载(overloading)有两种重载:v函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;v运算符重载是指同一个运算符可以施加于不同类型的操作数上面。方法的

3、覆盖(Override) 如果子类中,定义的一个方法,其名称、返回类型、以及参数与父类中的某个方法相匹配,则该子类重写的父类的方法。 覆盖方法必须满足以下条件。 1、 子类方法的名称、参数、返回类型必须与父类方法一致。 2、 子类方法不能缩小父类方法的访问权限。 3、 子类方法不能抛出比父类方法更多的异常。也就是说子类方法抛出的异常必须与父类方法抛出的异常相同或者是子类方法抛出的异常是父类抛出异常的子类。 4、 方法的覆盖只能存在与父类与子类,同一类中只存在方法的重载,不存在方法的覆盖。 5、 父类中的私有方法不能补覆盖。 6、 父类中的非抽象方法,可以被覆盖为抽象方法。 vBooch,Rum

4、baugh和和Jacobson经过合作研经过合作研究,于究,于1996年年6月设计出统一建模语言月设计出统一建模语言UML 0.9。v在在1996年年底,年年底,UML已经稳定地占领了面向已经稳定地占领了面向对象技术市场的对象技术市场的85%,成为事实上的工业标,成为事实上的工业标准。准。v1997年年11月,国际对象管理组织月,国际对象管理组织OMG批准批准把把UML 1.1作为基于面向对象技术的标准建作为基于面向对象技术的标准建模语言。模语言。9.4.1 类图的基本符号类图的基本符号v类图描述类及类与类之间的静态关系,是一类图描述类及类与类之间的静态关系,是一种静态模型。种静态模型。1.

5、定义类定义类2. 定义属性定义属性UML描述属性的语法格式如下:描述属性的语法格式如下:v属性名:属性名: 类型名类型名=初值初值性质串性质串v属性的可见性(即可访问性)通常有下述属性的可见性(即可访问性)通常有下述3种:种:公有的公有的(public)、私有的、私有的(private)和保护的和保护的(protected),分别用加号(,分别用加号(+)、减号()、减号(-)和井号(和井号(#)表示。)表示。v属性名和类型名之间用冒号(:)分隔。属性名和类型名之间用冒号(:)分隔。v3. 定义服务定义服务9.4.2 表示关系的符号表示关系的符号v类与类之间通常有关联、泛化(继承)、依类与类之

6、间通常有关联、泛化(继承)、依赖和细化等赖和细化等4种关系。种关系。1. 关联关联v关联表示两个类的对象之间存在某种语义上关联表示两个类的对象之间存在某种语义上的联系。的联系。(1) 普通关联普通关联v普通关联是最常见的关联关系,只要在类与普通关联是最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示。类之间存在连接关系就可以用普通关联表示。在表示关联的直线两端可以写上重数在表示关联的直线两端可以写上重数(multiplicity),它表示该类有多少个对象),它表示该类有多少个对象与对方的一个对象连接。重数的表示方法通与对方的一个对象连接。重数的表示方法通常有:常有:v01 表示

7、表示0到到1个对象个对象v0*或或* 表示表示0到多个对象到多个对象v1+或或1*表示表示1到多个对象到多个对象v115 表示表示1到到15个对象个对象v3 表示表示3个对象个对象如果图中未明确标出关联的重数,则默认重数如果图中未明确标出关联的重数,则默认重数是是1。(2) 关联的角色关联的角色v在任何关联中都会涉及到参与此关联的对象在任何关联中都会涉及到参与此关联的对象所扮演的角色(即起的作用)所扮演的角色(即起的作用)v(3) 限定关联限定关联(4) 关联类关联类v为了说明关联的性质可能需要一些附加信息。为了说明关联的性质可能需要一些附加信息。可以引入一个关联类来记录这些信息。可以引入一个

8、关联类来记录这些信息。2. 聚集聚集v聚集也称为聚合,是关联的特例。聚集表示聚集也称为聚合,是关联的特例。聚集表示类与类之间的关系是整体与部分的关系。类与类之间的关系是整体与部分的关系。(1) 共享聚集共享聚集v如果在聚集关系中处于部分方的对象可同时如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集参与多个处于整体方对象的构成,则该聚集称为共享聚集。称为共享聚集。(2) 组合聚集组合聚集v如果部分类完全隶属于整体类,部分与整体如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失(或共存,整体不存在了部分也会随之消失(或失去存在价值了),则该聚集称为

9、组合聚集失去存在价值了),则该聚集称为组合聚集(简称为组成)。(简称为组成)。3. 泛化泛化vUML中的泛化关系就是通常所说的继承关系中的泛化关系就是通常所说的继承关系v(1) 普通泛化普通泛化(2) 受限泛化受限泛化v可以给泛化关系附加约束条件,预定义的约可以给泛化关系附加约束条件,预定义的约束有束有4种:种: 多重、不相交、完全和不完全。多重、不相交、完全和不完全。4. 依赖和细化依赖和细化v(1) 依赖关系依赖关系v依赖关系描述两个模型元素(类、用例等)依赖关系描述两个模型元素(类、用例等)之间的语义连接关系之间的语义连接关系(2) 细化关系细化关系v当对同一个事物在不同抽象层次上描述时

10、,当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。这些描述之间具有细化关系。9.6.1 用例图用例图1. 系统系统v代表系统的方框的边线表示系统的边界,用代表系统的方框的边线表示系统的边界,用于划定系统的功能范围,定义了系统所具有于划定系统的功能范围,定义了系统所具有的功能。的功能。2. 用例用例v一个用例是可以被行为者感受到的、系统的一个用例是可以被行为者感受到的、系统的一个完整的功能。一个完整的功能。用例具有下述特征:用例具有下述特征:v(1) 用例代表某些用户可见的功能,实现用例代表某些用户可见的功能,实现一个具体的用户目标;一个具体的用户目标;v(2) 用例总是被行为者

11、启动的,并向行为用例总是被行为者启动的,并向行为者提供可识别的值;者提供可识别的值;v(3) 用例必须是完整的。用例必须是完整的。v什么是用例?3. 行为者行为者v行为者是指与系统交互的人或其他系统,它行为者是指与系统交互的人或其他系统,它代表外部实体。代表外部实体。v行为者代表一种角色,而不是某个具体的人行为者代表一种角色,而不是某个具体的人或物。事实上,一个具体的人可以充当多种或物。事实上,一个具体的人可以充当多种不同角色。不同角色。v在用例图中用直线连接行为者和用例,表示两者之间交换信息,称为通信联系。v可以先列出行为者清单,再针对每个行为者列出它的用例。4. 用例之间的关系(1) 扩展

12、关系v向一个用例中添加一些动作后构成了另一个用例,这两个用例之间的关系就是扩展关系(2) 使用关系v当一个用例使用另一个用例时,这两个用例之间就构成了使用关系。1. 寻找行为者v谁将使用系统的主要功能(主行为者)?v谁来维护和管理系统(副行为者)?v系统控制哪些硬件设备?v系统需要与哪些其他系统交互?v哪些人或系统对本系统产生的结果(值)感兴趣?2. 寻找用例v行为者需要系统提供哪些功能?行为者自身需要做什么?v系统需要哪些输入输出?输入来自何处?输出到哪里去?对象图v对象图描述的是参与交互的各个对象在交互过程中某一时刻的状态。v对象图显示的是某一时刻相关的一组成员的集合。顺序图 v顺序图将交

13、互关系表示为一个二维图。 v纵向是时间轴 v横向轴代表了在协作中各独立对象的类元角色 v时序图强调的是消息间的时间顺序。协作图v协作图用于显示组件及其交互关系的空间组织结构,它并不侧重交互的顺序。v协作图显示的是对象之间的关系 v协作图并没有将时间作为一个单独的维度 协作图具有以下用途: v通过描绘对象之间消息的移动情况来反映具体的方案 v显示对象及其交互关系的空间组织结构,而非交互的顺序 状态图 v 状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应 状态机 v避免“黑洞”状态。 v避免“奇迹”状态。 活动图vUML 活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!