您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第9章 面向对象的系统分析与设计
1第九章面向对象的系统开发方法主要内容:1.面向对象方法的基础理论2.面向对象方法的建模工具3.面向对象的分析与设计过程4.面向对象的系统实施2为什么要学习面向对象系统开发方法现代信息系统体系结构庞大、数据量大,运用传统的方法及工具已难以满足用户的要求,需要有新的方法论来指导系统的分析与设计过程。面向对象的方法是基于对象概念的分析与设计方法,认为信息系统是按照不同抽象层次组织的对象的集合。31面向对象方法的基础理论本节内容:1.1面向对象的基本概念1.2基于面向对象方法的系统开发生命周期41面向对象方法的基础理论客观世界可以看成由许多不同种类的对象构成,每个对象都有其内部状态和运动规律,不同对象间存在联系和互动。“面向对象”是人类从客观事物组织结构的角度认识并模拟客观世界,即建立适应一般思维方式的问题域描述模型的一种方法。51.1面向对象的基本概念–对象泛指所要研究的具体事物、抽象概念等。不同应用领域中的对象称为问题对象。在面向对象的系统中,问题对象是基本的运行实体,由一组数据和施加于这些数据上的一组操作封装而成的。构成对象的基本要素包括:标识、数据、操作、接口61.1面向对象的基本概念–对象记录对象静止特征的数据包括:公共数据»公共数据对外界是可见的,用于对象间信息的传递;私有数据»私有数据则是对象操作实现过程中的局部信息,外界不可见。71.1面向对象的基本概念–对象封装的数据和操作之间亦相互作用。数据刻画对象的属性,操作表示对象的功能。对象属性决定对象可能行为,而对象行为又能改变对象自身的属性,即对象状态发生变迁。81.1面向对象的基本概念状态转换操作集合状态集合接口消息回送消息图对象的自动机表示说明了对象的内部组织和机制以及与其他对象的联系91.1面向对象的基本概念–类相似对象的集合。在现实世界中有许多内部状态和外部行为相似的对象,由这些对象构成的集合就是类。类定义包括:标识继承数据结构操作接口图片来源:面向对象的基本概念–类对象集合的抽象规定了相似对象的公共状态与行为特征。创建对象的样板对象是类的具体实例(instance),通过类的例化而产生在系统开发过程中,要利用类的这一特性,采用增量方式逐步完善应用系统,即通过增加新类来扩展系统功能。111.1面向对象的基本概念–消息消息是实现对象与对象间相互合作的通信载体,是连接对象的纽带。从实现的角度看,消息就是请求对象执行某个处理或提供某些信息的要求,既可以是数据流,又可以是控制流。121.1面向对象的基本概念–消息传递当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释予以响应,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息传递”。传送对象接受对象接口消息操作名,参数消息传递模型131.1面向对象的基本概念–继承继承关系经常也被称为“is—a”关系,用来表示应用领域中的抽象和结构。有继承关系的类之间应具有如下特性:共享性差异性层次性继承最重要的优点在于支持重用。141.1面向对象的基本概念–继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。是一种联结类的层次模型,允许并鼓励类的重用。整个层次结构的上部(或祖先类)是最具有通用性的,而下部——后代,则具有特殊性。类可以从它的祖先那里继承方法和属性,并且类可以修改或增加新的属性、方法使之更符合特殊的需要。151.1面向对象的基本概念–“面向对象”是一种认识客观世界的认知方法学。从人们思维模型和认识事物的角度,面向对象很自然地与客观世界的固有特征相对应。–“面向对象”亦是一种解决问题的思维方法。这种方法描述的现实世界模型贴切合理,符合人们认识世界的思维方法。161.2基于面向对象方法的系统开发生命周期–面向对象系统开发–将面向对象技术用于系统开发的全过程,包括分析、设计、编程、测试及集成等。–从面向对象观点出发,以应用领域的问题对象为着眼点,用直观的方式描述客观世界的内部结构,将现实世界的空间模型平滑而自然地过渡到面向对象的系统模型,使系统开发过程与人们认识客观世界的过程保持最大限度的一致。–整个过程可从宏观和微观两个层面去理解。171.2基于面向对象方法的系统开发生命周期–面向对象系统开发宏观层面–从宏观层面看,面向对象的系统开发方法包括分析、设计、实现以及运行与维护等四大阶段,遵循反复累增的生命周期。–这种反复累增的生命周期与传统的不同,既非严格的自顶向下,也非严格地自底向上。1.2基于面向对象方法的系统开发生命周期目标系统类库t时间分析设计分析设计设计实现t时间运行维护分析设计反复累增的生命周期191.2基于面向对象方法的系统开发生命周期–面向对象系统开发宏观层面–反复是指分析、设计与实现各阶段不是顺序完成的,而是经过多次迭代完成,每一次迭代都要以前次迭代结果为基础,进行相应的分析、设计与实现。–累增是指在每一次迭代过程中,分析、设计与实现都会产生新的成果,系统功能结构逐步得到改进,最后达到用户要求。201.2基于面向对象方法的系统开发生命周期–面向对象系统开发微观层面–每一宏观阶段中几乎都会涉及标识对象,确定对象的属性,定义对象的服务,以及确定对象间关系等处理步骤。211.2基于面向对象方法的系统开发生命周期–面向对象系统开发微观层面–分析阶段,通过详细调查问题领域,列举问题领域主要实体对象,初步梳理出这些实体对象的属性、行为及彼此间的关系。221.2基于面向对象方法的系统开发生命周期–面向对象系统开发微观层面–设计阶段,对分析阶段所得到的问题领域实体对象/类进行求精,进一步发掘新的问题领域对象,同时要面向目标系统的实现标示出控制对象/类及接口对象/类,在这一过程中,还要定义对象/类之间的关系;231.2基于面向对象方法的系统开发生命周期–面向对象系统开发微观层面–实现阶段,一方面构成较高级抽象,例如,图像、按钮、对话框、控制框等低级类可构成一个较高级窗口类,另一方面,在现有类中发现共性,抽象出更高级的类。241.2基于面向对象方法的系统开发生命周期–面向对象系统开发微观层面–总之,在每一阶段中,只要出现新的对象,就必须经过微观过程的几个处理步骤。–可以说,宏观过程的反复累增与微观过程的反复累增是交织在一起的。252面向对象方法的建模工具–自上个世纪90年代,各种支持面向对象系统开发过程的工具不断涌现。统一建模语言(UnifiedModelingLanguage,UML)就是其中应用最广泛的工具之一。262面向对象方法的建模工具本节内容:2.1UML的产生及发展2.2UML的基本模型272.1UML的产生与发展–面向对象建模语言出现于70年代中期。–至1994年,建模语言的种类激增至五十多种。–最突出的问题是,缺乏支持分析、设计及实施各阶段成果有效交流的公共平台。–GradyBooch、JamesRumbaugh和IvarJacabson三人共同推出了标准建模语言UML。282.1UML的产生与发展–自1995年开始,许多公司纷纷支持UML标准,逐渐形成UML联盟。–包括DEC、Hewlett—Packard、Intellicorp、Microsoft、Oracle、TexasInstruments、Rationa1等公司–98年OMG接手UML标准的维护工作,并且制订了若干新的UML修订版。292.1UML的产生与发展–UML为开发人员提供了标准的、易于理解的表达方式用于构建系统蓝图,便于不同的开发人员共享和交流工作结果。–在UML提供的平台上,系统分析员、客户、程序员和其他系统开发人员能够相互理解,并以一致的方式来组织系统分析与设计的过程。–目前,UML已成为行业事实标准,广泛地应用在信息系统相关领域。302.2UML的基本模型–UML提供一套相互组合的图表元素,支持以图形方式对系统需求、功能、结构等内容进行建模,描述系统组成结构、功能结构及实现细节,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。–从组成结构角度看,UML包括九种基本图。312.2UML的基本模型–类图–类图描述类和类之间的静态关系,如关联、聚类、组成和继承等关系。–类图不仅显示了信息的结构,还描述了系统的行为。–类图是定义其它图的基础。–矩形方框代表类的图标,分三个区域:–最上面的区域标识类名,–中间区域是类的属性,–最下面区域里列的是类的操作。洗衣机(类名称)型号(类属性)漂洗(类方法)类图示例322.2UML的基本模型–对象图–对象(object)是类的实例,具有具体属性值和行为。–对象图常用于表示复杂类图的一个实例,对象之间的链(Link)是类之间的关联的实例。–与类的图形表示相似,对象的图标也是个矩形,只是对象名下面要带下划线。具体实例的名字位于冒号的左边而该实例所属的类名位于冒号的右边。–比如,海尔:洗衣机。332.2UML的基本模型–用例图(usecasediagram)–用例是从用户的观点对系统行为或系统使用场景的描述。可以帮助系统开发人员从用户的观察角度收集可靠的系统需求。–一个用例是用户与计算机之间的一次典型交互作用。这对于建立人机交互的信息系统(而非计算机设备使用的)尤为重要。342.2UML的基本模型–用例图(usecasediagram)–下图说明了如何通过用例图来描述使用一台洗衣机洗衣服。洗衣机用户洗衣服代表洗衣机用户的直立小人形被称为交互参与者(actor),椭圆形代表用例,值得注意的是,参与者(发起用例的实体)可以是人也可以是系统。352.2UML的基本模型–用例图–需求分析阶段的用例模型是系统开发者和用户反复讨论的结果,应能够充分表达开发者和用户共同认可的需求内容。其特点包括:–首先,用例模型可以描述待开发系统的功能需求;–其次,用例模型将系统看作黑盒,从外部执行者的角度来看待系统;–第三,用例模型是需求分析之后各阶段开发工作的主要驱动因素,是验证和检测目标系统的依据。362.2UML的基本模型–活动图–用途–既可用来描述操作(类的方法)的行为,–也可以描述用例和对象内部的工作过程。–依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。372.2UML的基本模型–活动图–活动图中,一个活动结束后将立即进入下一个活动。–用例和对象行为的各个活动之间通常也具有时间顺序。洗涤缸旋转洗涤15分钟排污水重新注入净水活动图图示382.2UML的基本模型–顺序图–表达对象之间的基于时间的动态交互关系,着重体现对象间消息传递的时间顺序。–顺序图存在两个轴:–水平轴表示不同的对象,–垂直轴表示时间。392.2UML的基本模型图中的对象用带有垂直虚线的矩形框表示,标有对象名和类名。垂直虚线是对象的生命线,表示某段时间内对象处在活动状态。对象间的通信则通过对象生命线间消息来表示。注水管洗涤缸排水管注入净水保持静止停止旋转洗涤排污水注入净水旋转洗涤排污水停止旋转甩干停止顺序图图示402.2UML的基本模型–协作图–表达系统中相互合作的对象为完成目标之间的交互关系和链接关系。–与顺序图着重体现交互的时间顺序不同,协作图强调交互对象间的静态链接关系。协作图示例内部计时器注水管洗涤缸1停止2旋转洗涤图中的序号代表命令消息的发送顺序,计时器对象先向进水管对象发送停止进水的消息,再向洗涤缸对象发送旋转洗涤的消息。412.2UML的基本模型–状态图–表述在任何给定的时刻,一个对象所处的某一特定状态。–比如,电梯可以处于上升、停止或下降状态。洗衣机可以处于浸泡、洗涤、漂洗、脱水或关机等状态。–状态图包括一系列的状态以及状态之间的转移。浸泡洗涤漂洗脱水图中最顶端的符号代表起始状态,而底端的符号表示终止状态。状态图图示422.2UML的基本模型–组件图用于明确系统各部分的功能,例如在图书管理系统中可以包括“借/还书处理”、“信息查询”等组件。–
本文标题:第9章 面向对象的系统分析与设计
链接地址:https://www.777doc.com/doc-4444252 .html