今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深对uml建模的理解并在以后的项目开发中加以应用。
核心UML图分类: ---> “独孤九剑”
静态建模:[用例图]、[类图]、对象图、组件图、部署图。
动态建模:[时序图](sequence diagrams)、状态图、活动图、协作图。
核心UML图的定义及使用:
一、 用例图:主要用来展示系统的核心功能及其交互的用户或系统。
举例说明:相信上一篇已经写的很清楚了,这里简单贴一张图。
===================== Num1.用例图========================
1. 用例:系统为参与者(人/系统)提供的功能,一般取名为带有动作性的词语。--椭圆
2. 用例之间的关系 --> 虚线 :
a) 包含关系:大功能包含《include》子功能。
b) 扩展关系:将基用例中一段【相对独立并且可选】的动作,用扩展《extends》用例加以封装。 --虚线反向
c) 泛化关系:一般和特殊(抽象类/接口+实现类/子类)的关系。实线三角形箭头反向。
二、类图:主要用来表现类的特征(属性和操作等),描述了多个类/接口的特征以及对象之间的协作和交互。
类图主要做两件事:1 对类中的数据及其操作进行封装;2 标明类与类之间的关系。
下面主要针对这两点来谈谈,第一点:对类中的数据及其操作进行封装,还是先看图吧:
因为这里使用的是Rose画图,所以所有的画图操作都是在Rose上执行的。需要说明一下:这里画的是一张简单的普通类图,类图的属性和方法是可选的,而这里的正向工程和反向功能有点类似于Java web里面的Hibernate的一个重要作用:将表映射成类,也可以将类映射成表,当然这里的是一张类图而不是数据库里面的表。
第二点:标明类与类之间的关系。类与类之间的关系主要有一下几种:1. 泛化关系(继承关系)、2. 实现关系(接口与实现类的关系)、3. 关联关系(这个比较复杂,这要包含单向关联、双向关联、自关联、聚合关联、组合关联)、4. 依赖关系(项目开发中基本很少画)。下面以图的方式进行讲解:
1,泛化(继承)关系:注意是子类指向父类,且箭头为三角形,连线为实线。
2,实现关系(接口与实现类的关系):这个在Java web中经常用到,比如在Spring中,经常会调用DAO层接口的对象(通过IOC配置xml的方式来setXx产生接口对象)方法来处理Service层的业务(如:登录、注册等)。注意是实现类指向接口,且箭头为三角形,连线为虚线。
3,关联关系:
a)单向关联:就拿追MM来说,很多人都稀罕她,但她都不稀罕。如图:
b)双向关联:就拿夫妻来说,一个男的只能有一个老婆,而一个女的只能有一个老公。如图:
c)自关联:典型的,就拿Menu菜单来说,子菜单和父菜单封装的数据都一样,只是Menu类中要有自己的引用。如图:
d)聚合关联:聚合表示的是整体和部分的关系,比如说:有辆汽车报废了,但其轮胎有两个还是好的,它可以供别的汽车使用。如图(画图时切记:整体指向部分):
e)组合关联:组合也是整体和部分的关系,与聚合最大的区别在于:整体可以控制部分的生命周期。比如:一家IT公司倒闭了,那么其部门也将不复存在。如图:
注意:整体指向部分,与聚合关联不同的是:组合的菱形箭头是实心的,而聚合的菱形箭头的空心的。
4. 依赖关系:存在于方法中的临时变量、方法签名中的参数和对静态方法的调用。比如咱经常使用的电脑,咱们需要它的帮助来完成一些事情,这就是依赖。如图:
注意:箭头指向被依赖者,且箭头为虚线。
有点晚了,明天继续,晚安。
相关推荐
本资源提供了C#和Java的UML建模工具源代码,这对于开发者来说是一个宝贵的参考资料,有助于理解和学习如何实现这样的工具,以及如何在实际项目中应用UML。 首先,我们来看看C#的相关知识点。C#是一种面向对象的编程...
### UML建模的理解与应用 #### UML概念与作用 UML(Unified Modeling Language,统一建模语言)是一种标准化的图形表示法,用于软件密集型系统的规格说明、可视化和文档化。它不仅适用于面向对象的系统,也可以...
首先,UML是一种图形化语言,它提供了一套标准符号和图示,帮助开发人员理解、记录和沟通系统的需求、结构和行为。在考试成绩管理系统中,我们可能会涉及到以下几种主要的UML图: 1. **用例图**:描述了用户与系统...
ArgoUML是一款广受欢迎的开源UML建模工具,支持UML1.4的所有标准图形,适用于多语言环境,能够在任何Java平台上运行。其界面友好,易于上手,同时具备一定的扩展性,是初学者和有经验的开发者都能使用的优秀工具。 ...
ArgoUML 是一款开源的UML 建模工具,支持所有UML 1.4 的标准图形。它可以运行在任何Java平台上,并且支持10种语言(地区语言而不是编程语言)。它用Java构造,并遵守开源的BSD协议。
3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 ...
综上所述,这个图书管理系统JAVA版不仅提供了全面的需求分析和建模,还包含了完整的JAVA源代码,是学习和理解JAVA开发、UML建模以及图书管理信息系统设计的宝贵资料。通过对该项目的学习,开发者可以深入理解JAVA...
《高校校友平台UML建模报告》是一份深入探讨UML(统一建模语言...这份UML建模报告为理解项目提供了清晰的视角,是学习和实践UML建模的宝贵资源。对于想要掌握UML建模技术的学生和开发者而言,这是一个很好的实例教程。
《MyEclipse UML建模详解》 统一建模语言(Unified Modeling Language,简称UML)是软件开发领域中一种广泛使用的建模工具,它通过图形化的表示方式,清晰地描述了软件系统的结构和行为。MyEclipse作为一款强大的...
《UML建模工具与流程图绘制》是关于软件建模和流程图设计的一份详细讲解资料,适合学习UML和相关工具的使用。本文将深入解析UML建模语言和常用的建模工具,帮助读者理解和掌握建模的核心概念。 UML(Unified ...
它通过一系列图形符号和图示来表达系统的结构、行为和关系,使得软件设计更加直观易懂。UML的核心理念在于统一,它整合了多种早期的建模方法,如Booch方法、OMT方法和Rational统一过程(RUP),旨在提供一种通用的...
**UML(Unified Modeling ...通过提供的"UML建模"PDF文档,你可以系统地学习UML的基本概念、图示类型和使用方法,逐步掌握这一强大的建模语言。在阅读过程中,建议结合实际项目或案例进行练习,以加深理解并提升技能。
根据给定的标题和描述,“Java高手真经系统架构卷Java Web系统设计与架构UML建模+设计模式+面向服务架构”,我们可以深入探讨几个关键的IT知识点:Java Web系统设计、UML建模、设计模式以及面向服务架构(SOA)。...
在软件开发过程中,UML(统一建模语言)是一种强大的工具,用于可视化、构建和文档化软件系统的结构和行为。UML图可以帮助开发者、设计师和项目团队清晰地理解系统的设计和实现,从而提高沟通效率和代码质量。"JAVA...
综上所述,Enterprise Architect是一款功能强大的UML建模工具,对于学习和实践UML,以及进行软件开发工作,都是一个理想的选择。其中文版的易用性和免激活特性,更使其在中文用户群体中具有广泛的应用价值。无论是...
《Java Modeling in Color with UML》是一本深受UML爱好者和软件工程师喜爱的经典教材,它以其独特的彩色标注方式,使得复杂的UML建模概念变得更为直观易懂。书中的内容覆盖了UML(统一建模语言)的各个方面,旨在...
【UML建模用户使用指南】是一份详细指导如何使用UML进行建模的文档,适合于Java等软件开发人员理解和应用。UML(统一建模语言)是软件工程领域中用于可视化、构造和文档化的语言,尤其适用于复杂系统的建模。 建模...
Rose是Rational Software Corporation开发的一种UML建模工具,而Visio则是Microsoft开发的一种图形化建模工具。这些工具可以帮助我们快速创建、设计和文档化UML模型。 3.系统分析和UML静态建模: 系统分析是指对...
通过学习《Java Modeling in Color with UML》,开发者不仅可以掌握UML的基本概念和技巧,还能学会如何通过颜色增强模型的表达力,从而提高开发效率和团队沟通效果。这本书对任何希望提升Java项目设计质量的开发者来...