第8章-面向对象设计课件.ppt

上传人(卖家):晟晟文业 文档编号:4414717 上传时间:2022-12-07 格式:PPT 页数:27 大小:2.19MB
下载 相关 举报
第8章-面向对象设计课件.ppt_第1页
第1页 / 共27页
第8章-面向对象设计课件.ppt_第2页
第2页 / 共27页
第8章-面向对象设计课件.ppt_第3页
第3页 / 共27页
第8章-面向对象设计课件.ppt_第4页
第4页 / 共27页
第8章-面向对象设计课件.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、 吉林大学管理学院 2010教学重点教学重点 掌握通过统一建模语言进行面向对象掌握通过统一建模语言进行面向对象分析分析 理解设计活动包括的四个方面理解设计活动包括的四个方面 掌握面向对象设计的基本原则掌握面向对象设计的基本原则 能够将分析模型转变为设计模型能够将分析模型转变为设计模型 吉林大学管理学院 20108.1 面向对象分析面向对象分析8.1.1 优化用例模型优化用例模型 为了文件管理以及用户阅读,我们还会生成参与为了文件管理以及用户阅读,我们还会生成参与者词汇表、用例词汇表和用例描述表。者词汇表、用例词汇表和用例描述表。表表8-1 8-1 参与者词汇表参与者词汇表编号编号词汇词汇同义词

2、同义词描述描述表表8-2 8-2 用例词汇表用例词汇表编号编号用例名称用例名称用例描述用例描述参与者参与者 吉林大学管理学院 2010表表8-3 8-3 用例描述表的高层版本用例描述表的高层版本作者:作者:_ 日期:日期:_ 版本:版本:_用例名称用例名称 用例类型:用例类型:业务需求:业务需求:系统分析系统分析 用例用例IDID优先权优先权来源来源主要业务参与者主要业务参与者其他业务参与者其他业务参与者其他有利益的关其他有利益的关联人员联人员描述描述 吉林大学管理学院 2010表表8-4 用例描述表的扩展版本用例描述表的扩展版本 作者:作者:_ 日期:日期:_ 版本:版本:_用例名称用例名称

3、用例类型:用例类型:业务需求:业务需求:系统分析系统分析:用例用例IDID优先权优先权来源来源主要业务参与者主要业务参与者其他业务参与者其他业务参与者其他有利益的关联人员其他有利益的关联人员描述描述前置条件前置条件触发器触发器典型事件过程典型事件过程参与者动作参与者动作系统响应系统响应替代事件过程替代事件过程结论结论后置条件后置条件业务规则业务规则实现约束和说明实现约束和说明假设假设开放问题开放问题 吉林大学管理学院 2010为了进行对象建模,需要将业务需求用例模为了进行对象建模,需要将业务需求用例模型转换成分析用例模型。型转换成分析用例模型。1确定、定义并记录新的参与者确定、定义并记录新的参

4、与者2确定、定义并记录新的用例确定、定义并记录新的用例3确定任何复用的可能性确定任何复用的可能性4细化用例模型图细化用例模型图5记录系统分析用例描述记录系统分析用例描述6记录抽象用例描述和扩展用例描述记录抽象用例描述和扩展用例描述 吉林大学管理学院 2010表表8-5 8-5 抽象抽象/扩展用例描述表的版本扩展用例描述表的版本 作者:作者:_ 日期:日期:_ 版本:版本:_用例名称用例名称抽象:抽象:扩展:扩展:用例用例IDID优先权优先权来源来源参与者参与者描述描述前置条件前置条件典型事件过程典型事件过程替代事件过程替代事件过程后置条件后置条件 吉林大学管理学院 2010 绘制建模活动图绘制

5、建模活动图 绘制系统顺序图绘制系统顺序图 确定业务对象确定业务对象 组织对象及其关系组织对象及其关系 吉林大学管理学院 20101确定多重性和关联关系确定多重性和关联关系表表8-6 8-6 矩阵法矩阵法对象对象/类类0101对象对象/类类0202对象对象/类类0303对象对象/类类0101X X对象对象/类类0202X X对象对象/类类0303X XX X2确定泛化关系确定泛化关系3确定聚合确定聚合/组合关系组合关系4准备类图准备类图 吉林大学管理学院 20108.2 从分析到设计从分析到设计 从面向对象分析对问题域的分析结果出发,从问题域、人从面向对象分析对问题域的分析结果出发,从问题域、人

6、机交互、任务管理和数据管理四个部分出发,针对实现的机交互、任务管理和数据管理四个部分出发,针对实现的要求进行必要的增补和调整。要求进行必要的增补和调整。图图8.1 8.1 面向对象设计的四个部分面向对象设计的四个部分 吉林大学管理学院 20108.3 面向对象设计面向对象设计8.3.1 问题域部分的设计问题域部分的设计在进行问题域部分进行设计时,至少从以下四个方面在进行问题域部分进行设计时,至少从以下四个方面来对分析模型进行增补修改:来对分析模型进行增补修改:增加一般类增加一般类 实现复用实现复用 提高性能提高性能 完善细节完善细节 吉林大学管理学院 20108.3.2 人机交互部分的设计人机

7、交互部分的设计 对人的分类与描述对人的分类与描述 设计命令层设计命令层为了细化命令层,要考虑排列、整体部分组为了细化命令层,要考虑排列、整体部分组合、宽度与深度的对比、减少操作步骤等问题。合、宽度与深度的对比、减少操作步骤等问题。不断原型化不断原型化 设计人机交互部分的类设计人机交互部分的类在很大程度上依赖于所选用的图形用户界面,在很大程度上依赖于所选用的图形用户界面,如如X Window、Motif、Windows、Presentation Manager、MacApp或或Smalltalk 吉林大学管理学院 20108.3.3 任务管理部分的设计任务管理部分的设计 识别事件驱动任务;识别事

8、件驱动任务;识别时钟驱动任务;识别时钟驱动任务;识别优先任务和关键任务;识别优先任务和关键任务;识别协调者;识别协调者;审查每个任务;审查每个任务;定义每个任务定义每个任务 吉林大学管理学院 20108.3.4 数据管理部分的设计数据管理部分的设计 1.如果用文件系统实现对象的存储,那么在分如果用文件系统实现对象的存储,那么在分析与设计阶段为应用系统识别、定义的对象,在实析与设计阶段为应用系统识别、定义的对象,在实现时将被表示成文件中的数据。现时将被表示成文件中的数据。2.关系数据库存储对象的方式是将对象的属性关系数据库存储对象的方式是将对象的属性存储在数据库中的二维表中,表中的列存储对象的存

9、储在数据库中的二维表中,表中的列存储对象的简单属性,对于对象的复杂属性,可以将其分解为简单属性,对于对象的复杂属性,可以将其分解为简单属性,并在其他二维表中存储。简单属性,并在其他二维表中存储。吉林大学管理学院 2010表表8-7 8-7 不同的数据管理系统的讨论不同的数据管理系统的讨论数据管理方法数据管理方法文件系统文件系统数据库系统数据库系统关系数据库系统关系数据库系统面向对象数据库系统面向对象数据库系统基本概念与原理基本概念与原理文件系统一般是操作系统中的文件系统一般是操作系统中的一个组成部分。它采用标准、一个组成部分。它采用标准、统一的方法对外部存储器中的统一的方法对外部存储器中的文件

10、(数据)进行管理,提供文件(数据)进行管理,提供存储、检索、更新、共享和保存储、检索、更新、共享和保护功能。在文件系统的支持下,护功能。在文件系统的支持下,应用程序不必直接操纵物理存应用程序不必直接操纵物理存储设备而实现数据的管理。储设备而实现数据的管理。数据库技术是信息系统中的重要技术组成和应用部分。数据库是在计算机数据库技术是信息系统中的重要技术组成和应用部分。数据库是在计算机中长期存储、组织、管理和共享的数据集合。数据库先后出现过层次数据中长期存储、组织、管理和共享的数据集合。数据库先后出现过层次数据模型、网络数据模型、关系数据模型和面向对象的数据模型等。其中,关模型、网络数据模型、关系

11、数据模型和面向对象的数据模型等。其中,关系数据库是目前使用最为广泛的数据库,面向对象的数据库则是面向对象系数据库是目前使用最为广泛的数据库,面向对象的数据库则是面向对象在数据库领域的扩展和应用。在数据库领域的扩展和应用。用二维表表示各种数据。列称作属用二维表表示各种数据。列称作属性,行称作元组,整个表成为一个性,行称作元组,整个表成为一个关系。一个二维表既可以用来存放关系。一个二维表既可以用来存放实体本身的特征及其属性,也可以实体本身的特征及其属性,也可以存放实体之间的关系。表与表之间存放实体之间的关系。表与表之间也定义了相应的操作。也定义了相应的操作。必须具有两个特征:首先必须是面必须具有两

12、个特征:首先必须是面向对象的,即支持对象、类、继承、向对象的,即支持对象、类、继承、封装、多态;其次,必须是数据库封装、多态;其次,必须是数据库系统应有的特征和功能,即必须提系统应有的特征和功能,即必须提供数据定义与操纵语言、数据库维供数据定义与操纵语言、数据库维护、事务运行管理等功能。护、事务运行管理等功能。成熟程度成熟程度比较成熟比较成熟比较成熟比较成熟不太成熟不太成熟价格价格低廉(通常不需要单独购买)低廉(通常不需要单独购买)根据规模选择,价格可高可低根据规模选择,价格可高可低价格昂贵价格昂贵技术上的优点技术上的优点几乎可以存储任何类型的数据。几乎可以存储任何类型的数据。在数据存取、数据

13、共享、完整性、在数据存取、数据共享、完整性、故障恢复和事务处理等方面有很强故障恢复和事务处理等方面有很强的能力。非常适合需保存、管理大的能力。非常适合需保存、管理大量数据的应用系统的需要,而且数量数据的应用系统的需要,而且数据访问方法已标准化据访问方法已标准化(SQL(SQL标准标准),开,开发接口也基本统一。发接口也基本统一。系统开发的各个阶段从系统分析、系统开发的各个阶段从系统分析、系统设计到系统实现由于采用统一系统设计到系统实现由于采用统一的方法,如果数据管理也采用面向的方法,如果数据管理也采用面向对象的数据库系统,则整个过程不对象的数据库系统,则整个过程不存在表示的不一致和技术的差异。

14、存在表示的不一致和技术的差异。技术上的缺陷技术上的缺陷操作低级,需要精确控制文件操作低级,需要精确控制文件中的各项数据,而且不同人员中的各项数据,而且不同人员可以设计自己的文件格式,造可以设计自己的文件格式,造成文件的种类繁多,互相之间成文件的种类繁多,互相之间不兼容,而且数据的完整性、不兼容,而且数据的完整性、共享等方面的功能存在缺陷。共享等方面的功能存在缺陷。数据模式的限制较多,例如,数据数据模式的限制较多,例如,数据库中的表必须至少是第一范式,即库中的表必须至少是第一范式,即表中每个属性必须是原子的,不能表中每个属性必须是原子的,不能有内部结构。而在面向对象中,对有内部结构。而在面向对象

15、中,对象的属性可以是原子的,也可以是象的属性可以是原子的,也可以是结构的和对象的,因此需要进行转结构的和对象的,因此需要进行转换才能完成存储对象的数据。换才能完成存储对象的数据。本身技术尚不成熟,且具体的面向本身技术尚不成熟,且具体的面向对象的数据库系统之间存在较大的对象的数据库系统之间存在较大的差异,满足面向对象的数据模型的差异,满足面向对象的数据模型的程度不一。程度不一。吉林大学管理学院 20108.4 面向对象设计原则面向对象设计原则8.4.1 开放封闭原则开放封闭原则一个模块在扩展性方面应该是开放的,而在更改性方一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。因此在进行面

16、向对象设计时要尽量考虑面应该是封闭的。因此在进行面向对象设计时要尽量考虑接口封装机制、抽象机制和多态技术。接口封装机制、抽象机制和多态技术。图图8.2 8.2 开放封闭原则示例开放封闭原则示例 吉林大学管理学院 20108.4.2 单一职责原则单一职责原则一个类应该有且仅有一个职责。一个类应该有且仅有一个职责。类的职责类的职责:指引起该类变化的原因。如果一个类有一指引起该类变化的原因。如果一个类有一个以上的职责,就会有多个不同原因引起该类变化,即耦个以上的职责,就会有多个不同原因引起该类变化,即耦合了多个互补相关的职责,将会降低类的内聚性。合了多个互补相关的职责,将会降低类的内聚性。图图8.3

17、 8.3 单一职责原则示例单一职责原则示例 吉林大学管理学院 20108.4.3 Liskov替换原则替换原则由由Liskov于于1987年提出。年提出。子类应当可以替换父类,并且能够出现在父类出现的子类应当可以替换父类,并且能够出现在父类出现的任何地方。任何地方。图图8.4 Liskov替换原则示例替换原则示例 应该尽量把类应该尽量把类B设计为抽象设计为抽象类或接口类,让类或接口类,让C类继承类继承B,并实现操作并实现操作A和和B。运行时,。运行时,类类C实例替换实例替换B,这样即可,这样即可进行新类的扩展,同时无须进行新类的扩展,同时无须对类对类A进行修改。进行修改。吉林大学管理学院 20

18、10图图8.5 违反替换原则的示例违反替换原则的示例 图图8.6 改进后的示例改进后的示例 吉林大学管理学院 20108.4.4 依赖倒置原则依赖倒置原则 高层模块不应该依赖于低层模块,二者都应该依赖于高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象;抽象不应该依赖于细节,细节应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。具体做法是将高层需要的服务声明为抽象接口,高层具体做法是将高层需要的服务声明为抽象接口,高层使用这些接口,低层模块实现这些接口,使得高层不使用这些接口,低层模块实现这些接口,使得高层不再依赖于低层,而是依赖于抽象接口,同样低层也依再依赖于低层,而是依赖于抽

19、象接口,同样低层也依赖于抽象接口。赖于抽象接口。吉林大学管理学院 2010图图8.7 不成熟的模型不成熟的模型 图图8.8 应用依赖倒置原则的示例应用依赖倒置原则的示例 吉林大学管理学院 20108.4.5 接口隔离原则接口隔离原则 用来解决用来解决“肥胖的肥胖的”接口所具有的缺点。接口所具有的缺点。如果一个类(或接口类)不具备高内聚性,就表示该类具如果一个类(或接口类)不具备高内聚性,就表示该类具有有“胖胖”的接口。的接口。一个接口被隔离成多组方法后,可能存在这样的类,它们一个接口被隔离成多组方法后,可能存在这样的类,它们需要用到两组方法或者更多,要实现这样的客户程序可以需要用到两组方法或者

20、更多,要实现这样的客户程序可以采用委托模式或多继承模式。采用委托模式或多继承模式。吉林大学管理学院 20108.5 面向对象设计过程面向对象设计过程8.5.1 精炼用例模型精炼用例模型1将分析用例转换成设计用例将分析用例转换成设计用例2修改用例模型图和其他文档以反映新用例修改用例模型图和其他文档以反映新用例 吉林大学管理学院 2010表表8-8 8-8 设计用例描述表设计用例描述表 作者:作者:_ 日期:日期:_ 版本:版本:_ 用例名称用例名称用例类型:用例类型:业务需求:业务需求:系统分析:系统分析:系统设计:系统设计:用例用例IDID优先权优先权来源来源主要业务参与者主要业务参与者其他业

21、务参与者其他业务参与者其他有利益的关联人员其他有利益的关联人员描述描述前置条件前置条件触发器触发器典型事件过程典型事件过程参与者动作参与者动作系统响应系统响应替代事件过程替代事件过程结论结论后置条件后置条件业务规则业务规则实现约束和说明实现约束和说明假设假设开放问题开放问题 吉林大学管理学院 20108.5.2 建模支持用例情境的类交互、建模支持用例情境的类交互、行为和状态行为和状态1确定并分类用例设计类确定并分类用例设计类 实体类实体类 接口类接口类 控制类控制类 2确定类属性确定类属性3确定类操作和责任确定类操作和责任4建模对象状态建模对象状态吉林大学管理学院吉林大学管理学院 2010精品课件精品课件!吉林大学管理学院吉林大学管理学院 2010精品课件精品课件!吉林大学管理学院 20108.5.3 修改对象模型以反映实现环境修改对象模型以反映实现环境1添加对象及其相关添加对象及其相关 向图中添加设计对象。向图中添加设计对象。向设计对象中添加属性和属性类型。向设计对象中添加属性和属性类型。添加属性可见性,即公共的添加属性可见性,即公共的(+)、保护的、保护的(#)和私有的和私有的(-)。2添加操作及其相关添加操作及其相关3添加导航能力添加导航能力

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第8章-面向对象设计课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|