软件系统分析第四章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件系统分析第四章

目录 概述 基本思想 基本概念 数据模型 图形的面向对象模型 4.1 概述 面向对象是什么? Object Oriented 一种认识和表示客观世界的方法 如何表示客观世界? 把客观世界的事物都抽象为“对象” 采用OOA和OOD以及模型 面向对象的方法 面向对象技术是软件工程领域中的重要技术,这种软件开发思想比较自然地模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法。应该特别强调的是,面向对象技术不仅仅是一种程序设计方法,更重要的是一种对真实世界的抽象思维方式。 软件工程学家Codd和Yourdon认为: 面向对象=对象+类+继承+通信 面向对象技术的特点 对软件开发过程所有阶段进行综合考虑。 软件生存期各阶段所使用的方法、技术具有高度的连续性,用符合人类认识世界的思维方式来分析、解决问题。 将OOA、OOD、OOP有机地集成在一起 OOA(Object-Oriented Analysis) OOD(Object-Oriented Design) OOP(Object-Oriented Program) 合理的软件开发过程是OOA-OOD-OOP。在OOA和OOD阶段对系统需要设立的每个对象类及其内部构成与相互关系都达到透彻的认识,并建立清晰的模型;OOP只是在选定的语言环境下使用具体的数据结构来定义对象的属性,编写具体的语句来实现有关的算法。 4.2 基本思想 客观世界是由对象组成的,任何客观的事物或实体都是对象,复杂的对象可以由简单的对象组成。 对象有静态和动态两种特性。 对象的两种特性统一成一体构成一个具有特定标识的独立实体,对外屏蔽其内部细节。 具有相同数据和相同操作的对象可以归并为一个类,对象是对象类的一个实例。 基本思想 类可以派生出子类,子类继承父类的全部特性(数据和操作),又可以有自己的新特性。子类与父类形成类的层次结构。 类与类之间还存在全体与部分的关系,即组成。 对象之间通过消息传递相互联系。类具有封装性,其数据和操作等对外界是不可见的,外界只能通过消息请求进行某些操作,提供所需要的服务。 以类为基本单位,通过类间关系及消息连接,可以构成类层次结构图。 4.3 基本概念-对象 对象   对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组行为组成。   在这里,属性和行为是构成对象的两个基本要素,其定义是: 属性是用来描述对象静态特征的一个数据项。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改。 行为是用来描述对象动态特征的一个操作序列,表示对象所能提供的服务,也称方法或服务。 对象标识符:OID,对象的唯一名字,由外界赋予。 一个对象通常可由OID、属性和操作三部分组成。 基本概念-类 类,Class:是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。 类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。 类是对象的抽象;对象是类的具体化,是类的实例。 例 在学校教学管理系统中,“学生”是一个类,其属性具有姓名、性别、年龄等,可以定义“入学注册”、“选课”等操作。一个具体的学生“王平”是一个对象,也是“学生”类的一个实例。 类的命名 适合该类及其特殊类的全部对象实例 汽车加摩托车-机动车;还有马车-车辆 反映个体而不是群体 书-书籍;船-船舶 使用名词,或带有定语的名词 ,避免无意义的符号 如线装书 把众多的事物归纳并划分成一些类是人类在认识客观世界时经常采用的思维方法,分类的原则是抽象,从那些与当前目标有关的本质特征中找出事物的共性,并将具有共同性质的事物划分成一类,得出一个抽象的概念。例如:人、房屋、树木等都是一些抽象的概念,它们是一些具有共同特征的事物的集合。类的概念使我们能对属于该类的全部个体事物进行统一的描述,树具有树根、树干、树枝和树叶,它能进行光合作用,这个描述适合所有树,而不必对每一棵具体的树进行描述。 类的描述 类一般采用 “类图” 来描述 例 问题? 若杭州人的 methods中有与中国人的同名,则李四执行该 method 时以杭州人为准,不执行中国人中定义的同名 method。 抽象类:有时,我们定义一个类,它把一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例,而仅使用其子类的实例。我们把这种没有实例的类称为抽象类(abstract class)。在抽象类中可以定义抽象操作,抽象操作指:只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义。抽象操作操作名操作特征(signature)后面加上特征字符串{abstract}。

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档