电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

软件系统分析与设计-6--面向对象分析设计

  • 资源ID:57578519       资源大小:944.50KB        全文页数:89页
  • 资源格式: PPT        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

软件系统分析与设计-6--面向对象分析设计

第6章 面向对象软件系统化分析与设计方法,2018/10/23,2,教学目的及要求,了解:面向对象的基本概念。熟悉:面向对象软件系统分析与设计方法的原理。掌握:用例模型设计、对象模型设计、时序图设计、状态图设计。 重点:面向对象分析与设计方法。 难点:用于面向对象原理和方法进行软件系统分析与设计。,2018/10/23,3,教学内容,6.1面向对象概述 6.2对象模型设计 6.3用例模型设计 6.4领域模型设计 6.5时序图设计 6.6状态图设计,2018/10/23,4,§6.1 面向对象概述,1. 面向对象方法学(OOM)的要点 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。,2018/10/23,5,客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的。面向对象方法是把客观世界中的实体抽象为问题域中的对象(Object),把软件系统作为一系列离散的解空间对象的集合。这些解空间对象与问题空间对象尽可能一致。这些解空间对象彼此间通过发送消息而相互作用,从而得出问题的解。也就是说,把程序看作是相互协作而又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作、功能和目的。,§6.1 面向对象概述,2018/10/23,6,2. OOM的四要素:,对象(object):客观世界由各种对象组成。面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。,类(class):对象可划分成类;单个对象可视为某一类的实例(instance)。每个类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息;方法是允许施加于该类对象上的操作,为该类所有对象共享的。,§6.1 面向对象概述,2018/10/23,7,继承(inheritance):类可分层(按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个类组成一个层次结构的系统),下层子类与上层父类有相同特征(包括数据和方法)称为继承。,消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话)。,§6.1 面向对象概述,2018/10/23,8,OOM = Object+Class+Inheritance+Communication with messages,面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传消息实现彼此通信。 注:OOM并不是减少了开发时间,而是通过提高可重用性、可维护性,进行扩充和修改的容易程度等,从长远角度改进了软件的质量。 OOM与原型(Prototyping)结合使用效果好。,§6.1 面向对象概述,2018/10/23,9,§6.2 对象模型设计,软件是什么以及程序如何工作?面向对象编成语言和设计语言有一个共同的理解。 对象模型是UML和面向对象编程共享的公共计算模型。 编程语言和设计语言是在不同的抽象级别上来表示程序的。但是,这两种语言的基础都是对象模型所提供对运行程序的抽象描述。,2018/10/23,10,6.2.1 对象模型 对象模型的基本性质是:计算是发生在对象之中和对象之间的。 理解对象 对象负责维护系统数据的一部分,并负责实现系统整体功能的某些方面。对象一般由含有该对象存储的数据的内存区域表示。对象支持方法(或函数)以访问和更新对象包含的数据。 因此,对象结合了计算机程序的两个方面:即数据和处理。而在其他软件设计方法中两者是分离的。,§6.2 对象模型设计,2018/10/23,11,6.2.1 对象模型 程序不仅仅是一组孤立的对象的集合,而是由对象中存储的数据之间的关系链接的。 因此对象模型将一个运行的程序视作一个对象的网络或图(graph),对象构成该图的节点,连接对象的弧称为链接(link)。 对象在运行时创建和销毁,链接也可以改变,其网络(或拓扑)结构是高度动态的,会随着程序的运行而改变。,§6.2 对象模型设计,2018/10/23,12,6.2.1 对象模型 对象间的连接由对象间相互发送消息(messages)进行交互建立的通信路径实现,消息与函数调用类似,消息请求接收对象执行其方法之一。通常对象对一个消息的响应将是向其他对象发现消息,这样,计算通过网络而展开。这个网络包含响应一个初始消息涉及到的多个对象。,§6.2 对象模型设计,2018/10/23,13,6.2.1 对象模型 描述一个运行程序的对象的图结构可以通过跟踪各个消息调用的程序进行。 但是,通过定义各个对象来编写程序通常是不可行的。而是要给出相似对象的类(class)的结构描述,来定义对象能够持有的数据和方法的执行效果。 因此,面向对象程序的源代码不是直接描述对象的图,而是描述组成该图中的这些对象的特征。,§6.2 对象模型设计,2018/10/23,14,6.2.1 对象模型 对象模型在设计中的作用 在设计中,对象模型的重要性在于它为UML的设计表示法提供了语义基础。UML中许多特征的含义可以通过将它们解释为对相互连接的、互通消息的对象的集合的说明来理解。 通过绘制UML图(diagrams)来表示对象特定运行时的配置,这些图是和源代码作用相同的。从结构上来定义运行时会发生什么。,§6.2 对象模型设计,2018/10/23,15,6.2.1 对象模型 这些图被分成两类,静态图和动态图。 静态图:描述对象间可能存在的关系的种类,以及作为结果的对象网络可具有的可能的拓扑结构。 动态图:描述可以在对象间传递的消息以及该消息对接收该消息的对象的影响。 对象模型的这双重作用,使得将UML设计表示法与实际的程序相关起来非常容易,即UML是适合于设计和文档化面向对象程序的语言。,§6.2 对象模型设计,2018/10/23,16,6.2.1 对象模型 一个库存控制的实例 在制造业环境中,某些类别的复杂产品是由组成零件装配而成,常见的需求是记录所拥有的零件的库存以及这些零件的使用方式。 开发一个简单的程序来模拟不同种类的零件和它们的特性,以及用这些零件构造复杂组建的方式,通过这个实例来阐明对象模型。,§6.2 对象模型设计,2018/10/23,17,6.2.1 对象模型 1)这个程序必须管理描述所知的不同零件的信息。 2)记录各个实际零件的信息,为了跟踪和质量保证。 对这个示例来说明,假定对每一个零件我们感兴趣的是下列三项信息: (1)零件的目录查找号(整数); (2)零件的名字(字符串); (3)单个零件的价格(浮点数)。,§6.2 对象模型设计,2018/10/23,18,6.2.1 对象模型 零件可以被装配成更复杂的结构,称为组件。一个组件可以包含多个零件,且可以具有层次结构。 维护零件、组件及它们的结构信息的程序应该能够用于许多目的。例如维护目录和库存信息,记录制造的组件结构;支持对组件的各种操作,例如计算组件中的零件的总价格,打印组件的所有零件的清单等。 后面将考虑一个简单的应用,如通过累加组件中包含的所有零件的价格,实现一个组件中材料价格的查找功能。,§6.2 对象模型设计,2018/10/23,19,6.2.2 类和对象 面向对象系统中的数据和功能分布在系统运行时存在于对象之中。每个单独的对象保存部分系统数据并提供一组方法,允许系统中的其他对象对该数据进行某些操作。 面向对象设计的难题之一就是如何将系统的数据划分到一组对象中。标识对象经常应用的一个经验规则是:用模型中的对象表示来自应用领域的现实世界的对象。,§6.2 对象模型设计,2018/10/23,20,6.2.2 类和对象 库存实例 库存控制系统的主要任务之一是记住厂商库存中的所有物理零件。因此很自然的起点就是考虑将这些零件中的每一个都表示为系统中的一个对象。那么,每个对象描述了不同的零件,因而保存了不同的数据。 但是每个对象都具有相同的数据结构,表示同一种实体的一组对象的共有结构由类描述。,§6.2 对象模型设计,2018/10/23,21,6.2.2 类和对象 库存实例 该类的每个对象我们称为是该对象的实例(instance),库存控制系统的第一步,我们考虑可以定义一个Part类。 在这个零件类中,我们自然的想法是每个对象应该保存关于该零件的信息:它的名字、编号以及价格。这反映在下面的实现中。,§6.2 对象模型设计,2018/10/23,22,§6.2 对象模型设计,2018/10/23,23,6.2.2 类和对象 1. 库存实例 UML类的概念与C+和Java等程序设计语言中的概念非常类似。一个UML类定义了许多特征(feature),细分为属性(attribute定义实体存储的数据)和操作(operation定义了实体的行为)。 属性定义类实例存储的数据,操作定义类实例的行为。,§6.2 对象模型设计,2018/10/23,24,6.2.2 类和对象 库存实例 在UML中,类由一个分 为三栏的矩形图标表示, 分别包含该类得名字、 属性和操作。Part类的 UML表示如图6-1所示。 -:表示privace(私有) +:表示public(公有) 图6-1 Part类的UML表示,§6.2 对象模型设计,2018/10/23,25,6.2.2 类和对象 对象创建 类是在编译时定义的,而对象是在运行时作为类的实例创建的。执行下面的语句的结果是创建一个新对象。 它包括两个步骤,首先为对象分配一块 内存区域,然后适当地初始化。一旦创 建了新对象,将在变量myScrew中保存 一个引用。对应的UML图形化表示如图 图6-2 一个Part对象 6-2所示。,§6.2 对象模型设计,myScrew: Part name = “screw” number = 28834 cost = 0.02,2018/10/23,26,6.2.3 对象的特性 状态 对象的第一个特征是它们充当数据的容器。在纯面向对象系统中,系统维护的所有数据都保存在对象中,不存在其他模型中的全局数据或中央数据存储库的概念。 包含在对象属性中的数据值通常称为对象的状态(state)。如示例中三个属性值构成了对象myScrew状态。 在面向对象的程序设计语言中,对象的状态由对象的类中所定义的域制定,而在UML中由类中的属性指定。,§6.2 对象模型设计,2018/10/23,27,6.2.3 对象的特性 行为 每个对象除了保存数据之外还提供了一个由若干操作组成的接口。其中除了一些实现系统全局功能的通用的操作外,有一些操作将提供访问和更新对象中所保存的数据的功能。 编程语言中,对象的操作在它的类中作为一组方法来定义。对象定义的一组方法定义了该对象的接口(interface)。 UML中,操作不同于属性,操作没有出现在对象图标中,这是因为对象提供的完全是它的类所定义的操作。,§6.2 对象模型设计,2018/10/23,28,6.2.3 对象的特性 本体 每个对象和其他所有对象都是有区别的,即使两个对象保存完全相同的数据,并在接口中提供完全相同的操作集合时也是如此。如: 对象模型中为每个对象提供的作为区别于其他对象的唯一性标志,即本体(identity)。对象的本体是对象模型固有的一部分,不同于对象中存储的任何其他数据项。,§6.2 对象模型设计,2018/10/23,29,6.2.3 对象的特性 本体 设计人员不需要定义一个特殊的数据来区分一个类的各个实例。但是有时应用领域会包含对每个对手都不相同的真实的数据项。例如各种识别号码,这些数据项通常作为属性建模。然而,在没有这样的数据项的情况下,也没有必要只是为了区分对象而引入一个这样的数据项。 在面向对象的程序设计语言中,对象的个体由它在内存中的地址表示。由于不可能在同一个位置保存两个对象,所有的对象都有唯一的地址,因而任意两个对象的个体都是不同的。,

注意事项

本文(软件系统分析与设计-6--面向对象分析设计)为本站会员(qt****68)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.