第七讲 面向对象的系统分析与设计

上传人:洪易 文档编号:34560220 上传时间:2018-02-25 格式:PPT 页数:64 大小:1.94MB
返回 下载 相关 举报
第七讲 面向对象的系统分析与设计_第1页
第1页 / 共64页
第七讲 面向对象的系统分析与设计_第2页
第2页 / 共64页
第七讲 面向对象的系统分析与设计_第3页
第3页 / 共64页
第七讲 面向对象的系统分析与设计_第4页
第4页 / 共64页
第七讲 面向对象的系统分析与设计_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《第七讲 面向对象的系统分析与设计》由会员分享,可在线阅读,更多相关《第七讲 面向对象的系统分析与设计(64页珍藏版)》请在金锄头文库上搜索。

1、第七讲 面向对象的系统分析与设计,主讲:肖红彦武汉理工大学管理学院信管系,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,2,本章教学目标,理解并掌握基本概念 清晰、准确、熟练地掌握面向对象方法的主要思想、基本概念与原则。 面向对象的分析( OOA )掌握 OOA 的主要概念,了解建模过程,会应用 面向对象的设计( OOD )掌握 OOD 的主要概念,了解建模过程,会应用。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,3,本章主要内容,面向对象方法概述(2学时)系统开发的方法论传统开发方法综述面向对象的基本思想面向对象方法的主要概念面向对象的开发方法面向对象的建

2、模语言(2学时)类图及用例图状态图及顺序图活动图及协作图配置图及组件图面向对象的系统分析与设计(2学时)面向对象的系统分析面向对象的系统设计面向对象的系统实施,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,4,面向对象方法入门,7.1 面向对象方法概述,本节要点系统开发的方法论传统开发方法综述面向对象的基本思想面向对象方法的主要概念面向对象的开发方法概述,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,5,7.1.1 系统开发的方法论,1.计算机系统求解问题的过程明确现实世界的问题根据求解问题的目的将现实世界问题作相应限定,就获得求解问题的空间经抽象规范化处理就获

3、得了计算机求解问题的空间再经计算机求解并可获得问题的解。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,6,2.软件系统开发的主要活动,软件开发过程可以归结为两项主要活动:(1)认识(2)描述最初的描述是借助于自然语言最终的描述必须使用一种计算机所能够阅读理解的编程语言,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,7,3. 语言的鸿沟,编程语言,语言的鸿沟,语言的过渡(人),对问题域的认识(人),编程(人),程序的理解执行(机器),自然语言,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,8,编程语言的发展使鸿沟变窄,自然语言,编程语言,语言的鸿

4、沟,机器语言,汇编语言,非面向对象语言,面向对象语言,怎么办,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,9,软件工程学的发展进一步缩小鸿沟,语言的鸿沟,自然语言,编程语言,详细设计,编程/测试,总体设计,需求分析,分析与设计的鸿沟,分析与设计概念及表示法的不一致,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,10,对象化开发方法消除鸿沟,自然语言,面向对象的编程语言,OOD(面向对象的设计),OOA(面向对象的分析),语言的鸿沟,OOP/ OOT(面向对象的程序设计/面向对象的测试),2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,11,7.1

5、.2传统开发方法综述,功能分解法(function decomposition)数据流法(data flow approach)基于数据的方法(E-R方法)信息建模法(information modeling)其他方法有限状态机方法基于规则的系统,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,12,传统开发方法总结,传统的方法大都只从人的一种视角,作为构造块来描述系统,而没有容纳其他视角。例如结构化分析和设计集中于将功能作为系统的构造块,在数据分析方法中(实体关系模型)构造块是实体,但在该方法中用来满足系统需求的功能被完全忽略掉了。两种方法都没有处理对动态行为的捕获。声明性语义

6、(规则)以及例外处理机制都被完全忽略了。上述方法都仅基于一个角度看待系统,对系统的其 它视图建模方面的能力都很弱。但对 OO 的产生都做出了一 定的贡献。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,13,7.1.3 面向对象的基本思想,所谓“面向对象”是一种认识客观世界的世界观,从结构组织角度模拟客观世界的一种方法。面向对象的基本出发点尽可能按照人类认识世界的方法和思维方式来分析和解决问题。客观世界可以看成由许多不同种类的对象构成,每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了完整的客观世界。,2018/2/25,主讲:管理学院信息管理与信息系统

7、系肖红彦,14,7.1.3 面向对象的基本思想,对象=(算法)+(数据结构), 程序=,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,15,7.1.4 面向对象的基本概念,面向对象中的主要概念:对象、属性、服务(操作)、类、继承、封装、消息、多态性、连接关系等1.对象(object),Lampon()off()brighten()dim()init light,抽象,Type Name,Interface,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,16,“计数器”counter,属性value,保存值;具有三个服务:init() 置value为0;dec()

8、 使value减1;inc() 使value加1。,抽象,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,17,对象的概念,对象:是指在系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成;,属性:用来描述对象静态特征的一个数据项,它表明了对象的一个状态;,服务(方法、操作):用来描述对象动态特征的一个操作序列,对象将数据(属性)和功能(服务)封装在一起,对象标识:就是对象的名字,用来在问题域中区分其他对象。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,18,例:窗口对象,2018/2/25,主讲:管

9、理学院信息管理与信息系统系肖红彦,19,对象的特点,以数据为中心。对象是主动的。实现了数据封装。本质上具有并行性。 模块独立性好。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,20,2. 类(Class),抽象与分类是人们认识客观世界的基本方法。抽象:忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,叫做抽象;分类:把具有共同性质的事物划分为一类,得出一个抽象的概念,叫做分类。不同程度的抽象可得到不同层次的分类,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,21,类(Class)的概念,在面向对象的程序设计过程中,实际做的是建立新的

10、类 (class)在一个类中,每个对象都是类的实例(Instance)它们都可使用类中提供的函数。对象的状态则包含在它的实例变量(即实例的属性)中。,类:是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分,类是单个的语义单元,它可以很自然地管理系统中的对象,匹配数据定义与操作。类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,22,类和对象的程序描述,class Lamp on() this.light = 50; off() this.light

11、 = 0; brighten() this.light+; dim() this.light-; init light = 0; /亮度,一个类建立以后,就可以使用这个类建立任意多的对象,Lamp myLamp = new Lamp();Lamp yourLamp = new Lamp(); ,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,23,3. 继承(Inheritance),继承:特殊类拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。继承具有传递性,若类C继承类B,类B继承类A,则类C继承类A。继承关系的语义:“is a kind of”,继承意味着自动拥有,或

12、曰隐含地复制继承者称为子类,被继承者称为父类(基类),单一父类的情形称为单继承(例如树形结构),两个以上父类的情形称为多继承。子类从基类中继承属性和服务,根据需要添加自己的属性和方法。,例1,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,24,多继承,多继承:允许一个特殊类具有一个以上一般类的继承模式称作多继承继承具有传递性,若类C继承类B,类B继承类A,则类C继承类A。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,25,4. 封装(Encapsulation),封装:把对象的属性和服务结合成一个独立的系统单位(1)并尽可能隐蔽对象的内部细节(2),作用(1)

13、 把对象全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)(2) 尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,26,5. 消息(Message),消息:就是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识服务标识输入信息和回答信息。对象通过它对外提供的服务在系统中发挥自己的作用。当系统中的其它对象(或其它系统成分)请求这个对象执行某个任务时,它就响应这个请求,完成指定的服务所应完成的职责。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,27,6 . 多

14、态性(Polymorphism),多态性是指“同一接口,多种方法”的面向对象原则,即同一个消息被不同的对象接收后,可以产生不同的动作或不同的执行结果。多态意味着同一个命名可具有不同的语义。OO方法中,常指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。对于子类,可用不同的方法替代实现父类服务的方法。用途:把具有共同基类的对象组成一组,并对它们进行一致的处理。例如,多边形下的三角形、长方形、正多边形。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,28,多态举例,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,29,7. 连接关

15、系,类(及其对象)之间的四种关系分类关系、继承泛化(一般-特殊)Generalization (generalization-specialization)构成关系聚合(整体-部分)Aggregation (whole-part)静态联系关联(实例连接)Association (instance connection)使用关系(行为依赖)依赖Dependency这些关系形成了类图的关系层,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,30,7.1.5 面向对象的开发,一切都是对象 例题:编写一个开发票程序,需要对发票的明细栏进行计算。,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,31,在软件生命周期全过程运用面向对象方法,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,32,7.2 统一建模语言UML,本节内容:类图及用例图状态图及顺序图活动图及协作图配置图及组件图,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,33,构建系统模型的视图,2018/2/25,主讲:管理学院信息管理与信息系统系肖红彦,34,使用视图对系统建模的含义,使用视图对系统建模有两个含义。第一个含义是,可以把系统分解成几乎是正交的包,每个包表达了一组体系结构上的重大决策。第二个含义是,这些包都拥有与相应视图密切相关的所有抽象。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号