《软件工程SE04.ppt》由会员分享,可在线阅读,更多相关《软件工程SE04.ppt(48页珍藏版)》请在优知文库上搜索。
1、第四章 面向对象基础第四章第四章 面向对象基础面向对象基础第四章 面向对象基础主要内容主要内容n基本概念基本概念nUML基础基础n模式模式第四章 面向对象基础4.1面向对象概述面向对象概述n结构化方法的不足结构化方法的不足n分析问题不是以实际问题中的客观事物为基分析问题不是以实际问题中的客观事物为基本单位,而是通过功能分解、数据流分析等本单位,而是通过功能分解、数据流分析等手段人为地将问题域分解成一些子功能和独手段人为地将问题域分解成一些子功能和独立的数据立的数据 n分析方式与人类的思维习惯不相符合分析方式与人类的思维习惯不相符合 n数据与功能的人为割裂数据与功能的人为割裂n不能应对大系统的开
2、发不能应对大系统的开发第四章 面向对象基础面向对象概述(续)面向对象概述(续)n面向对象方法的优势:面向对象方法的优势:n便于开发人员与软件用户之间的沟通便于开发人员与软件用户之间的沟通 n便于开发人员之间的交流便于开发人员之间的交流 n加深了开发人员对问题域和系统责任的理解加深了开发人员对问题域和系统责任的理解 n保持了整个软件开发过程的一致性保持了整个软件开发过程的一致性 n对需求的变化有较强的适应性对需求的变化有较强的适应性 n支持软件复用支持软件复用 第四章 面向对象基础4.2 面向对象基本概念面向对象基本概念 n对象(从现实世界到软件)对象(从现实世界到软件) n特征:属性特征:属性
3、n行为:方法行为:方法n唯一性:标识符唯一性:标识符n类类 具有相同属性和方法的一组对象的集合具有相同属性和方法的一组对象的集合 第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n封装封装 n隐藏对象的内部细节,将对象的属性和操作隐藏对象的内部细节,将对象的属性和操作结合到一个不可分割的独立单元当中,而对结合到一个不可分割的独立单元当中,而对外只保留有限的接口外只保留有限的接口n封装可以保护对象的内部数据封装可以保护对象的内部数据 n提高程序单元的独立提高程序单元的独立 n提高程序单元的易用性,便于理解与使用提高程序单元的易用性,便于理解与使用 n提高程序单元的复用性,提升开发
4、效率提高程序单元的复用性,提升开发效率n访问控制访问控制 第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n继承继承 :层次关系:层次关系第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n继承的优点继承的优点n类之间形成了简单明了的类之间形成了简单明了的层次关系,提供了类的规层次关系,提供了类的规范的等级结构范的等级结构 n简化了对子类的描述,使简化了对子类的描述,使得软件更加简单且更易理得软件更加简单且更易理解解 n子类可以直接使用父类的子类可以直接使用父类的方法与属性,实现了软件方法与属性,实现了软件复用复用第四章 面向对象基础面向对象基本概念(续)面向对象
5、基本概念(续)n多态多态n现实世界:同一个词语在不同的场合中具有现实世界:同一个词语在不同的场合中具有不同含义不同含义 n软件:同一命令实现不同的操作软件:同一命令实现不同的操作n优点优点n提供更强的表达能力提供更强的表达能力 n实现接口复用实现接口复用n简化设计与编程简化设计与编程第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n消息:对象之间相互联系和相互作用的消息:对象之间相互联系和相互作用的方式方式 ,由,由5部分组成部分组成n发送消息的对象发送消息的对象 n接收消息的对象接收消息的对象 n消息传递方式消息传递方式 n消息内容消息内容 n反馈反馈 nreader.rep
6、ortLoss( );中的中的5部分是?部分是?第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n依赖依赖 n一个类必须以另一个类的存在为前提一个类必须以另一个类的存在为前提n关联关联 n类之间的相互作用类之间的相互作用n“一对一一对一”、“一对多一对多”、“多对多多对多” 第四章 面向对象基础面向对象基本概念(续)面向对象基本概念(续)n聚合与组合聚合与组合 :整体:整体部分结构部分结构 n组合:紧密固定的联系,组合:紧密固定的联系,典型的异构,即成典型的异构,即成分对象可能由多个类型混合组成分对象可能由多个类型混合组成n聚合:松散灵活的联系,聚合:松散灵活的联系,往往是同构
7、的往往是同构的n组合、聚合甚至于关联的实现方式有可组合、聚合甚至于关联的实现方式有可能都是相同的,通常表现为一个对象的能都是相同的,通常表现为一个对象的属性是另一个对象的引用属性是另一个对象的引用 第四章 面向对象基础4.3 UML基础基础n模型模型 要构建的真实事物的一种抽象,即被构要构建的真实事物的一种抽象,即被构建的真实事物的近似代表建的真实事物的近似代表nUMLn用于描述、构造和文档化系统的标准化语言,用于描述、构造和文档化系统的标准化语言,标准化有助于提高软件开发的效率,提升软标准化有助于提高软件开发的效率,提升软件产品的质量件产品的质量 n采用图形化的方式来描述软件从分析、构造采用
8、图形化的方式来描述软件从分析、构造直至部署等各个环节所需的基本构件直至部署等各个环节所需的基本构件 第四章 面向对象基础视图模型视图模型 第四章 面向对象基础视图模型(续)视图模型(续)n 用例视图(用例视图(Use Case View) n从用户、分析工程师和测试工程师的角度描从用户、分析工程师和测试工程师的角度描述系统,主要关心用户从系统的外部如何看述系统,主要关心用户从系统的外部如何看待系统待系统 nUML中用用例图展示系统中有哪些用例,用中用用例图展示系统中有哪些用例,用交互图表现用例的细节交互图表现用例的细节 第四章 面向对象基础视图模型(续)视图模型(续)n设计视图(设计视图(De
9、sign View) n系统由哪些类和接口组成、系统中各组成要系统由哪些类和接口组成、系统中各组成要素之间的协作关系,以及针对用户的功能性素之间的协作关系,以及针对用户的功能性需求,系统应该提供哪些服务等需求,系统应该提供哪些服务等 nUML中设计视图的静态部分可以用类图、对中设计视图的静态部分可以用类图、对象图和复合结构图表现;动态部分可以用交象图和复合结构图表现;动态部分可以用交互图、状态图和活动图表现互图、状态图和活动图表现 第四章 面向对象基础视图模型(续)视图模型(续)n进程视图(进程视图(Process View) n展现系统中出现的并发与同步过程,它关心系统的性展现系统中出现的并
10、发与同步过程,它关心系统的性能、可伸缩性和吞吐能力等能、可伸缩性和吞吐能力等nUML中表现该视图所用的图形与设计视图基本相同中表现该视图所用的图形与设计视图基本相同 n实现视图(实现视图(Implementation View)n系统中使用到的组件、文件与资源以及它们之间的依系统中使用到的组件、文件与资源以及它们之间的依赖关系赖关系nUML中使用组件图、复合结构图来表现静态结构,使中使用组件图、复合结构图来表现静态结构,使用交互图、状态图、活动图来表现各要素之间的动态用交互图、状态图、活动图来表现各要素之间的动态关系关系 第四章 面向对象基础n部署视图(部署视图(Deployment View
11、) n系统是如何配置、安装与执行的,它通常会系统是如何配置、安装与执行的,它通常会反映出系统的物理布局、网络拓扑以及系统反映出系统的物理布局、网络拓扑以及系统各部分之间的通信方式各部分之间的通信方式 nUML中使用组件图、部署图来表现部署视图中使用组件图、部署图来表现部署视图中的静态部分,动态部分则使用交互图、状中的静态部分,动态部分则使用交互图、状态图、活动图来表现态图、活动图来表现 第四章 面向对象基础UML图形:用例图图形:用例图n描述用户与系统之间交互的系列场景描述用户与系统之间交互的系列场景 ,场景一般由一系列相关的动作组成场景一般由一系列相关的动作组成 n用例图展示了用例(用例图展
12、示了用例(Use Case)、参与)、参与者(者(Actor)以及它们之间的相互关系)以及它们之间的相互关系第四章 面向对象基础UML图形:用例图(续)图形:用例图(续)n关联:参与者能关联:参与者能够使用哪些用例够使用哪些用例n系统边界系统边界 :边:边界以内表示是系界以内表示是系统的组成部分,统的组成部分,边界以外表示系边界以外表示系统的外部事物统的外部事物 第四章 面向对象基础UML图形:用例图(续)图形:用例图(续)n用例之间的关联:包含关系、扩展关系和泛化用例之间的关联:包含关系、扩展关系和泛化关系,参考者之间可能有泛化关系关系,参考者之间可能有泛化关系 第四章 面向对象基础UML图
13、形:用例图(续)图形:用例图(续)n用例描述用例描述n用例名称:用例的命名用例名称:用例的命名n用例标识号:用例的用例标识号:用例的ID号,用于区分用例号,用于区分用例n简要说明:简要介绍该用例的作用和目的简要说明:简要介绍该用例的作用和目的n事件流:包括基本流和备选流,事件流应表示出所有的场景事件流:包括基本流和备选流,事件流应表示出所有的场景n用例场景:包括成功场景和失败场景,场景主要是由基本流用例场景:包括成功场景和失败场景,场景主要是由基本流和备选流组合而成的和备选流组合而成的n特殊需求:描述与该用例相关的非功能性需求(包括性能、特殊需求:描述与该用例相关的非功能性需求(包括性能、可靠
14、性、可用性和可扩展性等)和设计约束(所使用的操作可靠性、可用性和可扩展性等)和设计约束(所使用的操作系统、开发工具等)系统、开发工具等)n前置条件:执行用例之前系统必须所处的状态前置条件:执行用例之前系统必须所处的状态n后置条件:用例执行完毕后系统可能处于的一组状态后置条件:用例执行完毕后系统可能处于的一组状态 第四章 面向对象基础例:某网站用例图(管理员部分)例:某网站用例图(管理员部分)修改用户信息修改用户信息删除用户删除用户审核用户信息审核用户信息查看用户信息查看用户信息管理员用例名称:网站管理员查看用户信息用例名称:网站管理员查看用户信息用例标识号:用例标识号:- -1-1参与者:管理
15、员参与者:管理员简要说明:简要说明:管理员用来查看用户信息。管理员用来查看用户信息。前置条件:前置条件:管理员已经登陆网站管理系统管理员已经登陆网站管理系统基本事件流:基本事件流:1 1管理员鼠标点击管理员鼠标点击“查看用户信息查看用户信息”按钮按钮2 2系统出现一个文本框,显示已经存在的用户信息系统出现一个文本框,显示已经存在的用户信息3. 3. 用例终止用例终止其他事件流其他事件流A1A1:管理员随时可以按管理员随时可以按“返回返回”按钮返回到管理系统主页面按钮返回到管理系统主页面异常事件流:异常事件流:1 1提示错误信息,管理员确认提示错误信息,管理员确认2 2返回到管理系统主页面返回到
16、管理系统主页面后置条件:后置条件:无无第四章 面向对象基础用例图举例用例图举例第四章 面向对象基础UML图形:类图图形:类图n主要用于描述系统中所包含的类以及这些主要用于描述系统中所包含的类以及这些类相互之间的关系类相互之间的关系 表示符号表示符号可见性可见性说明说明+public公有的公有的#protected受保护的受保护的-private私有的私有的第四章 面向对象基础UML图形:类图(续)图形:类图(续)类之间的关系类之间的关系第四章 面向对象基础UML图形:类图(续)图形:类图(续)n类之间的关联类之间的关联第四章 面向对象基础UML图形:类图(续)图形:类图(续)n类的聚合与组合类的聚合与组合第四章 面向对象基础例:组合与聚合例:组合与聚合从编程的角度:从编程的角度:l把若干个已有的把若干个已有的大雁对象传递给大雁对象传递给雁群对象雁群对象l构造一个大雁对构造一个大雁对象时新生成一个象时新生成一个翅膀对象做为大翅膀对象做为大雁对象的数据成雁对象的数据成员员第四章 面向对象基础UML图形:类图(续)图形:类图(续)n接口:一组规范、约束的集合,它使规接口:一组规范、约束的集合