网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
本月文章推荐
.Visual Studio .NET 中的设计时数.
.Deming的质量管理十大原则.
.BEA和Siebel联合提供CRM软件.
.IBM加深与智能厂商Cognos合作 欲.
.成功测试管理的九大原则.
.利用社会工程学 揭开网络钓鱼(Ph.
.ADO.NET实现应用程序数据访问层.
.IBM推新品服务 扩展SOA管理概念.
.微软的软件开发管理哲学和spec文.
.微软加强面向服务架构SOA开发.
.如何编写高质量“软件需求说明书.
.需求获取过程中的逆向沟通.
.跳出程序员的视界 感悟软件测试.
.需求阶段项目如何监理?.
..Net体系结构指导.
.界面需求的分析方法.
.安全组项目质量管理经验.
.VRML与JAVA在网络课件交互运用.
.面向服务的架构SOA的推荐方法.
.关于异常的使用心得.

解析UML的动态建模机制

发表日期:2008-3-23


1. 消息 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。在UML的四个动态模型中均用到消息这个概念。通常,当一个对象调用另一个对象中的操作时,即完成了一次消息传递。当操作执行后,控制便返回到调用者。对象通过相互间的通信(消息传递)进行合作,并在其生命周期中根据通信的结果不断改变自身的状态。 在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型,如图2所示。 解析UML的动态建模机制(图一) UML定义的消息类型有三种: 简单消息(Simple Message) 表示简单的控制流。用于描述控制如何在对象间进行传递,而不考虑通信的细节。

同步消息(Synchronous Message) 表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。

异步消息(Asynchronous Message) 表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。 2. 状态图 状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。

(1) 状态 所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。状态图中定义的状态有:初态、终态、中间状态、复合状态。其中,初态是状态图的起始点,而终态则是状态图的终点。一个状态图只能有一个初态,而终态则可以有多个。

中间状态包括两个区域:名字域和内部转移域,如图3所示。图中内部转移域是可选的,其中所列的动作将在对象处于该状态时执行,且该动作的执行并不改变对象的状态。 解析UML的动态建模机制(图二) 一个状态可以进一步地细化为多个子状态,我们将可以进一步细化的状态称作复合状态。子状态之间有"或关系"和"与关系"两种关系。或关系(如图4)说明在某一时刻仅可到达一个子状态。例如,一个处于行驶状态的汽车,在"行驶"这个复合状态中有向前和向后两个不同的子状态,在某一时刻汽车要么向前,要么向后。与关系( 如图5)说明复合状态中在某一时刻可同时到达多个子状态(称为并发子状态)。具有并发子状态的状态图称为并发状态图。 解析UML的动态建模机制(图三)

解析UML的动态建模机制(图四) (2) 转移 状态图中状态之间带箭头的连线被称为转移。状态的变迁通常是由事件触发的,此时应在转移上标出触发转移的事件表达式。假如转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。 3.顺序图 顺序图(Sequence Diagram)用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型。

顺序图中的消息可以是信号(Signal)、操作调用或类似于C++中的RPC(RemoteProce dure Calls)和Java中的RMI(Remote Method Invocation)。当收到消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显示一个细长矩形框来表示激活。

消息可以用消息名及参数来标识。消息也可带有顺序号,但较少使用。消息还可带有条件表达式,表示分支或决定是否发送消息。假如用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。

在顺序图的左边可以有说明信息,用于说明消息发送的时刻、描述动作的执行情况以及约束信息等。一个典型的例子就是用于说明一个消息是重复发送的。另外,可以定义两个消息间的时间限制。

一个对象可以通过发送消息来创建另一个对象,当一个对象被删除或自我删除时,该对象用"X"标识。

另外,在很多算法中,递归是一种很重要的技术。当一个操作直接或间接调用自身时,即发生了递归。产生递归的消息总是同步消息,返回消息应是一个简单消息。 QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
1. 消息 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。在UML的四个动态模型中均用到消息这个概念。通常,当一个对象调用另一个对象中的操作时,即完成了一次消息传递。当操作执行后,控制便返回到调用者。对象通过相互间的通信(消息传递)进行合作,并在其生命周期中根据通信的结果不断改变自身的状态。 在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型,如图2所示。 解析UML的动态建模机制(图一) UML定义的消息类型有三种: 简单消息(Simple Message) 表示简单的控制流。用于描述控制如何在对象间进行传递,而不考虑通信的细节。

同步消息(Synchronous Message) 表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。

异步消息(Asynchronous Message) 表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。 2. 状态图 状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。

(1) 状态 所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。状态图中定义的状态有:初态、终态、中间状态、复合状态。其中,初态是状态图的起始点,而终态则是状态图的终点。一个状态图只能有一个初态,而终态则可以有多个。

中间状态包括两个区域:名字域和内部转移域,如图3所示。图中内部转移域是可选的,其中所列的动作将在对象处于该状态时执行,且该动作的执行并不改变对象的状态。 解析UML的动态建模机制(图二) 一个状态可以进一步地细化为多个子状态,我们将可以进一步细化的状态称作复合状态。子状态之间有"或关系"和"与关系"两种关系。或关系(如图4)说明在某一时刻仅可到达一个子状态。例如,一个处于行驶状态的汽车,在"行驶"这个复合状态中有向前和向后两个不同的子状态,在某一时刻汽车要么向前,要么向后。与关系( 如图5)说明复合状态中在某一时刻可同时到达多个子状态(称为并发子状态)。具有并发子状态的状态图称为并发状态图。 解析UML的动态建模机制(图三)

解析UML的动态建模机制(图四) (2) 转移 状态图中状态之间带箭头的连线被称为转移。状态的变迁通常是由事件触发的,此时应在转移上标出触发转移的事件表达式。假如转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。 3.顺序图 顺序图(Sequence Diagram)用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型。

顺序图中的消息可以是信号(Signal)、操作调用或类似于C++中的RPC(RemoteProce dure Calls)和Java中的RMI(Remote Method Invocation)。当收到消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显示一个细长矩形框来表示激活。

消息可以用消息名及参数来标识。消息也可带有顺序号,但较少使用。消息还可带有条件表达式,表示分支或决定是否发送消息。假如用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。

在顺序图的左边可以有说明信息,用于说明消息发送的时刻、描述动作的执行情况以及约束信息等。一个典型的例子就是用于说明一个消息是重复发送的。另外,可以定义两个消息间的时间限制。

一个对象可以通过发送消息来创建另一个对象,当一个对象被删除或自我删除时,该对象用"X"标识。

另外,在很多算法中,递归是一种很重要的技术。当一个操作直接或间接调用自身时,即发生了递归。产生递归的消息总是同步消息,返回消息应是一个简单消息。
上一篇:企业管理软件的需求描述方法 人气:627
下一篇:软件需求的关键:分解用例场景 人气:574
浏览全部软件工程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐