




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章 面向对象的系统分析与设计,第一节 面向对象的基本概念,面向对象是一种认识客观世界、模拟客观世界的方法。客观世界可以看成由许多不同种类的对象构成,每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了完整的客观世界。,一、对象的基本概念,(1)对象的定义 在面向对象的系统中,问题对象是基本的运行实体,是由一组数据和施加于这些数据上的一组操作封闭而成的。构成对象的基本要素有: 1)标识 对象的名称。 2)数据(属性) 描述对象属性的存储或数据结构,它表明了对象的一个状态。 3)操作(方法) 对象的行为。 4)接口 对象受理外部消息所指定的操作名称集合。,一、对象的基本概念,(2)对象的特征 对象是构成和支撑整个软件系统的基石。对象的三个主要特征为: 模块独立性 动态连接性 易维护性 (3)对象的识别 (类的识别) 系统的目的不同,对象的划分也就不一样 。 对象划分的基本原则是:寻求大系统中事物的共性,将所有共同的系统成分确定为一个对象。,二、类的基本概念,在现实世界中有许多内部状态和外部行为相似的对象,由这些对象构成的集合就是类。 构成类的基本元素: 标识 继承描述 数据结构 操作 接口 对象与类的关系相当于一般程序设计语言中变量和变量所具有的类型的关系。,三、消息和消息传递,面向对象的世界是通过对象与对象间彼此的相互合作来推动的,消息是对象之间的通信载体。 (1)消息及其性质 消息就是用来请求对象执行某个处理或回答某些信息的要求,是连接对象的纽带。在面向对象系统中有两类消息,即公有消息和私有消息。 消息有如下几个性质: 1)同一对象可以接收不同形式的多个消息,产生不同响应。 2)一条消息可以发送给不同的对象,消息的解释完全由接收对象完成,不同的对象对相同形式的消息可以有不同的解释。 3)与传统程序的调用不同,对于传来的消息,对象可以返回相应的回答信息,也可以不返回,消息响应不是必须的。,三、消息和消息传递,(2)消息传递机制 当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释予以响应,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息传递”。 (3)消息模式与方法 消息的形式用消息模式(Message Pattern)刻画。一个消息模式定义一类消息。 getMax(double x, double y) 对同一消息模式的不同消息,同一对象所做的解释和处理都是相同的,只是处理结果可能不同。因而,对象应定义一组消息模式及其处理方法。消息模式不仅定义了对象接口所能受理的消息,还定义了对象固有处理能力,是对象接口的唯一信息,使用对象只需要了解它的消息模式。 对象的消息模式的处理能力即所谓的“方法”(Method),方法是实现消息具体功能的手段,在C+中方法称为成员函数,而在Java中就称为(成员)方法。,四、继承的基本概念,继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。 概括来说,有继承关系的类之间应具有如下特性: a.类间具有共享特征; b.类间具有细微差别; c.类间具有层次结构。,五、面向对象的含义,面向对象=数据抽象+数据抽象类型+继承机制 面向对象是一种认识客观世界的认知方法学: 这种认识方法将客观世界看成是由许许多多不同对象 构成的,每一个对象都有自己的运动规律和内部状态,不同对象间的相互作用和通讯构成了完整的客观世界。 面向对象亦是一种解决问题的思维方法: 从组织结构模型化客观世界,将对象作为需求分析和系统设计的核心或主体,把整个问题域抽象成为相互通讯的一组对象集合,并引用科学方法论中的分类思想,将相似或相近的一组对象聚合成类,采用各种手段将相似的类组织起来,实现问题空间到解空间的映射。,第二节 面向对象系统开发的原理,一、面向对象系统开发的方法论,从宏观层面看,面向对象的系统开发方法包括分析、设计、实现以及运行与维护等四大阶段,遵循反复累增的生命周期。 从微观层面上看,面向对象的系统开发方法是指每一宏观阶段中标识对象,确定对象的属性,定义对象的服务,以及确定对象间关系等几个步骤。,二、面向对象的系统分析,(1)面向对象分析的基本任务: 找出并规定一组根据系统的各项要求而行动和相互作用的问题领域的对象,依据这些对象及其关系建立问题域模型。 (2)面向对象分析的基本步骤: 问题域陈述 识别对象/类 确定对象的属性 确定对象的服务 确定对象/类的关系,三、面向对象的系统设计,面向对象设计阶段要解决的问题是如何把分析阶段确定出来的对象和类配置起来以实现系统功能,并建立系统体系结构。 增、并、改实体对象,并识别接口对象和控制对象。 确定实体对象、接口对象和控制对象之间的各种关系。 完善对象类结构图,组织系统的体系结构。 设计过程 (1)识别接口对象和控制对象 (2)系统结构设计 (3)结构框架内各个子系统的详细设计,四、面向对象的系统实施,系统实施阶段主要进行: 编码语言的选择; 面向对象应用程序框架的构建; 面向对象应用程序编写; 构建出信息系统的应用软件平台。,第三节 面向对象的系统开发工具UML,自20世纪90年代,结构化系统开发方法的应用日渐萎缩,而面向对象的信息系统开发方法体系日趋成熟,其重要标志就是各种支持面向对象系统开发过程的工具不断涌现。统一建模语言(UML)就是其中应用最广泛的工具之一。 UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。它易于使用、表达能力强,可应用于任何语言平台和工具平台 ,可应用于任何软件开发的过程。,1. UML的产生,问题:(软件危机) 系统开发是一项人力活动,在开发过程的每个阶段中都很可能潜伏着错误。比如,系统分析员可能没有正确理解客户的需求,编制的文档客户可能不理解;再比如,设计人员误解了系统分析结果,进而构造出的系统结构很可能难以使用或根本不是客户所要的解决方案。 在UML出现以前,系统开发往往缺乏一个交流各个开发阶段成果的公共平台。系统分析员获取客户需求后,用某种自己能够理解(但客户不一定理解)的表示方法产生需求分析文档,然后将这个分析结果转交给设计人员,并且期待设计的系统能够满足客户的要求。,1. UML的产生,解决办法 作为一种可视化的建模语言,UML为系统开发人员提供了标准的、易于理解的表达方式用于构建系统蓝图,并提供了便于不同的开发人员共享和交流设计结果的有效机制。 在UML支持下,系统分析员、客户、程序员和其他系统开发人员能够相互理解,并以一致的方式来组织系统的设计过程。对于客户,应能够理解开发人员的工作及进度,当开发人员没有充分理解客户需求时,或客户突然改变需求时,还能够指出变化的需求。对于开发人员,必须清楚自己承担的任务以及该任务在整个任务中的位置。,UML提供的标准表示法,类似于绘制电路图时所用的标准图示。即使项目实施过程中遇到了大规模变更,它仍能保证实施过程平稳地进行。,2.UML的发展,公认的面向对象建模语言出现于20世纪70年代中期。到1994年,这些建模语言增加到了50多种。 它们各有千秋, 但由于没有统一的标准,妨碍了用户及开发人员之间的交流。在客观上就要求在总结面向对象技术应用实践的基础上,根据求同存异的原则把它们统一起来,由此形成了统一建模语言。 直至20世纪90年代中期,Grady Booch、James Rumbaugh和Ivar Jacabson等三人在原有各自进行的面向对象分析与设计方法学研究的基础上,开始相互借鉴与合作,共同推出了标准建模语言UML。,2000年左右,OMG把UML作为公共可得到的规格说明(Publicly Available Specification, PAS)提交给国际标准化组织(ISO)进行国际标准化。,3.UML的内容,作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分: UML语义 UML语义的描述UML元模型的精确定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除因人而异的表达方法所造成的影响。 此外,UML还支持对元模型的扩展定义。 UML表示法 定义UML符号的表示法为开发者(或开发工具)使用这些图形符号和文本语法为系统建模提供了标准。 UML包括一些可以相互组合图表的图元素,以及组合这些元素的法规。各种图元素是UML展示某个系统的多个视图,这些图描述了系统的组成结构及功能结构,UML还提供组织和扩展这些图的方法。 多个视图组成一个模型(model) 。 系统的UML模型有点像建筑物按照比例缩小并经修饰后的建筑模型。从组成结构角度看,UML包括以下若干种图:,(一)类图,类图几乎是所有面向对象开发方法的支柱。 类图描述类和类之间的静态关系,比如关联、聚类、组成和继承等关系。 与数据模型不同,类图不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其他图的基础。 类图为开发人员提供了模仿现实世界的表达方式,它允许分析员使用客户采用的术语与其交流,促使客户提出所要解决问题的相关细节。,如何分析获得系统的业务类,图书馆管理系统的类图及关系,(二)对象图,对象(Object)是类的实例,具有具体属性值和行为。例如,某个洗衣机的品牌可能是“海尔”,型号为“XDL500,序列号为“OL57774,一次最多洗涤重量为16磅的衣物。UML中,对象图可以看作是类图的一个实例,对象之间的链 (Link)是类之间的关联的实例,对象图常用于表示复杂的类图的一个实例。 与类的图形表示相似,UML表示对象的图标也是个矩形,只是对象名下面要带下划线。具体实例的名字位于冒号的左边而该实例所属的类名位于冒号的右边, 比如,海尔洗衣机:洗衣机。 类还可以用包进行组织,(三)用例图,用例(Use Case)是从用户的观点对系统行为或系统使用场景的描述。 用例模型应用于需求分析阶段,是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。 一个用例是用户与计算机之间的一次典型交互作用。 代表洗衣机用户的直立小人形被称为参与者(Actor),椭圆形代表用例,注意:参与者(发起用例的实体)可以是人,也可以是系统。,用例模型的作用,对于系统开发人员来说,用例很有实用价值,可以帮助其从用户的观察角度收集可靠的系统需求。 这对于建立人机交互的信息系统尤为重要。 描述了待开发系统的功能需求; 将系统看做黑匣子,从外部执行者的角度来理解系统; 驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统。,(四)状态图,在任何给定的时刻,一个对象总处于某一特定的状态。比如,一部电梯可以处于上升、停止或下降状态。洗衣机可以处于浸泡、洗涤、漂洗、脱水或关机等状态。 一个状态图包括一系列的状态以及状态之间的转移(见图96)。图中最左边的符号代表起始状态,而右边的符号表示终止状态。,(五)时序图,在一个运行的系统中,对象之间要发生交互,且这些交互要经历一定的时间阶段。时序图所表达的则是对象之间的基于时间的动态交互关系,着重体现对象间消息传递的时间顺序。 时序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。 消息的箭头指明消息的类型。,(六)活动图,活动图的应用非常广泛,既可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程。 活动图是由状态图变化而来的,它们各自用于不同的目的。 活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。 活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。 用例和对象行为的各个活动之间通常也具有时间顺序,(七)协作图,UML协作图表达为完成系统的工作目标,系统中相互合作的对象间的交互关系和链接关系。虽然时序图和协作图都用来描述对象间的交互关系,但侧重点不一样。时序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系。 洗衣机构件类中增加了一个内部计时器。在经过某段时间后,定时器停止注水,然后启动洗涤缸旋转洗涤。图中的序号代表命令消息的发送顺序,计时器对象先向洗涤缸对象发送旋转洗涤的消息,再向进水管对象发送停止进水的消息。,(八)组件图与配置图,组件图与配置图与整个计算机系统密切相关。 UML用组件图表示信息系统的软件结构。由于现代软件开发多是基于构件的,这种开发方法对群组开发尤为重要。 UML的配置图显示信息系统的物理体系结构。它可以描述计算机和设备,展示其间的连接以及驻留在每台机器中的软件。,组件图(构件图),部署图,UML的体系结构,4+1视图模型,逻辑视图 (Logical View),实现视图 (Implementation View),进程视图 (Process View),部署视图 (Logical View),用例视图 (Use Case View),表示系统功能性需求,表示系统的概念设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 4517:2025 EN Physical vapor deposition (PVD) coatings - Contact angle measurement of metallic hydrophobic PVD coatings
- 【正版授权】 ISO 1135-4:2025 EN Transfusion equipment for medical use - Part 4: Transfusion sets for single use,gravity feed
- 【正版授权】 ISO 10516:2025 EN Railway applications - Vehicle reference masses
- 针法灸法考试试题及答案
- 钳工国家考试试题及答案
- 乐理1级试题及答案
- 口语启蒙测试题及答案
- 保密培训试题及答案
- 数学考查试题及答案
- 肺栓塞考试题及答案
- 苏教版小学六年级毕业会考模拟数学试题集
- 神经科护士的疼痛管理和舒适护理
- FIDIC国际合同条款中英文对照
- 托盘车充电安全操作规程
- 中经堂经络养生运营策划书
- 城轨车辆车门电气原理分析及故障排除
- GB/T 17478-2004低压直流电源设备的性能特性
- GB 18447.1-2008拖拉机安全要求第1部分:轮式拖拉机
- 职业健康培训材料
- 新版食品安全法前后对比-讲义课件
- 《政治经济学》(全套课件)
评论
0/150
提交评论