面向对象分析与设计-基础篇.ppt

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

第一部分:基础篇;课件说明 这组课件是本人多年来在北京大学讲授“面向对象的分析与设计”课程时制作的,随着该领域理论与技术的发展而逐年改进。目前的最新版本所适应的教材是邵维忠、杨芙清合写的著作《面向对象的分析与设计》(清华大学出版社2013年1月)。 为了促进学术交流和资源共享,现将这套课件无偿提供给国内讲授同类课程的教师和同行,欢迎他们在教学工作中使用或作为参考。课件共包括“基础篇”、“分析篇”和“设计篇”三部分,是按照54学时研究生课程制作的,各位教师可根据自己的授课对象及教学计划,对原课件进行剪裁或重新组织。 北京大学信息学院 邵维忠 电子信箱:wzshao@pku.edu.cn 2013年7月2日;从程序设计方法的角度看,面向对象是一种新的程序设计范型(paradigm),其基本思想是使用对象、类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设计。;面向对象方法的基本思想;主要特点:;对问题域的认识(人);计算机;问题域;问题域;1.3 面向对象方法的基本概念与原则;对象是现实世界中某个实际存在的事物,它可以是有形的,比如一辆汽车,也可以是无形的,比如一项计划。对象是构成世界的一个独立单位。它具有自己的静态特征和动态特征。;封装:把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。;抽象,类,一般类,特殊类;不同程度的抽象可得到不同层次的分类;定义1:如果类A具有类B的全部属性和全部操作,而且具有自己特有的某些属性或操作,则A叫做B的特殊类,B叫做A的一般类。一般类与特殊类又称父类与子类。;继承:;多继承:允许一个特殊类具有一个以上一般类的继承方式称作多继承;聚合:;整体-部分结构:;关联:;用集合论的观点和系统需求讨论关联概念 ;例如:在一个教学管理系统中 有教师、学生、教务员课程等类。 系统中需要表明每一门课程由哪位教师承担、有哪些学生选修,因此需要在教师和课程之间定义一个关联,在学生和课程之间也定义一个关联。 该系统的教务员要为学生做注册、登记成绩等工作,但是不需要区别是哪个教务员为哪个学生做的,因此就不需要在教务员和学生这两个类之间定义关联。 ;消息:消息是向对象发出的服务请求 ;教师;多态:;其他:;面向机器 面向代数 面向过程 面向数据 面向人 面向文件 面向信息 面向应用 面向功能 面向数据流 ······;1. 雏形阶段 60年代挪威计算中心开发的Simula67——面向对象语言的先驱和第一个里程碑(首先引入了类的概念和继承机制)。 70年代CLU、并发Pascal、Ada和Modula-2等语言对抽象数据类型理论的发展起到重要作用(支持数据与操作的封装)。 犹他大学的博士生Alan Kay设计了一个实验性的语言Flex。从Simula 67中借鉴了许多概念,如类、对象、继承等。 1972年Palo Alno研究中心(PARC)发布了Smalltalk-72,其中正式使用了“面向对象”这个术语。 Smalltalk的问世标志着面向对象程序设计方法的正式形成。但是这个时期的Smalltalk语言还不够完善;PARC先后发布了Smalltalk-72,76,78等版本,直至1981年推出该语言最完善的版本Smalltalk-80。 Smalltalk-80的问世被今认为是面向对象语言发展史上最重要的里程碑。迄今绝大部分面向对象的基本概念及其支持机制在Smalltalk-80中都已具备。它是第一个完善的、能够实际应用的面向对象语言。 但是,Smalltalk开始几年的应用不够广泛,原因是: ① 一种新的软件方法学被广泛接受需要一定的时间。 ② 商品化软件开发工作到87年才开始进行。 ③ 追求纯OO的宗旨使许多软件开发人员感到不便。 ;3.繁荣阶段 自80年代中期到90年代,是面向对象语言走向繁荣的阶段。其主要表现是大批比较实用的OOPL的涌现,例如 C++、Objective-C、Object Pascal、CLOS(Common Lisp Object System)、Eiffel、Actor等。 OO编程语言分为纯OO语言和混合型OO语言 混合型语言是在传统的过程式语言基础上增加OO语言成分,在实用性方面具有更大的优势。 此时的纯OO语言也比较重视实用性。;4、发展到软件生存周期前期阶段;5. 最新发展 编程语言 ——语言 + 类库 + 可视化编程环境 例如: Visual C++, Visual Basic, Delhpi 分析与设计方法 走向统一,形成统一建模语言UML 结束各种方法的概念及表示法不一致的局面;在软件生存周期全过程运用面向对象方法;第2章 不同的分析与设计方法;历史上几种典型的建模方法;功能 模块;2.2 结构化方法 结构化分析(

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档