2022年面向对象系统设计 .pdf
《2022年面向对象系统设计 .pdf》由会员分享,可在线阅读,更多相关《2022年面向对象系统设计 .pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件系统设计面向对象系统设计前 言本书是一本介绍面向对象软件系统设计的书,从组织结构上分为两大部分:面向对象的概念与UML 概述、面向对象系统设计。第一部分是基础,第二部分是核心。本书对面向对象概念和UML 语言的介绍并不是面面具到,介绍的基本上是本书需要用到的那部分内容,所有不适合作为面向对象概念或UML 语言的参考手册。阅读本书的基础至少熟悉一种编程语言,最好熟悉的是面向对象编程语言。对软件工程有一定的了解。如果你只有结构化思想的开发经验,那么阅读本书后会对你有所启发。如果你有面向对象思想的开发经验,那么就让我们一起来探讨吧。阅读指南如果你已经熟悉了面向对象概念,当我提到“封装”、“消息”
2、、“对象类”等术语时,你可以不查阅资料,那么你可以跳过第一、第二章,直接阅读第三章的内容,否则你还是从头看起。建立共同语言为了避免在下面的讨论中因一些名称的问题而产生错误的理解,我觉得有必要先说明一下我的一些口语习惯和一些中英文名称对应关系。叙述中具体使用哪个名词或用中文还是英文,要根据具体上下文而定。如:我是计算机专业的。我买了一台手提电脑。其中计算机和电脑都是指Computer。下面是部分中英文对照表:英文中文简称Object Oriented 面向对象OO Object Oriented Analysis 面向对象分析OOA Object Oriented Design 面向对象设计OO
3、D Object Oriented Programming 面向对象的程序设计OOP Unified Modeling Language 统一建模语言UML Actor 活动者Use Case 用例名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐1 Class 对象类、类Attribute 属性Operation 操作、方法Interface 接口Component 组件Package 包Node 接点
4、Association 关联Composition 组合Aggregation 聚合Generalization 泛化Dependency 依赖Realization 实现Message 消息State 状态Comment 注释名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐2 目 录OOD 循序渐进 . 错误!未定义书签。前 言. 0目 录. 2面向对象的概念与UML 概述 . 3第一章、面向对象的概
5、念与UML 概述 . 31.1分析与设计概述 . 31.2面向对象的概念 . 51.3UML 概述 . 8第二章、UML 语言 . 92.1UML 语言的体系结构 . 92.2符号与图形 . 9面向对象系统设计. 14第三章、架构设计 . 143.1架构设计原则 . 143.2信息系统的架构设计 . 15第四章、类设计 . 214.1类设计指南 . 214.2通用日记帐财务系统系统分析模型. 214.3通用日记帐财务系统类图. 25第五章、数据库设计 . 275.1映射原则 . 275.2映射 . 285.3ER 图 . 28第六章、其他资料 . 错误!未定义书签。名师资料总结 - - -精品
6、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐3 面向对象的概念与UML 概述第一章、面向对象的概念与UML 概述1.1 分析与设计概述首先来看看我们认识事物的过程:当接触一个新事物时,就会问这个东西是干什么用的?进一步的,怎么使用呢?改造事物的过程:它需要改进吗?要改进什么?如何改进呢?从接触新事物到要改进什么,可以总结为是对事物的分析。如何改进可以总结为是对目标(改进后)事物的设计。这个事物是一个对象。再来看看我们开发软件的
7、分析、设计过程:当接触到一个系统时,首先了解当前系统提供什么服务、当前系统的服务如何操作,再分析目标系统必须提供什么服务,目标系统提供的这些服务如何操作,进而考虑如何实现这些服务(这里的实现是逻辑上的,指系统设计,程序设计是指物理上的实现)。接触新事物干什么用的?怎么使用呢?它需要改进吗要改进什么?如何改进呢?接触到当前系统当前系统提供什么服务当前系统的服务如何操作目标系统提供什么服务目标系统的服务如何操作如何实现这些服务名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 2
8、9 页 - - - - - - - - - 面向对象系统设计循序渐渐4 1.1.1 系统分析系统分析是指对当前系统和对目标系统进行抽象。可以分为当前系统分析和目标系统分析。对于分析的结果可以建立当前系统分析模型和目标系统分析模型(后面会详细讨论)。它用来表达当前系统提供什么服务、当前系统的服务如何操作,目标系统必须提供什么服务,目标系统提供的这些服务如何操作等问题。建立分析模型的方法有很多,常用的有面向数据流的分析方法(SA)和面向对象分析方法( OOA)等。1.1.2 系统设计系统分析主要关心系统必须做什么,而不必太多的考虑其中的实现细节,它注重的是问题领域与系统责任。系统设计就要考虑实现的
9、细节问题了,它主要说明如何实现分析中的元素,注重的是实现相关的问题,并做为实施阶段的依据。一般包括:软件架构设计、子系统设计、详细设计和数据库设计。常用的方法与系统分析相对应有面向数据流的设计方法(SD)和面向对象设计方法(OOD)等1.1.3 面向对象方法面向对象是认识事物的一种方法。青蛙属性 . 颜色重量行为 .跳捉害虫动物用面向对象方法来认识青蛙表示青蛙是一种动物,具备动物的一切属性和行为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 29 页 - - - - -
10、- - - - 面向对象系统设计循序渐渐5 1.2面向对象的概念面向对象( OO)是认识事物的一种方法,是一种以对象为中心的思维方式。这里介绍它的几个主要概念:对象、类、封装、继承、多态性、消息、关联。1、对象世界上所有的事物都可以称为对象。对象可以是有形的如:一台电视机等。也可以是无形的如:帐户、一项记录等。对象具体静态特征和动态特征。一个对象就是一个独立存在的客观事物,它由一组属性和对属性进行操作的一组操作构成。属性和操作是对象的两大要素。属性是对象静态特征的描述,操作是对象动态特征的描述。对象名也称为对象标识。如电视的属性有:品牌、尺寸、重量等。操作有:收视、选台、音量调节等。2、类根据
11、抽象的原则对客观事物进行归纳和划分,只关注与当前目标相关的特征,把具有相同特征的事物归为一个类。它是一个抽象的概念。类是具有相同属性和相同操作(服务)的对象的集合。它包括属性和操作(注:类的服务和操作只是叫法上的区别)。客观世界中的每一匹马都属于动物类,其中的一匹马就是动物类的一个实例,即一个动物对象。TV 经过人类的抽象动物对象用一个叫“动物”的类来概括它们名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 29 页 - - - - - - - - - 面向对象系统设计循序
12、渐渐6 3、封装封装是指按照信息屏蔽的原则,把对象的属性和操作结合在一起,构成一个独立的对象。外部对象不能直接操作对象的属性,只能使用对象提供的服务。4、继承继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。车机动车非机动车汽车火车自行车人力三轮车机动车具有车的全部属性和服务,同样汽车具有机动车的全部属性和服务。一般和特殊是相对而言的,在车和机动车之间,车是一般类(基类、超类、父类),机动车是特殊类(子类);在机动车和汽车之间机动车是一般类,汽车是特殊类。继承具有传递性,如汽车具有车的全部属性和服务。5、消息向某个对象发出的服务请求称作消息。对象提供的服务规定的消息格式
13、称作消息协议。消息包括:被请求的对象标识、被请求的服务标识、输入信息和应答信息。如:用电视遥控器发送一个选台消息,请求电视机执行换台服务。6、结构与连接一个系统一般由很多对象组成,对象之间并不是互相孤立的,而是存在着各种各样的关系。包括:部分/整体、一般 /特殊、实例连接、消息连接。(1)部分 /整体TV Jack 我们不用关心电视机的内部工作原理,电视机提供了选台、调节音量等功能让我们使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 29 页 - - - - - -
14、 - - - 面向对象系统设计循序渐渐7 对象之间存在的部分与整体的结构关系。如CPU 是 PC 机的一个部分, PC机由 CPU、内存、硬盘、显示器、键盘等组成。CPU内存硬盘显示器键盘PC机部分/整体关系中有两种方式:组合和聚合。上面 PC机就是一个组合的例子,一个部分对象(CPU)只能属于一个唯一的整体对象( PC 机)。组合关系中部分和整体的关系很紧密。聚合关系中则比较松散,一个部分对象可以属于几个整体对象。(2)一般 /特殊对象之间存在着一般和特殊的结构关系,也就是说它们存在继承关系。很多时候也称作泛化和特化关系。(3)实例连接间的依赖关系。对象之间的实例连接称作链接,对象类之间的实
15、例连接称作关联(4)消息连接发送消息请求另一个对象的服务,接收消息的对象响应消息,执行相应的服务。7、多态性多态性是指一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具有不同的行为。如一个绘图系统中类的多态性:当向图形对象发送消息进行绘图服务请求后,图形对象会自动判断自己的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐8 所属类然后执行相应的绘图服务。
16、1.3UML 概述UML 就是表达面向对象的标准化语言。UML 只是语言,不是方法。任何语言都有语法和语义两个方面。UML 采用元元模型、元模型、模型和用户对象四个层次来定义其体系结构。UML 是基于面向对象的可视化建模语言,支持面向对象的各种概念,提供了丰富的概念元素和图形表示元素,就像英语语言中提供了丰富的单词。通过用 UML 元素按照规定的语法建立系统模型,可以按照不同的抽象层次建立如分析模型和设计模型。 UML 的公共机制包括:说明、装饰、通用划分、扩展机制。下一章我们将进一步讨论UML 语言。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
17、 - - - - - 名师精心整理 - - - - - - - 第 9 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐9 第二章、UML 语言前面介绍了面向对象方法的概念。下面介绍表达面向对象方法的有力工具:UML 语言。2.1 UML 语言的体系结构这四个层次中,除元元模型外,每一层都是上一层的实例。(1)元元模型是定义描述元模型的语言,它是任何模型的基础。(2)元模型是描述模型的语言。在UML 语言的元模型中,定义了面向对象范畴的概念,如:对象类、关联、链接等。(3)模型是对现实世界的抽象,用来描述信息领域,如:银行系统中的储户、帐户等它们都是元模型中对象类
18、的实例。(4)用户对象是一个特定的信息领域对象,如:张三(张三是储户对象类的一个实例)。2.2 符号与图形在 UML 元模型中定义了很多模型元素,如:Use Case 、对象类、接口、组件等,为了模型的可视化,UML 为每个模型元素规定的特定的图形符号来表示。1、活动者( Actor)元元模型元模型模型用户对象名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐10 活动者名活动者是作用于系统的一个角色或
19、者说是一个外部用户。活动者可以是一个人,也可以是使用本系统的外部系统。2、用例( Use Case )用例名用例就是对活动者使用系统的一项功能的交互过程的陈述。如:用户进行登录的用例图可以表示为:用户登录3、对象类( Class)对象类(类)是具有相同属性和相同操作的对象的集合。(1)属性( Attribute)(2)操作( Operation)如用户类:可视性 属性名 多重性 :类型 初始值可视性 操作名 (参数列表) :返回列表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11
20、 页,共 29 页 - - - - - - - - - 面向对象系统设计循序渐渐11 4、接口( Interface)接口是一种抽象类,它对外提供一组操作,但自己没有属性和方法(操作的实现),它是在没有给出对象实现的情况下对对象行为的描述。接口使用对象类的图形表示方法,接口名前面加构造型interface。5、组件( Component)组件名组件体现了系统中逻辑模型元素的物理实现。6、包( Package )包名包也是一种模型元素,可以把语义相近的模型元素组织在一个包里,增加对模型元素的可维护性。7、节点( Node)节点名备。节点上可以包含对象和组件的实例。名师资料总结 - - -精品资料
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年面向对象系统设计 2022 面向 对象 系统 设计
限制150内