- 1、本文档共99页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复旦大学计算机科学与工程系 软件工程课程 软件工程 第九章 面向对象方法学引论 大量实践和研究表明,软件系统产生的错误有60%~80%都是需求定义不准确或错误导致的。造成需求定义不准确的主要原因是:在开发初期,用户缺乏计算机与信息系统方面的知识,常常难以清楚地给出所有需求,而开发人员缺乏用户方的业务知识,不易给出软件系统切合实际的描述。 为了解决上述问题,除了从软件过程模型中寻找适当的模型以外,也可以从考虑问题的方法上着手,也就是说尽可能地使分析、设计和实现一个系统的方法接近认识一个系统的方法,接近认识客观世界的渐进过程,这就是面向对象方法研究的课题。 9.1 概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 UML简介 9.1 概述 结构化方法学 面向对象方法学 比较 从概念方面看 结构化软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现; 面向对象软件是事物的集合,通过对象以及对象和对象之间的通讯联系实现; 从构成方面看 结构化软件=过程+数据,以过程为中心; 面向对象软件=(数据+相应操作)的封装,以数据为中心; 从运行控制方面看 结构化软件采用顺序处理方式,由过程驱动控制; 面向对象软件采用交互式、并行处理方式,由消息驱动控制; 从开发方面看 结构化方法的工作重点是设计; 面向对象方法的工作重点是分析; 但是,在结构化方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计阶段采用的具有分层特征的结构图,在面向对象方法中则不存在这一问题。 结构化软件开发 分析:问题是什么 设计:怎样解决 实现:解决分析 确定数据流图(DFD) 建立结构图(SC) 过程设计 分析确定实体联系图(ERD) 建立关系数据模式(RM) 编码调试 运行维护 各种方法特点比较(Cont.) 从应用方面看 结构化方法更加适合数据类型比较简单的数值计算和数据统计管理软件的开发; 面向对象方法更加适合大型复杂的人机交互式软件和数据统计管理软件的开发; 从发展方面看 面向对象方法是软件开发方法的发展方向。 了解面向对象语言是创建对象系统必要但并不充足的第一步。了解如何“用对象进行思考”同样重要。 Outline 面向对象的概念和原则 Introduction to Object Technology Concepts of Object Orientation 标识对象模型元素(UML) Peter Coad和Edward Yourdon提出用下列等式识认面向对象方法: 面向对象 = 对象(object) + 分类(classification) + 继承(inheritance) + 通过消息的通信(communication with messages) 可以说,采用这四个概念开发的软件系统是面向对象的 面向对象方法的出现很快受到计算机软件界的青睐,并成为20世纪90年代的主流开发方法。我们可以从下列几个方面来分析其原因: 从认知学的角度来看,面向对象方法符合人们对客观世界的认识规律。 面向对象方法开发的软件系统易于维护,其体系结构易于理解、扩充和修改。 面向对象方法中的继承机制有力支持软件的复用。 面向对象的基本概念 1. 对象(object) 对象是指一组属性以及这组属性上的专用操作的封装体。 属性(attribute)通常是一些数据,有时它也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改。 操作(operation)(也称方法或服务)规定了对象的行为,表示对象所能提供的服务。 封装(encapsulation)是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。 一个对象通常可由对象名、属性和操作三部分组成。 用较稳定把不稳定包起来 2. 类(class) 类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。 类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。 例如:Circle
您可能关注的文档
- 第1章 关于UML.ppt
- 第3章 空间数据模型19.ppt
- 第1章 人机工程学概论.ppt
- 第6章 CASS 2008数字地形图编辑及工程应用.ppt
- 第03章 输入输出系统.ppt
- 第1章 软件工程学概述-2.ppt
- 第6章 UML统一建模语言.ppt
- 第1章 数据库-概论3.ppt
- 第3章 网桥.ppt
- 第6章 电子政务系统的开发.ppt
- 河北省邯郸市永年区第一中学2024-2025学年高一下学期5月月考 数学试卷(含解析).docx
- 2024—2025学年度教育教学分管副校长工作总结:脚踏实地谋教学,守正创新育新人!.docx
- 2025届山东省济南市高三高考针对性训练(三模)数学试题(解析).docx
- 2025届高考数学模拟试题(卷)(3)(教师版).docx
- 历史课堂时空观念培养与学生历史学习策略培养的关联性分析论文.docx
- 小学数学“综合与实践”领域教学中的创新思维训练研究论文.docx
- 高中语文教学中文化传承意识培养的现状与挑战论文.docx
- 化学反应解密之旅-探索化学反应的奥秘世界.pptx
- GME00252-chs 测试规定要求.pdf
- 2025年铁路局招聘考试题库《铁路基础知识》与答案.pdf
文档评论(0)