面向对象技术高级课程12设计概论_第1页
面向对象技术高级课程12设计概论_第2页
面向对象技术高级课程12设计概论_第3页
面向对象技术高级课程12设计概论_第4页
面向对象技术高级课程12设计概论_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象技术高级教程

第三部分面向对象设计第八章面向对象设计概论什么是设计所谓设计,即“设想和计划,设想是目的,计划是过程安排”,通常指有目标和计划的创作行为、活动。原意是“设置摆放其元素,并计量评估其效用”,现代通常指预先描绘出工作结果的样式、结构及形貌,通常要绘制图样。Grady

Booch

(Mostow)构建如下的系统:满足给定的功能规格说明符合目标介质的限制满足性能及资源使用需求满足关于产品形式方面的设计限制条件满足对设计过程本身的限制条件,时间、费用、工具提纲8.1面向对象设计的发展历史8.2OOA与OOD的关系8.3面向对象设计模型和过程8.1面向对象设计的发展历史概而言之,面向对象的设计(OOD)就是运用面向对象方法进行系统设计;但不同时期有不同内容及特点。经历了早期OOD和现今OOD两个发展阶段早期的OOD早期的OOD(八十年代至九十年代初):历史:从OOP发展到OODG.Booch1982年发表“Object-OrientedDesign”,首次称“面向对象的设计”。1986年发表“Object-OrientedDevelopment”较完整地阐述了OOD思想。两个术语都用OOD作为缩写,内容上也没有根本区别R.J.Abbott1983年提出正文分析方法,用规范的英语描述对一个问题的解释,然后从描述中提取对象及其特征。例:名词——对象,动词——操作。被后来的许多OOD方法所采用。1986年后,相继出现了一批(早期的)OOD方法早期的OOD方法Booch86——Object-OrientedDevelopment面向对象的开发GOOD——GeneralObject-OrientedDevelopment通用面向对象的开发HOOD——HierarchicalObject-OrientedDesign层次式面向对象的设计OOSD——Object-OrientedStructuredDesign面向对象的结构设计……早期OOD的特点:1、不是基于OOA的大多基于结构化分析结果(数据流图)2、是OO编程方法的延伸多数方法与编程语言有关,特别受Ada影响很大3、不是纯OO的对某些OO概念(如继承)缺少支持,搀杂一些非OO概念(如数据流和模块等)4、不是只针对软件生命周期的设计阶段OOD中的“D”——指的是Design或Development多少涉及分析问题(如识别问题域的对象),但很不彻底——早期的OOD可看作现今OOA&D方法的雏形现今(90年代)的OOD背景:从结构化分析文档识别OOD的对象并非良策,识别对象的关键问题在于用OO方法进行系统分析。OO方法从设计发展到分析,出现OOA方法。OOA和OOD构成完整的OOA&D方法体系。OOD基于OOA,识别对象由OOA完成,OOD定义对象如何实现特点以面向对象的分析为基础,一般不依赖结构化分析。与相应的OOA方法共同构成一种OOA&D方法体系。OOA和OOD采用一致的概念与原则,但属于软件生命周期的不同阶段,有不同的目标及策略。较全面地体现面向对象方法的概念与原则。大多数方法独立于编程语言,通过面向对象的分析所得到的系统模型可以由不同的编程语言实现。定义面向对象的设计(OOD)就在是OOA模型基础上运用面向对象方法,进行系统设计,目标是产生一个符合具体实现条件的OOD模型。有多种OOA&D方法:Booch方法Coad-Yourdon方法Firesmith方法Jacobson方法(OOSE)Martin-Odell方法Rumbaugh方法(OMT)Wirfs-Brock方法RUP……OOA与OOD的关系第二种观点的理由:在各种分析/设计方法中“做什么”和“怎么做”实际上没有严格的划分”。过分强调“分析不考虑怎么做”将使某些必须在OOA考虑的问题得不到完整的认识。由于OO方法表示形式的一致,不存在把细化工作留给设计人员的必然理由。避免重复地认识同一事物,并有利于分析结果的复用。OOD方法概貌概念:运用与OOA部分相同的概念——除实现模型外,没有增加新概念。对象、类、属性、服务(操作)、封装、继承、消息、关联、聚合、多态、主动对象等表示法:采用与OOA一致的表示法与传统设计方法的区别分析设计数据流图模块结构图(MSD)实体-关系图(ERD)分析设计类图类图一致的概念一致的表示法OOD模型问题域部分控制驱动部分构件部署部分人机交互部分数据管理部分详细说明用况图类图行为图与包图构件图部署图OOD模型包括几个主要部分——一个核心部分加几个外围部分OOD模型每个部分如何用OO概念表达——采用OOA的概念及模型组织方式OOA与OOD的关系:1.OOD是OOA的调整和增补将OOA模型搬到OOD;进行必要的调整,作为OOD模型的问题域部分;增补其它四个部分,成为完整的OOD模型。控制驱动部分构件部署部分人机交互部分数据管理部分问题域部分OOA模型2、采用一致的概念和表示法——不存在分析与设计之间的鸿沟3、有不同的侧重点和不同的策略OOA主要针对问题域,识别有关的对象以及它们之间的关系,产生一个映射问题域,满足用户需求,独立于实现的OOA模型。OOD主要解决与实现有关的问题,基于OOA模型,针对具体的软、硬件条件(如机器、网络、OS、GUI、DBMS等)产生一个可实现的OOD模型。4、OOA与OOD可适合不同的生命周期模型——瀑布模型、螺旋模型、增量模型、喷泉模型OOD——按实现条件对OOA模型进行调整,并补充几个新的组成部分(也是由对象构成)与实现有关的因素:图形用户界面系统硬件、操作系统及网络数据管理系统其他——编程语言、可复用构件库……基本思想:尽可能隔离实现条件对系统的影响——提供独立的接口对不可隔离的因素,按实现条件调整OOA模型控制驱动部分构件部署部分人机交互部分数据管理部分问题域部分实现条件实现条件实现条件实现条件OOD过程OOD过程:逐个设计OOD模型的五个部分问题域部分的设计人机交互部分的设计控制流管理部分的设计数据管理部分的设计构件部署设计不强调次序每个部分均采用与OOA一致的概念、表示法及活动,但具有自己独特的策略。OOD部分的内容方法与过程问题域部分的设计人机交互部分的设计控制流管理部分的设计数据管理部分的设计构件部署设计模型活动图构件与部署图4+1视图最早由PhilippeKruchten提出1995逻辑视图(LogicalView),设计的对象模型(使用面向对象的设计方法时)。过程视图(ProcessView),捕捉设计的并发和同步特征。物理视图(P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论