网站大量收购闲置独家精品文档,联系QQ:2885784924

第章_面向对象的软件工程.ppt

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

第2章 面向对象的软件工程 清华大学 (时间:2次课,4学时) 第2章 面向对象的软件工程 教学提示:上一章介绍的是软件工程概论,主要介绍传统的软件工程。本章介绍现代的软件工程——面向对象的软件工程的内容。重点介绍面向对象的基本概念、要素以及面向对象方法的基本原理和步骤,为本教材后面将要学习的全程一体化建模工具PlayCASE奠定理论基础。 教学目标:掌握关于面向对象的几个重要概念,包括对象、消息、方法、属性、继承性、封装性、多态性等;掌握面向对象软件工程的内容;了解面向对象方法的出发点、原则;了解面向对象的软件工程与传统的软件工程的差别,以及面向对象的软件工程中的三个模型和它们之间的关系。 第2章 面向对象的软件工程 2.1 引言 2.2 面向对象方法的基本思想 2.3 面向对象的基本概念与要素 2.4 三种形式的模型 2.5 面向对象的分析 2.6 面向对象的设计 2.7 面向对象的编程 2.8 面向对象的测试 2.9 面向对象的软件维护 2.10 习题 2.1 引言 大量实践和研究表明,软件系统产生的错误有60%~80%都是需求定义不准确或错误导致的。造成需求定义不准确的主要原因是:在开发初期,用户缺乏计算机与信息系统方面的知识,常常难以清楚地给出所有需求,而开发人员缺乏用户方的业务知识,不易给出软件系统切合实际的描述。 为了解决上述问题,除了从软件过程模型中寻找适当的模型而外,也可以从考虑问题的方法上着手,也就是说尽可能地使分析、设计和实现一个系统的方法接近认识一个系统的方法,接近认识客观世界的渐进过程,这就是面向对象方法研究的课题。 2.2 面向对象方法的基本思想 面向对象方法是基于如下思想来认识世界的: ? 世界由对象构成; ? 对象有各自的内部状态和运动规律; ? 对象间联系和相互作用构成系统; ? 对象组织成系统从而构成世界; ? 追求解决问题的方法空间与客观世界问题结构空间一致。 面向对象方法学的出发点和基本原则是:尽可能模拟人类所习惯的思维方式,使开发软件的方法和过程尽可能接近于人类认识世界解决问题的方法和过程,也就是使描述问题的问题域与实现解法的求解域在结构上尽可能地一致。 2.3 面向对象的基本概念与要素 2.3.1 面向对象的基本概念 2.3.2 面向对象的要素 2.3.1 面向对象的基本概念 1. 对象和类 (1)对象::=〈ID,MS,DS,MI,〉 其中,ID是对象的标识或名字 MS是对象中的操作集合 DS是对象的数据结构 MI是对象受理的消息名集合(即对外接口) (2)类:是对具有相同数据和相同操作的一组相似对象的定义。 2.3.1 面向对象的基本概念 2. 状态/特征和属性 对象集合里的每一个对象都有相同/相似的状态,或着称为特征,把它抽象出来就是属性。因此,属性是一组状态值的集合,具有相同的结构和相同的值类型,而每一个状态就是属性的实例。从另一个角度来说,属性就是类中所定义的数据,它是对客观世界所具有的性质的抽象。类的每个实例都有自己特有的属性值。 2.3.1 面向对象的基本概念 3. 行为、操作和方法/服务 方法或服务也是对行为或操作的抽象,是对象所能执行的操作,也可以说是一组行为或操作的集合,而每一个行为或操作都是方法或服务的实例。 4. 消息 消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三个部分组成:接收消息的对象;消息选择符(也称为消息名);零个或多个变元(即消息传递的参数)。 2.3.2 面向对象的要素 1. 继承性 按照子类与父类的关系,把若干个对象类组成一个有层次结构的系统。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承。继承是子类自动地共享父类中定义的数据和方法的机制。 2. 抽象 为了记忆或区分,人类常常把客观世界的一些事物的基本特征、内在的属性概念化,用逻辑模型表达出来,这样的过程就是抽象。 3. 封装性 一切从属于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。 2.3.2 面向对象的要素 4. 共享性 有三种共享类型。同一类中不同实例之间,它们有共同的数据结构、行为和属性结构,可能共享某一个值域空间的值,例如状态(数据成员值)或属性值。同一应用类层次结构的继承关系,共享父类/超类的结构或方法。同一应用的类是指类之间有关联的那些类。 5. 强调对象的结构 它的含义是对象的结构在需求变化时变动较

文档评论(0)

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

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

1亿VIP精品文档

相关文档