UML建模快速入门03 基本结构建模 CLASS

2015/03/25 - 07:19

【声明】欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/44733433

1,入门

类是任何面向对象系统中最重要的模块。类是对一组具有相同属性、操作、关系和语义的对象的描述。一个类可以实现一个或多个接口。

类可以用来捕获正在开发的系统中的词汇。这些类可以包括作为问题域一部分的抽象,也可以包括构成实现的那些类。可以用来描述软件事物和硬件事物,甚至可以描述纯粹概念性的事物。

UML为类提供了图形表示。通过这种表示法能够独立于任何编程语言来对抽象进行可视化,并强调抽象最重要的部分:名称、属性和操作。

2,术语和概念

2.1,名称

每一个类都必须有一个有别于其他类的名称。名称(name)是一个字符串。单独的名称叫做简单名(simple name),用类所在包的名称作为前缀的类名叫做限定名(qualified name),绘制的类可以仅显示它的名称。(分割类名和包名使用双冒号)

2.2,属性

在图形上,将属性在类名的下面栏中列出。可以仅显示属性的名称。

可以通过声明属性的类以及属性可能的默认初始值来进一步详述属性

2.3,操作

操作(operation)是一个服务的实现,该服务可以由任何类的对象来请求以影响其行为。换句话说,操作是能对一个对象所做事情的抽象,并且它由这个类的所有对象所共享。类可以有任意数目的操作,也可以根本没有操作。在图形上,把操作列在类的属性栏下面的栏中。可以仅显示操作的名称,也可以进一步用注释或活动图来详述操作的实现。

可以阐明操作的特征标记来详述操作,特征标记包含所有参数的名称、类型和默认值,如果是函数, 还要包括返回类型。还可以详述操作的其他特性,例如把操作标记为多态的、不变的或描述它的可见性。

2.4,为了更好地组织属性和操作的长列表,可以利用衍型在每一组属性和操作之前加一个描述其种类的前缀。

3,常用建模技术

3.1,对系统的词汇建模

3.2,对系统中的职责分布建模

对系统中的职责分布建模,要做如下工作:

A,识别一组为了完成某些行为而紧密地协同工作的类

B,对上述的每一个类识别出一组职责

C,从整体上观察这组类,把职责过多的类分解成较小的抽象,把职责过于琐碎的类合成较大的类,重新分配职责以使每一个抽象合理地存在。

D,考虑这些类的相互协作方式,相应地重新地分配它们的职责,使协作中没有哪个类的职责过多或多少。

3.3,对非软件事物建模

3.4,对简单类型建模

对简单类型建模,要做如下工作:

A,对抽象为类型或枚举的事物建模,这可以用带有适当衍型的类表示符来表示

B,若需要详述与该类型相联系的值域,可以使用约束

4,提示和技巧

在用UML对类进行建模时要记住:对最终用户或实现者来说,各个类都应该映射到某个有形的或者概念性的抽象。一个结构良好的类,应符合如下条件:

A,为取自问题域或者解域的词汇中的事物提供明确的抽象。

B,嵌入一个小的,明确定义的职责集,并且很好的实现它们。

C,把抽象的规约和它的实现清楚地分开。

D,简单而且可理解,并具有可适应性和可扩展性。

当用UML绘制一个类时,要遵循如下的策略:

A,仅显示在该类的语境中对于理解抽象较为重要的类的特性。

B,按属性和操作的种类进行分组,以更好地组织其长列表。

D,把相关的类显示在同一个类图中。

时间: 2024-08-04 21:01:23

UML建模快速入门03 基本结构建模 CLASS的相关文章

UML建模快速入门04 基本结构建模 关系

2015/03/26 - 09:25 [声明]欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/45529235 在面向对象的系统建模中,有3中特别重要的关系:依赖(dependency),它表示类之间的使用关系(包括精化.跟踪和绑定关系):泛化(generalization),它把一般类连接到它的特殊类:关联(associatiota),表示对象之间的结构关系.其中的每一种关系都为组合对象提供了不同的方法. 1,入

UML建模快速入门00 Outline

Preface UML建模,其重要性不言而喻,本人虽然大学期间就早已知其大名,无奈因各种因素总是拿起又放下,未能持续研究,几经断断续续,一直未持续深入读完一本书.最近越发觉得逆向工程(由代码生成UML)在日常整理中的重要性及方便性,便又捡起书本,觉得应该好好看看,边看边画,对很多概念又有了较深入的理解,对以前模糊的概念更加明晰些了.说实在的,这次拿起书本来看,主要有两个原因:一是觉得UML建模确实应该作为码工具备的一个技能,二是为了提升下逼格. 为了记录个人历经的路程,后续将推出系列快速入门读书

【Android快速入门】目录结构及adb命令【附Android拨号器的实现,自作】

目录结构 src: 存放java代码 gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id project.properties: 指定当前工程采用的开发工具包的版本 libs: 当前工程所依赖的jar包. assets: 放置一些程序所需要的媒体文件. bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件. res(resources): 资源文件. drawable: 存放程序所用的图片. layout: 存放android的布局文件.

UML建模快速入门02 UML介绍

2015/03/21 - 16:12 [声明]欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/44724765 1,UML概述 1.1,统一建模语言(Unified Modeling Language,UML)是一种绘制软件蓝图的标准语言.可以用uml对软件密集型系统的制品进行可视化.详述.构造和文档化. 1.2,要学习uml,一个有效的出发点是形成该语言的概念模型,这要求学习三个要素:uml的基本构造块, 支配这

UML建模快速入门01 背景

2015/03/21 - 15:12 [声明]欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/44710217 1.为什么要建模,一个基本理由是: 建模是为了更好的理解正在开发的系统 2.通过建模,要达到四个目的: (1),建模有助于按照实际情况或按照所需要的样式对系统进行可视化 (2),建模有能够规约系统的结构和行为 (3),建模给出了指导构造系统的模板 (4),建模对做出的决策进行文档化 系统越大,越复杂,建模

C语言快速入门系列(三)

C语言快速入门系列(三) 结构化的程序设计 -----------------------------------转载请注明出处:coder-pig 本节引言: 在前面的学习中,我们对C语言的基本语法进行了了解,可以暂时理解成我们学了单词; 现在要做得就是学语法,也就是算法;就是构成一个一个基本的程序! 在这一节中我们要学习的是C语言中的输入输出,以及程序的三种结构(顺序,选择,循环结构) 本节学习路线图: 正文: 1.字符输入/输出函数 2.格式输入/输出函数 跟前面的单个字符的输入输出不同,

UML基本架构建模--图的通用建模技术(一)

 Modeling Different Views of a System 建模系统的不同视图 When you model a system from different views, you are in effect constructing your system simultaneously from multiple dimensions. By choosing the right set of views, you set up a process that forces y

2015 数学建模竞赛 入门与提高 读书笔记

<数学建模竞赛入门与提高> 第1章:数学建模概述 近半个多世纪以来,数学已经走进了各大领域,而与其他学科相结合形成交叉学科,首要的关键一步就是建立研究对象的数学模型,并加以计算求解,数学建模和计算机技术在知识经济时代的作用可谓是如虎添翼. 1.1  初入门径--认识数学模型与数学建模 数学建模就是用数学语言描述实际现象的过程,这里的实际现象包含具体的自然现象,也包含抽象的比如顾客对某种商品所取的价值倾向.这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释评价实际现象等内容. 数

atitit.web ui 结构建模工具总结

atitit.web ui 结构建模工具总结 1. 王者.dreamweaver 1 2. Frontpage/SharePoint Designer(FrontPage) 2010... 1 3. Netbeans6.5 1 4. Ms  vs 1 5. Xara Web Designer..雅十专业级的ide 1 6. Adobe GoLive(好像不更新了) 2 1. 王者.dreamweaver 2. Frontpage/SharePoint Designer(FrontPage) 20