- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
思考题1: 属性完全相同的两个事物,是否是同一个对象? 学生类 对象与类的关系 如,Shape类 与结构化软件开发方法类似,面向对象软件开发方法也由三部分组成 面向对象分析方法(OOA) 重点在于发现并描述问题域中的对象(或概念) 例如:图书馆信息系统中的书(book) 面向对象设计方法(OOD) 重点在于定义能最终面向对象程序设计语言的实现的逻辑软件对象 软件对象具有方法和属性 例如:对象书(book )具有一个题目属性(title)和借阅方法 面向对象程序设计方法(OOP) 实现所设计的构件 例如采用c++、Java语言编写一个book类 * * 第六章 软件工程(3) 孙 超 自动化测试与控制研究所 2011年3月 6.2 面向对象软件开发方法简介 6.2.1 面向对象技术产生的背景 6.2.2 什么是面向对象 6.2.3 面向对象相关概念 6.2.4 面向对象软件开发方法的特点 6.2.5 面向对象方法的组成 6.2.6 面向对象方法与结构化方法的比较 学时:2 目的:对面向对象软件开发方法有一定的了解 * 从50年代到80年代,美国的软件生产率翻了两翻。但社会对软件的需求每年以两位数字的百分比在增长。软件的开发已成为影响计算机应用的瓶颈 6.2.1 面向对象技术产生的背景 结构化开发方法存在的问题:生产率提高的幅度远不满足需要 (1) 软件复用程度很低 通过建立标准函数库和子程序库实现软件的可重用性,然而标准函数库等只是对建立在数学模型基础上的应用问题有可重用的功效,而对其它实际应用问题则不能很好地进行软件重用 生产率提高幅度不高的原因: * (2)软件维护仍然很难 软件维护比软件开发效率低几十倍。80年代,美国一年花费的软件维护费用高达300多亿美元。90年代,软件维护费用占系统研制、开发总费用的70%。 (3)软件往往不能真正满足用户需要 (a)某些类型的系统需求是模糊的; (b)项目参与者之间存在通信鸿沟,在需求分析阶段定义的用户需求 常常是不完整的和不准确的; (c)预先定义的需求可能是过时的。 为了解决传统软件开发的问题,提出了很多新的方法,面向对象就是其中最主要的方法。 * 6.2.2 什么是面向对象 软件工程学家Codd和Yourdon给出了面向对象的定义: 面向对象 = 对象 + 类 + 继承 + 消息通讯 如果一个软件系统使用这些概念来建立模型并予以实现,那么它采用的就是面向对象软件开发方法 客观世界中的问题都是由客观世界中的实体及其相互关系构成的,我们将客观世界中的实体,抽象成为问题空间的对象,由于研究的问题不同,面向的对象也就不同。 物理实体 逻辑实体 客观存在的事物 * 教学问题:老师和学生 福利问题:老师和学校 6.2.3 面向对象的基本概念 (1)对象(Object) 对象是对客观世界实体的一种抽象,是由数据(属性)及在其上的操作(行为)所组成的封装体 用来描述客观事物的一个实体,是构成系统的一个基本单位 对象可以抽象物理实体也可以是逻辑实体 属性及行为的抽象由所研究的问题所决定 封装了对象的数据属性和操作服务,将其结合成一个独立的单位,并尽可能隐藏对象的内部细节 对象 = 属性 + 操作 * 张老师 = 02934 + 领工资() 张老师 = 计算机 + 讲课() 属性表示对象的结构特征,描述了对象的状态 用来描述对象静态特征的一个数据项 属性一般只能通过执行对象的操作来改变 操作可以改变对象的状态 用来描述对象动态特征(行为)的一个处理序列,即处理属性数据的算法 通过操作可以获得或改变对象的属性 张三:学生 091110125 张三 0911101 男 属性: 操作: 获取学号 更改班级 * 两个教师姓名和职称都相同,但它们却是两个不同的对象。 所有的对象都是独立的实体,都有其唯一的标识。对象之间的区别是由它们固有的存在性所决定的,而与它们的特征是否相同无关。 * 类是一组具有相同属性和相同操作的对象的集合,它为属于该类的全部对象提供了统一的抽象描述。 类的一个实例就是对象 所有对象都是类的实例 类与实例之间的关系,可以看成是抽象与具体的关系 《工程软件技术基础》 教材 抽象 实例 (2)类(Class) * 工大教师 孙老师 抽象 实例 姜老师 实例 抽象 属性:编号,职称 操作:讲课 getname() setname() getNo() setNo() Student Name No(学号) *
您可能关注的文档
- 《新》第4章 面向对象的软件工程.ppt
- 《新》第4章 面向对象方法学与UML.ppt
- 《新》第4章 详细设计.ppt
- 《新》第4章 形式化说明技术.ppt
- 《新》第4章_视听媒体辅助教学.ppt
- 《新》第4章工程安全技术管理.ppt
- 《新》第05章 详细设计2008.ppt
- 《新》第5 章 面向对象的需求分析.ppt
- 《新》第5讲设计的概念.ppt
- 《新》第5章 Web应用程序开发的面向对象分析和设计.ppt
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)