当前位置:文档之家› 面向对象的建模方法

面向对象的建模方法

面向对象的建模方法
面向对象的建模方法

面向对象的建模方法

[摘要]评述面向对象的几种建模方法并作一比较,阐述统一建模语言的优越性,并对其组成、特征、建模过程进行描述。

[关键词]软件工程建模面向对象

一、引言

面向对象方法学也称为面向对象的开发方法,它属于软件工程的范畴。面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程接近人类认识世界解决问题的方法与过程。也就是说,面向对象方法是一种崭新的思维方法,它是把程序看作是相互协作而又彼此独立的对象的集合。由于对象的独立封装,模块的可构造性、可扩充性、可重用性也大大加强,从而面向对象的软件工程能够胜任当今大规模复杂、易变软件系统开发应用的要求。

面向对象的软件工程要求首先对系统建立模型是对现实的简化,它提供了系统的蓝图。一个好的模型只需抓住影响事物发展的主要矛盾,而忽略那些次要矛盾。每个系统可以从不同方面用不同的模型来描述。因而每个模型都是在语义上闭合的系统抽象。通过建模可以按照实际情况对系统进行可视化模型详细地说明了系统结构或行为,指导我们构造系统模板

二、面向对象建模方法

建模是构造软件系统最基本的步骤,在软件工程学科中提供了多种多样的建模方法和高效的工具,其目的是为了在软件开发过程的早期就发现设计中可能隐含的缺陷和错误,对于今日的大型软件系统,采用一种合适的建模方法,建立一个良好的模型是成功的关键。在市场上已有一些公司,如Rationa1,Cayenne,Platinum等开始提供商品化的建模工具,即通常所谓的CASE工具,使得建模过程实现了一定的自动化的标准化,并逐步走向实用,而这些工具的后面,便是具有不同特色的建模方法。

下面分析比较Booch,OMT,OOSE,UML等几种主要的面向对象的建模方法:

(一)Booch方法

Booch方法是由Grady Booch提出的,是一种主要面向设计的方法,它通过二维图形来建立面向对象的分析和设计模型,强调设计过程的不断反复知道满足要求为止。Booch 方法特别注重对系统内对象之间相互行为的描述,注重可交流性和图示表达。但在方法学上并不注重严格的过程,既不推荐软件设计人员该做什么,只是指出了其可做的工作。Booch 方法把几类不同的图表有机地结合起来,以反映系统的各个方面是如何可相互联系而又相互影响的。这些图贯穿于逻辑设计到物理实现的开发过程中,包括类图、状态图、对象图、交互图、模块图和进程图。

(二)OMT方法

OMT(Object Modeling Technology对象建模技术)是由JamesRumbaugh

等人提出的。OMT方法包含了一整套的面向对象的概念和独立于语言的图示符号。它可用于分析问题需求,设计问题的解法以及用程序设计语言或数据库来实现这个解法。OMT方法用一致的概念和图示贯穿于软件开发的全过程,这样软件开发人员不必在每一开发阶段便换新的表示方法。

OMT方法从对象模型、动态模型、功能模型3个不同但又相关的角度来进行系统建模。这3个角度各自用不同的观点抓住了系统的实质,全面地反映了系统的需求。其中,对象模型表示了静态的、结构化的系统数据性质,动态模型表示了瞬时的、行为化的系统的控制性质,功能模型则表示了变化的系统的功能性质。在软件开发的周期中,这3种模型都在逐渐发展:在分析阶段,构造出不考虑最终设计的应用域模型;在设计阶段,求解域的结构被

加入到模型中;在实现阶段,应用域及求解域的结构被编码。

(三)OOSE方法

OOSE (Object_Oriented Software Engineering面向对象软件工程) 是由Ivar Jacobson提出的。它可较好的描述系统与其用户之间的信息交换机制,即用于向软件系统提出需求后,软件系统完成这项需求的过程。OOSE方法遵循瀑布式的软件开发过程,首先是描述与系统交互有关的用户视图,然后建立分析模型,最后的构造过程则完成交互设计、实现和测试。OOSE开发过程可在规定的顺序步骤指导下完成,其间允许少量的阶段反复。

(四)UML方法

UML即标准建模语言,是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程,UML的定义包括UML语义和UML 表示法两个部分。

1.UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

2.UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

三、UML进行系统软件建模的过程

用UML建模之初要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为相关代码,形成编码所需的初步框架。

四、结束语

UML用一种统一的基本表示来组织数据和它专有的处理,能够无痕地支持OOA、OOD 各阶段的工作特征,使传统软件开发的两条鸿沟消失。UML的出现是面向对象技术发展的重要成果,UML成为可视化建模语言事实上的工业标准,代表了面向对象方法的软件开发技术的发展方向。

参考文献:

[1]马光毅等,面向对象方法研究《华南师范大学学报》.

[2]裴发展,OO建模与UML研究《河北省科学院学报》.

UML面向对象分析与设计、建模与设计课后选择判断

第一章 1.选择题 (1)软件工程的概念是在()年被首次提出的。 A.1949 B.1968 C.1972 D.1989 (2)下列不属于软件工程的目标的一项是() A.提高软件产品的质量 B.提高软件产品的可靠性 C.减少软件产品的需求 D.控制软件开发成本 (3)软件危机产生的主要原因是() A.软件工具落后 B.软件生产能力不足 C.对软件认识不够 D.软件本身的特点及开发方法 (4)人们公认的第一门面向对象编程语言是()。 A. Simula B. Smalltalk C. C++ D. Java (5)下列编程语言中不支持面向对象的特性的是()。 A. C++ B. ANSI C C. Java D. Objetive c (6)下列选项中不是面向对象方法的相关原则的是()

A.封装 B.继承 C.多态 D.结构 (7)()是面向对象方法中用来描述”对客户隐藏对象的属性和实现细节”的概念。 A.封装 B.继承 C.多态 D.抽象 (8)下列选项中不属于面向对象方法的优势之-的是()。 A.复用性强 B.改善了软件结构 C.软件的执行效率更高 D.抽象更符合人类的思维习惯 2.判断题 (1)软件就是程序,编写软件就是编写程序。对错 (2)软件危机的主要表现是软件需求增加,软件价格上升。对错 (3) C语言对面向对象的发展起到了重要作用。对错 (4)面向对象方法中的对象是从客观世界中抽象出来的一个集合体。对错 (5)面向对象可以保证开发过程中的需求变化完全不会导致系统结构的变化。对错 (6)面向对象方法就是使用面向对象的程序设计语言进行编程。对错

(7)对象的自治性指的是对象是完全封闭的,不受任何外界影响。对错 (8)类是面向对象程序中的构造单位,也是面向对象程序设计语言的基本成分。对错 第二章 1.选择题 1.选择题 (1)下列关于模型的表述,不正确的项是()。 A.建模语言只能是图形表示的 B.模型所描绘的系统蓝團既可以包括详细的计划,也可以包括系统的总体计划 C.模型可以帮助开发组生成有用的工作产品 D.最好的模型总是与现实世界联系密切 (2) UML的全称是()。 A. Unify Modeling L.anguage B. Unified Modeling Language

软件建模和设计试题

一.名词解释: 1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。 https://www.doczj.com/doc/4012082667.html,e Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。 3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。 5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 二、 1.面向对象建模的大致过程如下: 用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为

基于UML的面向对象建模方法

基于UML的面向对象建模方法 姓名: 赵付轩 学号: 10041156 专业: 信号与信息处理 学院: 信息科学与技术学院

基于UML的面向对象建模方法 摘要:本文介绍了一种基于UML(统一建模语言)的网上报名系统。首先对UML语言进行了简单说明,其次根据UML建模过程对网上报名系统进行了需求分析,构建了用例图、类图两个模型,最后根据该模型开发了大学英语四六级考试报名系统,该系统具有可操作性强、扩展性好、效率高的优点。 关键词:UML;网上报名;面向对象

目录 1 引言 (1) 1.1 UML概述 (1) 2 面向对象原理 (1) 2.1 基本概念 (1) 2.2 基本特征 (2) 3 运用UML进行系统建模 (2) 3.1 UML建模机制、步骤 (2) 4 网上报名系统的UML建模 (3) 4.1 需求分析 (3) 4.2 分析与设计 (4) 4.2.l 静态建模 (4) 4.2.2 动态建模 (5) 5 结语 (6) 参考文献 (6)

1 引言 面向对象方法已经成为软件开发的主要方法,面向对象的分析方法以对象作为分析问题,解决问题的核心,并对问题空间进行直接映射,使计算机实现的对象与真实世界具有一一对应关系,符合人类认识规律,有效地解决了需求分析模型和软件设计模型的不匹配现象。由于采用了数据抽象和封装技术,面向对象的程序设计降低了各模块间的耦合,可实现较高的代码利用率。基于UML建模技术可以进行面向对象的分析、设计、编程、测试以及面向对象的软件过程,它以统一建模语言作为分析工具,利用面向对象的思想对问题域进行建模。本文针对建模的方法和技术进行了讨论,并结合实例加以说明。 1.1 UML概述 统一建模语言是用来对软件密集系统进行可视化建模的一种语言。它是面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML具有庞大的体系结构和丰富的内容。不仅融合了Booch、OMT、OOSE方法的核心内容,同时也吸取了其他面向对象方法中的优势。在原有的面向对象概念和理论方法的基础上,创造和构建了许多全新的方法论,为采用面向对象方法进行工程分析与设计奠定了良好的基础,并提供了充分的理论依据和方法。 UML独立于开发过程,不仅可以与规范化的CASE工具配合使用,也可以在其他面向对象的开发过程中应用。同时,UML语言独立于程序设计语言,用UML建立的软件系统模型可以采用多种面向对象开发语言进行实现。 2 面向对象原理 2.1 基本概念 概括地说,面向对象就是把问题抽象为对象,设置属性(数据),指定事件或处理方式以达到目的,并强调从问题域的概念到软件程序和界面的直接映射。 (1)对象:事物的抽象对象可以被定义为一个封装了状态和行为的实体,或者说是数据结构和操作。所有对象都是类的实例。

面向对象建模案例

例:超市进销存系统的需求描述如下: (1)销售 ①售货员接收顾客订购,输入顾客购买的商品,计算总价; ②顾客付款并接收清单; ③售货员保存顾客购买商品的记录清单。 (2)库存 ①库存管理员每天进行盘点一次; ②库存管理员当发现库存商品有损坏时,及时到相关部门报损; ③在供应商的商品到货时,库存管理员首先检查商品是否合格,并将合格的商品入库处理;当商品进入卖场时,进行商品出库处理; ④经理、订货员根据需要进行库存商品的模糊查询或详细查询。 (3)订货 ①订货员用新商品供应商信息更新供应商数据库的信息; ②订货员统计库存商品是否低于库存下限,然后制作订货单。 (4)统计 ①经理能够使用系统的统计功能,了解商品销售情况、库存情况、供应商情况,以便进行合理的营销策略。 ②经理按市场情况适时变动商品价格。 试建立超市进销存系统的用例模型。 顾客 图1 销售子系统

商品出入库 图2 库存子系统 制作订货单图3 订货子系统用例模型

特殊商品查询 图4 统计子系统用例模型 思考??在用例图中的用例通常只是简单地给出了系统应提供什么服务,并没有展示出如何提供服务,如服务的具体功能、处理流程、场景、出错情况以及异常情况等信息,如何能知道前述信息? !!!用例的描述常采用文字列表形式,也可采用UML图形描述,如交互图、活动图等。 3.试为以下各类建立UML类图及描述它们间的关系。 家用电器、电视机、液晶电视机、电视遥控器、DVD播放机、组合音响、音响功放、音箱、喇叭、低音泡、高音泡、厨具、电厨具、微波炉、电磁炉、电饭煲

销售管理子系统的部分用例描述:

比较四种典型面向对象方法的异同

普 通 本 科 毕 业 小 论 文 题目:比较四种典型面向对象方法的异同 学院软件与通信工程学院 学生姓名张伟聪学号 0123992 专业软件工程届别 125 指导教师廖汉成 二O一四年九月二十七日

一、引言 随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。特别是当计算机硬件有了飞速发展之后,各种应用领域对软件提出了更高的要求。结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化。发展软件质量,缩短软件开发周期,发展软件可靠性、可扩充性和可重用性迫使软件界人士不断研究新方法、新技术,探索新途径。 面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。面向对象程序设计方法起源于六十年代末期的语言SIMULA’67,到了七十年代末期,软件行业正受到软件危机的困扰,结构化的开发方法不能够很好地解决软件危机。面向对象语言Smalltalk的出现,进一步发展和完善了面向对象的程序设计语言,从此面向对象也和开发方法开始结合,出现了面向对象的开发方法。 自80年代后期以来,相继出现了多种面向对象开发方法,现将其中四种典型的方法作一个简介和比较。面向对象方法都支持三种基本的活动:识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。 一.Booch方法 Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1991年,他将以前面向Ada的工作扩展到整个面向对象设计领域。Booch方法的开发模型包括静态模型和动态模型,静态模型分为逻辑模型和物理模型,描述了系统的构成和结构,动态模型分为状态图和时序图。该方法对每一步都作了详细的描述,描述手段丰富、灵活。不仅建立了开发方法,还提出了设计人员的技术要求,不同开发阶段的资源人力配制。OOD[3](Object Oriented Design)方法是Grady Booch从1983年开始研究,1991年后走向成熟的一种方法。OOD主要包括下述概念:类(class)、对象(object)、使用(uses)、实例化(instantiates)、继承(inherits)、元类(meta class)、类范畴(class category)、消息(message)、域(field)、操作(operation)、机制(mechanism)、模块(module)、子系统(subsystem)、过程(process)等。其中,使用及实例化是类间的静态关系,而动态对象之间仅有消息传递的连接。元类是类的类。类范畴是一组类,它们在一定抽象意义上是类同的。物理的一组类用模块来表达。机制是完成一个需求任务的一组类构成的结构。 Booch方法的过程包括以下步骤: (1)在给定的抽象层次上识别类和对象; (2)识别这些对象和类的语义; (3)识别这些类和对象之间的关系; (4)实现类和对象;

(最新版)面向对象分析与设计UML实验报告

《面向对象分析与设计UML》 实验报告

实验及作业一 一、实验目的 了解软件工程等基础知识,为后续的统一建模语言UML知识的学习做好准备工作。 二、实验设备与环境 装有Visio、RationalRose的计算机。 三、实验内容 1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。 2、熟悉UML软件设计工具Visio、Rational Rose的安装及环境 四、实验过程及结果 经过上网搜索相关信息进行了解软件工程开发模型的相关概念与优缺点 一,什么是软件工程概念模型 模型就是抽象,就是有意识地忽略事物的某些特征。抽象带来的好处是能够反映模型中元素之间的关系,清晰把握大局。 概念模型是模型的一种,简单说就是抽象程度极高的一种模型。 软件工程概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工程有一个完整把握。 二,软件工程开发模型的种类以及优缺点 瀑布模型由W.Royce于1970年首先提出。根据软件工程生存周期各个阶段的任务,瀑布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密联系。一个阶段的失误将蔓延到以后的各个阶段。为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶

段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。瀑布模型如图1.1所示。 瀑布模型有许多优点,如可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证等。 但瀑布模型也存在缺点,其主要表现在:①在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。而瀑布模型在需求分析阶段要求客户和系统分析员必须做到这一点才能开展后续阶段的工作。②确定需求后,用户和软件项目负责人要等相当长的时间才能得到一份软件的最初版本。如果用户对这个软件提出比较大的修改意见,那么整个软件项目将会蒙受巨大的人力、财力和时间方面的损失。 原型模型又称演化模型,主要是针对事先不能完整定义需求的软件项目开发而言的。许多软件开发项目由于人们对软件需求的认识模糊,很难一次开发成功,返工再开发难以避免。因此,人们对需开发的软件给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软件的最终设计和实现。通常我们把第一次实验性开发出的软件称为原型(prototype)。这种开发模型可以减少由于需求不明给开发工作带来的风险,有较好的效果。相对瀑布模型来说,原型模型更符合人类认识真理

三种面向对象方法

三个著名的面向对象开发方法

摘要 主要介绍了3种典型的面向对象开发方法,并对它们进行了比较。面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。 关键字:面向对象;开发方法;OMT;BOOCH;JACOBSON; 1.引言 面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。 面向对象程序设计方法起源于六十年代末期的simnia语言.Smalltalk语言的出现,进一步发展和完善了面向对象的程序设计语言,从此面向对象与开发方法开始结合,出现 了面向对象的开发方法.自80年代后期以来,相继出现了多种面向对象开发方法,现将其中几种典型的方法作一比较分析. 2.三种典型的面向对象开发方法 2.1 OMT/Rumbaugh OMT(Object Modeling Technique)方法提出于1987年,曾扩展应用于关系数据库设计.1991年Jim Rumbaugh正式把OMT应用于面向对象的分析和设计.这种方法是在 实体关系模型上扩展了类、继承和行为而得到的.OMT覆盖了分析、设计和实现3个阶段,包括一组相互关联的类(class )、对象(object)、一般化(generalization)、继承(inheritance)、链(link)、链属性(link attribute)、聚合(aggregation)、操作(operation)、事件(event)、场景(scene)、属性(attribute)、子系统(subsystem)、模块(module)等概念. OMT方法把分析时收集的信息构造在3种模型中,这些模型贯穿于每个步骤,在每个步骤中被不断地精化和扩充.对象模型用ER图描述问题域中的列象及其相互关系,用类和关系来刻画系统的静态结构,包括系统中的对象、对象之间的关系、类的属性和操作等特征.动态模型用事件和对象状态来刻画系统的动态特性,包括系统对象的事件序列、状态和操作.功能模型按照对象的操作来描述如何从输入给出输出的结果,描述动态模型的动作所定义对象操作的意义。 OMT方法包含分析、系统设计、对象设计和实现4个步骤,它定义了3种模型,这些模型贯穿于每个步骤,在每个步骤中被不断地精化和扩充。这3种模型是:对象模型,用类和关系来刻画系统的静态结构;动态膜型,用事件和对象状态来刻画系统的动态特性;功能模型,按照对象的操作来描述如何从输人给出输出结果。分析的目的是建立可理解的现实世界模型。系统设计确定高层次的开发策略。对象设计的目的是确定对象的细节,包括定义对象的界面、算法和操作。实现对象则在良好的面向对象编程风格的编码原则指导下进行。 开发的四个阶段如下: (1)分析。基于问题和用户需求的描述,建立现实世界的模型。分析阶段的产物有: ●问题描述 ●对象模型=对象图+数据词典 ●动态模型=状态图+全局事件流图 ●功能模型=数据流图+约束 (2)系统设计。结合问题域的知识和目标系统的系统结构(求解域),将目标系统

面向对象建模技术模拟试卷A(带标注)

2010-2011学年第1学期 面向对象建模技术模拟试题(A卷) 考试时间:2010年12月30日 班级学号姓名 ?请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰; ?请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸 一并交上来。 一、选择题,每题1分,共计20分。每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。请按如下表格在答题纸上答此题。 在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(1)。 a b c 1.供选择的答案: A. 边界对象、实体对象、控制对象 B. 实体对象、边界对象、控制对象 C. 控制对象、实体对象、边界对象 D. 边界对象、控制对象、实体对象 (2)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。 2.供选择的答案: A. Adapter(适配器) B. Iterator(迭代器) C. Prototype(原型) D. Observer(观察者) Round-Trip Engineering能够帮助维持软件架构的完整性。但(3) 不是Round-trip Engineering 的好处之一。 3.供选择的答案: A. 发现和评估软件架构上的改动 B. 为相同的接口提供不同的实现 C. 在每次迭代中保持模型和代码的同步 D. 传达被接受的架构改动

下面4种符号在Rose中表示的模型元素分别为(4) 4.供选择的答案: A. 接口(Interface) 类操作(Operation) 时序图(Sequence Diagram) 类属性(Attribute) B. 类操作(Operation) 接口(Interface) 类属性(Attribute) 时序图(Sequence Diagram) C. 接口(Interface) 类属性(Attribute) 类操作(Operation) 时序图(Sequence Diagram) D. 时序图(Sequence Diagram) 类属性(Attribute) 接口(Interface) 类操作(Operation) 在建立系统的用例模型时,首先应该确定系统的参与者。以下问题中,对于确定参与者没有用处的是(5)。 5.供选择的答案: A. 谁是系统的主要用户,即谁使用系统的主要功能 B. 谁来管理、维护系统,以保证系统的正常运行 C. 系统的功能应该如何实现 D. 系统需要与哪些其他的系统交互 (6)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 6.供选择的答案: A. 泳道 B. 分叉汇合 C. 分支 D. 转移 UML 中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(7)。 7.供选择的答案: A. 构件应是可替换的 B. 构件表示的是逻辑模块而不是物理模块 C. 构件应是组成系统的一部分 D. 构件与类处于不同的抽象层次 下列对状态图描述不正确的是(8) 8.供选择的答案: A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为 B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件 如何随着时间的推移来影响这些状态 C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开 发效率 D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不 同的事件作出反应

面向对象建模方法

第十章 信息系统建设 10.11 面向对象建模方法

面向对象建模方法 面向对象(Object-oriented,OO)方法把对象作为系统建模的基本单元。 面向对象方法认为: 客观世界是由各种各样的对象组成的?对象即可以是具体的物理实体,也可以是抽象的逻辑实体。 ?每种对象都有各自的属性(静态特征)和行为或操作(动态特征)。 ?不同的对象之间的相互作用和联系构成了各种不同的系统。 2

3 面向对象建模方法 面向对象方法的本质就是从客观世界固有的事物出发来构造系统, 通过识别对象、分析对象间的关系,反映问题域中固有的事物及其相互关系。

1. 面向对象建模工具 UML(Unified Modeling Language,统一建模语言)是一种标准的图形化建模语言, 它是面向对象分析与设计的一种标准表示。 用例建模:用用例图和用例说明描述用户需求。 静态建模:通过类图/对象图描述系统中的对象如何组成系统。 动态建模:描述系统的动态行为和控制结构。主要有顺序图、协作图、状态图、 活动图。 实现模型:描述了系统实现时的特性,即物理架构,包括组件图和部署图。 4

52. 用例模型示例——用例图 管理员 商品信息维护 删除商品添加商品修改商品信息 《include》《include》《include》商品查询 《include》 新品查询特价品查询 热卖品查询会员

63. 静态模型示例——类图 雇员 雇员编号 姓名 地址 入职时间 职位 支付工资() 正式员工 年薪 奖金 计算工资()小时工每小时工资工作工时计算工资()临时工每日工资加班工资计算工资()

软件建模与分析课程设计

计算机技术与工程学院课程设计报告 课程名称:软件建模与分析课程设计 设计题目:教材管理系统 学生:耿誉 学号:1204431117 专业班级:软件1241 指导教师:欣健 起止时间:9月7日至9月18日 成绩评定 容表现成果报告总评成绩

2015-2016第1学期《软件建模分析课程设计》任务书 指导教师:欣健佘向飞付浩海班级:软件1241-2 地点:9教机房409,411时间:第1、2周 一、课程设计目的 1、进一步理解、掌握UML的基本概念、结构、语义与表示方法; 2、综合运用UML和其它先修课程的理论和知识,掌握面向对象的软件建模与分析的一般方法、常用技术及技巧,树立良好的软件建模思想,培养分析问题和解决实际问题的能力; 3、学会使用Star UML建模工具,运用UML建模思想及方法,对各类软件系统进行分析、设计、建模。 二、课程设计容 课程设计参考题目如下: 1. 小区物业管理系统 2. 高校工资管理系统 3. 教材管理系统 4. 酒店管理系统 5. 高校教职工管理系统6.图书管理系统 7.火车订票管理系统8.企业人事管理系统 9.商品库存管理系统10.医院药品管理系统 11. 学生成绩管理系统12. 高校学籍管理系统 13. 航空订票管理系统14. 学费管理系统 15. 城市居民户籍管理系统16.超市管理系统 17.学费管理系统18.车辆管理系统 19. 房地产管理系统20. 企业物资管理系统

21、其它自选题目 学生可任选一题或自拟题目(需经指导老师审核批准)。在分析设计题目,做好系统需求基础上,进行如下主要设计: 分析问题领域:确定系统围和系统边界,设计用例图 设计静态结构模型:建立类图,对象图,包图,数据库建模 设计动态行为模型:建立时序图,状态图,协作图,活动图 设计物理模型:建立组件图,配置图 设计要求:系统设计建模符合面向对象的设计准则及规则。如: 准则:模块化、抽象、信息隐藏、低耦合和高聚等; 规则:1)设计结果清晰易懂 2)一般到具体的抽象深度应适当 3)尽量设计小而简单的类 4)使用简单的消息协议、函数或方法 5)把设计变动减至最小 三、时间安排

面向对象的设计与分析(网上商城的建模设计)

第4章江西师范大学“网上商城”建模实例 本文所要进行建模分析的系统是学校小型电子商务系统,以欲构建的江西师范大学的便利店和生活超市“网上商城”为例,是满足校园客户(主要在校学生)网购要求的综合性的应用系统,本文以Rational rose 2003为建模工具,并应用第三章提出的基于UML的电子商务系统建模过程,完成该系统的详细分析和设计。对系统进行需求分析,建立系统需求模型、静态结构视图、动态结构视图、数据库模型、物理模型。 4.1系统的需求分析 4.1.1系统的设计背景 江西师范大学瑶湖校区江西师范大学新校区,地处南昌市昌东镇,在校学生3万余人,由于学校占地面积很大,离市区比较远,周围设施还不是很齐全,该校区为解决师生日常生活需要,建设了商业街并且每个宿舍区都有便利超市,这些店是一个小型的生活用品采购区,在校学生平时的大部分消费都是在这些地方,包便利店和小型超市等生活服务的实体商店,满足了师生不出校门就能买到自己想要的东西。近些年,随着高校的扩招,该校区学生和老师的数量也不断增加,新的问题也随之而来,高校学生由于社会发展带来的的巨大压力,生活节奏也日益加快,空闲时间也越来越少。所以如果他们每次生活消费都要到实体店购买,就给他们的生活带来不便,因而如果能够网

上购物就解决了这个矛盾。另外,据数据显示,该校学生80%是网民,该群体的素质较高,接受新事物速度快,而且他们的消费兴趣和倾向也有高度的相似性。该校区学生居住地也比较集中,大都住在学校统一安排的公寓或者学校周围的小区,使物流配送更加方便和及时。 目前学校的实体商店很多,但是大多数商店还没有自己的电子商务系统,所以如果通过一个统一的网上购物平台,商店将这些商品都发布在网上商城上,师生就可以足不出户选购商品,非常方便。只要授予他们可以在平台上销售自己的商品,提高了商店的知名度,也提高了他们的服务能力和影响力。该网上商城具有一般网上购物系统的功能: 1.师生可以通过该网上商城注册为商城用户,浏览商品订购商品放入购物车;客户可以通过该商城发布评论信息;客户可以查看自己订单;客户可以支付商品货款。 2.商户可以通过该商城发布自己的商品信息、供师生购买;可以通过该商城管理自己的商品信息和员工信息;可以进行订单处理。 3.系统管理员对商户申请信息进行审核;对评论信息管理:对系统日常的维护和数据备份;对用户信息管理。 除了以上三个一般购物系统的功能商城的系统管理员可以通过对历史订单信息进行数据挖掘,找出顾客购买商品间的关联关系,建议商户对其营销策略进行调整或者绑定销售一些商品,以提高商户的销售利润,达到在线交易和实体店双重赢利。该功能模块的设计将在第五章详细说明。

面向对象复习题

第一部分面向对象方法概述 一、填空题 1.对象的抽象是,类的实例是。 2.动态模型描述了系统的结构。 3.软件系统中存在两种控制流,外部控制流是系统中对象之间外部事件的事件流, 有、和三种外部事件控制流。控制流是一个处理内 部的控制,均可结构化。 4.在C++和C中有一个函数,可以使用这个过程来说明构成系统主要对象 的那些类的实例。 5.继承性是自动共享父类属性和的机制。 6.对象具有封装性,实现了的组合。 7.在面向对象方法中,信息隐藏通过对象的来实现。类结构分离了 和,从而支持了信息隐藏。 8.抽象是指强调实体的、,忽略一些无关紧要的属性。类实现了对象 的和的抽象,它是对象的共性的抽象。 9.子类只继承的属性和操作,称为单重继承。 10.对象的抽象是,类的具体化就是,也可以说类的实例 是。 11.类具有,它是的行动的抽象。 12.对象具有状态,对象用来描述它的状态。 13.概念模型描述了系统的。功能模型指出,动态模型确定, 而对象模型确定。功能模型由组成。 14.面向对象有三个基本要素,它们是、、。 15.面向对象技术在三个级别上促进了共享,它们是、、。 16.活动是一种有时间间隔的操作,它是依附于。动作是一种瞬时操作,它 是与联系在一起的操作。 17.封装性是指所有软件部件内部都有明确的以及清楚的。每个软 件部件都有友好的,软件部件的与分离。 18.主要的对象类型有、、和。 19.同一个类中的共享是指同一个类中的对象有着相同的和相同 的。 20.结构化方法的本质是,其、可修改性和可重用性都比较差。 21.对象还有,用于改变对象的状态。对象实现了和的 结合。 22.面向对象方法认为系统是由应用域的组成。 23.对象具有状态,描述对象的状态用它的。 24.类具有属性,描述类的属性用。 25.一个方法有、和。 26.动态模型描述了系统的。 27.对象模型的主要元素是类,关联和。 28.通过这种机制和构造来实现不同应用中的信息共享。 29.面向对象程序设计语言与其它程序设计语言的主要区别是它具有。 30.对象具有很强的能力和功能。

2016面向对象分析与设计习题

面向对象分析与设计复习题 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共20 分) 1.到20 世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67 语言 B. Smalltalk 语言 C. Java 语言 D. 统一建模语言(UML)的标准 2.面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是()。 A.封装性 B. 模块性 C. 多态性 D. 继承性 4.面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A.信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5.关于面向对象方法的优点,下列不正确的叙述是()。 A.与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6.()是从用户使用系统的角度描述系统功能的图形表达方法。 A.类图 B. 对象图 C. 序列图 D. 用例图 7.( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间 传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中 软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10.使用UML 进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case 模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 五. 试用UML 对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包括(1)选课管理功能;(2) 成绩管理功能。试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10 分) (2) 建立系统动态结构模型—画出系统序列图和协作图;(10 分) (3)建立关系数据库逻辑模型。(10 分) 【答案: (1) 系统用例图如下

面向对象的建模技术

面向对象的建模技术(OMT) 以前,我们在用Fortran 、C 语言进行编程时实际上使用了一种叫做面向过程的程序设计方法,也就是所说的结构化方法。这种方法强调对系统功能进行抽象,系统功能的实现是 通过对若干个模块的调用来完成的。历史已经证明这种方法在降低软件开发成本、提高软件生产率方面是一次失败的尝试。为什么呢?客观世界是一个对象的世界,人类对客观事物的 认识又是一个由特殊到一般、一般到特殊的过程。而面向过程所能提供给我们的解决问题的方法却是“后一步的设计要满足前一步的要求” 。这种强调系统功能、一环套一环的设计方法使我们设计出来的软件模块仅仅是满足了特定的需求,并且在软件系统后期维护过程中它仅能给程序员提供很小的活动空间。回首往事,除了仅有的几个数学函数外又有多少个所谓的模块可以真正地重用!又有多少位软件工程师在为自己所做的“遗憾工程”感到惋惜!这些主要是由于计算机求解的问题空间与解题的方法空间不一致,两种空间的映射量太大!当然产生上述问题的最根本的原因还应是冯. 偌伊曼的计算机体系结构。面向对象的方法正是在上述背景下产生的。 面向对象的方法认为:客观世界的问题都是由客观世界的实体及其相互之间的联系构成的。我们把客观世界的实体称为问题对象,那么对象都有自己的运动状态及运动规律,不同对象之间的相互作用和相互通信就构成了完整的客观世界。使用面向对象的方法人们可以逐步去解决问题,而在问题逐步深入过程中不必去重新修改前面已完成的设计工作。由于采 用了数据抽象和封装技术,面向对象的程序设计降低了各模块间的关联程度,这就相对减少了程序员之间的相互影响。这项技术是在设计初期只由有很少的程序员介入的情况下,通过在对象系统中建立一个高层次的通讯环境来实现的,它使得今后更改引起的成本大大降低。使用面向对象的方法详细定义用户的数据类型,将它们封装在一起又可实现较高的代码利用率。 当今,计算机产业正朝着分布式处理、并行处理、网络化和软件生产工程化发展,而面向对象的方法是作为实施这些目标的关键技术之一。 面向对象的方法中有一些重要的概念,它们是对象、封装、继承和多态等。对象就是人们所感兴趣的任何事物,它可以是有形的实体、某种作用及性能等。对象都有其运动状态和运动规律,因此对象具有很强的表达能力和描述功能。对象中包含数据和对数据操作的代码,它实现了数据和操作的结合。具有相同结构、操作并遵守相同约束规则的对象的集合就是类。封装是一种组织软件的方法,它的基本思想是把客观世界中联系紧密的元素及相关操作组织在一起,构造具有独立含义的软件实现,使其相互关系隐藏在内部,而对外仅仅表现为与其它封装体间的接口关系。封装的目的就是信息隐匿。在面向对象的方法中,是通过对象/类来实现封装的。继承用于描述类之间的共同性质,它减少了相似类的重复说明。继承使得程序员对共同的操作及属性只说明一次,并且在具体的情况下可以扩展细化这些属性及操作。多态性指相同的语言结构可以代表不同类型的实体或者对不同类型的实体进行操作。对于大多数面向对象的编程语言,在类的继承关系中有一种独特的多态现象,即如果类P是类S的父类,则子类S的一个对象s可以用在父类P的一个对象p所使用的任何地方。 面向对象的方法有很多种,这里所介绍的面向对象的建模技术是指James Rumbaugh 等人所著的"Object-Oriented Modeling and Design ”中谈到的OMT的方法。OMT是一种 通过模型来思考问题的方法,这些模型都是围绕着真实世界的概念建立的。OMT方法提供了 一组面向对象的概念及图形符号,然后利用这些概念及符号来分析需求、设计系统、实现,它适应于整个软件的开发过程。OMT方法是一种思考问题的方法,而不仅仅是一种编程技术。 由于面向对象的地震物理模拟软件平台是采用OMT方法设计的,所以这里对OMT方法

面向对象建模技术-复习笔记

《面向对象建模技术》期末考试试题(A卷) 考试时间:2014年11月9日班级学号姓名 ?请将答案写在答题册上,写明题号,不必抄题,字迹工整、清晰; ?请在答题册和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题册和草纸 一并交上来。 一、选择题,每题1分,共计25分。每个括号里的数字为该空的题号,从该题号对应的备 UML中有多种类型的图,其中,(1)对系统的使用方式进行分类,(2)显示了类及其相互关系,(3)显示人或对象的活动,其方式类似于流程图,通信(协作)图显示在某种情况下对象之间发送的消息,(4)与通信(协作)图类似,但强调的是顺序而不是连接。 (1) A. 用例图 B. 顺序图 C. 类图 D. 活动图 (2) A. 用例图 B. 顺序图 C. 类图 D. 活动图 (3) A. 用例图 B. 顺序图 C. 类图 D. 活动图 (4) A. 用例图 B. 顺序图 C. 类图 D. 活动图 下图属于UML中的(5),其中,AccountManagement需要(6)。 (5) A. 组件图 B. 部署图 C. 类图 D. 对象图 (6) A. 实现IdentityVerifier接口并被CreditCardServices调用 B. 调用CreditCardServices实现的IdentiyVerifier接口 C. 实现IdentityVerifier接口并被Logger调用 D. 调用Logger实现的IdentityVerifier接口

下列对状态图描述不正确的是(7) (7) A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为 B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说 明事件如何随着时间的推移来影响这些状态 C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员 提高开发效率 D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状 态对不同的事件作出反应 在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个不是“Actor”(8 ) (8) A. 用户 B. A TM取款机 C. ATM取款机管理员 D. 取款 B. deployment diagram C. use case diagram D. sequence diagram 在RSA中包含很多模型模板,供开发者在系统建模时选用。(10)不是RSA提供的模型模板。 (10)A. Analysis Model B. Service Design Model C. XSD Model D. Eclipse plug-in Model 在UML的各种视图中,(11)显示外部参与者观察到的系统功能;(12)从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能;(13)显示的是源代码以及实际执行代码的组织结构。在 ROSE中,时序图和协作图(或通信图)通常建立在(14)下的use case realization包中。 (11)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图(12)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图(13)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图(14)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图 在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(15)。 a b c 15.供选择的答案: A. 边界对象、实体对象、控制对象 B. 实体对象、边界对象、控制对象 C. 控制对象、实体对象、边界对象 D. 边界对象、控制对象、实体对象 在建立系统的用例模型时,首先应该确定系统的参与者。以下问题中,对于确定参与者没有用处的是(16)。 16.供选择的答案: A. 谁是系统的主要用户,即谁使用系统的主要功能

面向对象的建模方法(一)

面向对象的建模方法(一) 摘要]评述面向对象的几种建模方法并作一比较,阐述统一建模语言的优越性,并对其组成、特征、建模过程进行描述。 关键词]软件工程建模面向对象一、引言 面向对象方法学也称为面向对象的开发方法,它属于软件工程的范畴。面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程接近人类认识世界解决问题的方法与过程。也就是说,面向对象方法是一种崭新的思维方法,它是把程序看作是相互协作而又彼此独立的对象的集合。由于对象的独立封装,模块的可构造性、可扩充性、可重用性也大大加强,从而面向对象的软件工程能够胜任当今大规模复杂、易变软件系统开发应用的要求。 面向对象的软件工程要求首先对系统建立模型是对现实的简化,它提供了系统的蓝图。一个好的模型只需抓住影响事物发展的主要矛盾,而忽略那些次要矛盾。每个系统可以从不同方面用不同的模型来描述。因而每个模型都是在语义上闭合的系统抽象。通过建模可以按照实际情况对系统进行可视化模型详细地说明了系统结构或行为,指导我们构造系统模板 二、面向对象建模方法 建模是构造软件系统最基本的步骤,在软件工程学科中提供了多种多样的建模方法和高效的工具,其目的是为了在软件开发过程的早期就发现设计中可能隐含的缺陷和错误,对于今日的大型软件系统,采用一种合适的建模方法,建立一个良好的模型是成功的关键。在市场上已有一些公司,如Rationa1,Cayenne,Platinum等开始提供商品化的建模工具,即通常所谓的CASE工具,使得建模过程实现了一定的自动化的标准化,并逐步走向实用,而这些工具的后面,便是具有不同特色的建模方法。 下面分析比较Booch,OMT,OOSE,UML等几种主要的面向对象的建模方法: (一)Booch方法 Booch方法是由GradyBooch提出的,是一种主要面向设计的方法,它通过二维图形来建立面向对象的分析和设计模型,强调设计过程的不断反复知道满足要求为止。Booch方法特别注重对系统内对象之间相互行为的描述,注重可交流性和图示表达。但在方法学上并不注重严格的过程,既不推荐软件设计人员该做什么,只是指出了其可做的工作。Booch方法把几类不同的图表有机地结合起来,以反映系统的各个方面是如何可相互联系而又相互影响的。这些图贯穿于逻辑设计到物理实现的开发过程中,包括类图、状态图、对象图、交互图、模块图和进程图。 (二)OMT方法 OMT(ObjectModelingTechnology对象建模技术)是由JamesRumbaugh 等人提出的。OMT方法包含了一整套的面向对象的概念和独立于语言的图示符号。它可用于分析问题需求,设计问题的解法以及用程序设计语言或数据库来实现这个解法。OMT方法用一致的概念和图示贯穿于软件开发的全过程,这样软件开发人员不必在每一开发阶段便换新的表示方法。 OMT方法从对象模型、动态模型、功能模型3个不同但又相关的角度来进行系统建模。这3个角度各自用不同的观点抓住了系统的实质,全面地反映了系统的需求。其中,对象模型表示了静态的、结构化的系统数据性质,动态模型表示了瞬时的、行为化的系统的控制性质,功能模型则表示了变化的系统的功能性质。在软件开发的周期中,这3种模型都在逐渐发展:在分析阶段,构造出不考虑最终设计的应用域模型;在设计阶段,求解域的结构被加入到模型中;在实现阶段,应用域及求解域的结构被编码。 (三)OOSE方法 OOSE(Object_OrientedSoftwareEngineering面向对象软件工程)是由IvarJacobson提出的。它

相关主题
文本预览
相关文档 最新文档