- 1、本文档共144页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的软件工程 面向对象技术是一个非常实用而强有力的软件开发方法。它具有下列特征: 方法的唯一性,即问题的解决方法是对软件开发过程所有阶段进行综合考虑而得到的。 阶段连续性:从生存期的一个阶段到下一个阶段的高度连续,生存期后一阶段的成果只是在前一阶段成果的补充和修改。 把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。 内容 软件---现实世界到计算机的映射 方法的演变---没有方法 方法的演变--功能分解法 方法的演变---数据流法 方法的演变---信息建模法 上升到面向对象是必然的 用稳定把不稳定包起来! 传统的软件工程方法是面向过程的,将数据和处理过程分离,增加了软件开发的难度。其开发过程如下: 开发模式 开发模式又称为范型、范例或模式(Pattern)。开发模式定义了 特定问题和应用的开发过程中将遵循的步骤; 确定将用于表示问题和解的那些成分的类型; 利用这些成分表示与问题解决有关的抽象; 直接得到问题的结构 常用的范型 过程性范型 :过程性范型是使用最广泛、历史最长的软件范型。它产生过程的抽象,这些抽象把软件视为处理流,并定义成由一系列步骤构成的算法。每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构 实例 Initialize system; Create and draw interface; while QUIT not selected do case Mouse event: create shape structure; read mouse movements for data; store newly created shape on list of shape records; KeyPress event: if key = q then exit loop; else ignore; Ecpose event: refresh display by drawing each shape structure; Shut down system; 常用的范型 面向对象范型 :在过程性范型中优先考虑的是过程抽象,而在面向对象范型中优先考虑的是实体,即问题论域的对象。在面向对象范型中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。 混合开发模式 在大型系统的开发中,很难说哪种范型对整个问题的解决最好。系统开发现在有一种补充步骤,可把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件范型。这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言支持不只一种设计范型。 例如:设计一个智能数据分析系统时,可把它分解为4个子系统 面向对象的开发方法OOSD(Object-Oriented Software Development)是一种新的软件工程方法,其基本思想就是尽可能按照人类认识世界的方法和思维方式来分析和解决问题,这种方法能够提供更加清晰的需求分析和设计。面向对象的方法已成为当今软件开发的主流方法。 但是至今在面向对象的领域,大多数工作都集中在编程语言上,而面向对象的开发方法,贯穿整个软件生命期,因此我们主要讨论面向对象的需求分析(OOA)与面向对象的设计(OOD)。 什么是面向对象 通常认为面向对象=对象+类+继承+通信 如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的消息通信来执行的。 面向对象的概念 对象(object):现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 含义:在现实世界中是客观世界中的一个实体; 在面向对象程序中表达成计算机可理解、可操纵、具有一定属性和行为的对象;在计算机世界中是一个可标识的存储区域 每个对象可用它本身的一组属性和它可以执行的一组操作来定义。 属性一般只能通过执行对象的操作来改变。 操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。 面向对象的概念 消息:是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作
文档评论(0)