Seven's Pad

Just another Product Blog site

初识UML

leave a comment »

UML是什么?百度知道是如此解释的:UML是统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。形象地说即UML是把现实世界映射到对象世界的方法、从对象世界描述现实世界的方法、验证对象世界行为是否正确反映了现实世界的方法。

讲到面向对象的分析方法,在这里就不得不介绍面向过得的分析方法与面各对象的分析方法之间区别所在。面向过程的分析方法:在需求调研时最先弄清楚有多少业务流程,先画出业务流程图,然后顺藤摸瓜,找出业务流程中每个步骤的参与部门或岗位,弄清楚在这一步参与者所做的事情和填写表单的结果,并关心用户是如何把这份表单传给到下一个环节 ;面向对象的分析方法:在调研需求时最先弄清楚有多少部门,多少岗位,然后找到每个岗位的业务代表,问他们类似的问题:你平时都做什么?这件事是谁交办的?做完了你需要通知或传达给谁吗?做这件事情你都需要填写些什么表格吗?…

把现实世界映射到对象世界的第一步.UML采用用例这一关键元素捕获了现实世界的人要做的事,再通过用例场景、领域模型等视图将现实世界的人、事、物、规则这些构成现实世界的元素用UML这种语言描述出来。

UML有三大模型,即业务模型、概念模型和设计模型。

业务模型

现实世界之本质是由人、事、物和规则组成的.人是一切的中心,人要做事,做事就会使用一些物并产生另一些物,同时做事需要遵循一定的规则。人驱动系统,事体现过程,物记录结果,规则是控件。

建立模型的关键在于弄明白有什么人,什么人做什么事,什么事产生佬物,中间有什么规则,再把人、事、物之间的关系定义出来,一个模型就基本成型了。参与者即模型信息来源的提供者,也是第一驱动者。换句话说,要建立的模型的意义完全被参与者决定,所建立的模型也是完全为参与者服务的,参与者是整个建模过程的中心。用例作为一种元模型来表示驱动者的业务目标,也就是参与者想要做什么并且获得什么。这个业务目标(现实世界中的"事")是怎么做的,依据什么规则,则通过被称之为业务场景和用例场景的UML视图来描绘的,这些场景便是现实世界中的"规则"。

最后,UML通过被称之为业务对象模型的视图来说明在达成这些业务目标的过程中涉及到的事物,用逻辑概念来表示他们,并定义它们之间的关系。业务对象模型则代表了现实世界中的"物"。

概念模型

当业务模型用分析类来描述的时候,我们实际上已经采用了对象视角。用例所代表的现实的业务过程,被"边界" 、"控制" 、"实体"以及"包" 、"组件"等概念替代。从业务模型到概念模型这一过程,正是我们需要的一种从对象世界来描述现实世界的方法。

绘制分析模型最主要的元模型有:

  • 边界类 boundary
    边界决定了外面能对里面做什么"事"
  • 实体类 entity
    原始需求中领域模型中的业务实体映射了现实世界中参与者完成业务目标时所涉及的事物,UML采用实体类来重新表达业务实体;
  • 控制类 control
    边界和实体都是静态的,本身不会动作.UML采用控制类来表述原始需求中的动态信息,即业务或用例场景中的步骤和活动。

从UML的观点看,边界类和实体类之间,边界类和边界类之间,实体类和实体类之间不能够直接相互访问,它们需要通过控制类来代理访问要求,把动作和物体分开。

设计模型

在设计模型中,概念模型中的边界类可以被转化为操作界面或者系统接口;控制类可以被转化为计算程序或控制程序,例如工作流 算法体等;实体类可以转化为数据库表 XML文档或者其他带有持久化特征的类。

Advertisements

Written by sevenpad

06/18/2010 在 4:02 下午

发表在 产品相关

Tagged with , ,

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: