面向对象设计过程的理解

 

1,相关知识

      领域分析:阐明需求,为利益相关人和开发者之间的约定提供依据,而且要把模型当成设计和实现的出发点。

      分析模型描述了对象的静态结构(类模型)、对象之间的交互(交互模型)和对象的生存期(状态模型)三个方面。在每个问题当中,这三个子模型并不是同等重要。几乎所有的问题都有类模型,类模型是对现实世界实体的抽象。

1.1    领域类模型建立步骤:

  1. 寻找类
  2. 准备数据字典
  3. 确定关联
  4. 确定类属性
  5. 使用继承来细化
  6. 测试访问路径
  7. 迭代类模型
  8. 抽象类的层次
  9. 把类分组打包

多数领域类不需要状态图,可以通过一系列操作来充分地描述。但是,对于少数没有展示出不同状态的类,状态模型有助于理解它们的行为。

1.2    领域状态模型建立步骤:

  1. 确定具有状态的领域类
  2. 寻找状态
  3. 寻找引起状态变化的事件
  4. 构造状态图

交互模型中,我们一般使用用例图、场景和顺序图来描述。我们也应该为复杂或者有充分细节的用例编写活动图。

1.3    交互模型建立步骤:(1 – 6 部分其实是用例图及其用例描述的过程

  1. 确定系统边界
  2. 寻找参与者
  3. 寻找用例
  4. 寻找初始和终止事件
  5. 准备普通场
  6. 增加变化和异常场景
  7. 寻找外部事件(此处使用顺序图/时序图描述)
  8. 编制复杂用例的活动图
  9. 检查领域类模型,保证与交互模型一致性

以上引用于《UML面向对象建模与设计》(【美】Michael Blaha  James Rumaugh)第二版12章领域分析与13章应用分析部分。

2,总结

      我们都认为面向对象的设计的分析过程,起于需求及相关描述,产生了领域模型,其中可能包含顺序图/时序图,类图以及其他相关的图形。在数据字典以及其他相关数据的描述形式前提下,类图向ER图演变,经过一系列的过程产生传统的关系型数据库。

       而顺序图,类图作为UML描述设计的重要图形贯穿了整个面向对象的整个设计阶段。其中顺序图描述了场景中参与者与参与者之间的交互,这种交互将转化为类或者模块之间的接口。对类模型(类图描述)进行一系列的调整(设计算法、重构、优化类、调整继承以及细化包),我们将会得到包图。

      至此,我们得到了具有基本完整骨架的系统设计。

posted @ 2016-01-10 17:28  Madshaw  阅读(1252)  评论(0编辑  收藏  举报