版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、l 11.1 面向对象设计的准则面向对象设计的准则l 1 模块化模块化 l 2 抽象抽象 l 3 信息隐藏信息隐藏 l 4 弱耦合弱耦合 l 5 强内聚强内聚 l 6 可重用可重用 1 设计结果应该清晰易懂设计结果应该清晰易懂 使设计结果清晰、易读、易懂,是提高使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。软件可维护性和可重用性的重要措施。l用词一致用词一致l使用已有的协议使用已有的协议l减少消息模式的数目减少消息模式的数目l避免模糊的定义避免模糊的定义l从类名可以较容易地推想出它的用途从类名可以较容易地推想出它的用途l2 一般特殊结构的深度应适当一般特殊结构的深度应适当
2、 l 一般说来,在一个中等规模一般说来,在一个中等规模(大约包含大约包含100个类个类)的系统中,类等级层次数应保持为的系统中,类等级层次数应保持为5-9。l 应该使一般一特殊结构与领域知识或应该使一般一特殊结构与领域知识或常识保持一致。常识保持一致。l l3 设计简单的类设计简单的类 (1) 避免包含过多的属性避免包含过多的属性 (2)有明确的定义有明确的定义 (3)尽量简化对象之间的合作关系尽量简化对象之间的合作关系 (4)不要提供太多服务不要提供太多服务l4 使用简单的协议使用简单的协议 l 消息中的参数不要超过消息中的参数不要超过3个个l 通过复杂消息相互关联的对象是紧耦通过复杂消息相
3、互关联的对象是紧耦合的合的l5 使用简单的服务使用简单的服务 l6 把设计变动减至最小把设计变动减至最小 服务通常一般只有服务通常一般只有35行源程序语句行源程序语句 一般说来,应该尽量避免使用复杂的服务。如果一般说来,应该尽量避免使用复杂的服务。如果需要需要 在服务中使用在服务中使用CASE语句,通常应该考虑用一般语句,通常应该考虑用一般一特殊结构代替这个类的可能性。一特殊结构代替这个类的可能性。 设计的质量越高,设计结果保持不变的时间也越长。设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可即使出现必须修改设计的情况,也应该使修改的范围尽可能小
4、。能小。11.3 软件重用软件重用11.3.1 概述概述 1 重用重用:也叫再用或复用,是指同一事物不也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。作修改或稍加改动就多次重复使用。 (1)知识重用知识重用(例如,软件工程知识的重用例如,软件工程知识的重用)。 (2)方法和标准的重用方法和标准的重用(例如,面向对象方法例如,面向对象方法或国家制定的软件开发规范的重用或国家制定的软件开发规范的重用)。 (3)软件成分的重用。软件成分的重用。2软件成分的重用级别软件成分的重用级别(1)代码重用代码重用源代码剪贴源代码剪贴源代码包含源代码包含:提供包含提供包含(Include)库中源代
5、码的机制。库中源代码的机制。继承继承(2)设计结果重用设计结果重用(3)分析结果重用分析结果重用3 典型的可重用软件成分典型的可重用软件成分(1)项目计划项目计划 (2)成本估计)成本估计(3)体系结构)体系结构 (4)需求模型和规格说明)需求模型和规格说明(5)设计设计 (6)源代码源代码(7)用户文档和技术文档)用户文档和技术文档 (8)用户界面)用户界面 (9)数据)数据(10)测试用例)测试用例11.3.2 类构件类构件 面向对象中的类是比较理想的可重用的构件,面向对象中的类是比较理想的可重用的构件,称类构件。称类构件。1可重用软构件应具备的特点可重用软构件应具备的特点(1)模块独立性
6、强模块独立性强 具有单一、完整的功能,且经过反复测试被具有单一、完整的功能,且经过反复测试被确认是正确的,内部实现在外面是不可见的。确认是正确的,内部实现在外面是不可见的。(2)具有高度可塑性具有高度可塑性 必须提供为适应特定需求而扩充或修改已有必须提供为适应特定需求而扩充或修改已有构件的机制,而且所提供的机制必须使用起来非常构件的机制,而且所提供的机制必须使用起来非常简单方便。简单方便。(3)接口清晰、简明、可靠接口清晰、简明、可靠 应该有详尽的文档说明应该有详尽的文档说明2类构件的重用方式类构件的重用方式(1)实例重用实例重用 向创建的实例发送适当的消息,启动相应的服向创建的实例发送适当的
7、消息,启动相应的服务,完成需要完成的工作。务,完成需要完成的工作。 还可以用几个简单的对象作为类的成员,创建还可以用几个简单的对象作为类的成员,创建出一个更复杂的类,这是实例重用的另一种形式。出一个更复杂的类,这是实例重用的另一种形式。 (2)继承重用继承重用 提供了一种对已有的类构件进行裁剪的机制提供了一种对已有的类构件进行裁剪的机制 (3)多态重用多态重用 利用多态性不仅可以便对象的对外接口更加一利用多态性不仅可以便对象的对外接口更加一般化般化(基类与派生类的许多对外接口是相同的基类与派生类的许多对外接口是相同的),从而,从而降低了消息连接的复杂程度,而且还提供了一种简便降低了消息连接的复
8、杂程度,而且还提供了一种简便可靠的软构件组合机制。系统运行时,根据接收消息可靠的软构件组合机制。系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,去响应的对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化消息界面和软构件连接一个一般化的消息,从而简化消息界面和软构件连接过程。过程。11.3.3 软件重用的效益软件重用的效益1 质量质量 HP公司的研究公司的研究2 生产率生产率 创建计划、模型、文档、代码和数据所需花费的创建计划、模型、文档、代码和数据所需花费的时间将减少。重用时间将减少。重用30%-50%提高生产率提高生产率25%-40%3 成本成本 软件重用
9、带来的净成本节省软件重用带来的净成本节省 C=Cs-Cr-CdCs从头开发(没有重用)所需成本;从头开发(没有重用)所需成本;Cr与重用相关联与重用相关联的成本;的成本;Cd交付给客户软件的实际成本交付给客户软件的实际成本11.4 系统分解系统分解 系统的主要组成部分称为子系统,通常根据所提供系统的主要组成部分称为子系统,通常根据所提供的功能来划分子系统。的功能来划分子系统。 例如,编译系统可划分成词法分析、语法分析、中例如,编译系统可划分成词法分析、语法分析、中间代码生成、优化、目标代码生成和出错处理等于系统。间代码生成、优化、目标代码生成和出错处理等于系统。 子系统的数目应该与系统规模基本
10、匹配。子系统的数目应该与系统规模基本匹配。 在划分和设计子系统时,应该尽量减少于系统彼此在划分和设计子系统时,应该尽量减少于系统彼此间的依赖性。间的依赖性。 面向对象设计模型面向对象设计模型(即求解域的对象模型即求解域的对象模型),也由主,也由主题、类与对象、结构、属性、服务等五个层次组成。这题、类与对象、结构、属性、服务等五个层次组成。这五个层次一层比一层表示的细节更多。五个层次一层比一层表示的细节更多。 面向对象设计模型,在逻辑上都由四大部分组成。面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于组成目标系统的四个子系统,它们这四大部分对应于组成目标系统的四个子系统,它们分别是问
11、题域子系统、人分别是问题域子系统、人机交互子系统、任务管理机交互子系统、任务管理子系统和数据管理子系统。子系统和数据管理子系统。 1141 子系统之间的两种交互方式子系统之间的两种交互方式1 客户一供应商关系客户一供应商关系 在这种关系中,作为在这种关系中,作为“客户客户”的子系统调用作为的子系统调用作为“供应商供应商”的子系统,后者完成某些服务工作并返回结果。的子系统,后者完成某些服务工作并返回结果。使用这种交互方案,作为客户的子系统必须了解作为供应使用这种交互方案,作为客户的子系统必须了解作为供应商的子系统的接口,然而后者却无须了解前者的接口,因商的子系统的接口,然而后者却无须了解前者的接
12、口,因为任何交互行为都是由前者驱动的。为任何交互行为都是由前者驱动的。 2平等伙伴关系平等伙伴关系 在这种关系中,每个子系统都可能调用其他子系统,在这种关系中,每个子系统都可能调用其他子系统,因此,每个子系统部必须了解其他子系统的接口。因此,每个子系统部必须了解其他子系统的接口。 总的说来,单向交互比双向交互更容易理解,也更总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此应该尽量使用客户一供应商关系。容易设计和修改,因此应该尽量使用客户一供应商关系。1142 组织系统的两种方案组织系统的两种方案1层次组织层次组织 这种组织方案把软件系统组织成一个层次系统,每这种组织方案把软件系
13、统组织成一个层次系统,每层是一个子系统。层是一个子系统。 在上、下层之间存在客户一供应商关系。低层子系在上、下层之间存在客户一供应商关系。低层子系统提供服务,相当于供应商,上层子系统使用下层提供的统提供服务,相当于供应商,上层子系统使用下层提供的服务,相当于客户。服务,相当于客户。 2块状组织块状组织 这种组织方案把软件系统垂直地分解成系统相当于这种组织方案把软件系统垂直地分解成系统相当于一块,每块提供一种类型的服务。一块,每块提供一种类型的服务。 利用层次和块的各种利用层次和块的各种可能的组合,可以成功地由多个子系统组成一个完整的软可能的组合,可以成功地由多个子系统组成一个完整的软件系统。件
14、系统。 OOA的模型直接放到的模型直接放到OOD D的问题的问题域部分域部分, , OOD阶段对阶段对OOA结果进行结果进行改动和增补。改动和增补。 根据实现条件,对根据实现条件,对OOA产生模型产生模型的类与对象、结构、属性、操作进行的类与对象、结构、属性、操作进行 组合与分解,增加必要的类、属性和组合与分解,增加必要的类、属性和关系。关系。编程语言编程语言硬件、操作系统及网络设施硬件、操作系统及网络设施复用支持复用支持数据管理系统数据管理系统界面支持系统界面支持系统输入输入OOA模型,进行必要的修改模型,进行必要的修改逐一考察影响问题域部分设计的实现逐一考察影响问题域部分设计的实现条件,对
15、模型进行调整、补充条件,对模型进行调整、补充建立分析文档和设计文档之间的映射建立分析文档和设计文档之间的映射关系关系针对编程语言支持能力的调整针对编程语言支持能力的调整增加一般类,提供共同协议增加一般类,提供共同协议为实现复用采取的设计策略为实现复用采取的设计策略提高性能提高性能为实现对象永久存储所做的修改为实现对象永久存储所做的修改完善对象的细节完善对象的细节定义对象实例定义对象实例修改或补充主题图、交互图和详细说明修改或补充主题图、交互图和详细说明对继承的调整对继承的调整简单转换简单转换重新定义对象类重新定义对象类保持分类,剥离多继承信息保持分类,剥离多继承信息对多态性的调整对多态性的调整
16、汽车客货两用车货车客车针对单继承的调整针对单继承的调整: :分解多继承分解多继承, , 采用整体采用整体/ /部分结构映射部分结构映射汽车1,m货运客运汽车用途汽车客货两用车货车客车1,m货运客运汽车用途汽车1针对单继承的调整针对单继承的调整: :分解多继承分解多继承, , 采用实例连接映射采用实例连接映射货车客车汽车针对单继承的调整针对单继承的调整: :分解多继承分解多继承, , 展平为单继承展平为单继承客货两用车汽车客货两用车货车客车两种结构的变通两种结构的变通冷藏车冷藏车汽车汽车制冷设备制冷设备冷藏车冷藏车汽车汽车制冷设备制冷设备仅用一般仅用一般- -特殊结构特殊结构两种结构两种结构同同
17、 用用冷藏车冷藏车汽车汽车制冷设备制冷设备仅用整体仅用整体- -部分结构部分结构直接复用直接复用删除可复用类的多余信息删除可复用类的多余信息通过继承复用通过继承复用删除多余信息,通过继承而复用删除多余信息,通过继承而复用收款机收款机ABC现钞收款机现钞收款机D DE EF F现钞收款机现钞收款机ABCDEFXYZZXY为支持复用建立结构为支持复用建立结构收款机类成为收款机类成为可供本领域其可供本领域其它系统复用的它系统复用的领域构件领域构件用整体用整体- -部分结构实现复用部分结构实现复用车床车床机床机床刨床刨床起重机起重机电动机电动机钻床钻床送料车送料车弥补弥补OOA模型的不足模型的不足解决
18、解决OOA阶段推迟考虑的问题阶段推迟考虑的问题设计对象的服务设计对象的服务设计表示关联的属性设计表示关联的属性设计表示整体设计表示整体- -部分关系的属性部分关系的属性 取消没有特殊属性的特殊类取消没有特殊属性的特殊类大学生大学生研究生研究生研究方向研究方向指导教师指导教师学生学生姓名姓名学号学号班级班级研究生研究生研究方向研究方向指导教师指导教师学生学生姓名姓名学号学号班级班级 通过增加属性简化一般通过增加属性简化一般- -特殊结构特殊结构人员人员男人男人女人女人美国人美国人日本人日本人人员人员性别性别国籍国籍中国人中国人 虽然好的人机交互部分不可能挽救虽然好的人机交互部分不可能挽救一个功能
19、很差的软件一个功能很差的软件, , 但性能很差的但性能很差的人机交互部分将使一个功能很强的产人机交互部分将使一个功能很强的产品变的不可接受品变的不可接受! !分析活动者分析活动者与系统交互的人与系统交互的人从从use caseuse case分析人机交互分析人机交互分析处理异常事件的人机交互分析处理异常事件的人机交互命令的组织命令的组织输出信息的组织结构输出信息的组织结构基本命令及其命令的结构基本命令及其命令的结构( (a)a)线性结构线性结构( (b)b)树形结构树形结构( (c)c)半序网状结构半序网状结构( (d)d)一般网状结构一般网状结构高层命令结构高层命令结构基本命令组合成高层命令
20、的常见角度:基本命令组合成高层命令的常见角度:按功能的相似性按功能的相似性按命令所属的子系统按命令所属的子系统使用简便使用简便一致性一致性启发性启发性减少人脑记忆的负担减少人脑记忆的负担减少重复的输入减少重复的输入容错性容错性及时反馈及时反馈其他其他 在有关界面设计的著作中,在有关界面设计的著作中, Theo MandelTheo Mandel创造了创造了三条黄金原则三条黄金原则:l置用户于控制之下置用户于控制之下l减少用户的记忆负担减少用户的记忆负担l保持界面一致保持界面一致 MandelMandel定义的一组允许用户操作控制的原则定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或
21、不希望的动作的方式以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式来定义交互方式提供灵活的交互提供灵活的交互允许用户交互可以被中断和撤消允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交当技能级别增加时可以使交互流水化并允许定制交互互使用户隔离内部技术细节使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互设计应允许用户和出现在屏幕上的对象直接交互 MandelMandel定义了一组设计原则,使界面能够减定义了一组设计原则,使界面能够减少用户记忆负担少用户记忆负担:减少对短期记忆的要求减少对短期记忆的要求建立有意义的缺省建立有意义的缺省定义直觉性的捷
22、径定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息以不断进展的方式揭示信息缺省值 用户应以一致的方式展示和获取信息用户应以一致的方式展示和获取信息所有可视信息的组织均按照贯穿所有屏幕显示所保持的设计所有可视信息的组织均按照贯穿所有屏幕显示所保持的设计标准标准输入机制被约束到有限的集合,在整个应用中被一致地使用输入机制被约束到有限的集合,在整个应用中被一致地使用从任务到任务的导航机制被一致地定义和实现从任务到任务的导航机制被一致地定义和实现 MandelMandel定义了一组帮助保持界面一致性的设计原则定义了一组帮助保持界面一致性的
23、设计原则允许用户将当前任务放入有意义的语境允许用户将当前任务放入有意义的语境在应用系列内保持一致性在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不得已的如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它理由,不要改变它界面支持系统界面支持系统窗口系统窗口系统图形用户界面(图形用户界面(GUIGUI)可视化编程环境可视化编程环境界面元素界面元素窗口窗口菜单菜单对话框对话框图符图符滚动条滚动条其他其他 设计过程与策略设计过程与策略选择和掌握界面支持系统选择和掌握界面支持系统硬件、操作系统及编程语言硬件、操作系统及编程语言界面实现的支持级别界面实现的支持级别界面
24、风格与视感界面风格与视感其他其他根据人机交互需求选择界面元素根据人机交互需求选择界面元素l系统的启动系统的启动l高层命令组织结构的实现高层命令组织结构的实现l基本命令的执行基本命令的执行l详细交互过程的输入与输出详细交互过程的输入与输出l异常命令的输入异常命令的输入 设计过程与策略设计过程与策略用用OOOO概念表示界面元素概念表示界面元素l对象和类对象和类l属性和服务属性和服务l整体整体 部分结构部分结构l一般一般 特殊结构特殊结构l关联关联l消息连接消息连接应用程序主窗口应用程序主窗口人机界面中的整体人机界面中的整体部分结构部分结构视窗1,1滚动条按钮主菜单下拉菜单工具条1,m1,11,21
25、,m1,1CDialogCDialog复用复用对话框对话框A A用一般用一般特殊结特殊结构特化可复用类构特化可复用类工具条按钮对话框11界面对象之间的关联界面对象之间的关联1,m传感器图形项目传感器控制系统人机交互部分设计举例传感器控制系统人机交互部分设计举例调用项目传感器状况窗口显示菜单调用菜单活动传感器项目调用项目传感器报警窗口显示菜单调用菜单活动位置传感器报警项目调用项目传感器窗口坐标1.1.为什么要有任务管理部分为什么要有任务管理部分 任务管理部分的任务:任务管理部分的任务:l系统如何并发执行系统如何并发执行l要设计哪些控制流要设计哪些控制流 根据什么决定上述问题:根据什么决定上述问题
26、:l问题域和系统责任问题域和系统责任l所选择的实现条件所选择的实现条件 把任务管理把任务管理( (控制驱动控制驱动) )部分作为部分作为OOD模型的一模型的一个独立组成部分来设计,可使实现条件的变化主要影个独立组成部分来设计,可使实现条件的变化主要影响这一部分,从而隔离对其他部分的影响响这一部分,从而隔离对其他部分的影响。l系统总体方案系统总体方案l软件体系结构软件体系结构l分布式系统的体系结构风格分布式系统的体系结构风格l系统的并发性系统的并发性 总体方案中所决定的下述问题是模型中任总体方案中所决定的下述问题是模型中任务管理务管理( (控制驱动控制驱动) )部分设计的基本实现条件:部分设计的
27、基本实现条件:计算机硬件计算机硬件操作系统操作系统网络方案网络方案软件体系结构软件体系结构编程语言编程语言其他商品软件其他商品软件 典型的软件体系结构风格:典型的软件体系结构风格:管道与过滤器风格管道与过滤器风格数据抽象风格数据抽象风格面向对象风格面向对象风格隐式调用风格隐式调用风格层次风格层次风格仓库风格仓库风格黑板风格黑板风格解释器风格解释器风格进程控制风格进程控制风格客户客户服务器风格服务器风格主程序主程序/ /子程序风格子程序风格 历史上出现过的几种分布式体系结构风格:历史上出现过的几种分布式体系结构风格:主机主机+ +仿真终端体系结构仿真终端体系结构文件共享体系结构文件共享体系结构客
28、户客户服务器体系结构服务器体系结构二层客户二层客户服务器体系结构服务器体系结构对等式客户对等式客户服务器体系结构服务器体系结构三层客户三层客户服务器体系结构服务器体系结构瘦客户瘦客户服务器体系结构服务器体系结构浏览器浏览器服务器体系结构服务器体系结构 当前应用系统的并行性:当前应用系统的并行性:分布在通过网络相连的不同计算机上的进程分布在通过网络相连的不同计算机上的进程之间的并发之间的并发在多在多CPUCPU的计算机上运行的多个进程或线程的计算机上运行的多个进程或线程之间的并发之间的并发在单在单CPUCPU的计算机上运行的多个进程或线程的计算机上运行的多个进程或线程之间的并发之间的并发l选择软
29、件体系结构风格选择软件体系结构风格l确定系统分布方案确定系统分布方案对象的分布对象的分布类的分布类的分布类图的划分类图的划分l识别控制流识别控制流以节点为单位识别控制流以节点为单位识别控制流从用户需求出发识别控制流从用户需求出发识别控制流从从use caseuse case识别控制流识别控制流参照参照OOA模型中的主动对象模型中的主动对象为改善性能而增加的控制流为改善性能而增加的控制流实现并行计算的控制流实现并行计算的控制流实现节点之间通信的控制流实现节点之间通信的控制流对其他控制流进行协调的控制流对其他控制流进行协调的控制流l用主动对象表示控制流用主动对象表示控制流l把任务管理把任务管理(
30、(控制驱动控制驱动) )部分看做一个主题部分看做一个主题考虑系统中并发执行的任务的几个角度:考虑系统中并发执行的任务的几个角度:事件驱动的任务事件驱动的任务时钟驱动的任务时钟驱动的任务高优先级任务高优先级任务低优先级任务低优先级任务关键任务关键任务协调者任务协调者任务把集中式的类图分散到各个节点上作为主题把集中式的类图分散到各个节点上作为主题集中式类图集中式类图节点节点A主题主题节点节点B主题主题节点节点C主题主题分分布布到到网网络络的的不不同同节节点点上上类图的划分类图的划分1*ACBDFEG集中式类图集中式类图*IJH11 11 11 12 22 22 22 2按节点划分主题按节点划分主题
31、1. 服务器服务器1*C CBDFEGA服务器主题服务器主题2. 客户机客户机客户机主题客户机主题( (第一种策略第一种策略) )HIJ*1A副本D副本2. 客户机客户机客户机主题客户机主题( (第二种策略第二种策略) )HIJ*1D副本传感器控制系统任务管理部分设计举例传感器控制系统任务管理部分设计举例任务协调器任务协调器协调协调任务任务名字名字描述描述优先级优先级服务服务协调协调通信通信初始化初始化开始开始准备好准备好结束结束10,m传感器任务描述举例传感器任务描述举例任务任务1 1名字:名字: 传感器读出。传感器读出。描述:描述: 该任务在需要脉冲调幅时负责读该任务在需要脉冲调幅时负责读
32、 出传感器。出传感器。包含:包含: 传感器传感器. .样本。样本。优先级优先级: :中等。中等。协调:协调: 时钟驱动,时钟驱动,100ms的时间间隔。的时间间隔。通信:通信: 从输入线(传感器)得到值,从输入线(传感器)得到值, 给雷达邮箱发送值。给雷达邮箱发送值。 数据管理部分提供了数据在数据管数据管理部分提供了数据在数据管系统中存储和检索对象的基本结构,它系统中存储和检索对象的基本结构,它分离了数据管理方案的影响分离了数据管理方案的影响 ( (不管该方不管该方案是普通文件、关系型数据库、面向对案是普通文件、关系型数据库、面向对象数据库或其它方式象数据库或其它方式.).)如何设计数据管理部
33、分如何设计数据管理部分 ( (1)1)数据存放方法设计数据存放方法设计(2)(2)相应服务的设计相应服务的设计 为每个需存储其对象的类增加一个为每个需存储其对象的类增加一个属性和服务属性和服务对象存储方案与数据接口的设计策略对象存储方案与数据接口的设计策略 针对针对RDBMS的的设计设计对象及对关系数据库的使用对象及对关系数据库的使用应用系统应用系统数据接口数据接口RDBMS关系数据库关系数据库用关系数据库存储对象用关系数据库存储对象类类A对象与数据库表元组的不同映射方式对象与数据库表元组的不同映射方式元元组组1元元组组2.元元组组n表表A数数据据库库实例化实例化RDBMS内内存存空空间间类类
34、A元元组组1元元组组2.元元组组n表表A数数据据库库实例化实例化RDBMS内内存存空空间间面向对象设计实例:面向对象设计实例:简化的简化的C+C+类库管理系统类库管理系统需求描述:需求描述:l管理用管理用C+C+语言定义的类语言定义的类l用户能够方便地向类库中添加新类,并建立新类与库用户能够方便地向类库中添加新类,并建立新类与库中原有类的关系中原有类的关系l用户能够通过类名从库中查询出指定的类用户能够通过类名从库中查询出指定的类l用户能够查看或修改与指定类有关的信息用户能够查看或修改与指定类有关的信息l用户能够从类中删除指定的类用户能够从类中删除指定的类l用户能够在浏览窗中方便、快速地浏览当前
35、类的父类用户能够在浏览窗中方便、快速地浏览当前类的父类和子类和子类l具有具有“联想联想”浏览功能浏览功能l用户能查看或修改某个类的指定的成员函数的源代码用户能查看或修改某个类的指定的成员函数的源代码l本系统是一个简化的多用户系统,每个用户都可以建本系统是一个简化的多用户系统,每个用户都可以建立自己的类库,不同类库之间互不干扰立自己的类库,不同类库之间互不干扰l对于用户误操作或错误的输入对于用户误操作或错误的输入, ,能提示并继续稳定运行能提示并继续稳定运行l系统易学,用户界面应是系统易学,用户界面应是GUIDGUID的的OOA阶段建立阶段建立的类库管理的类库管理系统对象模型系统对象模型类库类库
36、库名库名类条目列表类条目列表插入类条目插入类条目删除类条目删除类条目1+0,n1类条目类条目类名类名父类列表父类列表设置类名设置类名添加父类添加父类成员函数成员函数函数名函数名访问权访问权虚基类标志虚基类标志父类父类名字名字访问权访问权虚基类标志虚基类标志数据成员数据成员数据名数据名访问权访问权数据类型数据类型0,n20,n30,m用户用户拥有拥有面向对象设计面向对象设计(简化的简化的C+C+类库管理系统类库管理系统)设计类库结构设计类库结构 两种可把类条目组织成类库的数据结构两种可把类条目组织成类库的数据结构: :l二叉树二叉树l链表链表: : 容易表示多重继承容易表示多重继承设计问题域子系
37、统设计问题域子系统对对象模型做补充和细化对对象模型做补充和细化类条目(类条目(ClassEntryClassEntry)类库(类库(ClassEntryLinkClassEntryLink)父类(父类(ClassBaseClassBase)、)、成员函数(成员函数(ClassFunClassFun) 和数据成员(和数据成员(ClassDataClassData)1.1.类条目缓冲区(类条目缓冲区(ClassEntryBufferClassEntryBuffer)类条目类条目类名类名父类列表父类列表成员函数列表成员函数列表数据成员列表数据成员列表类条目类条目类名类名父类链表头指针父类链表头指针成
38、员函数链表头指针成员函数链表头指针数据成员链表头指针数据成员链表头指针注释注释指向下一类条目指针指向下一类条目指针新增数据成员新增数据成员新增操作新增操作设置类名设置类名添加父类添加父类删除父类删除父类更改父类更改父类添加成员函数添加成员函数删除成员函数删除成员函数更改成员函数更改成员函数添加数据成员添加数据成员删除数据成员删除数据成员更改数据成员更改数据成员查找并取出指定父类信息查找并取出指定父类信息查找并取出指定成员函数信息查找并取出指定成员函数信息查找并取出指定数据成员信息查找并取出指定数据成员信息设置类名设置类名添加父类添加父类删除父类删除父类更改父类更改父类添加成员函数添加成员函数删除成员函数删除成员函数更改成员函数更改成员函数添加数据成员添加数据成员删除数据成员删除数据成员更改数据成员更改数据成员具体化具体化类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省哈三中2025-2026学年度下学期高二学年期末考试 政治答案
- 小区物业绿化管理制度
- 物业服务人员培训流程及规范
- 机关单位绩效考核管理制度
- 《城市应急指挥平台操作手册》
- 计生用品生产车间 5S 管理手册
- 木材露天储藏防护措施工作手册
- 学校军训教官与教师协同管理手册
- 品检检验工装夹具使用手册
- 高级职称评定申请
- GB/T 47868-2026运载火箭海上发射环境通用要求
- 硫铁矿制酸施工组织方案
- 2026年广东省春季高考(学考)语文真题(含解析)
- 2026江西萍乡职业技术学院引进高层次人才笔试题库附答案详解【完整版】
- 2026年广州市中考物理试卷(含答案及解析)
- GB/T 47582-2026航空航天P形(环形)卡箍通用规范
- 新教材北师大版八年级数学下学期期末模拟卷
- 深静脉血栓护理教学
- 2026地质队矿山水文岗面试题及答案
- 玻璃栏杆施工方案要点
- 2026年202甘肃中考政史试卷及答案
评论
0/150
提交评论