功能模型功能模型表明.ppt_第1页
功能模型功能模型表明.ppt_第2页
功能模型功能模型表明.ppt_第3页
功能模型功能模型表明.ppt_第4页
功能模型功能模型表明.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、物件导向概念、物件导向物件类别讯息继承是什么、第9章物件导向方法简介、物件导向是什么,以及Coad和Yourdon定义为物件导向=物件类别继承通讯。如果一个软件系统是使用这四个概念设计和实现的,则认为该软件系统是面向对象的。面向对象程序中的每个元素都必须是对象,计算通过新对象的设置和对象之间的通信来完成。面向对象的要点:1 .认为客观世界是由多种对象组成的,所有的都是对象,复杂的对象可以通过某种方式组合相对简单的对象来构成。2.将所有物件分成不同的物件类别。每个对象类都定义了数据集和方法集。3.基于子类(也称为派生类)和超类(也称为基类)之间的关系将多个对象类组织在层次结构中的系统(也称为类类

2、)。4.对象只能通过转发消息相互连接。面向对象的主要优点:1 .与人类习惯的思维一致2。稳定性好,可重复使用性好,大型软件产品的开发简便性好,易于修改,易于理解、测试和调试,面向对象技术的优点不是减少开发时间,而是首次使用该技术开发软件可能比使用传统方法需要稍长的时间。物件(object),物件导向开发方法的基本元素。每个对象可以使用其自身的属性集和可执行的操作集进行定义。属性通常只有在对对象执行操作后才能更改。操作(也称为方法或服务)描述了对象执行的功能,还可以通过消息传递用于其他对象。面向对象的基本概念、对象图像表示、面向对象的基本概念、对象特性、面向数据的对象是问题域中的概念对象,如数据

3、封装本质上并行模块独立性、对象分类、外部实体:与系统交换信息的外部设备、相关子系统、操作员或用户等;信息结构:如信号、报告、显示信息等;需要记忆的事件:在系统运行期间创建的、需要内存的事件,如鼠标单击、键盘点击等;角色:与系统交互的个人(如学生、教师、会计等)所扮演的角色;组织:公司、部门、集团等相关机构;地点或位置:用作系统环境或问题上下文的地点、位置(例如客户地址、收件人地址等)操作领域:操作菜单、数据输入流程等。类(class)和类是具有与相同数据结构相同的操作的一组对象的集合。类的定义包括如何与数据的一系列数据属性组合。类定义可以视为具有相似特性和共同行为的对象的样板,并可用于生成对象

4、。在一个类中,每个对象都是类的实例,可以使用类的函数。每个类有两个四边形对象,Quadrilateral类中的每个对象都有相同的属性和操作集。因此,类Quadrilateral提供了表示所有四元对象的模板。类通常可以看作是抽象数据类型(ADT)的实现。但更恰当的是,将类看作一种概念模型。创建类的实例时,通常使用其它类的实例,并提供该类所需的服务。您必须保护这些实体,避免存取其他物件,包括相同类别的其他实体。什么是信息?消息是规范的说明,要求对象执行在定义它的类中定义的操作。通常,接收消息的对象消息选择器(也称为消息名称),例如:myCircle.show(GREEN),与结构设计中的函数调用不

5、同,它使用零个或多个参数。“消息”(Message)、“继承”(Inheritance)和“继承”(Inheritance)是基于现有类定义创建新类定义的技术。新类的定义可以是现有类声明的数据和新类添加的声明的组合。新类重复使用现有存储定义,而不修改现有存储类。现有类可以作为基类引用,新类可以作为派生的类引用。例如,使用类的继承层次结构、polygon、triangle、quadrelral、rectangle和继承设计新类时,可以认为它描述了新对象集(现有类所描述的对象集的子集)。此新子集可以视为现有类的专门化。新类的接口可以与现有类的接口相同,新类的接口可以视为现有类接口的扩展接口。例如,

6、从一个现有车辆类派生的四轮驱动车辆类不仅是车辆类子集定义的专门化,还可以在新类的接口中引入新功能。polygon、referencepointvertices、draw () move (x,y) contains?(apoint)、quadrelral、referencepointvertices、draw () move (x,y) contains?(apoint)、polygon类、Polygon类的子类Quadrilateral、多态(Polymorphism)和面向对象的软件技术中,多态意味着子类对象可以像父类对象一样使用,并且可以向父类对象和子类对象发送相同的消息。多态机制提高了

7、面向对象软件系统的灵活性,进一步减少了信息重复,大大提高了软件的可重用性和可扩展性。“重载”(Overloading)和两种类型的重载。函数重载意味着同一范围内的多个参数属性可以在不同的函数中使用相同的函数名。重载运算符表示可以将相同的运算符应用于不同类型的操作数之上。当然,如果参数特性不同或操作数的类型不同,实现函数的算法或操作符的含义就不一样了。对象建模技术将分析时收集的信息组织为三种类型的模型:对象模型、动态模型和功能模型。此建模过程是迭代过程。持续更新和优化系统,直到满足真正的要求。对象模型技术OMT、动态模型、对象模型、功能模型和对象模型是描述系统静态结构的三个模型中最重要的模型,包

8、括组成系统的类和对象、属性和操作以及它们之间的关系。在OMT中,类和类之间的关系称为关联。关联表示存在于两个或多个对象之间且具有相同结构和语义的特定连接集。关联可以是物理或逻辑。类名称、属性、操作、类、类的实例、(类名)属性值、类定义示例、矩形、侧面长位置边界颜色内部颜色、绘制磨擦图移动、聚合、表示整体和部分关系的特殊形式的连接。菱形方块表示用于约束关联意义的整体侧物件限制。描述关联一端的角色。大多数关联都有两个端点,因此涉及两个角色。附加的说明对象之间连接的连接属性。(0个或1个)、(0个或更多)、1、(1个或多个)、12,4、(12个或4个)、一般化的关联,也称为继承。广义关系由基类和多个

9、派生类组成。基类表示更通用、更通用的概念。每个派生类都是特殊形式的派生类,除了自然继承基类具有的特性和操作外,还具有反映其独特特性的特性和操作。1 .类UML将类的图形符号定义为矩形,使用两条水平线将矩形分为上、中、下三个区域(后面两个区域可以省略),三个区域分别放置类的名称、属性和服务。类图的基本符号,命名类时必须遵循以下准则:(1)使用标准术语。在应用程序领域,应使用人们熟悉的标准术语作为类名,不要乱弄名字。例如,“信号灯”比“信号装置”好,“输送机”比“零件传输设备”好。(2)使用具有正确意义的名词。尽可能使用表示类含义的日常用语作为名称,不要使用空洞或模糊的单词作为名称。例如,“仓库”

10、比“房子”或“电子仓库”更准确。(3)如有必要,请用名词短语作为名称。为了使名字的意思更准确,必要的话,在形容词上加上名词或其他形式的名词短语来写名字。例如,“最小的领土单位”、“储藏室”、“公司员工”等是更合适的名称。总之,名字要叙述性、简洁、无异议。2 .属性定义UML说明属性的语法格式如下:可见性属性名称:类型名称=初始值性质字串属性有三种可见性(可存取)。“公共”(public)“专用”(private)“受保护”(protected)分别用加号()、减号(-)和井号(#)表示。如果未声明可见性,则表示属性的可见性尚未定义。没有默认可见性。属性名称和类型名称之间用冒号(:)分隔。类型名

11、称表示该属性的数据类型,可以是默认数据类型,也可以是自定义类型。创建类的实例时,必须为属性赋值。如果为属性定义初始值,则在创建实例时,该属性将成为默认值。类型名称和初始值之间用等号(=)分隔。用大括号括起来的特性字符串明确列出了该属性的所有可能值。例如,UML类图表中描述的“manager”类的属性如下所示:-管理员:String=“待定”,3。服务服务定义(操作、UML说明操作)的语法格式如下:可见性作业名称(参数表):传回值类型性质字串作业可见性与属性相同。参数表是以逗号分隔的表单参数序列。描述参数的语法如下:参数名称:类型名称=默认值如果操作调用程序未提供实际参数,则该参数将使用默认值。

12、与属性类似,也可以在类中定义类范围操作,在类图表中用带下划线的操作表示。此操作只能访问此类的类范围属性。类和类之间通常有四种关系:关联、广义(继承)、从属关系和镶嵌。关联(1)一般关联一般关联是最常见的关联关系,只要类别与类别之间有关联关系,就可以表示为一般关联。一般关联图示符号是连接两个类别的线。表示关系的符号,可以在关联线的两端写入双编号,表示该类中的对象数连接到彼此的一个对象。权重的表示通常如下:01表示从0到1个对象0*或*表示从0到多个对象1或1,*表示从1到15的对象115表示从1到15的对象3,如果图中没有明确表示相关联的权重,则默认权重为1。(2)关联的角色涉及所有关联中涉及该

13、关联的对象所承担的角色(即角色),在某些情况下,明确显示角色名称有助于其他人理解类图。下图是迭代关联(即类与自身相关联)的示例。一个人和另一个人结婚,一定会有一个人扮演丈夫的角色,另一个人扮演妻子的角色。如果未明确显示角色名称,则意味着使用类名作为角色名称。(3)有限的关联关系通常用于一对多或多对一关系,在一对多中,将模型的重数简化为一对多,或从多对多简化为多对一对。例如,如果操作系统的一个目录中有很多文件,一个文件仅属于一个目录,而一个目录中的文件名确定了唯一的文件。(4)关联类可能需要一些其他信息来说明关联的特性。可以通过引入相关类来记录此类信息。关联中的每个连接都与关联类中的一个对象相关

14、联。关联类通过虚线与关联相关联。2 .聚集也称为聚集,是关联的特殊情况。聚集表示类和类之间的关系是整体和部分的关系。描述要求时使用的包含、构成、分割等短语通常表示有聚合关系。除了一般总计之外,还有两种特殊的总计关系:共用总计和组合总计。(1)如果共享聚集关系某些方面的对象可以同时参与多个全局对象配置,则该聚集称为共享聚集。例如,如果一个问题组包含很多成员,每个成员可以是另一个问题组的成员,则主题组和成员之间存在共享聚集关系,并且(2)组合聚集部分类完全属于整个类,部分与全部共存,整体不存在的部分消失或不存在价值,则该聚集称为组合聚集(简称配置)。例如,如果在屏幕上打开由文本框、列表框、按钮和菜

15、单组成的窗口,则组件也将消失,窗口及其组件之间存在组合聚集关系。(1)一般一般化中没有特定物件的类别称为抽象类别。抽象类通常是描述其他类(子类)的公共属性和行为的超类。如果类是抽象的,则在类名下添加标签值abstract。广义,抽象类通常具有抽象操作。抽象操作仅用于指定该类的所有子类必须具有什么行为。抽象动作与抽象类别类似,在动作标签之后跟随性质字串abstract。与抽象类相反的类是具有唯一对象的特定类,其操作具有特定的实现方法。复杂类图的示例,更复杂的类图的示例,(2)有限一般化可以向广义关系添加约束,以详细说明该广义关系的使用方法或扩展方法,这种广义关系称为限制一般化。有四种预先定义的约

16、束:多个、不相交、全部和不完整。这些约束是语义约束。多个继承意味着一个子类可以同时继承同一父基类多次,这与多个继承相反,这意味着不相交的继承。也就是说,一个子类不能多次继承同一基类(这些基类与c语言中的虚拟基类等效)。如果图中未指定多个约束,则不相交的继承,典型的继承是不相交的继承。多个继承示例,完全继承表示父类的所有子类在类图中很穷。图标符号指定完全约束。不完整继承与完全继承父类的子类相反。4 .依存关系和具体化(1)依存关系依存关系描述了两个模型元素(类、使用案例等)之间的语义连接关系。其中一个模型元素是独立的,其他模型元素不是独立的,从属于独立的模型元素,独立模型元素变更会影响从属模型元

17、素。(2)关系具体化在对同一事物的不同抽象级别进行说明时,将这些说明之间的关系具体化。假设两个模型元素a和b描述相同的事物,其区别在于抽象层次不同,如果b是基于a的更详细的说明,则说b细化了a,或者说a细化了b。具体的图标符号在元素b中指向元素a,一端是空心三角形(不是实心三角形)的虚线。动态模型还需要检查对象及其关系的变化,以便更清楚地了解系统。系统的这种相关定时和变更情况用动态模型进行了说明。动态模型着重于系统的控制逻辑。状态图表、事件跟踪图表和用例图表。状态图表、状态图表是状态和事件的网络,侧重于说明每种类型对象的动态行为。状态图表中的状态汇总了特定时间点的属性特性。状态迁移表示这些对象对系统内部和外部发生的事件有何反应。操作是状态迁移的瞬时发生行为,显示在与触发事件相关联的状态迁移之上。活动是在特定状态中发生的动作,通常需要花费时间来完成,因此活动会与状态名称一起出现在该状态中。动态模型由多个状态图组成。具有重要动态行为的每个类都具有表示所有系统活动模式的状态图。事件,事件在特定时间发生每个事件分别创建一个激发事件类,并为每个事件指定表示公共结构和行为的名称。每个状态图表

温馨提示

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

评论

0/150

提交评论