Thinking in UML 学习笔记(一)——建立对象模型

一、面向对象的本质

面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大、更复杂的系统。

现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在。同一时候也是面向对象的困难所在。要跨越这道沟壑,我们须要解决下面问题:

1、一种把现实世界映射到对象世界的方法。

2、一种从对象世界描写叙述现实世界的方法。

3、一种验证对象世界行为是否正确反映了现实世界的方法。

UML正是解决这一问题的分析设计方法。

二、面向对象遇到的问题

1、对象的分析与设计问题。

2、对象结构的含义模糊不清。

当面向对象遇到这些问题的时候。UML统一建模语言出现了。学习UML仅仅是学会了一门语言。而要写出一篇精彩的文章,却须要依靠写作人对生活的感悟和升华,这两者缺一不可。因此比学会UML建模本身更重要的是要理解UML背后所影藏的最佳实践。

三、UML统一建模语言要解决的问题

1、UML既然是一门语言,作为语言要解决的首要问题就是沟通问题。

2、统一,则是要解决混乱的方言问题。如普通话一样被大家广泛认可。

3、可视化,easy被人理解和记忆(超越文字的表达方式)。

四、从现实到模型的抽象过程

建模实际上是一种对现实事物的理解。现实世界中假设我们站在非常高的角度去抽象,就会发现不管这个时间多么复杂,其本质无非是由人、事、物和规则组成。

1、UML採用称之为參与者(actor)的元模型作为信息来源提供者。代表现实中的“人”。

2、UML採用称之为用例(use case)的一种元模型来表示驱动者的业务目标。也就是參与者想要做什么而且获得什么。代表现实中的“事”。

3、一件事怎么做。根据什么规则。则通过称之为业务场景(business scenario)和用例场景(use case scenario)的UML视图来描绘的。代表现实中的规则。

4、业务中的对象模型则就相应现实中的“物”。

五、从业务模型到概念模型

分析模型:UML通过称之为概念化的分析过程来建立适合计算机理解和实现的模型。

分析模型介于原始需求和计算机实现之间,是一种过渡模型。

分析模型的元模型:

1、边界类(boundary):_____事

2、控制类(control)———规则

3、实体类(entity):

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />————物

下图是业务模型到概念模型的转换过程示意图:


六、从概念模型到设计模型

设计模型则是对概念模型的详细实现,这样的实现方式不止一种。在设计模型中。概念模型中的边界类能够被转换为操作界面或者系统接口。控制类能够被转化为计算机程序或控制程序,比如工作流、算法等;实体类能够转化为数据表、XML文档或者其它持久化类。实际上对于不同的软件架构和框架以及不同的编程语言。所实现的概念模型有所不同。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

面向对象分析设计完整步骤例如以下:



七、RUP介绍

RUP(Rational Unified Process)统一过程。

统一过程归纳和整理了非常多在实践中总结出来的软件project的最佳实践。是一个採用了面向对象思想,使用UML作为软件分析语言,并结合了项目管理、质量保证等很多软件project知识综合而成的一个非常完整和庞大的软件方法。


统一过程定义了软件开发过程中最重要的四个阶段和九个核心工作流,每一个阶段对不同工作流的側重点不同。

软件项目真正的灵魂是软件过程。软件过程的须要才是这些工具和语言诞生的原因。

时间: 2024-11-03 22:45:24

Thinking in UML 学习笔记(一)——建立对象模型的相关文章

Thinking in UML 学习笔记(四)——UML核心视图之活动图

在UML中活动图的本质就是流程图,它描述了为了完成某一个目标需要做的活动以及这些互动的执行顺序.UML中有两个层面的活动图,一种用于描述用例场景,另一种用于描述对象交互. 活动图只是我们用来描述业务目标的达成过程并借此来发现对象的工具,它不是我们的分析目标,也不是编程的依据. 建立活动图: 一个登录过程的活动图如下: Thinking in UML 学习笔记(四)--UML核心视图之活动图

Thinking in UML 学习笔记(二)——UML核心视图之用例图

在UML中,需求模型又称为用例模型,它主要用于描述系统的功能性需求,即软件可以实现的功能,如登录.注册.入库.出库.查看库存报表.增加员工信息等.常规的用例建模一般包括两个组成部分:绘制用例图和编写用例文档. 用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性需求. 一.业务用例视图 说明:使用业务主角和业务用例展现业务建模. 1.业务主角视角 作用:从业务的角度展示业务主角在业务中使用用例达成业务目标. 借阅人在借书管理系统中有借阅图书和办理借阅证两个业务目标. 2.业务模块视角

Thinking in UML 学习笔记(三)——UML核心视图之类图

类图的作用:用于展示系统中的类及其相互之间的关系. UML在解决面向对象的方法中对类理解为三个层次,分别是:概念层.说明层.实现层.在UML中,从开始的需求到最终设计类,类图也是围绕这三个层次的观点进行建模的. 一.概念层类图 在概念层上类图着重于对问题领域的概念化理解,而不是实现,因此类名称通常都是问题领域中实际事物的名称. 网上购物主要由商品.订单.支付卡这几个关键类构成,这几个类的交互能够完成网上购物这个业务目标. 二.说明层类图 这一层是类的接口而不是实现,类图中表达类和类之间的交互接口

UML学习笔记

这个学期有幸选到章老师的UML精品课程,虽然到目前仅仅上课两周,但是收益匪浅.尽管在本科接触过UML,却没有非常详细的对其进行深入的了解,只是对一些图的名称有所耳闻,没有深究其功能. 就最近所学知识,谈一下我对uml统一建模语言的一个总体认识,软件工程作为一门工程类学科,如同建筑类学科一样,当我们需要搭建一所建筑时,我们都需要对其进行需求和设计,在施工的时候,我们就需要一些设计图纸,例如各个房间的具体设计.三维视图等,通过这些图纸进行施工.软件工程也是如此,当我们拿到一个项目时,并不是直接开始编

UML学习笔记系列-第二章 开发流程

第二章  开发流程 UML是从一大推面向对象分析与设计的方法论中所诞生出来的.在某种程度范围内,这些方法论都会在图形模型语言中混合某种开发流程,以说明软件该如何开发下去. 1.反覆式和瀑布式的开发流程 两者的本质差异在于:我们该如何把项目分解成一些比较小的部分.我们需要把项目加以分解,这样一来大家就可以随时掌握问题,并追踪进度. 瀑布式开发风格是根据开发活动来分解项目的.为了编写软件,你需要进行一些特定的开发活动,包括:需求分析.设计.编程与测试.如果是一年的时间需要如下分配: 分析阶段 设计阶

浅谈UML学习笔记之用例图

最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下. 一.概念 用例图是由参与者.用例以及它们之间的关系构成的用于描述系统功能的动态视图. 用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做.用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例. 二.组成 用例图组成的概念,我们通过一张图学习: 我们重点讲解用例组成中用例之间

Lucene4.9学习笔记——Lucene建立索引

基本上创建索引需要三个步骤: 1.创建索引库IndexWriter对象 2.根据文件创建文档Document 3.向索引库中写入文档内容 这其中主要涉及到了IndexWriter(索引的核心组件,用于创建或追加索引).Document(代表一些域Field的集合).Field(具体的域,如文档创建时间.作者.内容等).Analyzer(分词器).Directory(用于描述索引存放位置)这些主要的类. 我们参照上一节的代码来看建立索引. 1.创建IndexWriter // 索引文件的保存位置

QT学习笔记_建立连接

所谓建立连接,即用户对某个按钮点击之后程序要做出的响应.这次写了一个退出按钮. //建立连接 即响应事件 #include <QApplication> #include <QPushButton> int main(int argc,char *argv[]) { QApplication app(argc,argv); QPushButton *button=new QPushButton("Quit"); QObject::connect(button,S

浅谈UML学习笔记动态图之状态图和活动图

Trufun Plato Trufun Plato是新一代的UML建模软件,它将为您的软件分析设计提供高效快捷的建模工具.Trufun是在OMG发布UML2.2规范之后同步发布UML2.X工具的CASE工具厂商,是基于全新理念的.中国人自己的先进的企业级UML工具.   原文转自trufun.net网站,更多UML资料和项目模型,可以到网站下载. 状态图 我先简单的理解一下,什么是状态机?① 在日常生活中,状态机,我们理解为记录下给定时刻状态的机器,根据不同的输入对每个给定的变化而改变其状态或引