深入剖析交互图与状态图对类图的完善作用
内蒙古农业大学学报 第 30卷 第 3期Vo .l 30 No. 3 2009年 9月Sep. 2009 Jou rna l of Inne r Mongo lia A gricu ltu ra l U n ive rsity
3
深入剖析交互图与状态图对类图的完善作用
幸莉珊 , 石彦芳 , 石建国
() 河北软件职业技术学院 , 07100
摘要 : 面向对象的开发方法是当前国内外流行的软件开发方法 ,而伴随着这种开发方法的日趋成熟 ,另 1个重要产
物是 UML 建模语言 。作为面向对象的
和设计阶段的建模工具 ,应用 UML 语言创建的模型可以生动形象的描述
开发过程中的成果 ,成为各阶段开发人员交流的有效手段 。UML 语言可以建立 9 种模型 ,但这些模型中最重要的 、
最终的模型是类图 。其他大多数模型都是为完善类图而创建的 。本文将阐述交互图和状态图对类图的完善作用 ,
以及其中的操作 。
关键词 : UML 建模语言 ; 交互图 ; 状态图 ; 类图
( ) 中图分类号 : TP311. 52文献标识码 : A文章编号 : 1009 - 3575 200903 - 0187 - 03
ANALY Z I NG D EEPLY THE RPL E O F I NTERACT IVE D IAGRAM
AND STATE D IAGRAM O N IM PRO V I NG CLASS D IAGRAM
1 2 3X IN G L i - shan, SH I Yan - fang, SH I J ian - guo
( )S of tw a re Eng ineering D epa rtm en t, H ebei S of tw a re Institu te B aod ing, H ebei 07100, Ch ina A b s tra c t: O b jec t - o rien ted deve lopm en t m e thod is the cu rren t dom e stic and in te rna tiona l pop u la r softwa re deve lopm en t m e thodo lo2 gie s, wh ile accomp an ied by such a deve lopm en t m e thodo logy m a tu re s, ano the r impo rtan t p roduc t is a UML mode ling language. In ob2 jec t - o rien ted ana lysis and de sign stage, a s a mode ling too l, UML mode l can vivid ly de sc ribe the ou tcom e of the deve lopm en t p roce ss. In va riou s stage s of deve lopm en t it ha s becom e an effec tive m ean s of p e rsonne l exchange s. The u se of UML language, deve lop e rs can bu ild n ine mode ls, bu t among the se mode ls the mo st impo rtan t, the fina l mode l is the c la ss d iagram. Mo st o the r mode ls a re a im ed a t imp roving the c la ss d iagram. Th is a rtic le is abou t the p e rfec t ro le of the in te rac tive d iagram and the sta te d iagram fo r the c la ss d iagram. Ke y w o rd s: UML mode ling language; In te rac tive d iagram; sta te d iagram c la ss d iagram
更多的类 ,为类识别出更多的方法 ,以及识别出类之类之间创建关系 ,因为角色不是本次开发的对象 。
间的关系 。下面将对交互图是如何进一步完善类图
的几个重要方面进行阐述 。
1. 1 利用交互框图 ,可以识别需要开发的类
设计人员和开发人员可以利用交互图中参与交
互的对象 ,发现系统中应该开发的类 。交互图是设
计工作的奠基石 ,它包括 :角色 、对象和消息 。
利用交互图中的角色可以识别出系统需要开发
() 的边界类 即窗口类或界面类 。
利用对象可以为系统识别出更多的新类 。这一
点也正是利用交互图识别类的核心 。对象是交互图
中参与消息传递的主体 ,在交互图中出现的对象都
是系统中需要开发的对象 。而这些对象的创建又离
不开它所属的类 。因此应该为交互图中的对象分配
类或新建类 。
1. 2 利用交互框图 ,可以为每个类指定操作或责任
利用交互图中的第 3类模型元素消息可以为交 互图
中的类指定操作 。消息是 1 个对象或类可以请 求另
1对象或类完成的特定功能 。生成代码时 , 对
于消息的发送者消息变为函数调用 ,而对于消息的
接受者消息将变成该接受对象的所属类的函数 。
参见图 1中的制作简历模块的交互图和消息映 射方法 :
2 状态图对类图的完善
状态图是面向对象建模技术中的另 1 个动态
型 ,它描述了类的两种状态随类中事件的执行而
互转换的关系 。利用状态图可以进一步识别类的
态属性 、类的操作 、操作受状态的制约关系 。
2. 1 利用状态图 ,为类识别状态属性
对象的状态具有两种含义 : 一是对象的外在
况 ,如电视的开关 ;二是对象的内在特性及对象的
性值 ,如 姓 名 , 性 别 。对 象 的 属 性 可 以 称 为 状 态
量 ,所有的属性构成状态变量集合 ,而状态由状态
量子集决定
2. 2 利用状态图 ,为类识别新的操作
在状态图中出现的事件 , 是对象的两种状态
行转换的条件 ,即由于对象执行了某种操作才引
图 1 消息映射成类的操作状态之间的转换 。因此 ,事件应该映射为对象所 1. 3 利用交互框图 ,可以发现类之间的关系 类的操作 。
在交互图中类的对象之间互相通信 , 进行消息 2. 3 利用状态图 ,识别操作受状态的制约关系
执行的 , 是 受对 象 的状 态约 束 的 , 并 不 是无 条 件 执/ /允许该毕业生执行制作简历操作 }
( ) ()行 。因此 ,从状态图中很容易识别出类的这些操作 vo id 编辑简历 { if 毕业生简历 ! = nu ll
受对象状态的约束条件 ,将来编码时应该把这些约 / /允许该毕业生执行编辑简历操作 } ( ) ()束添加到类的代码中 。 vo id 删除简历 { if 毕业生简历 ! = nu ll
/ /允许该毕业生执行删除简历操作 }参见毕业生简历信息收集与就业跟踪系统中的
毕业生类的状态图 4所示 。} ;
3 结束语
本文详细阐述了在面向对象的分析和设计的建
模过程中 , UML 建模语言中的交互图和状态图对类
图的完善作用 ,以及具体的操作 。使读者进一步了
解到 UML 模型的使用和 3 种模型之间的重要关系 和内在联系 。 图 4 毕业生类的状态图参 考 文 献 : 上图中识别出的 3 个操作执行的限制条件为 :
制作简历操作是在简历类对象的属性值为 "不存在
该生简历 "下执行的 ,而编辑简历和删除简历是在简 [ 1 ] 宋苑 ,卢扬明 . 面向对象建模技术在实际系统中的应历类对象的属性值为“存在该生简历 ”下执行的 。将 ( ) 用 〔J 〕. 微型机与应用 , 2001, 4 : 38 - 391
这种限制编写成代码如下 : 杨少 波 , 卢 苇 . J2EE 项 目 实 训 - - UML 及 设 计 模 式 [ 2 ] 〔M 〕. 北京 :清华大学出版社 , 20081 c la ss简历陈良维 ,杨 华 . 软件开发中面向对象的方法 〔J 〕. 计算 { [ 3 ] ( ) 机与数字
, 2006 , 34 11: 61 - 631
贾洄 ,吕振洪 . 对统一建模语言的若干探讨 〔J 〕. 微机
[ 4 ] 发展 , 2002 , 5: 58 - 601
} ; 张雁 . UML 在教务管理系统设计中的应用 〔J 〕. 教育
[ 5 ] c la ss毕业生科普 , 2006 , 7: 46 - 471
{ p riva te: M a rk P rie stley: P rac tica l O b jec t - O rien ted D e sign w ith
[ 6 ] UML 2 ed ition. M cGraw - H ill H ighe r Educa tion, 2003.
110 - 1351 简历 毕业生简历 ;
J am e s R um baugh O b jec t - O rien ted Mode ling and D e sign. p ub lic: [ 7 ] ()P ren tice H a ll; U n ited Sta te s Ed ed ition O c tobe r 1, 1990 ( ) ()vo id 制作简历 {= = nu ll if 毕业生简历