第9章面向对象方法学引论说课讲解

上传人:yuzo****123 文档编号:137407442 上传时间:2020-07-08 格式:PPT 页数:58 大小:713.50KB
返回 下载 相关 举报
第9章面向对象方法学引论说课讲解_第1页
第1页 / 共58页
第9章面向对象方法学引论说课讲解_第2页
第2页 / 共58页
第9章面向对象方法学引论说课讲解_第3页
第3页 / 共58页
第9章面向对象方法学引论说课讲解_第4页
第4页 / 共58页
第9章面向对象方法学引论说课讲解_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《第9章面向对象方法学引论说课讲解》由会员分享,可在线阅读,更多相关《第9章面向对象方法学引论说课讲解(58页珍藏版)》请在金锄头文库上搜索。

1、第9章 面向对象方法学引论,计算机与信息工程学院 梁 颖,问题: 生产率发展缓慢 社会需求 软件重用程度低 软件难于维护 软件不能满足用户的需要 (不一致+不稳定),传统方法学存在的问题,原因: 僵化的瀑布模型 模糊的需求 + 缺乏沟通 + 过时 结构化技术的缺点偏差 用户需求-功能 软件设计-过程,传统方法学存在的问题,如果在软件工程过程的早期和全程采用面向对象技术,则该技术将产生更多的优势。仅仅使用面向对象程序设计(OOP)将不会产生最好的结果,软件工程师及其管理者必须考虑面向对象需求分析(OORA)、面向对象设计(OOD)、面向对象领域分析(OODA) 等。 Edward Berard,

2、面向对象方法学的引入,面向对象方法的出发点: 尽可能地模拟人的思维方式去解决问题 以对象为中心: 特殊 归纳 -一般 - 演绎 -特殊 问题空间与解空间的矛盾 客观世界的动态特性解空间的复杂算法 运动与实体的统一 解空间程序与数据的分离,面向对象方法学的引入,面向对象方法学的要点: 客观世界都是由对象组成的。 所有的对象都可以划分为抽象的类。 可按照子类与父类的关系组成类的层次结构。 对象彼此间通过传递消息互相联系。,面向对象方法学的引入,Coad int value( ); 运算符重载:同一个运算符可以施加于不同类型的操作数上面。 如:两个整数使用+运算符表示它们要做加法,而两个字符串可以使

3、用+运算符则表示串连接。,基本概念,9.2 面向对象建模 模型:为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。 模型=图示符号+规则 利用符号和规则来定义和描述问题域中的术语和概念。,面向对象建模,面向对象方法开发软件,通常需要建立3种形式的模型: 对象模型:描述系统静态结构; 动态模型:描述系统控制结构; 功能模型:描述系统计算结构。,面向对象建模,9.3 对象模型描述系统数据结构 定义: 表示静态的、结构化的系统的“数据”性质。 是对模拟客观世界实体的对象以及对象彼此间关系的映射,描述了系统的静态结构。 表达: 建模语言:语言的优缺点;语言的细微差别,面向对象建模,创

4、始人 建模方法 James Rumbaugh OMT(对象建模技术) Ivar Jacobson OOSE(面向对象的软件工程) Grady Booch Booch(面向对象开发方法),面向对象建模,1996年6月,三位创始人设计出统一建模语言UML; 1997年,UML得到了业界的广泛采用,并被国际对象管理组织OMG采纳为基于面向对象技术的标准建模语言。,统一建模语言 (Unified Modeling Language,UML) UML是用来对软件密集系统进行可视化建模的一种语言。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 UML贯穿软件开发周期中的每一个

5、阶段。UML最适于数据建模,业务建模,对象建模,组件建模。 最常用的UML图包括:用例图、类图、 状态图、 序列图、活动图、组件图和部署图。,面向对象建模,9.3 对象模型 UML中的类图 9.3.1 类图的基本符号 类图:描述类及类与类之间的静态关系。 类命名规则: (1)使用标准术语; (2)使用具有确切含义的名词; (3)必要时用名词短语作名字。,对象模型,表示类的图,表示,定义属性: UML描述属性的语法格式如下: 可见性 属性名: 类型名=初值性质串 公有的 + 表示属性的数据类型 私有的 - 保护的 #,对象模型,该属性所有可能取值,定义服务: UML描述操作的语法格式如下: 可见

6、性 操作名(参数表): 返回值类型性质串 公有的 逗号分隔 私有的 的形式参 保护的 数序列 描述参数的语法如下: 参数名:类型名=默认值,对象模型,9.3.2 表示关系的符号 类图由类及类与类之间的关系组成 类与类之间有4种关系: 关联;泛化(继承);依赖;细化。,对象模型,(1)关联 两个类的对象之间存在某种语义上的联系 普通关联:只要类与类之间存在连接关系就可以用普通关联表示。 符号:连接两个类之间的直线。,对象模型,普通关联示例,注:、:关联方向。通常关联是双向的,关联方向上可以起名字。, 关联的角色:关联的对象所扮演的角色(即所起的作用)。 注:若没有显式标出角色名,则类名即角色名。

7、,对象模型,(递归)关联的角色, 限定关联:在一对多或多对多的关联关系中,将模型的重数从一对多变成一对一或从多对多简化成多对一的关联。,对象模型,一个受限的关联,限定词, 关联类:为了说明关联的性质需要附加信息,这些信息均记录在关联类中。关联中的每个连接与关联类的一个对象相联系。,对象模型,关联类实例,(2)聚集(聚合) 关联的特例,表示类与类之间的关系 是整体与部分的关系 聚集可分为三类: 一般聚集;共享聚集;组合聚集。,对象模型, 一般聚集:陈述需求时使用“包含”、“组成”、 “分为.部分”表达的聚集关系。 共享聚集:如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该

8、聚集称为共享聚集。,对象模型,共享聚集示例, 组合聚集:如果部分类隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失,则该聚集称为组合聚集。,对象模型,组合聚集示例,(3)泛化(继承) 通用元素和具体元素之间的一种分类关系 具体元素完全拥有通用元素的消息,还可附加一些其他信息。 符号:用一端为空心三角形的连线表示,三角形的顶端紧挨着通用元素。 分类:普通泛化和受限泛化。,对象模型, 普通泛化(与“继承”概念基本相同) 概念: 抽象类:没有具体对象的类称为抽象类,通常作为父类,用于描述其他类(子类)的公共属性和行为。 具体类:有自己的对象,并且该类的操作都有具体的实现方法。,对象模型,对

9、象模型,抽象类示例,在操作标记后跟一个性质串标明,对象模型,复杂类图示例, 受限泛化 可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。 预定义的约束有4种:多重、不相交、完全和不完全。这些约束均是语义约束。,对象模型,多重泛化:一个子类可以同时多次继承同一个上层基类。 不相交泛化:一个子类不能多次继承同一个基类。若图中没有指定多重约束,则是不相交泛化,一般的继承都是不相交继承。 完全泛化:父类的所有子类都已在类图中穷举出来了,图示符号是指定完全约束。 不完全泛化:父类的子类并没有都穷举出来,随着问题的深入,可不断补充和维护,方便系统日后的扩充

10、和维护。,对象模型,多重继承示例,(4)依赖和细化 依赖关系 描述两个模型元素之间的语义连接关系:其中一个模型元素是独立的,另一个则依赖于独立的模型元素,若独立的模型元素改变了将影响依赖于它的模型元素。,对象模型,友元依赖关系,指向独立的类, 细化关系 当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。 细化用来写调不同阶段模型之间的关系,表示各个开发阶段不同抽象层次的模型之间的相关性,常用于跟踪模型的演变。,对象模型,细化关系示例,箭头方向,9.4 动态模型 UML中的状态图 表示瞬时的、行为化的系统的“控制”性质,规定了对象模型中的对象的合法变化序列 状态:对象在生命(运行)

11、周期中所处的阶段,状态是对对象属性值的一种抽象。状态代表时间间隔。 事件:对象之间的触发行为称为事件。事件表示时刻。 状态与事件密不可分,一个事件分开两个状态,一个状态分隔两个事件。,动态模型,表示,9.5 功能模型 UML中的用例图 表示变化的系统的“功能”性质,指明了系统应该“做 什么”,直接反映了用户对目标系统的需求 用例图:进行需求分析和建立功能模型的强有力的工具。由用例图建立的系统模型称为用例模型。 用例模型:描述的是外部行为者所理解的系统功能,描述了开发者和用户对需求规格所达成的一致。,功能模型,表示,9.5.1 用例图 模型元素:系统、行为者、用例及用例间的关系。,功能模型,行为

12、者,系统,用例,用于划定系统的功能范围,定义了系统所具有的功能。,可以被行为者感受到的、系统的一个完整的功能。,与系统交互的人或其他系统,代表外部实体,用例与行为者的联系,用例是一个类,代表一类功能而不是使用该功能的某个实例。 用例的实例是一种实际使用方法,称为脚本。脚本是系统的一次具体执行过程。 用例的特征: (1)代表某些用户可见的功能,实现一个具体的目标; (2)被行为者启动,并向行为者提供可识别的值; (3)用例必须是完整的。 行为者代表一种角色,而不是某个具体的人或物。,功能模型,用例之间的关系 UML用例之间主要有扩展和使用两种关系,他们是泛化关系的两种不同形式。,功能模型,9.5

13、.2 用例建模 创建用例模型:定义系统、寻找行为者和用例、描述用例、定义用例之间的关系、确认模型。,功能模型,9.6 3种模型之间的关系 功能模型:系统应该“做什么”; 动态模型:明确规定系统执行某功能的时间; 对象模型:定义了执行功能的实体。(最基本最重要的) 3种模型之间的关系:见P219。,功能模型,练习: 面向对象的编程语言的出现以60年代的(A)为标志;80年代Xerox研究中心推出了(B)语言。面向对象分析与设计的实质是一种(C)的技术,其实质并不是从(D)或算法方面考虑,而是从(E)上来进行分解。 备选答案: A、B C+ Smalltalk SIMULA OMT C 系统建模 系统分解 D、E 结构 功能 方法 系统的组成 答案 32124,面向对象方法学导论, The End ,面向对象方法学引论,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号