论坛首页 Java企业应用论坛

UML篇章1. 什么是建模

浏览 1696 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-16  
什么是建模?
通过客观事物建立一种抽象的方法用于表征事物并且获取对事物本身的理解,同时把这些理解概念化,将这些逻辑组合起来构成一种对所有观察的对象的内部结构和工作原理的便于理解的方式


1. 怎么建?
当试图建模的时候首先要明确建模的目的是什么(决定抽象角度),做需求的时候,首先目标不是弄清楚业务怎么一步一步的完成,而是弄清楚有多少业务的参与者?每个参与者的目标是什么?参与者的目标就是你抽象角度。与分析一个复杂的业务流程比,单独的分析参与者的一个个目的要简单的多。实际上,这就是用例。也就是因为这种用例会成为业务建模的方法的原因之一

2. 模是什么
这依赖于场景模拟。
一旦决定抽象角度就要决定抽象目标,在找出事物的过程的时候其实采用的是过程化,而非面向对象。
一个由抽象角度确定了的目标需要有静态事物加上特定条件下产生一个特定的场景来完成,即静态的事物(物)+特定的条件(规则)+特定的动作(参与者的行为)=特din的场景(事件)

备注:问题领域=抽象角度
  抽象角度=问题领域边界之外的参与者的业务目标=业务用例
  业务用例=特定场景
  特定场景=静态事物+特定条件+特定的动作或者
  特定的事=特定的事物+特定的规则+特定的人和行为


用例驱动
用例驱动是统一过程的重要概念,或者说整个软件生产过程就是用用例驱动
在软件项目中,一个软件要实现的功能通过用例来捕获,加下来的所有分析,设计,实现,测试都是由用例来驱动,即以实现用例为目标
在统一过程中,用例捕获了系统的功能性需求,用例驱动内容包含:
逻辑视图
系统只有一个逻辑视图,该试图以图形方式说明关键的用例实现,子系统,包和类,他们包含在架构方面具有重要意义的行为,即建模公司中的那些人 ,事,物,规则的如何分类组织的
进程视图
系统只有一个进程图,它以图形的形式说明系统中进程的详细组织结构,其中包括类和子系统到进程和线程的映射,即建模公式中说的人事物规则是如何交互的

部署视图
它以图形方式说明了处理活动在系统中各节点的分布,包括进程线程的物理分布
实施图
列举实施建模中的所有子系统
描述子系统如何组织为层次和分层组织的构件图
描述子系统间的导入依赖关系的图解


抽象层次
抽象层次越高,具体信息就越少,但是概括能力越强,反之,具体信息越丰富,结果越确定,但相应的概括能力越弱。

抽象方法:自顶向下,自底向上
业务建模概念建模系统建模设计实现  自顶而下的设计
在软件设计中主体上应采用自顶而下的方法


视图
视图是人们观察事物的角度。不同的人或者同一个人处于不同的目的会对同一个信息从不同的角度来审查和评审,视角是针对每一个视图来说,不同的视角,展示了同样的信息的不同认知角度以便于理解
一方面,从信息的角度来说,恰当的角度可以让观察者更容易抓住信息的本质,另一方面,从观察者角度说,观察者只会关心信息中他感兴趣的那一部分角度
在设计时候应该常思考如下问题:
1. 应该为那些软件信息绘制那些视图?
2. 应该给那些干系人展示那些视角

对象分析方法
1. 一切皆对象(即使是流程也是)
2. 对象是独立的
要深入了解对象,我们经常需要分析多个该对象的实例所参与的场景,以获取对像的多个侧面,再通过归纳整理这些对象的多个实例抽象出对象的一般特性,这就是对象的分析方法(对象在多个场景具有多面性,不能局限于一个场景)
3. 对象都具有原子性
4. 对象都是可抽象的
5. 对象具有层次性
6. 对象分析方法总结:独立性原子性,抽象性和层次性,是面向对象分析时应当遵循的一些原则和方法。





论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics