欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    面向对象方法.ppt

    • 资源ID:2605217       资源大小:486.01KB        全文页数:75页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象方法.ppt

    §4.6面向对象方法,子 系 统 设 计,类及对象设计,消息设计,责任设计,面向对象设计 的四个层次:,4.6.1 将OO分析模型转换到OO设计模型,用例,对象-关 系模型,CRC 索引卡片,属性、,子 系 统 设 计,类及对象设计,消息设计,责任设计,分析模型,设计模型,操作、,协作者,对象-行为模型,将分析模型转换为软件设计,数据 字典,数据 流图,E-R图,状态变迁图,加,工,规,约,控制规约,数,据,对,描 述,象,数 据 设 计,体系结构设计,接口设计,过程设计,分析模型,设计模型,结构化设计 的四个层次,数 据 设 计,体系结构设计,接口设计,过程设计,子 系 统 设 计,类及对象设计,消息设计,责任设计,面向对象设计 的四个层次,由OO分析模型转换到OO设计模型,用例图 类 图 交互图 状态图,包图,方法描述:if A then Calculate Sales Tax Calculate Total Amount End if,设计带方法的类图,系统内部,保险单,包图示例,客户,保险单 填写界面,数据库界面 (abstract),Oracle界面,Sybase界面,客户支持系统,客户维护子系统,包图示例,库存管理子系统,订单输入子系统,目录维护子系统,订单执行子系统,客户支持系统,包括设计类的包图示例,客户维护子系统,订单输入子系统,目录维护子系统,订单执行子系统,客户,目录,包,订单条目,订单交易,订单,退货条目,发运人,运输,Fichman和Kemerer提出的10种设计建模成分 模块层次的表示 数据定义规约 过程逻辑的规约 端到端处理序列的指明 对象状态和变迁的表示 类及层次的定义 操作到类的赋予 详细的操作定义 消息连接的规约 排它服务的标识,结构化方法 所不支持的,OOD的四个层次: 子系统层: 包含每个子系统的表示 类和对象层:包含类层次和每个对象 的设计表示 消息层: 包含使得每个对象能够和其 协作者通信的细节,建立系 统的外部和内部接口 责任层: 包含针对每个对象的所有属性 和操作的数据结构和算法的设计,目前流行的OOA方法概述 Booch方法 Booch的OOD微开发过程概述: 系统结构计划 战术的设计 发布计划,目前流行的OOD方法概述 Coad-Yourdon方法 Coad-Yourdon的OOD过程概述: 问题域部分 人机交互部分 任务管理部分 数据管理部分,目前流行的OOD方法概述 Rumbaugh方法(简称OMT) Rumbaugh的OOD过程概述: 进行系统设计 进行对象设计 实现在系统设计中定义的控制机制 调整类结构以加强继承性 设计消息序列以实现对象关系(关联) 包装类和对象为模块,统一的OOD方法 UML被组织进两个主要的设计活动: 系统设计 系统设计的主要目标是表示软件体系结构 对象设计 对象设计着重于对象及其相互交互的描述,软件体系结构可分为四种不同的体系: 概念结构 包括部件、互连、原则和性能等 代码结构 包括软件的配置管理、系统建造等 模块结构 包括模块界面、模块管理、模块控制和一致性等 执行结构 包括性能分析、调度分析、动态配置和不同的执行系统之间的接口等,系统设计 系统设计的主要目标是表示软件体系结构。 对面向对象开发而言: 概念体系结构涉及静态类模型的结构和该模型的构件间的连接。 模块体系结构描述系统被分成子系统或模块的方式以及它们如何通过移入和移出数据而通信。 代码体系结构定义程序代码如何被组织为文件和目录以及分组为库。 执行体系结构关注于系统的动态方面以及任务和操作执行时构件间的通信。,对象设计 对象设计着重于对象及其相互交互的描述。 在对象设计期间: 属性数据结构和所有操作的过程的详细规约被创建。 所有属性的可见性(公共的、私有的或保护的)被定义,对象间的接口被精化以定义完整的消息模型的细节。,OOA与OOD的本质: OOA是一个分类活动,即分析问题力图 确定在开发解决方案时可应用的对象类, 同时确定对象关系和行为。 OOD使得软件工程师能够确定从类中导 出的对象,以及这些对象的相互关联, 此外,OOD描述了:对象间的关系如何达到; 行为如何实现; 对象间通信如何实现。,从OOA到OOD,逐渐扩充模型的过程 OOD分为两个阶段: 高层设计(系统设计) 低层设计(对象设计),OOD过程流,系统 设计,分析,对象 设计,OOD导出的系统结构,数据管理,其它系统,文件 RDBMS OODBMS,设备,系统交互 界面,问题论域,人机交互 界面, . . . ., . . . .,窗口,报告,子系统设计过程中 必须定义四种重要的设计结构 问题域直接负责实现客户需求的子系统 人机交互实现用户界面的子系统 (包括可复用的GUI子系统) 任务管理负责控制和协调并发任务的子 系统,任务可能被包装在一个 子系统中或不同的子系统间; 数据管理负责对象的存储和检索的子系统,在对象设计过程中 将分析模型转换为设计模型,分析模型 类 属性 方法 关系 行为,设计模型 对象 数据结构 算法 消息传递 控制,4.6.2 对象模型技术(OMT)的OOD方法,系统设计过程: 将分析模型划分为子系统 确定并发性 将子系统分配到处理器和任务 选择实现数据管理的基本策略 标识全局资源及访问它们所需的控制机制 为系统定义合适的控制机制 考虑边界条件如何处理,系统分解:,子系统既不是一个对象也不是一个功能,而是类、关联、操作、事件和约束的内聚集合。 定义子系统遵循的标准: 子系统应有良好的接口 除少数“通信类”,子系统中的类应只和 该子系统中的其它类协作 子系统数目不应太多 可在子系统内划分以降低复杂性,划分分析模型,子系统,第三层 数据库服务器,第二层 后台库服务器,第一层 前台客户机,客户端 子系统,端子系统,服务器端 子系统,端子系统,请求,请求,请求,合约,合约,子系统间通信,子系统间协作的模型,4.6.3 Yourdon的OOD方法,主体层,类及对象层,结构层,属性层,服务层,问题域 部分 (PDC),人机交 互部分 (HIC),任务管 理部分 (TMC),数据管 理部分 (DMC),OOD阶段建立,OOA 阶段模型,OOD由四个活动组成:,OOD模型,4.6.3.1 问题域部分的设计,OOA的模型直接放到OOD的问题域 部, OOD阶段对OOA结果进行改动 和增补。 根据需求变化,对OOA产生模型的 类与对象、结构、属性、操作进行 组合与分解,增加必要的类、属性 和关系。,对OOA结果加以增补要考虑的因素,重用设计 把问题域专用类组合在一起 通过增添一般类而建立协议 调整继承的支持级别 改进性能 增加低层的类和对象,4.6.3.2 人机交互部分的设计,虽然好的人机交互部分不可能挽救一个功能很差的软件, 但性能很差的人机交互部分将使一个功能很强的产品变的不可接受!,传感器图形项目,传感器控制系统人机交互部分设计举例,调用项目,传感器状况窗口,显示菜单 调用菜单活动,传感器项目,调用项目,传感器报警窗口,显示菜单 调用菜单活动,位置,传感器报警项目,调用项目,传感器窗口,坐标,4.6.3.3 任务管理部分的设计,1.为什么要有任务管理部分 系统中有许多并发行为时,需要按照 各个行为的协调和通信关系,划分各种任 务(进程),简化并发行为的设计和编码。 根据动态模型分析、定义并发性; 选择软件实现的控制方法。,2.怎样设计任务管理部分 任务管理主要包括任务的选择和调整 识别事件驱动任务 识别时钟驱动任务 识别优先任务和关键任务 识别协调者 审查每个任务 定义每个任务,传感器控制系统任务管理部分设计举例,任务协调器,协调,任务,名字 描述 优先级 服务 协调 通信,初始化 开始 准备好 结束,1,0,m,传感器任务描述举例,任务1 名字: 传感器读出。 描述: 该任务在需要脉冲调幅时负责读 出传感器。 包含: 传感器.样本。 优先级:中等。 协调: 时钟驱动,100ms的时间间隔。 通信: 从输入线(传感器)得到值, 给雷达邮箱发送值。,4.6.3.4 数据管理部分的设计,数据管理部分提供了数据在数据管 系统中存储和检索对象的基本结构,它 分离了数据管理方案的影响 (不管该方 案是普通文件、关系型数据库、面向对 象数据库或其它方式.),如何设计数据管理部分 (1)数据存放方法设计 (2)相应服务的设计 为每个需存储其对象的类增加一个 属性和服务,面向对象设计实例:简化的C+类库管理系统 需求描述: 管理用C+语言定义的类 用户能够方便地向类库中添加新类,并建立新类与库中原有类的关系 用户能够通过类名从库中查询出指定的类 用户能够查看或修改与指定类有关的信息 用户能够从类中删除指定的类 用户能够在浏览窗中方便、快速地浏览当前类的父类和子类 具有“联想”浏览功能 用户能查看或修改某个类的指定的成员函数的源代码 本系统是一个简化的多用户系统,每个用户都可以建立自己的类库,不同类库之间互不干扰 对于用户误操作或错误的输入,能提示并继续稳定运行 系统易学,用户界面应是GUID的,OOA阶段建立 的类库管理 系统对象模型,类库,库名 类条目列表,插入类条目 删除类条目 ,1+,0,n1,类条目,类名 父类列表 ,设置类名 添加父类 ,成员函数,函数名 访问权 虚基类标志 ,父类,名字 访问权 虚基类标志,数据成员,数据名 访问权 数据类型,0,n2,0,n3,0,m,用户,拥有,面向对象设计(简化的C+类库管理系统) 设计类库结构 两种可把类条目组织成类库得数据结构: 二叉树 链表: 容易表示多重继承 设计问题域子系统对对象模型做补充和细化 类条目(ClassEntry) 类库(ClassEntryLink) 父类(ClassBase)、成员函数(ClassFun) 和数据成员(ClassData) 类条目缓冲区(ClassEntryBuffer),类条目,类名 父类列表 成员函数列表 数据成员列表,类条目,类名 父类链表头指针 成员函数链表头指针 数据成员链表头指针 注释 指向下一类条目指针,新增数据成员,新增操作,设置类名 添加父类 删除父类 更改父类 添加成员函数 删除成员函数 更改成员函数 添加数据成员 删除数据成员 更改数据成员 查找并取出指定父类信息 查找并取出指定成员函数信息 查找并取出指定数据成员信息,设置类名 添加父类 删除父类 更改父类 添加成员函数 删除成员函数 更改成员函数 添加数据成员 删除数据成员 更改数据成员,具体化,类库,库名 类条目列表,插入类条目 删除类条目 存储类库 读出类库,具体化为,类库,库名 类链头指针,插入类条目 删除类条目 把内存中类链表写到文件 读文件并在内存建立链表 按类名查找类条目并把内 容复制到指定地点,新增操作,具体化,父类,名字 访问权 虚基类标志,新增数据成员,父类,名字 访问权 虚基类标志 指向下一个父类的指针,成员函数,函数名 访问权 虚基类标志 返回值类型 参数 代码,新增数据成员,成员函数,函数名 访问权 虚基类标志 返回值类型 参数 代码 指向下一个成员函数的指针,数据成员,数据名 访问权 数据类型,新增数据成员,数据成员,数据名 访问权 数据类型 指向下一个数据成员的指针,类库(ClassEntryLink)示意图,下一个ClassEntry,ClassEntryLink,ClassEntry,ClassBase,ClassData,ClassFun,下一个 ClassBase,下一个 ClassFun,下一个 ClassData,类条目缓冲区(ClassEntryBuffer) 为便于处理当前类,额外设置类条目缓冲区,它是从ClassEntry类派生出来的类,除继承ClassEntry中的数据成员和成员函数外,主要增加用于域窗口或类链交换数据的成员函数,ClassEntry,ClassEntryBuffer,面向对象设计(简化的C+类库管理系统) 设计人机交互子系统 窗口 登录窗口(用户输入账号、确认/放弃) 主窗口(创建/浏览/存储/退出) 创建窗口(输入新类名/选择已有类名,三个分组框分别管理父类、成员函数和数据成员,每组框有:添加/编辑/删除) 选择浏览方式窗口(按类名浏览/按类关系浏览) 类名浏览窗口 类关系浏览窗口 重用: 基于VC开发环境,尽可能重用MFC中类 设计其它类,ClassBase,CWinApp,ClassToolsApp,CDocument,ClassEntryLink,ClassEntry,0,M,ClassFun,ClassData,ClassEntryBuffer,0,n1,0,n2,0,n3,OOD得 出的类库 管理系统 对象模型,Create_Data,CDialog,Create_Base,Create_Fun,Browse_ Name,Browse_ Inherit,Login,Classtools,Create_Class,Create_Select,消息 连接,软件体系结构的有关概念,什么是软件体系结构,软件体系结构定义了软件局部和总体计算部件的构成,以及这些部件之间的相互作用关系。 从整体看,软件体系结构是由结构和功能各异、相互作用的部件集合,按照层次构成的。它包括了系统基础构成单元、它们之间的作用关系、在构成系统时它们的合成方法以及对合成约束的描述。,软件体系结构的类别,概略型 需求型 设计型,软件体系结构的重要性,规划阶段 需求分析阶段 设计阶段 实施阶段 评估阶段 维护升级阶段,软件设计的目标,设计应该是便于维护和升级的,因而应该是模块化的 设计应该是便于移植的 设计应该具有适应性 设计过程应该受到理性化的控制 设计应该表现出概念的完整性,软件设计思想,强调信息隐蔽的单元概念 应用基于操作和数据封装构成的单元设计技术 应用专门的机制可靠地处理并发控制和分布系统问题 提出基于模型的系统结构和设计方法 明确提出软件体系结构的设计思想,关于软件体系结构的认识发展,1992年,Dewayne Perry和Alex Wolf定义: 软件体系结构由具有一定形式的结构化元素组成,包括处理元素、数据元素和连接元素三类。 1993年, David Garlan和Mary Shaw提出: 软件体系结构是设计过程的一个层次,它处理那些超越算法和数据结构的设计,研究整体结构和描述方法。体系结构还包括大体组织结构、全局控制结构、通信和同步以及数据存取的协议、设计元素的功能、物理分布和合成、设计方案的选择等。,关于软件体系结构的认识发展,1994年, Bass等提出: 软件体系结构可以由三个方面描述:功能划分、结构和功能到结构的分配。 1995年, Garlan和Perry 提出: 软件体系结构包括系统构件的结构、构件的相互关系、以及控制构件设计演化的原则和指导三个方面。 1997年, Bass、Clements和Kazman指出: 软件体系结构包括部件、部件的外部可见性以及相互关系。,普通部件及其支持的相互作用,软件体系结构可分为四种不同的体系: 概念结构 包括部件、互连、原则和性能等 代码结构 包括软件的配置管理、系统建造等 模块结构 包括模块界面、模块管理、模块控制和一致性等 执行结构 包括性能分析、调度分析、动态配置和不同的执行系统之间的接口等,与软件体系结构有关的研究: 体系结构风格(Architecture Styles) 表示软件系统的一种特别的基本结构,以及相关的构造方法 设计模式(Design Patterns) 构造型模式、结构型模式、行为型模式 框架(Framework) 另一种研究和构造软件体系结构的方法,更多的是关于应用领域问题的已建立的系统结构。,软件体系结构的层次结构,软件的构成 软件的物质基础 软件的结构基础 软件的层次结构模型 软件体系结构的层次结构模型 软件体系结构的体系,软件的构成,软件体系结构需要基础 软件体系结构需要层次 软件体系结构需要模式,软件的物质基础,软件设计的物质基础是计算机硬件,当前的计算机硬件决定了软件设计和实现的出发点,计算机硬件的发展影响着软件体系结构。,计算机硬件体系结构分类,SISD单指令流单数据流计算机,控制,处理,存储,指令,数据,指令,计算机硬件体系结构分类,SIMD单指令流多数据流计算机,控制,处理2,存储2,指令,数据2,存储1,存储n,处理1,处理n,数据1,数据n,计算机硬件体系结构分类,MISD多指令流单数据流计算机,控制2,处理2,存储2,指令1,存储1,存储n,处理1,处理n,数据,数据,控制1,控制n,指令2,指令n,指令1,指令2,指令n,计算机硬件体系结构分类,MIMD多指令流多数据流计算机,控制2,处理2,存储2,指令1,存储1,存储n,处理1,处理n,控制1,控制n,指令2,指令n,指令1,指令2,指令n,数据2,数据1,数据n,多处理机系统,具有共享存储结构的多处理机,控制,处理,MAP,控制,处理,MAP,存储,存储,互连网络,通道,I/O,通道,I/O,多处理机系统,具有分布存储结构的多处理机,控制,处理,MAP,控制,处理,MAP,互连网络,I/O,存储,存储,分布计算系统,分布计算网络,交换机,交换机,电信网络,网络,软件的结构基础,结构控制流 部件连接方式 结构化连接模式 基本数据类型 抽象数据类型 进程及运行环境 分时并发计算 资源共享/并行同步 实时系统 软件结构的四视图观,软件体系结构的四视图,概念视图,模块视图,代码视图,运 行 视 图,部件 连接器 配置,模块 子系统 层,模块限制,新模块分割,部件 连接器 配置,运行限制,新模块分割,模块,变化成运行实体,运行实体,源代码,硬 件 和 操 作 系 统 体 系 结 构,软件的层次结构模型,计算机网络的体系结构 计算机操作系统的体系结构,软件体系结构的层次结构模型,第6层:应用层,第5层:系统结构模式层层,第4层:资源和管理调度层,第3层:基础控制描述层,第2层:软化的硬件层,第1层:计算机硬件层,软件体系结构的设计原理,抽象 封装 信息隐蔽 模块化 注意点分散(Separation of Concerns) 耦合和内聚 充分性和原始性 策略和实现的分离 接口和实现的分离 分而制之(Divide-and-conquer) 层次化,软件的非功能特性,可变性/可维护性 可变性包括:可维护性 可扩充性 可重构性 可移植性 互操作性 效率 可靠性: 容错性 健壮性 可测试性 可重用性,

    注意事项

    本文(面向对象方法.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开