面向对象系统设计循序渐进.doc
《面向对象系统设计循序渐进.doc》由会员分享,可在线阅读,更多相关《面向对象系统设计循序渐进.doc(31页珍藏版)》请在沃文网上搜索。
1、面向对象系统设计循序渐渐面向对象系统设计循序渐进(第一版)OOADUML面向对象思想OOD循序渐进作为一名软件开发人员,我深刻地体会到面向对象系统设计带来的种种便利:1、 良好的可复用性。开发同类项目的次数与开发新项目的时间成反比,谁也不愿做重复劳动吧 J。2、 易维护。基本上不用花太大的精力跟维护人员讲解,他们可以自己读懂源程序并修改了,要不然开发的系统越多,你的负担就越重L,不是吗?。3、 良好的可扩充性。以前,在向一个用结构化思想设计的庞大系统中加一个功能则必须考虑兼容前面的数据结构、理顺原来的设计思路,即使客户愿意花钱修改,作为开发人员多少都有点恐惧。在向一个用面向对象思想设计的系统中
2、加入新功能,不外乎是加入一些新的类,基本上不用修改原来的东西,这种感觉真爽J。前 言本书是一本介绍面向对象软件系统设计的书,从组织结构上分为两大部分:面向对象的概念与UML概述、面向对象系统设计。第一部分是基础,第二部分是核心。本书对面向对象概念和UML语言的介绍并不是面面具到,介绍的基本上是本书需要用到的那部分内容,所有不适合作为面向对象概念或UML语言的参考手册。阅读本书的基础l 至少熟悉一种编程语言,最好熟悉的是面向对象编程语言。l 对软件工程有一定的了解。l 如果你只有结构化思想的开发经验,那么阅读本书后会对你有所启发。l 如果你有面向对象思想的开发经验,那么就让我们一起来探讨吧。阅读
3、指南如果你已经熟悉了面向对象概念,当我提到“封装”、“消息”、“对象类”等术语时,你可以不查阅资料,那么你可以跳过第一、第二章,直接阅读第三章的内容,否则你还是从头看起。建立共同语言为了避免在下面的讨论中因一些名称的问题而产生错误的理解,我觉得有必要先说明一下我的一些口语习惯和一些中英文名称对应关系。叙述中具体使用哪个名词或用中文还是英文,要根据具体上下文而定。如:我是计算机专业的。我买了一台手提电脑。其中计算机和电脑都是指Computer。下面是部分中英文对照表:英文中文简称Object Oriented面向对象OOObject Oriented Analysis面向对象分析OOAObjec
4、t Oriented Design面向对象设计OODObject Oriented Programming面向对象的程序设计OOPUnified Modeling Language统一建模语言UMLActor活动者Use Case用例Class对象类、类Attribute属性Operation操作、方法Interface接口Component组件Package包Node接点Association关联Composition组合Aggregation聚合Generalization泛化Dependency依赖Realization实现Message消息State状态Comment 注释目 录OOD
5、循序渐进1前 言2目 录4面向对象的概念与UML概述5第一章、面向对象的概念与UML概述51.1分析与设计概述51.2面向对象的概念71.3UML概述10第二章、UML语言112.1UML语言的体系结构112.2符号与图形11面向对象系统设计16第三章、架构设计163.1架构设计原则163.2信息系统的架构设计17第四章、类设计234.1类设计指南234.2通用日记帐财务系统系统分析模型234.3通用日记帐财务系统类图27第五章、数据库设计295.1映射原则295.2映射305.3ER 图30第六章、其他资料错误!未定义书签。30面向对象的概念与UML概述第一章、 面向对象的概念与UML概述1
6、.1 分析与设计概述首先来看看我们认识事物的过程:接触新事物干什么用的?怎么使用呢?改造事物的过程:它需要改进吗要改进什么?如何改进呢?再来看看我们开发软件的分析、设计过程:接触到当前系统当前系统提供什么服务当前系统的服务如何操作目标系统提供什么服务目标系统的服务如何操作如何实现这些服务当接触到一个系统时,首先了解当前系统提供什么服务、当前系统的服务如何操作,再分析目标系统必须提供什么服务,目标系统提供的这些服务如何操作,进而考虑如何实现这些服务(这里的实现是逻辑上的,指系统设计,程序设计是指物理上的实现)。1.1.1 系统分析系统分析是指对当前系统和对目标系统进行抽象。可以分为当前系统分析和
7、目标系统分析。对于分析的结果可以建立当前系统分析模型和目标系统分析模型(后面会详细讨论)。它用来表达当前系统提供什么服务、当前系统的服务如何操作,目标系统必须提供什么服务,目标系统提供的这些服务如何操作等问题。建立分析模型的方法有很多,常用的有面向数据流的分析方法(SA)和面向对象分析方法(OOA)等。1.1.2 系统设计 系统分析主要关心系统必须做什么,而不必太多的考虑其中的实现细节,它注重的是问题领域与系统责任。系统设计就要考虑实现的细节问题了,它主要说明如何实现分析中的元素,注重的是实现相关的问题,并做为实施阶段的依据。一般包括:软件架构设计、子系统设计、详细设计和数据库设计。常用的方法
8、与系统分析相对应有面向数据流的设计方法(SD)和面向对象设计方法(OOD)等1.1.3 面向对象方法面向对象是认识事物的一种方法。表示青蛙是一种动物,具备动物的一切属性和行为动物青蛙属性 . 颜色重量行为 .跳捉害虫用面向对象方法来认识青蛙1.2 面向对象的概念面向对象(OO)是认识事物的一种方法,是一种以对象为中心的思维方式。这里介绍它的几个主要概念:对象、类、封装、继承、多态性、消息、关联。1、对象TV世界上所有的事物都可以称为对象。对象可以是有形的如:一台电视机等。也可以是无形的如:帐户、一项记录等。对象具体静态特征和动态特征。一个对象就是一个独立存在的客观事物,它由一组属性和对属性进行
9、操作的一组操作构成。属性和操作是对象的两大要素。属性是对象静态特征的描述,操作是对象动态特征的描述。对象名也称为对象标识。如电视的属性有:品牌、尺寸、重量等。操作有:收视、选台、音量调节等。2、类 根据抽象的原则对客观事物进行归纳和划分,只关注与当前目标相关的特征,把具有相同特征的事物归为一个类。它是一个抽象的概念。 类是具有相同属性和相同操作(服务)的对象的集合。它包括属性和操作(注:类的服务和操作只是叫法上的区别)。动物用一个叫“动物”的类来概括它们经过人类的抽象对象 客观世界中的每一匹马都属于动物类,其中的一匹马就是动物类的一个实例,即一个动物对象。3、封装 封装是指按照信息屏蔽的原则,
10、把对象的属性和操作结合在一起,构成一个独立的对象。外部对象不能直接操作对象的属性,只能使用对象提供的服务。TVJack我们不用关心电视机的内部工作原理,电视机提供了选台、调节音量等功能让我们使用。4、继承 继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。机动车具有车的全部属性和服务,同样汽车具有机动车的全部属性和服务。一般和特殊是相对而言的,在车和机动车之间,车是一般类(基类、超类、父类),机动车是特殊类(子类);在机动车和汽车之间机动车是一般类,汽车是特殊类。继承具有传递性,如汽车具有车的全部属性和服务。5、消息 向某个对象发出的服务请求称作消息。对象提供的服务规定
11、的消息格式称作消息协议。消息包括:被请求的对象标识、被请求的服务标识、输入信息和应答信息。如:用电视遥控器发送一个选台消息,请求电视机执行换台服务。6、结构与连接一个系统一般由很多对象组成,对象之间并不是互相孤立的,而是存在着各种各样的关系。包括:部分/整体、一般/特殊、实例连接、消息连接。(1)部分/整体 对象之间存在的部分与整体的结构关系。如CPU是PC机的一个部分,PC机由CPU、内存、硬盘、显示器、键盘等组成。部分/整体关系中有两种方式:组合和聚合。上面PC机就是一个组合的例子,一个部分对象(CPU)只能属于一个唯一的整体对象(PC机)。组合关系中部分和整体的关系很紧密。聚合关系中则比
12、较松散,一个部分对象可以属于几个整体对象。(2)一般/特殊 对象之间存在着一般和特殊的结构关系,也就是说它们存在继承关系。很多时候也称作泛化和特化关系。(3)实例连接实例连接表现了对象之间的静态联系,它通过对象的属性来表现出对象之间的依赖关系。对象之间的实例连接称作链接,对象类之间的实例连接称作关联(4)消息连接消息连接表现了对象之间的动态联系,它表现了这样一种联系:一个对象发送消息请求另一个对象的服务,接收消息的对象响应消息,执行相应的服务。7、多态性 多态性是指一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具有不同的行为。 如一个绘图系统
13、中类的多态性:当向图形对象发送消息进行绘图服务请求后,图形对象会自动判断自己的所属类然后执行相应的绘图服务。1.3 UML概述既然面向对象是一种思维方式,当然就需要用一种语言来表达、来交流。UML就是表达面向对象的标准化语言。UML只是语言,不是方法。任何语言都有语法和语义两个方面。UML采用元元模型、元模型、模型和用户对象四个层次来定义其体系结构。UML是基于面向对象的可视化建模语言,支持面向对象的各种概念,提供了丰富的概念元素和图形表示元素,就像英语语言中提供了丰富的单词。 通过用UML元素按照规定的语法建立系统模型,可以按照不同的抽象层次建立如分析模型和设计模型。 UML的公共机制包括:
14、说明、装饰、通用划分、扩展机制。 下一章我们将进一步讨论UML语言。第二章、 UML语言 前面介绍了面向对象方法的概念。下面介绍表达面向对象方法的有力工具:UML语言。2.1 UML语言的体系结构元元模型元模型模型用户对象这四个层次中,除元元模型外,每一层都是上一层的实例。(1)元元模型是定义描述元模型的语言,它是任何模型的基础。(2)元模型是描述模型的语言。在UML语言的元模型中,定义了面向对象范畴的概念,如:对象类、关联、链接等。(3)模型是对现实世界的抽象,用来描述信息领域,如:银行系统中的储户、帐户等它们都是元模型中对象类的实例。(4)用户对象是一个特定的信息领域对象,如:张三(张三是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 系统 设计 循序渐进