预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共73页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章统一建模语言UML面向对象方法 统一建模语言UML UML模型中9种类型的图 面向对象的分析与设计过程面向对象方法与结构化方法相比,突出的优势体现在以下几个方面。 (1)对问题空间的理解更直接,更符合人们认识客观事物的思维规律。而面向对象方法把二者统一于对象内部,加工过程映射为对象的操作,数据映射为对象的属性,任何数据和与这些数据相关的过程都是与相关的对象共同生存的,这样增强了模型的一致性和准确性。(2)系统分析和系统设计使用同一模型,不存在过渡困难。 结构化方法的另一个主要问题是从分析过渡到设计有双重负担,一是构造方法的转换;一是添加实施细节。 而在面向对象方法中,从分析到设计使用相同的基本表示,对象模型是整个开发过程中的一个统一的表示工具。好处不仅是减少了各个阶段模型之间的转换,较好地支持模型到代码的正向工程及代码到模型的逆向工程,而且可以使需求的变化较为容易地同步到模型和代码中。(3)开发出来的信息系统从本质上具有更强的生命力。需求的不断变化是我们不得不接受的事实。 结构化方法基于功能分析与功能分解,而用户的需求变化往往是功能或流程的变化,因此开发出来的系统是不稳定的。 而问题空间的对象最稳定,它们对潜在变化最不敏感。面向对象方法使代表共性的对象稳定下来,而把不稳定的东西隐藏起来。这样可避免增加复杂性,系统对环境的适应和应变能力也随之增强。(4)维护成本降低。 采用结构化方法开发出来的系统是模块层次结构的,而模块的划分具有随意性,不同的开发人员可能分解成不同的软件结构。这样的系统维护工作相当困难。 面向对象方法中的类是更理想的模块机制,其独立性好,类对外的接口设计好后,类内部的修改不会影响到其他类。“工欲善其势,必先利其器”。 20世纪80年代末,一些方法论学者、研究人员和专家就开始提出面向对象的表示符号和方法。 其中具有代表性的有科德一约顿(Coad-Yourdon)的OOA&OOD、格雷迪·布奇(GradyBooch)的Booch方法、吉姆·朗姆恩(JimRumbaugh)的对象建模技术(OMT)、艾瓦·雅格布森(IvarJacobson)的面向对象软件工程(OOS)等。UML统一了面向对象建模的基本概念、术语及其图形符号,为不同领域的人员提供一个交流的标准,它不仅可以应用于软件开发从分析到测试的各个阶段,还可以支持多种领域的建模,如信息系统、嵌人式实时系统、机械系统、商业系统等。UML定义了以下几种视图,从不同角度反映系统: 用例视图(usecaseview) 描述系统的功能需求,是最终用户、分析人员和测试人员看到的系统行为。 该视图的静态方面(即系统要实现的功能)由用例图(usecasediagram)表现;动态方面(即功能实现的过程)由交互图(interactiondiagram)、状态图(statechartdiagram)和活动图(activitydiagram)表现。设计视图(designview) 表达系统的基本逻辑结构,描述问题以及问题的逻辑解决方案,包含了类、接口和协作。该视图的静态方面采用类图(classdiagram)和对象图(objectdiagram)表现,动态方面由交互图、状态图和活动图表现。进程视图(processview) 包含了形成系统并发与同步机制的线程和进程,该视图用于系统性能、可伸缩性和吞吐量的设计。在UML中,对进程视图的静态方面和动态方面的表现与设计视图相同,但注重描述线程和进程的主动类。实现视图(deploymentview) 表达软件成分的组织结构,包含用于装配与发布物理系统的构件和文件。该视图主要用于系统发布的配置管理,其中静态方面由构件图(componentdiagram)表现,动态方面由交互图、状态图和活动图表现。 实施视图(deploymentview) 包含了形成系统硬件拓扑结构的节点。这种视图主要描述组成物理系统的部件的分布、交付和安装。该视图主要由实施图(deploymentdiagram)表现。三、UML模型中9种类型的图下面用例图描述了一个录像租赁系统的主要用例。店员是参与者,主要用例有:购买货品、出租货品、归还货品、报废货品。2.类图 类图用来表示系统中的类和类之间的关系。类由属性和操作共同组成。在一个大的系统中,可以根据某种分类方式将类组织在多个类图中。类图的模型元素3.对象图 对象反映了一个类的实例。对象图表示系统在某个特定时刻各个类可能的具体内容,帮助对类图的理解。4.状态图 如果一个类的对象具有多种状态,而且这些状态在系统运行中发挥着重要的作用,那么就可以使用状态图。状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件,常用于对系统动态方面建模。在状态图中定义的状态有: (1)初态。是状态图的起始点,表示对象的初始状态,初态只