《面向对象的设计》PPT课件.ppt
《《面向对象的设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《面向对象的设计》PPT课件.ppt(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 面向对象的设计面向分析面向分析面向设计面向设计做什么?需求及领域的调查如何做?确定逻辑的解决方案14.1 4.1 面向对象设计概述面向对象设计概述4.2 4.2 软件设计的体系结构软件设计的体系结构4.3 4.3 面向对象设计的软件体系结构面向对象设计的软件体系结构4.4 4.4 对象设计对象设计4.5 4.5 数据管理的设计数据管理的设计4.6 4.6 人机交互的设计人机交互的设计4.7 4.7 任务管理的设计任务管理的设计内容内容24.1 4.1 面向对象设计概述面向对象设计概述4.1.1 4.1.1 面向对象设计内容面向对象设计内容4.1.2 4.1.2 面向对象分析与设计的制品
2、面向对象分析与设计的制品4.1.3 4.1.3 面向对象的设计方法面向对象的设计方法3在已建立概念类图在已建立概念类图(对象分析模型对象分析模型)的基础上,进一步的基础上,进一步优化类图优化类图,确定实现的逻辑模型。确定实现的逻辑模型。面向对象的设计包括面向对象的设计包括:体系结构的设计体系结构的设计 对象的设计对象的设计 数据管理的设计数据管理的设计 人机交互的设计人机交互的设计 任务管理的设计任务管理的设计4.1.1 4.1.1 面向对象设计内容面向对象设计内容4分析阶段的制品分析阶段的制品要回答的问题要回答的问题l用例、活动图用例、活动图l对象对象(概念概念)模型模型l动态模型动态模型l
3、功能模型功能模型u领域过程是什么领域过程是什么u领域中的领域中的概念概念和术语和术语是什么是什么u系统事件和系统事件和操作是什么操作是什么u系统操作做了什么系统操作做了什么设计阶段的制品设计阶段的制品要回答的问题要回答的问题l设计类图设计类图u设计软件实现的类图设计软件实现的类图4.1.2 4.1.2 面向对象分析与设计的制品面向对象分析与设计的制品5Dialer拨号器拨号器digitsnDigits概念概念记号记号一个一个Dialer代表了一次代表了一次拨拨号号的事件的事件,它有它有digitsdigits概念的概念的内涵内涵Dialer1Dialer 2Dialer3Dialer 4概念的
4、概念的外延外延分析分析 概念应概念应用的一用的一组实例组实例图图4-1 4-1 分析分析的类图的类图6public class Dialerpublic class Dialer private Vector digits;private Vector digits;int nDigits;int nDigits;public void digit(int public void digit(int n);n);protected boolean protected boolean recordDigit(int n);recordDigit(int n);类名类名属性属性/成员成员变量变量操
5、作操作/方法方法图图4-2 4-2 设计设计的类图的类图Dialer拨号器拨号器-digits:Vector-nDigits:int+digit(n:int)#recordDigit(n:int):boolean软件类软件类,不是概念的一部分不是概念的一部分设计设计 74.1.3 4.1.3 面向对象的两种设计方法面向对象的两种设计方法问题域部分问题域部分数据管理部分数据管理部分 人机交互部分人机交互部分 任务管理部分任务管理部分(1)Coad&yourdon方法方法(COA91)(2)Rumbaugh方法方法(RAM91)系统设计系统设计(SystemDesign)对象设计对象设计(Obje
6、ctDesign)84.2.2 4.2.2 为什么要提出为什么要提出“软件体系结构软件体系结构”4.2.3 4.2.3 体系结构风格体系结构风格4.2 4.2 软件设计的体系结构软件设计的体系结构4.2.1 4.2.1 什么是什么是“软件体系结构软件体系结构”9l“体系结构体系结构”一词起源于建筑学一词起源于建筑学如何使用基本的建筑模块构造一座完整的建筑?如何使用基本的建筑模块构造一座完整的建筑?l包含两个因素:包含两个因素:基本基本的建筑的建筑模块模块:砖、瓦、灰、沙、石、预制梁、:砖、瓦、灰、沙、石、预制梁、柱、屋面板柱、屋面板建筑建筑模块之间模块之间的粘接的粘接关系关系:如何把这些:如何
7、把这些“砖、瓦、砖、瓦、灰、沙、石、预制梁、柱、屋面板灰、沙、石、预制梁、柱、屋面板”有机的组合起有机的组合起来形成整体建筑?来形成整体建筑?4.2.1 4.2.1 什么是什么是“体系结构体系结构”(Architecture)”(Architecture)10(1)(1)计算机硬件系统的计算机硬件系统的“体系结构体系结构”如何将设备组装起来形成完整的计算机硬件系统?如何将设备组装起来形成完整的计算机硬件系统?计算机体系结构的风格计算机体系结构的风格以存储程序原理为基础的冯以存储程序原理为基础的冯诺依曼结构诺依曼结构存储系统的层次结构存储系统的层次结构并行处理机结构并行处理机结构两个因素两个因素
8、基本的硬件模块:控制器、运算器、内存储器、外存储基本的硬件模块:控制器、运算器、内存储器、外存储器、输入设备、输出设备器、输入设备、输出设备硬件模块之间的连接关系:总线硬件模块之间的连接关系:总线11“体系结构体系结构”的共性的共性一组基本的构成要素一组基本的构成要素构件构件要素之间的连接关系要素之间的连接关系连接件连接件要素连接之后形成拓扑结构要素连接之后形成拓扑结构物理分布物理分布作用于要素或连接关系上的限制条件作用于要素或连接关系上的限制条件约束约束质量质量性能性能12(1)(1)计算机硬件系统的计算机硬件系统的“体系结构体系结构”(2)“(2)“软件体系结构软件体系结构”(Softwa
9、re”(Software Architecture)Architecture)提供了对软件系统的结构、行为和属性的抽象。反映系统开发提供了对软件系统的结构、行为和属性的抽象。反映系统开发中具有重要影响的设计决策中具有重要影响的设计决策,便于各种人员的交流,据此开发便于各种人员的交流,据此开发的系统能完成系统既定的功能和性能需求。的系统能完成系统既定的功能和性能需求。从宏观层次来考虑组成系统的构件、构件之间的连接,以及从宏观层次来考虑组成系统的构件、构件之间的连接,以及由构件与构件交互形成的拓扑结构。由构件与构件交互形成的拓扑结构。这些要素应该满足一定的限制,遵循一定的设计规则。这些要素应该满足
10、一定的限制,遵循一定的设计规则。体系结构体系结构=构件构件+连接件连接件+约束约束Architecture=Components+Connectors+ConstrainsArchitecture=Components+Connectors+Constrains13构件构件(Component)(Component)l构件是具有某种功能的可复用的软件结构单元,表示构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。了系统中主要的计算元素和数据存储。ComponentInterfaceServiceCl任何在系统运行中承担一定功能、发挥一定作用的软任何在系统运行中承担
11、一定功能、发挥一定作用的软件体都可看作是构件。件体都可看作是构件。程序函数、模块程序函数、模块对象、类对象、类文件文件相关功能的集合相关功能的集合14接口接口(Interface)(Interface)l构件作为一个封装的实体,只能通过其接口与外部环构件作为一个封装的实体,只能通过其接口与外部环境交互。如芯片的管脚。境交互。如芯片的管脚。l内部结构则被隐藏起来内部结构则被隐藏起来(Black-box)(Black-box)。l一个构件至少有一个接口。一个构件至少有一个接口。l一个构件可以提供多重接口:接不同的管脚,实现不一个构件可以提供多重接口:接不同的管脚,实现不同的功能。同的功能。l构件接
12、口与构件实现严格分开。构件接口与构件实现严格分开。15服务服务(Service)(Service)l构件被看作一个构件被看作一个“黑盒黑盒”(Black Box)”(Black Box),其内部具体的,其内部具体的实现机制被封装和隐藏起来。实现机制被封装和隐藏起来。l构件的功能以服务构件的功能以服务(Service)(Service)的形式体现出来,并通过的形式体现出来,并通过接口向外发布,进而产生与其它构件之间的关联。接口向外发布,进而产生与其它构件之间的关联。16连接件连接件(Connector)(Connector)l连接件连接件(Connector)(Connector):表示构件之间
13、的交互并实现构件:表示构件之间的交互并实现构件之间的连接,如之间的连接,如:管道管道(pipe)(pipe)过程调用过程调用(procedure call)(procedure call)事件广播事件广播(event broadcast)(event broadcast)客户机客户机-服务器服务器(client-server)(client-server)数据库连接数据库连接(SQL)(SQL)l连接件也可看作一类特殊的构件,连接件也可看作一类特殊的构件,区别区别在于:在于:一般一般构件是软件功能设计和实现的承载体构件是软件功能设计和实现的承载体;连接件是负责完成构件之间连接件是负责完成构件之
14、间信息交换和行为联系信息交换和行为联系的专用构件。的专用构件。C1C217连接的协议连接的协议(Protocol)(Protocol)l协议协议(Protocol)(Protocol)是连接的规约是连接的规约(Specification)(Specification)。l目的:使双方能够互相理解对方所发来的信息的语义。目的:使双方能够互相理解对方所发来的信息的语义。l连接的规约是建立在物理层之上的有意义信息形式的连接的规约是建立在物理层之上的有意义信息形式的表达规定。表达规定。对过程调用对过程调用:参数的个数和类型、参数排列次序参数的个数和类型、参数排列次序对消息传送:对消息传送:消息的格式消
15、息的格式18连接的种类连接的种类l从连接目的看:从连接目的看:操作操作/过程调用;过程调用;控制控制/事件事件/消息发送;消息发送;数据传输;数据传输;l除了连接机制除了连接机制/协议的实现难易之外,影响连接实现协议的实现难易之外,影响连接实现复杂性的因素之一是复杂性的因素之一是“有无连接的返回信息和返回的有无连接的返回信息和返回的时间时间”,分为:,分为:同步同步(Synchronous)(Synchronous)异步异步(Asynchronous)(Asynchronous)19u体系结构是对复杂事物的一种抽象。良好的体系结构体系结构是对复杂事物的一种抽象。良好的体系结构是普遍适用的,它可
16、以高效地处理多种多样的个体需是普遍适用的,它可以高效地处理多种多样的个体需求。求。u体系结构在一定的时间内保持稳定。只有在稳定的环体系结构在一定的时间内保持稳定。只有在稳定的环境下,人们才能干点事情。对需求变化,只做些皮皮境下,人们才能干点事情。对需求变化,只做些皮皮毛毛的修改毛毛的修改。4.2.2 4.2.2 为什么要提出为什么要提出“软件体系结构软件体系结构”20图图4-3 4-3 按父子样式关系组织的构架样式分类简图按父子样式关系组织的构架样式分类简图独立组件独立组件通信进程通信进程事件系统事件系统 隐式调用隐式调用 显式调用显式调用数据流数据流以数据为中心以数据为中心 成批顺序流成批顺
17、序流 管道和过滤器管道和过滤器数据仓库数据仓库 模板模板虚拟机虚拟机调用和返回调用和返回解释器解释器 基于规则的系统基于规则的系统 主程序主程序和子程序和子程序 面向对象面向对象分层分层4.2.3 4.2.3 体系结构风格体系结构风格21(1)(1)主程序主程序-子程序结构子程序结构 主程序主程序子程序子程序1 1子程序子程序2 2子程序子程序3 3l是结构化程序设计的一是结构化程序设计的一种典型风格。从功能的种典型风格。从功能的观点设计系统,通过逐观点设计系统,通过逐步分解和逐步细化,得步分解和逐步细化,得到系统体系结构。到系统体系结构。构件:主程序、子程序构件:主程序、子程序连接件:调用连
18、接件:调用-返回机制返回机制拓扑结构:层次化结构拓扑结构:层次化结构图图4-4 4-4 主程序主程序-子程序结构子程序结构l本质:将大系统分解为若干模块本质:将大系统分解为若干模块(模块化模块化),),主程序调用主程序调用这些模块实现完整的系统功能。这些模块实现完整的系统功能。22现实世界里邮政系统现实世界里邮政系统(2)(2)层次结构层次结构通信者活动通信者活动界面界面通信者活动通信者活动界面界面邮局服务业务邮局服务业务邮局服务业务邮局服务业务邮局转运业务邮局转运业务邮局转运业务邮局转运业务运输部门的(邮件)运输业务运输部门的(邮件)运输业务 书写信件书写信件 粘贴邮票粘贴邮票 投递进信箱投
19、递进信箱 收集信件收集信件 加盖邮戳加盖邮戳 邮件分检邮件分检 邮件打包邮件打包 转送运输转送运输 部门部门 选择运输选择运输 路径(路由)路径(路由)转送邮局转送邮局接收邮件接收邮件接收邮件接收邮件邮件拆包邮件拆包邮件投递邮件投递邮件分检邮件分检信箱取信信箱取信阅读邮件阅读邮件发信者发信者收信者收信者图图4-5 4-5 邮政系统邮政系统23协议协议物理层物理层协议协议网络层网络层协议协议分组流分组流比特流比特流帧流帧流报文流报文流应用层应用层7 74 43 32 21 16 65 5段流段流子子网网内内部部协协议议通信子网通信子网转接节点转接节点转接节点转接节点报文流报文流报文流报文流表示层
20、表示层会话层会话层传输层传输层链路层链路层链路层链路层物理层物理层应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层网络层网络层链路层链路层物理层物理层网络层网络层网络层网络层链路层链路层链路层链路层物理层物理层物理层物理层图图4-6 4-6 网络协议层网络协议层网络的分层模型网络的分层模型24计算机操作系统的层次结构计算机操作系统的层次结构计算机硬件算机硬件(CPU、存、存储器、器、I/O等等)基本基本输入入输出出(BIOS)操作系操作系统内核内核(System kernel)系系统调用用语言言处理、系理、系统工具、系工具、系统应用程序用程序Shell解解释运行运行用用户图图4-7
21、 4-7 计算机操作系统的层次结构计算机操作系统的层次结构25小学生小学生中学生中学生大学生大学生研究生研究生举出一个层次结构的实例举出一个层次结构的实例图图4-8 4-8 学历层次结构学历层次结构图图4-9 Java4-9 Java的的I/OI/O层次图层次图+write()+write()OutputStreamOutputStream+write()+write()FilterOutputStreamFilterOutputStream+write()+write()DataOutputStreamDataOutputStream+write()+write()BufferedOutpu
22、tStreamBufferedOutputStream+write()+write()FileOutputStreamFileOutputStream26两层两层C/SC/S三层三层C/SC/S多层多层C/SC/S客户机客户机/服务器结构(服务器结构(Client/Server,C/SClient/Server,C/S)客户客户界面界面数据库数据库服务器服务器客户客户界面界面客户客户界面界面数据库数据库服务器服务器数据库数据库服务器服务器业务逻辑业务逻辑服务器服务器业务逻辑业务逻辑服务器服务器WebWeb服务器服务器图图4-10 C/S 4-10 C/S 结构结构27两层两层C/SC/S结构处
23、理流程结构处理流程图图4-11 4-11 两层两层C/SC/S结构处理流程结构处理流程客户机客户机服务器服务器请求请求响应响应显示显示逻辑逻辑事务事务处理处理逻辑逻辑数据数据处理处理逻辑逻辑数据库数据库l专用性、交互性强专用性、交互性强l存取数据安全存取数据安全l网络通讯量低、速度快网络通讯量低、速度快l难以扩展至大型企业广域网或难以扩展至大型企业广域网或InternetInternetl客户端应用程序仍显肥胖客户端应用程序仍显肥胖l易造成网络瓶颈。易造成网络瓶颈。28客户端客户端数数据据层层功功能能层层表表示示 层层三层三层C/SC/S结构结构表示层是应用的用户接口部分,它担表示层是应用的用
24、户接口部分,它担负着用户与应用间的对话功能。负着用户与应用间的对话功能。将具体的业务处将具体的业务处理逻辑编入程序理逻辑编入程序管理对数据库数管理对数据库数据的读写据的读写 图图4-12 4-12 三层三层C/SC/S结构结构数据库数据库服务器服务器应用服应用服务器务器用户用户1 1用户用户2 2.用户用户n nInternetInternetIntranetIntranet数据库数据库服务器服务器2 2应用服务器应用服务器数据库数据库服务器服务器1 129三层三层C/SC/S结构处理流程结构处理流程图图图图4-13 4-13 4-13 4-13 三层三层C/S C/S 结构处理流程结构处理流
25、程功功能能层层表表示示层层数据层数据层30图图4-14 B/S4-14 B/S体系结构体系结构表现层:表现层:l浏览器浏览器逻辑层:逻辑层:lWebWeb服务器服务器l应用服务器应用服务器数据层:数据层:l数据库服务器数据库服务器浏览器浏览器/服务器(服务器(Browser/Server,B/SBrowser/Server,B/S)体系结构)体系结构31B/SB/S结构处理流程结构处理流程页面页面脚本表现层应用服务器层数据库访问层客户端浏览器表现层Web服务器应用层应用服务器数据层数据服务器数据库图图4-15 B/S 4-15 B/S 结构处理流程结构处理流程在在WebWeb服务器端,程序员要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象的设计 面向 对象 设计 PPT 课件
限制150内