已阅读5页,还剩107页未读, 继续免费阅读
(管理科学与工程专业论文)用uml建模及j2ee实现计费系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕 学位论文摘要 摘要 随着计算机应用的飞速发展,计算机软件已经广泛地应用于各行各业。在现有 的软件开发技术下,大多数软件的实现都是复杂的。当要求用软件来解决的问题越 来越多、越来越复杂时,软件开发也相应地变得更加复杂 大。 模型 在这种情况下,对软件系统进行建模就变得非常重要。 源代码的规模也越来越 只有建立了良好的系统 才能保证软件项目的质量,提高项目的成功率。 在各种软件系统建模方法中, 面向对象方法可以实现从面向对象模型到软件结构 的直接转换,开发出的系统具有较高的可维护性、可扩展性和可重用性。目前多数 较先进的软件开发组织己经从分析、设计、实现和测试等各个阶段都全面采用了面 向 对象方法, 无疑地成为了当 前软件系统建模的主流方法。 而统一建模语言( u m l ) 作为面向对象领域内的标准建模语言在软件系统建模中得到了广泛地使用。 本文通过对 n c e c教学网站计费系统的分析和设计的讨论,研究了如何运用 u m l 对软件系统进行面向对象建模, 包括利用u m l 收集需求、 建立分析模型和设 计模型, 从而实现从系统需求到系统实现的 平滑过渡。 文章选择了j 2 e e作为系统的开发技术, j 2 e e 是s u n公司提出的使用j a v a 技术 来构建企业级应用的一系列标准和规范, 是面向 对象领域的又一个标准, 结合u m l 和 j 2 e e来分析和开发系统,就把整个系统开发过程建立在一种规范的标准之上。 在系统分析到设计的过渡中, 采用了m v c ( m o d e l - v i e w - c o n t r o l l e r ) 模式进行系 统架构,优化系统设计:在系统的设计和实现阶段,描述了如何从用u m l建立的 系统模型转换到用 j 2 e e技术实现的实际系统这一过程。同时整个系统开发过程遵 循r a t i o n a l 统一过程方法,采用了迭代的开发方式,从项目管理的角度来管理整个 系统的开发过程。 文章结合当前众多先进的 技术, 包括 u m l , j 2 e e , m v c , r u p等, 论述了一 个整体的面向对象软件分析、设计和开发的过程。文章最后对 u ml建模的未来和 未来软件开发的发展趋势作了简单的论述。 关键字:u ml , j 2 e e ,计费系统,r u p , mv c 硕士学位论文 ab s t r a c t c o m p u t e r s o f t w a r e i s n o w w i d e l y u s e d i n a l l k i n d s o f i n d u s t r i e s . h o w e v e r , u n d e r e x i s t i n g t e c h n o l o g y , t h e r e a l i z a t i o n o f m o s t s o f t w a r e i s c o m p l i c a t e d . wh e n t h e p r o b l e m s r e q u i r e d t o b e s o l v e d w i t h t h e s o f t w a r e b e c o m e m o r e a n d m o r e c o m p l i c a t e d , s o f t w a r e d e v e l o p m e n t b e c o m e s m o r e c o m p l i c a t e d a c c o r d i n g l y . i n t h i s c a s e , m o d e l i n g i s v e r y i m p o rt a n t f o r t h e s u c c e s s o f t h e s o f t w a r e p r o j e c t . i n a l l t h e m e t h o d s o f s o f t w a r e m o d e l i n g , o b j e c t - o r i e n t e d a n a l y s i s a n d d e s i g n i s th e m a j o r o n e . a n d u ml , a s t h e s t a n d a r d m o d e l i n g l a n g u a g e i n t h e o b j e c t - o r i e n t e d f i e l d , h a s b e e n u s e d w id e l y i n s o f t w a r e m o d e l i n g . t h i s t h e s i s d o e s a r e s e a r c h o n o b j e c t - o r i e n t e d s o f t w a r e m o d e l i n g w i t h u m l b y a n a l y z i n g a n d d i s c u s s i n g t h e d e v e l o p m e n t o f t h e b i l l i n g s y s t e m , a s u b s y s t e m o f n c e c e d u c a t i o n w e b s i t e . j 2 e e i s t h e t e c h n o l o g y u s e d t o r e a l i z e t h e b i l l i n g s y s t e m . i t i s a s e r i e s o f n o r m s a n d c r i t e r i a p r o v i d e d b y s u n t o c o n s t r u c t t h e e n t e r p r i s e a p p l i c a t i o n u s i n g j a v a t e c h n o l o g y . j 2 e e i s a l s o a s t a n d a r d i n o b j e c t - o r i e n t e d f i e l d . c o m b i n i n g u ml a n d m e , t h u s t h e w h o l e s y s t e m i s b u i l t o n t h e u n i f o r m s t a n d a r d s . a n d i n d e s i g n i n g p h a s e , t h e t h e s is a d o p t s m v c ( m o d e l - v i e w - c o n t r o l l e r ) t o o p t i m i z e t h e a r c h i t e c t u r e o f t h e s y s t e m . r a t i o n a l u n i f i e d p r o c e s s m e t h o d i s a p p l i e d t o m a n a g e t h e w h o l e p r o j e c t t o i n c r e a s e t h e r a t i o o f s u c c e s s . i n t h i s t h e s i s , t h e a u t h o r d i s c u s s e s a n i n t e g r a l o b j e c t - o r ie n t e d s o f t w a r e d e v e l o p m e n t p r o c e s s , c o m b i n i n g a l o t o f a d v a n c e d t e c h n o l o g i e s s u c h a s u ml , j 2 e e , m v c a n d r u p . i n t h e e n d o f t h e a rt i c l e , t h e t r e n d o f m o d e l i n g w i t h u ml i s d i s c u s s e d , a s w e l l a s t h e t r e n d o f s o f t w a r e d e v e l o p m e n t m e t h o d i n t h e f u t u r e . k e y w o r d s : u ml , j 2 e e , b i l l i n g s y s t e m, r u p , m v c 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意 如下各项内容: 按照学校要求提交学位论文的印 刷木和电 子版本; 学校有 权保存学位论文的印刷本和电子版, 并采用影印、 缩印、 扫描、 数字化或 其它手段保存论文; 学校有权提供目录检索以及提供本学位论文全文或者 部分的阅览服务; 学校有权按有关规定向国家有关部门 或者机构送交论文 的复印件和电子版; 在不以赢利为目的的前提下, 学校可以适当复制论文 的部分或全部内容用于学术活动。 学 位 论 文 作 者 签 名 : k f ,鬼 v -y 年;月邓日 经指导教师同意, 本学位论文属于保密, 在年解密后适用本授权书 指导教师签名: 学 位 论 文 作 者 签 名 : f r /f t 年月日 2 , os f 3月少日 声明 本人郑重声明: 所呈交的学位论文, 是本人在导师指导下, 进行研究 工作所取得的成果。 除文中己 经注明引用的内容外, 本学位论文的研究成 果不包含任何他人创作的、己公开发表或者没有公开发表的作品的内容。 对本论文所涉及的研究工作做出贡献的其他个人和集体, 均己在文中以明 确方式标明。本学位论文原创性声明的法律责任由本人承担。 二 名 : j 恳 7 - 1 1s 年 了 月 衫日 硕十学位论文用u u i 建模及在j 2 e e下 实现计费系统 1 .导论 1 . 1 . 什么是建模 建模是对事物进行有目 的的简化,并采用某种手段来表示该项己 简化的事物的 过程。而该项已简化的事物就是该事物的模型。对于软件系统来说,建模就是软件 系统分析和设计过程。 1 .2 . 为什么要建模 模型可以帮助我们认识和改造周围的世界,避免被事物的复杂性所淹没。软件 系统模型同样如此。随着计算机应用的飞速发展,计算机软件已经广泛地应用于各 行各业,但在现有的软件开发技术下,大多数软件的实现都是复杂的。当要求用软 件来解决的问题越来越多、越来越复杂时,软件开发也相应地变得更加复杂,源代 码的规模也越来越大。在这种情况下,对软件系统进行建模就变得非常重要。 从本质上讲, 代码也可以 称为模型, 它把现实中要解决的问题用计算机程序抽象 的表达出来,并加以解决。那么为什么要添加一个额外的抽象层,并且随着项目 的 进行,还必须对该抽象层进行维护?原因在于模型能为软件开发项目带来一系列的 长处,这些长处包括:更好地分析和设计系统、更好地理解系统、节约项目时间和 成本、便于沟通和交流以 及减少项目 风险等。 ( 1 ) 更好地分析和设计系统。建模着眼于需求分析、系统体系结构、系统的组 件如何相互作用,而不是陷于具体的编码细节,这样容易对系统做高层次和整体的 思考,得出比较优化的设计。比如:把系统中易变的功能和不变的功能分开,把跟 需求相关的功能和通用的服务功能分开;这样当系统需求发生变化的时候,我们可 以使大部分的系统结构保持不变,变动的只是局部。这种优化的分析设计对于以 后 系统的扩展和维护都有很大的好处。 2 )更好地理解系统。往往模型具有一个从整体到局部的层次结构。当需要了 解系统的整体结构时,可以参考系统体系结构,得到高层次的子系统之间的关系; 当需要了解子系统内部的设计时,可以深入到子系统内部观察它的内部结构,了解 更深层次的设计细节。 在这种层次结构中,每一层所包含的信息量都是有限的, 这 样便于开发人员一步一步地理解和把握整个系统。 ( 3 )节约项目时间和成木。对于一个有经验的软件 程师来说,要了解一个软 件项目 源代码的组织形式,如果采用看代码的方式,可能至少需要花费几个小时的 时间,甚至儿天;但是如果有一个可视化的模型,有几张图,可能一看就能明白 模 型的结构,从而对这一 软件项目 有个大致了解。 4 )便于沟通和交流。一个统 一 标准的模型不仅方便不同软件开发小组之间的 沟通,而且也方便项目 成员与客户或管理者的沟通。对于客户或管理者来说,他们 硕十学位论文用u u i 建模及在j 2 e e下 实现计费系统 1 .导论 1 . 1 . 什么是建模 建模是对事物进行有目 的的简化,并采用某种手段来表示该项己 简化的事物的 过程。而该项已简化的事物就是该事物的模型。对于软件系统来说,建模就是软件 系统分析和设计过程。 1 .2 . 为什么要建模 模型可以帮助我们认识和改造周围的世界,避免被事物的复杂性所淹没。软件 系统模型同样如此。随着计算机应用的飞速发展,计算机软件已经广泛地应用于各 行各业,但在现有的软件开发技术下,大多数软件的实现都是复杂的。当要求用软 件来解决的问题越来越多、越来越复杂时,软件开发也相应地变得更加复杂,源代 码的规模也越来越大。在这种情况下,对软件系统进行建模就变得非常重要。 从本质上讲, 代码也可以 称为模型, 它把现实中要解决的问题用计算机程序抽象 的表达出来,并加以解决。那么为什么要添加一个额外的抽象层,并且随着项目 的 进行,还必须对该抽象层进行维护?原因在于模型能为软件开发项目带来一系列的 长处,这些长处包括:更好地分析和设计系统、更好地理解系统、节约项目时间和 成本、便于沟通和交流以 及减少项目 风险等。 ( 1 ) 更好地分析和设计系统。建模着眼于需求分析、系统体系结构、系统的组 件如何相互作用,而不是陷于具体的编码细节,这样容易对系统做高层次和整体的 思考,得出比较优化的设计。比如:把系统中易变的功能和不变的功能分开,把跟 需求相关的功能和通用的服务功能分开;这样当系统需求发生变化的时候,我们可 以使大部分的系统结构保持不变,变动的只是局部。这种优化的分析设计对于以 后 系统的扩展和维护都有很大的好处。 2 )更好地理解系统。往往模型具有一个从整体到局部的层次结构。当需要了 解系统的整体结构时,可以参考系统体系结构,得到高层次的子系统之间的关系; 当需要了解子系统内部的设计时,可以深入到子系统内部观察它的内部结构,了解 更深层次的设计细节。 在这种层次结构中,每一层所包含的信息量都是有限的, 这 样便于开发人员一步一步地理解和把握整个系统。 ( 3 )节约项目时间和成木。对于一个有经验的软件 程师来说,要了解一个软 件项目 源代码的组织形式,如果采用看代码的方式,可能至少需要花费几个小时的 时间,甚至儿天;但是如果有一个可视化的模型,有几张图,可能一看就能明白 模 型的结构,从而对这一 软件项目 有个大致了解。 4 )便于沟通和交流。一个统 一 标准的模型不仅方便不同软件开发小组之间的 沟通,而且也方便项目 成员与客户或管理者的沟通。对于客户或管理者来说,他们 硕十学位论文第 1 章.导论 可能不能理解复杂的 源代码, 但是在一个比 较高的层次卜 , 通过可视化模型,与之 进行可视化的沟通交流,能够使客户或管理者比较容易地理解一个软件项目。 ( 5 )减少项目 风险。对于软件项目 来说,两个最大的风险就是时间与质量,建 模能降低这两个风险。软件系统的建模其本质上就是将一个复杂的软件系统分成若 干个子系统,再对每个子系统进行细化设计。这种分而治之的方法对于降低软件系 统的复杂度非常有效,也能够使项目 成员容易把握系统的复杂度,从而比较正确地 估计工作量。同时复杂程度自 然而然地会引起质量问题。在比较高的层次上看到项 目复杂程度,从而识别其风险所在,并随着项目的进展,知道这些风险必须得到严 密的控制,这不仅能降低复杂性,也有助于降低质量风险。 正是由于建模能为软件项目 带来如此诸多的长处, 建模已受到越来越多开发人员 的重视,己经成为软件项目中一个重要的阶段。建模技术也从原先的软件设计 一 领域 逐渐扩展到业务分析等新领域,使用人员也从专业软件人员扩展到非专业的业务人 员。 1 .3 . 面向功能建模和面向 对象建模 对于软件系统, 有几种建模的方法, 最常见的有面向功能建模和面向对象建模。 面向功能建模方法重点在过程的抽象。它依据系统要实现的功能把系统划分成 若干个子系统,并继续细分直至得到可直接实现的一系列过程,系统功能能通过过 程的调用实现。面向功能建模的代表方法是传统的结构化分析和设计方法。这种方 法的最大缺点在于当需求发生变化以 及系统增长时,基于这种模型开发的系统会变 得难以维护。 面向对象建模方法重点在对象的提取,所有软件系统都用对象或类作为其主要 的构造块。对象是封装了属性和操作的实体,它的结构特征由属性表示,行为特征 由操作表示。属性的值表示对象的当前状态, 操作通过改变对象内部的属性值而改 变对象的状态。 每当其他对象向 该对象发送消息请求操作时, 相应的操作即被执行。 类是对具有共同性质的一组对象的抽象。当重要的对象被发现后,通过一组互相关 联的模型详细表示类之间的关系和对象的行为,这些模型从不同的侧面表示了软件 系统的结构。面向对象方法可以实现从面向对象模型到软件结构的直接转换,解决 了传统结构化开发方法中客观世界描述与软件结构的不一致性问题。它适合于在各 种问题域中建造各种规模程度和复杂度的系统, 开发出的系统具有较高的可维护 性、可扩展性和可重用性。 正是由于面向对象方法的诸多优点,目 前大多数较先进的软件开发组织己经从 分析、设计、实现和测试等各个阶段都全面采用了面向对象方法,使面向对象无可 置疑地成为当前软件领域的主流技术。而面向对象建模作为面向对象领域内 一 个重 要的方面也引起了软件界的广泛重视。 硕十学位论文第 1 章.导论 可能不能理解复杂的 源代码, 但是在一个比 较高的层次卜 , 通过可视化模型,与之 进行可视化的沟通交流,能够使客户或管理者比较容易地理解一个软件项目。 ( 5 )减少项目 风险。对于软件项目 来说,两个最大的风险就是时间与质量,建 模能降低这两个风险。软件系统的建模其本质上就是将一个复杂的软件系统分成若 干个子系统,再对每个子系统进行细化设计。这种分而治之的方法对于降低软件系 统的复杂度非常有效,也能够使项目 成员容易把握系统的复杂度,从而比较正确地 估计工作量。同时复杂程度自 然而然地会引起质量问题。在比较高的层次上看到项 目复杂程度,从而识别其风险所在,并随着项目的进展,知道这些风险必须得到严 密的控制,这不仅能降低复杂性,也有助于降低质量风险。 正是由于建模能为软件项目 带来如此诸多的长处, 建模已受到越来越多开发人员 的重视,己经成为软件项目中一个重要的阶段。建模技术也从原先的软件设计 一 领域 逐渐扩展到业务分析等新领域,使用人员也从专业软件人员扩展到非专业的业务人 员。 1 .3 . 面向功能建模和面向 对象建模 对于软件系统, 有几种建模的方法, 最常见的有面向功能建模和面向对象建模。 面向功能建模方法重点在过程的抽象。它依据系统要实现的功能把系统划分成 若干个子系统,并继续细分直至得到可直接实现的一系列过程,系统功能能通过过 程的调用实现。面向功能建模的代表方法是传统的结构化分析和设计方法。这种方 法的最大缺点在于当需求发生变化以 及系统增长时,基于这种模型开发的系统会变 得难以维护。 面向对象建模方法重点在对象的提取,所有软件系统都用对象或类作为其主要 的构造块。对象是封装了属性和操作的实体,它的结构特征由属性表示,行为特征 由操作表示。属性的值表示对象的当前状态, 操作通过改变对象内部的属性值而改 变对象的状态。 每当其他对象向 该对象发送消息请求操作时, 相应的操作即被执行。 类是对具有共同性质的一组对象的抽象。当重要的对象被发现后,通过一组互相关 联的模型详细表示类之间的关系和对象的行为,这些模型从不同的侧面表示了软件 系统的结构。面向对象方法可以实现从面向对象模型到软件结构的直接转换,解决 了传统结构化开发方法中客观世界描述与软件结构的不一致性问题。它适合于在各 种问题域中建造各种规模程度和复杂度的系统, 开发出的系统具有较高的可维护 性、可扩展性和可重用性。 正是由于面向对象方法的诸多优点,目 前大多数较先进的软件开发组织己经从 分析、设计、实现和测试等各个阶段都全面采用了面向对象方法,使面向对象无可 置疑地成为当前软件领域的主流技术。而面向对象建模作为面向对象领域内 一 个重 要的方面也引起了软件界的广泛重视。 硕十学位论文用u m l 建模及在 2 e e下 实现计费系统 1 . 4 . 论文的总体内容安排 本 文主要 从可视 化的 面向 对象建 模技术 u m l ( u n i f i e d m o d e l in g l a n g u a g e ) 着手,以n c e c远程教育系统的用户计费系统为例,分析讨论了u ml在实际项目 中的应用,由此得出基于u ml的面向对象软件建模过程。另外,考虑到大型软件 系统 例如:企业级应用系统)的复杂性,而 j 2 e e是面向对象领域内构建多层次 企业级应用的标准和规范,所以 本文把j 2 e e 也结合进来, 形成了“ 用u m l 建模、 用j 2 e e实现”这样一套完整的面向 对象软件分析、设计和实现的方法。 文章分为九个小节,各个小节的主要内容如下: 第 1 节:提出什么是建模,并分析建模的重要性。通过对面向功能建模和面向 对象建模两种不同方法的比较,得出面向对象建模的优点所在。 第2 节: 介绍了作为面向对象建模技术中的标准u ml的产生发展、 基本图 形表示法、及其与r a t i o n a l 统一过程的结合。 第 3节:讨论了目 前软件系统尤其是企业级系统的特点和基于j 2 e e的企业级 应用设计模型, 由此引出软件系统采用j 2 e e技术和m v c架构的长处所在。 同时说 明j 2 e e和u m l 为什么要结合, 两者结合能为软件项目 带来何种优势。 第4 节:结合实际项目 n c e c远程教育系统的用户计费系统,分析如何用 u m l 收集需求, 进行需求分析, 从而构建系统的用例图;同时用u ml的活动图给 出用例的详细描述。 第5节:讨论如何用u ml构造计费系统分析模型。包括如何结合迭代的思想 对用例进行分级, 如何针对用例找出其实体对象、 控制对象和边界对象, 并使用u ml 中的顺序图和类图得到对象间的交互。 第6 节: 开始结合j 2 e e和mv c给出该计费系统的架构, 其中包括计费系统分 析模型中不同分析类的技术选择,如何划分子系统,并使用u m l中的包的概念把 不同的分析类分组到包。 第 7 节:讨论了计费系统的详细设计,使用 u ml中的类图和顺序图得出计费 系统第一次迭代的设计模型。设计模型要把选择的技术应用到分析模型上,同时要 确定很多设计的细节,从而保证后续实现阶段实现出来的系统的质量。 第8 节: 简单讨论了 计费系统的实现, 其中包括如何结合工具来提高开发效率。 简单说明计费系统的第二次迭代及计费系统的构建阶段和交付阶段, 这里也体现了 r u p 这一软件开发过程的思想。 第9 节: 总结文章并讨论u m l建模的发展方向, 包括三个方面: 用u mi建立 业务模型、模式复用和模型驱动的开发。 硕十学位论文 第2 章.统一建模语言l m l 2 . 统一建模语言u ml 2 . 1 . u m l 的产生和发展 八十年代末以来,出 现了许多面向对象方法,其中包括 b o o c h方法、d o s e 方法、o mt方法、c o a d f y o u r d o n方法等。各种面向对象的分析与设计方法的主导 思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。差异的 存在和方法种类的膨胀,使用户很难根据自身应用的特点选择合适的建模方法,极 大 地 妨 碍了 用 户的 使 用 和 交 流。 统 一 建 模语 言u m l ( u n if ie d m o d e l in g l a n g u a g e ) 正是为结束这种不统一的局面应运而生。 第一次成功合并和替换现存的各种方法的尝试始于 1 9 9 4年在 r a t i o n a l 软件 公司r u m b a u g h 与 b o o c h 合作。 他 们开 始合并o m t 和b o o c h方 法中 使 用的 概念, 于 1 9 9 5年提出了第一个建议。此时,j a c o b s o n也加入了 r a t i o n a l公司开始与 r u m b a u g h 和b o o c h 一同 工 作。 他 们 共同 致 力 于 设 计 统 一 建 模 语一言 。 三 位最 优 秀的 面向对象方法学的创始人共同合作,为这项工作注入了强大的动力,打破了面向对 象软件开发领域内原有的平衡。而在此之前, 各种方法的拥护者觉得没有必要放弃 自己己经采用的概念而接受这种统一的思想。 1 9 %年, o mg发布了向外界征集关于面向对象建模标准方法的消息。 u ml的 三位创始人开始与来自 其他公司的软件工程方法专家和开发人员一道制订一套使 o m g感兴趣的方法,并设计一种能被软件开发工具提供者、软件开发方法学家和 开发人员这些最终用户所接受的建模语言。 1 9 9 7 年9 月, 所有建议终于被合并成一 套u ml方法提交到 o mg . 1 9 9 7 年 1 1 月, u ml 被 o mg全体成员一致通过, 并被 采纳为标准。 此后几年, o mg承担了进一步完善u ml标准的工作, 并成立任务组 进行不断的修订,陆续产生了u m l 1 .2 , 1 .3 , 1 .4 , 1 . 4 . 1 和2 .0 版本。 u m l 2 . 0 ( m d a : m o d e l - d r i v e n a r c h i t e c t u r e ) u m l 1 . 4 . 1 u m l 1 . 4 u m l 1 . 3 , u m l 1 . 1 ( o m g s t a n d a r d ) 、 j a c o b s o n b o o c hr u m b a u g h f o u n d a t i o n s o f 0 0 ( n y g a a r d , g o l d b e r g . . . ) 2 0 0 3 2 0 0 2 2 0 0 1 1 9 9 8 1 9 9 7 1 9 9 6 1 9 6 7 图2 . 1 . u ml的发展过程 2 . 2 . u m l简介 统 一 建模语言 ( u m l )是一个用于对软件进行描述、可视化处理、构造和建立 硕十学位论文 第2 章.统一建模语言l m l 2 . 统一建模语言u ml 2 . 1 . u m l 的产生和发展 八十年代末以来,出 现了许多面向对象方法,其中包括 b o o c h方法、d o s e 方法、o mt方法、c o a d f y o u r d o n方法等。各种面向对象的分析与设计方法的主导 思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。差异的 存在和方法种类的膨胀,使用户很难根据自身应用的特点选择合适的建模方法,极 大 地 妨 碍了 用 户的 使 用 和 交 流。 统 一 建 模语 言u m l ( u n if ie d m o d e l in g l a n g u a g e ) 正是为结束这种不统一的局面应运而生。 第一次成功合并和替换现存的各种方法的尝试始于 1 9 9 4年在 r a t i o n a l 软件 公司r u m b a u g h 与 b o o c h 合作。 他 们开 始合并o m t 和b o o c h方 法中 使 用的 概念, 于 1 9 9 5年提出了第一个建议。此时,j a c o b s o n也加入了 r a t i o n a l公司开始与 r u m b a u g h 和b o o c h 一同 工 作。 他 们 共同 致 力 于 设 计 统 一 建 模 语一言 。 三 位最 优 秀的 面向对象方法学的创始人共同合作,为这项工作注入了强大的动力,打破了面向对 象软件开发领域内原有的平衡。而在此之前, 各种方法的拥护者觉得没有必要放弃 自己己经采用的概念而接受这种统一的思想。 1 9 %年, o mg发布了向外界征集关于面向对象建模标准方法的消息。 u ml的 三位创始人开始与来自 其他公司的软件工程方法专家和开发人员一道制订一套使 o m g感兴趣的方法,并设计一种能被软件开发工具提供者、软件开发方法学家和 开发人员这些最终用户所接受的建模语言。 1 9 9 7 年9 月, 所有建议终于被合并成一 套u ml方法提交到 o mg . 1 9 9 7 年 1 1 月, u ml 被 o mg全体成员一致通过, 并被 采纳为标准。 此后几年, o mg承担了进一步完善u ml标准的工作, 并成立任务组 进行不断的修订,陆续产生了u m l 1 .2 , 1 .3 , 1 .4 , 1 . 4 . 1 和2 .0 版本。 u m l 2 . 0 ( m d a : m o d e l - d r i v e n a r c h i t e c t u r e ) u m l 1 . 4 . 1 u m l 1 . 4 u m l 1 . 3 , u m l 1 . 1 ( o m g s t a n d a r d ) 、 j a c o b s o n b o o c hr u m b a u g h f o u n d a t i o n s o f 0 0 ( n y g a a r d , g o l d b e r g . . . ) 2 0 0 3 2 0 0 2 2 0 0 1 1 9 9 8 1 9 9 7 1 9 9 6 1 9 6 7 图2 . 1 . u ml的发展过程 2 . 2 . u m l简介 统 一 建模语言 ( u m l )是一个用于对软件进行描述、可视化处理、构造和建立 硕十学位论文 用u m l 建模及在j 2 e e f 实现计费系统 软件系统文档的通用的可视化建模语言。 u ml 包括概念的语义、 表示法和说明, 提供了静态、 动态、系统环境及组织结 构的模型,它将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定 功能的模型结构。如果把实现出来的软件系统成品比作一幢高楼大厦的话,那么用 u m l 设计出来的各种模型就如同建筑设计图, 而用u ml 的各种表示法来表达系统 设计图 就如同建筑中用规定的符号来绘制建筑设计图一样。 u m l不是一种设计方法, 它是为支持大部分面向对象开发过程而设计的, 但 u ml并没有定义一种标准的开发过程。u m l和使用u ml的软件开发过程是两回 事,它仅仅是软件开发方法的一部分。尽管 u ml独立于软件开发过程,但它为软 件开发的每一个步骤都提供了模型化和可视化的支持。目前比较公认的是最好把 u ml用于以用例为驱动、以体系结构为中心、迭代及增量的软件开发过程中。 u m l的目 标之一是为软件开发团队提供标准通用的设计语言来开发和构建计 算机应用。 u ml 提出了一套统一的标准建模符号。 通过使用u ml , i t人员能够阅 读和交流系统架构和设计规划一 就像建筑工人多年来所使用的建筑设计图一样。下 面对u ml的图形表示法作简单介绍。 2 . 3 . u m l的图形表示法 2 3 . 1 . u ml中几个主要的事物 ( 1 ) 类。类是对一组具有相同属性和方法的对象的抽象。在u ml中, 类被画 成一个矩形,分成三格,分别写类的名称、类的属性和类的方法。 类 名 备类 的 属 性 o 类的 方法0 ( 2 ) 对象。对象是类的实例,具有状态和行为。在u ml中,用与类同样的图 形符号来表示对象,唯一的不同在于对象名的下面需要画一道线。 ( 3 )接 口。接 口是刻划行为特征的操作命名集。在 u ml 中,表示为以 为模板化的类。 , 接 口名 o 接口的方法定义0 硕十学位论文 用u m l 建模及在j 2 e e f 实现计费系统 软件系统文档的通用的可视化建模语言。 u ml 包括概念的语义、 表示法和说明, 提供了静态、 动态、系统环境及组织结 构的模型,它将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定 功能的模型结构。如果把实现出来的软件系统成品比作一幢高楼大厦的话,那么用 u m l 设计出来的各种模型就如同建筑设计图, 而用u ml 的各种表示法来表达系统 设计图 就如同建筑中用规定的符号来绘制建筑设计图一样。 u m l不是一种设计方法, 它是为支持大部分面向对象开发过程而设计的, 但 u ml并没有定义一种标准的开发过程。u m l和使用u ml的软件开发过程是两回 事,它仅仅是软件开发方法的一部分。尽管 u ml独立于软件开发过程,但它为软 件开发的每一个步骤都提供了模型化和可视化的支持。目前比较公认的是最好把 u ml用于以用例为驱动、以体系结构为中心、迭代及增量的软件开发过程中。 u m l的目 标之一是为软件开发团队提供标准通用的设计语言来开发和构建计 算机应用。 u ml 提出了一套统一的标准建模符号。 通过使用u ml , i t人员能够阅 读和交流系统架构和设计规划一 就像建筑工人多年来所使用的建筑设计图一样。下 面对u ml的图形表示法作简单介绍。 2 . 3 . u m l的图形表示法 2 3 . 1 . u ml中几个主要的事物 ( 1 ) 类。类是对一组具有相同属性和方法的对象的抽象。在u ml中, 类被画 成一个矩形,分成三格,分别写类的名称、类的属性和类的方法。 类 名 备类 的 属 性 o 类的 方法0 ( 2 ) 对象。对象是类的实例,具有状态和行为。在u ml中,用与类同样的图 形符号来表示对象,唯一的不同在于对象名的下面需要画一道线。 ( 3 )接 口。接 口是刻划行为特征的操作命名集。在 u ml 中,表示为以 为模板化的类。 , 接 口名 o 接口的方法定义0 硕十学位论文 用u m l 建模及在j 2 e e f 实现计费系统 软件系统文档的通用的可视化建模语言。 u ml 包括概念的语义、 表示法和说明, 提供了静态、 动态、系统环境及组织结 构的模型,它将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定 功能的模型结构。如果把实现出来的软件系统成品比作一幢高楼大厦的话,那么用 u m l 设计出来的各种模型就如同建筑设计图, 而用u ml 的各种表示法来表达系统 设计图 就如同建筑中用规定的符号来绘制建筑设计图一样。 u m l不是一种设计方法, 它是为支持大部分面向对象开发过程而设计的, 但 u ml并没有定义一种标准的开发过程。u m l和使用u ml的软件开发过程是两回 事,它仅仅是软件开发方法的一部分。尽管 u ml独立于软件开发过程,但它为软 件开发的每一个步骤都提供了模型化和可视化的支持。目前比较公认的是最好把 u ml用于以用例为驱动、以体系结构为中心、迭代及增量的软件开发过程中。 u m l的目 标之一是为软件开发团队提供标准通用的设计语言来开发和构建计 算机应用。 u ml 提出了一套统一的标准建模符号。 通过使用u ml , i t人员能够阅 读和交流系统架构和设计规划一 就像建筑工人多年来所使用的建筑设计图一样。下 面对u ml的图形表示法作简单介绍。 2 . 3 . u m l的图形表示法 2 3 . 1 . u ml中几个主要的事物 ( 1 ) 类。类是对一组具有相同属性和方法的对象的抽象。在u ml中, 类被画 成一个矩形,分成三格,分别写类的名称、类的属性和类的方法。 类 名 备类 的 属 性 o 类的 方法0 ( 2 ) 对象。对象是类的实例,具有状态和行为。在u ml中,用与类同样的图 形符号来表示对象,唯一的不同在于对象名的下面需要画一道线。 ( 3 )接 口。接 口是刻划行为特征的操作命名集。在 u ml 中,表示为以 为模板化的类。 , 接 口名 o 接口的方法定义0 硕士学位论文第 2 章统一建模语言u 1 1 l ( 4 ) 包。 包的概念是存在于开发时而不是运行时, 是一种分组机制。当系统比 较复杂时,把类从逻辑上进行分组,会使整个系统看起来就比较清晰。这里包的作 用就如同文件系统中的目 录一样,会使所有文件的管理变得容易。分组的方式有二 种:第一种是把一种类型的类放在一起组成一个包,例如可以把服务器页放入一 个 包;第二种把一组相互协作共同来完成一个功能的类放在一起组成一个包,例如系 统的 安 全方面的 类可放入一 个s e c u r i t y 包。 包有很多 表现的 形式, 子系 统是其中 一 种。子系统是彻底封装了具体实现的包,客户对象需要通过严格定义的接口访问子 系统的功能,只要接口不发生变化,对其有依赖关系的类就不需要进行任何改动。 包名 ( 5 ) 用例。 用例是对系统能为用户提供的某个功能的描述。 用例由一组动作序 列组成,系统执行这些动作将产生一个对用户有价值且可以观察到的结果。 用例名 ( 6 ) 组件。 组件表示具有定义接口的软件模块。 在系统运行时, 各个部署好的 组件相互合作提供系统的功能。 尸 牛 组件 名 ( 7 ) 节点。 节点是往往是指可以部署组件的硬件设备, 比如处理器、 服务器等。 运行时组件实例被映射到节点上以显示运行的部署。 2 3 . 2 . u ml中几个主要的关系 ( 1 ) 泛化。 泛化是一般事物 ( 即超类或父类) 与特殊事物 ( 即子类) 之间的关 系。 在j a v a 中称为继承关系。 在u m l中表示如下( a为一般事物, b为特殊事物) : r一 a ; a一 一一 . -.- b ( 2 )实现。实现是一个事物描述了另一个事物保证实现的契约。对于类来说 就是一 个类实现了一个接口。在u ml中表示如 卜( a为接口,b为实现类) : 硕士学位论文第 2 章统一建模语言u 1 1 l ( 4 ) 包。 包的概念是存在于开发时而不是运行时, 是一种分组机制。当系统比 较复杂时,把类从逻辑上进行分组,会使整个系统看起来就比较清晰。这里包的作 用就如同文件系统中的目 录一样,会使所有文件的管理变得容易。分组的方式有二 种:第一种是把一种类型的类放在一起组成一个包,例如可以把服务器页放入一 个 包;第二种把一组相互协作共同来完成一个功能的类放在一起组成一个包,例如系 统的 安 全方面的 类可放入一 个s e c u r i t y 包。 包有很多 表现的 形式, 子系 统是其中 一 种。子系统是彻底封装了具体实现的包,客户对象需要通过严格定义的接口访问子 系统的功能,只要接口不发生变化,对其有依赖关系的类就不需要进行任何改动。 包名 ( 5 ) 用例。 用例是对系统能为用户提供的某个功能的描述。 用例由一组动作序 列组成,系统执行这些动作将产生一个对用户有价值且可以观察到的结果。 用例名 ( 6 ) 组件。 组件表示具有定义接口的软件模块。 在系统运行时, 各个部署好的 组件相互合作提供系统的功能。 尸 牛 组件 名 ( 7 ) 节点。 节点是往往是指可以部署组件的硬件设备, 比如处理器、 服务器等。 运行时组件实例被映射到节点上以显示运行的部署。 2 3 . 2 . u ml中几个主要的关系 ( 1 ) 泛化。 泛化是一般事物 ( 即超类或父类) 与特殊事物 ( 即子类) 之间的关 系。 在j a v a 中称为继承关系。 在u m l中表示如下( a为一般事物, b为特殊事物) : r一 a ; a一 一一 . -.- b ( 2 )实现。实现是一个事物描述了另一个事物保证实现的契约。对于类来说 就是一 个类实现了一个接口。在u ml中表示如 卜( a为接口,b为实现类) : 硕十学位论文 1j 1 u m l 建模及在j 2 e e h 实现计费系统 一 + in t石 rf a c e 匕a ( 3 ) 依赖。 当一 个独立事物发生变化时, 会影响另一个事物, 称另一 个事物依 赖于该独立事物,两个事物之间构成依赖关系。依赖是事物之间比较弱且短期的一 种关系, 在u m l中用一条从依赖事物指向独立事物的有箭头虚线表示。 其实在u m l 中,另外三种关系 ( 泛化、实现、关联)都可以算作是某种依赖关系,只是它们由 于有比较强的语义和重要的作用,所以被单独划分出来。一般对类关系建模时,先 对泛化、实现、关联建模,剩下的关系都可以看作是依赖关系。对应到代码中,依 赖可以有很多的形式,例如: p u b l i c c l a s s a p u b l i c b g e t b ( c c , d d ) e e = n e w e o ; b b = n e w b ( c , d , e ) ; r e t u rn b ; 这里, 类a依赖 于类b( 方法返回 类) 、 类q参 数类 ) 、 类d ( 参数 类) 和类e( 方 法 内变量类) ,因为b , c , d , e 这几个类的变化都有可能影响到类a 。 用u ml表示 a与b , c , d , e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026物流仓储行业市场深度探索及发展趋势研判与投资获取研究报告
- 舞蹈培训中心工作计划
- 跨学科视域下小学四年级语文观察力专项训练教案
- 核心素养导向下初中数学大概念教学:分式加减运算的深度建构与跨学科迁移应用教案
- 合金课件高一上学期化学人教版
- 初中八年级历史下册第五单元第15课 铸剑为犁·钢铁长城-新中国国防建设巡礼教案
- 沪科版七年级数学下学期:一元一次不等式与不等式组核心考点深度解析与教学方案
- 2026年幼儿园书画王国的
- 2026年幼儿园思政课演讲
- 2026年幼儿园神奇的糖画
- 市公交车公司财务制度
- YB-T6230-2024《不锈钢单位产品能源消耗技术要求》
- 监理安全保密培训课件
- 苹果公司采购部面试题目及答案
- 金属硅购销合同范本
- 工业渗滤液处理运营保障措施方案
- 雨课堂学堂在线学堂云《机电设备管理江西交职》单元测试考核答案
- 中海大卫星海洋学课件第6章 水色遥感和辐射计
- 北京市第七届中小学生气象知识竞赛题及答案
- 数字经济赋能传统产业转型路径分析
- GB/T 12221-2025金属阀门结构长度
评论
0/150
提交评论