面向对象分析设计.ppt
《面向对象分析设计.ppt》由会员分享,可在线阅读,更多相关《面向对象分析设计.ppt(127页珍藏版)》请在三一办公上搜索。
1、软件系统的建模及建模原则,计算机软件是“产品”,因为它具有产品特征:1)软件产品为用户提供功能;2)开发者和使用者是脱离的;3)软件产品具有质量的概念;4)软件产品具备完备的用户手册技术文档;5)软件产品的生产过程具有工业化生产的特点;6)开发团队协同工作,软件产品需要使用工具,技术可重用,质量必须稳定,不应在不同版本的软件之间产生质量不稳定。,在解决问题之前必须首先理解所要解决的问题。对问题理解得越透彻,就越容易解决它。为了更好地理解问题,人们常常采用建立问题模型的方法。所谓模型,就是为了理解事物而对事物作出的一种抽象。,模型化方法,日常生活中经常能见到模型技术的应用。模型都具有抽象化的特性
2、,是某件实物的抽象表示.模型省略了细节,便于理解,容易操作。模型便于设计者和用户之间的沟通。,软件建模基本目的有四点:规范(specifying)、可视化(visualizing)、建造(constructing)建档(documentation)。(1)规范。在分析和设计阶段为软件系统的各个组成部分规定其功能、结构和对外接口。(2)可视化。有助于软件规范的表达和交流。,(3)建造(生成源代码)。完整定义的软件规范可以实现通过模型向源代码的映射,支持软件系统的建造。(4)建档。完整定义的软件模型是反映软件系统的结构和实现的重要技术资料,可以作为技术档案保存,以便后续产品或相关产品能有效地重用其
3、中的成熟技术。,2.建模的原则(1)准确的原则模型必须准确地反映软件系统的真实情况。模型必须准确,意味着在软件开发的整个周期内模型必须和产品始终保持一致。(2)分层的原则在建模的过程中,必须有不同的模型,以不同的抽象程度,反映系统的不同侧面。在软件构筑的不同阶段,不同的开发人员如:投资者、管理者、设计者、程序员、测试者和使用者看待软件的侧重面有所不同。因此,软件系统的建模需要不同的模型以反映系统的不同侧面。如,一类模型描绘系统的外部边界和行为,另一类模型描绘系统的内部逻辑关系。,(3)分治的原则不可能单独用一个模型来反映整个系统的任何侧面。软件系统是复杂的,对于软件模型的任意一个侧面不可能用一
4、个模型来反映所有内容,需要把问题分解为不同的子模型,分别处理这些模型,相对独立但又互相联系,综合起来构成了此侧面的一个完整的模型。(4)标准的原则模型必须在某种程度上是通用的。建模的基本目的是交流,一个开发队伍内部的交流,同一软件的不同时期的版本的开发队伍的交流,不同软件的开发队伍之间的交流,以实现最大程度的软件复用。交流需要语言,语言是通用的、标准的。,面向对象建模方法概述,面向对象方法学 采用面向对象的概念及其抽象机制建立应用系统模型,将系统开发视为对象模型的转换和不断细化过程对象建模 是一种用于辨识系统环境中的对象和这些对象关系的技术,面向对象的方法学,分析与设计的鸿沟,面向对象的方法学
5、,问题求解面向对象设计方法:实现问题空间和问题求解空间的近似和直接模拟。,意识部分教室,物质部分303教室,抽象部分教室类,具体部分一个对象:教室实例,现实问题空间,解空间,面向对象的软件开发方法,顺应人类思维习惯,让软件开发人员在解空间中直接模拟问题空间中的对象及其行为,支持增量式开发,支持大型软件开发,支持软件重用,改善软件结构(模块化与封装),提高软件灵活性,面向对象建模方法概述,面向对象分析(Object-Oriented Analysis,OOA)技术用于 研究现有对象,看它们是否能够被复用或者被调整用于新的用途;定义各种新对象和修改后的对象,它们将于现有对象一起组合成一个有用的企业
6、计算应用系统面向对象方法的核心是对象建模技术,面向对象分析设计的基本思路,识别对象和类通过一组互相关联的模型详细表示类之间的关系和对象的行为,并最终描述系统的信息、功能和行为静态逻辑模型-对象模型动态逻辑模型,Booch方法,Booch与1986年发表论文介绍该方法提出需要建立4个模型 逻辑模型、物理模型、静态模型、动态模型。Booch的方法是一个迭代的、渐进的开发方法开发过程分为:宏过程和微过程,宏过程:概念化-获得需求 概念化活动是一个非常有创造性的过程,所以没有严格的开发规则,可以通过原型法建立系统。分析-建立行为模型 分析的目的是通过识别构成问题域词汇表的类和对象来为系统建立模型。设计
7、-建立体系结构进化-实现维护-管理软件的交付使用微过程(由4个没有顺序的步骤组成):在给定的抽象层次上识别出类和对象。识别出这些类和对象的语义识别出类间和对象间的关系.实现类和对象,把系统的开发工作分为两个部分:微观过程和宏观过程。,微观过程,宏观过程,Booch方法,OMT方法,OMT(Object Modeling Technigue)对象模型技术方法由Rumbaugh等提出的,OMT方法的目的是构造一系列模型,这些模型不断对系统设计进行细化,直到找到适合实现的最后模型.,1.什么是OMT方法 OMT是对象建模技术(Object Modeling Technology)的简称,它将使用三种
8、不同的模型从不同侧面来描述现实世界,即使用对象模型,动态模型和功能模型三种模型。,OMT方法概述,2.OMT的三个模型对象模型:描述静态结构,定义做事情的实体功能模型:描述处理(数据变换),指明系统应“做什么”动态模型:描述交互过程,规定什么时候做,Rambaugh方法(OMT方法),创建三个模型:对象模型(对象类、层次和关系的表示)、动态模型(对象和系统行为的表示)和功能模型(高层的类似DFD的系统信息流的表示),主要分为分析、设计(系统设计和对象设计)和实现几个阶段。分析阶段:确定对象模型、动态模型和功能模型设计阶段:系统设计和对象设计实现阶段的细节和具体的实现环境有关,Rambaugh方
9、法(OMT方法),OMT的四个阶段分析阶段:理解应用问题,建立对象模型、动态模型和功能模型,说明对象关联、控制流及数据变换。系统设计阶段:确定系统框架,考虑并发任务、通讯机制和数据存储策略。对象设计阶段:从实现的角度细化分析对象模型、动态模型和功能模型实现阶段:具体代码实现,OMT方法突出的特点是在分析阶段,它可以较为全面地描述系统的静态结构,所以0MT方法适合于数据密集型的信息系统的开发。,OMT系统分析和设计过程概观图,对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,
10、它是分析阶段模型的核心。,对象模型,(Object Model):,对象模型(Object Model):,对象模型是用来描述系统内部对象结构的,包括对象本身的特性以及对象之间的关系。对象模型是建立动态模型和功能模型的基础。对象模型是由对象图表示的,对象图是由类构成,并依据类之间的结构与行为的关系,加以安排组织而成的。,对象模型包含,1.对象和类(1)对象。对象建模的目的就是描述对象。(2)类。通过将对象抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。(3)属性。属性指的是类中对象所具有的性质(数据值)。(4)操作和方法。操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作
11、,每个操作都有一个目标对象作为其隐含参数。方法是类的操作的实现步骤。,2.关联和链关联是建立类之间关系的一种手段,而链则是建立对象之间关系的一种手段。(1)关联和链的含义。链表示对象间的物理与概念联结,关联表示类之间的一种关系,链是关联的实例,关联是链的抽象。(2)角色。角色说明类在关联中的作用,它位于关联的端点。(3)受限关联。受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端对象集中说明。限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。(4)关联的多重性。关联的多重性是指类中有多少个对象与关联的类的一个对象相关。重数
12、常描述为“一”或“多”。,3.类的层次结构(1)聚集关系。聚集是一种“整体部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。(2)一般化关系。一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式。它是“一般-具体”的关系。一般化类称为你类,具体类又能称为子类,各子类继承了交类的性质,而各子类的一些共同性质和操作又归纳到你类中。因此,一般化关系和继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形.,4.链和关联的概念图例 对象之间的静态联系称为实例连接,该实例连接称为链,类之间的实例连接称为关联。,5.关联的多重性,6.二元
13、关联和三元关联,7.角色,8.受限关联,9.链属性,10.类的聚集关系,11.聚集树,键盘,12.类的一般化关系,12.类的树型层次结构(单重继承),13.类的格型层次结构(多重继承),建立对象模型的方法标识和问题相关的类定义属性和关联定义对象的连接组织对象类的层次,对象模型示例,公司,动态模型(Dynamic Model),动态模型是用来描述系统与时间相关的动态行为的。动态模型表现的是对象彼此之间经过交互作用后,随时间而改变的情况。动态模型以事件(event)和状态(state)为其模型的主要概念。动态模型以状态图和时序图表示的。,2.动态模型与对象模型的关系 每个对象的操作用动态模型来描述
14、。,1.事件事件是指定时刻发生的某件事。2.状态状态是对象属性值的抽象。对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。状态指明了对象对输入事件的响应。3.状态图状态图是一个标准的计算机概念,他是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。状态图是一种图,用结点表示状态,结点用圆圈表示;圆圈内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。,事件举例 扭动插在汽车点火器中的钥匙是打开和关闭电子系统的一个信号。用对象术
15、语,扭动钥匙是一个事件。按电梯的按钮也是一个事件,按压按钮是使电梯移动到另一层楼的信号。,什么是场景 系统某一次特定运行时期内发生的事件序列称为场景(也叫脚本),也是完成系统某个功能的一个时间序列。脚本起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。,脚本举例,事件追踪图(时序图)侧重说明发生于系统执行过程中的一个特定“场景”。,什么是状态 对象的状态由对象属性的值定义。具有时间性和持续性。,状态举例 只能打开和关闭的开关有两种状态:开和关如果一个矩形由三个属性描述:长、宽和位置,给定这些属性的值就定义了矩形对象的一个状态,状态图 状态图是由事件和状态组成的结构图,有流线和圆角矩形
16、两个基本符号。流线表示事件圆角矩形表示状态,状态与事件的关系 一个事件分开两种状态,一个状态分开两个事件状态具有持续性,只有在响应一个事件时才发生变化事件具有瞬时性,状态图举例汽车点火系统状态图,状态:关闭、打开、启动事件:扭动钥匙打开、扭动钥匙启动、扭动钥匙关闭、放开钥匙,状态图前提条件 也称防护措施,列在事件名后面的方括号内。说明除非前提条件被满足,否则事件不能发生。,状态图动作、活动事件与动作相关联状态与活动相关联动作和活动的差异体现在完成它们所需要的时间上完成动作所花时间假定为零(瞬时),完成活动则需要花一段时间。,状态图的动作表示法 动作名放在事件后面,用“/动作名”表示,状态图的活
17、动表示法 在状态框内加上“do:活动名”,意味着当进入状态时,活动开始,离开状态时,活动结束。例如:,状态图单程图、循环图,建立动态模型的方法准备场景从场景中抽取事件组织事件的顺序和状态开发状态图评审行为的一致性和完整性,1.拿起电话,立即放下2.拿起电话,超时放下3.拿起电话,拨号不全,放下4.拿起电话,拨号不全,超时放下5.拿起电话,无效拨号,放下6.拿起电话,有效拨号,立即放下7.拿起电话,有效拨号,忙音放下8.拿起电话,有效拨号,自动中断放下9.拿起电话,有效拨号,对方铃响放下10.拿起电话,有效拨号,对方应答未完放下11.拿起电话,有效拨号,对方应答完毕放下,举例,功能模型(Func
18、tional Model),功能模型用来描述系统中数据的转换的。在动态模型中对象间彼此交互作用,所处理的数据由功能模型表达出来。功能模型是以数据流程图的形式表示的,数据流程图描述数据间的相依性及数据从输入到输出的整个转换过程。,功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。,使用OMT方法的
19、面向对象开发过程可分为5步,分析:分析问题域并进行建模系统设计:设计系统的整体体系结构对象设计:为了有效地实现系统,对对象结构进行细化,为对象添加细节.编码:用目标编程语言实现对象和类测试:验证系统是否正确,分析是OMT方法的第一步。开发系统,首先必须了解系统的需求及系统周围的环境。,OMT分析阶段需要进行的活动,分析的第一步是对问题的描述,即,获得用户要解决的问题并编写问题陈述文档(Problem Statement)。根据问题域确定对象并建立对象模型(1)识别出类和对象(2)舍弃不必要和不正确的类(3)准备数据字典(将抽象出的类放入数据字典,并在数据字典中对每个类进行描述)(4)识别出类之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计
链接地址:https://www.31ppt.com/p-6066715.html