用UML进行面向对象的分析设计的软件开发步骤

用UML进行面向对象的分析设计的软件开发步骤  


 

       UMLUnified Modeling Language的缩写)统一建模语言,曾经红极一时,备受软件开发人员的推崇,不少工具宣称从设计到代码映射的强力支持,不少软件公司、组织用它进行软件分析、设计、开发,到目前为止还是软件领域很重要的一部分。但在实际的软件开发过程中使用UML进行全程的开发会受到各个方面的制约,不是那么理想的。但他作为软件人员之间交流的语言的作用还是其他方式无法替代的。用它进行软件项目的前期分析、设计还是很用价值的。

 

本文以UML建模工具Together 6.2为例

 

1、  根据用户需求定义系统角色、系统边界,并定义用例模型图:


 

 

2、  基于业务规则创建活动图

 

3、  由用例模型图进行软件系统对象的抽象、提取,形成静态类的模型图,这一步是整个UML分析、设计的关键步骤,直接影响整个软件系统的对象模型及整体架构,是软件开发人员各方面综合能力的体现:

 

类对应的代码:

 

4、  使用类模式进行代码重构:

使用Together 建模工具在进行类图设计时将会自动生成类的代码框架,类中的属性、方法都将自动生成,只不过方法体内是空的。这一步骤即需要我们对这些空的方法体进行初步填充,如果要应用设计模式,也在此步骤中进行,如单利模式、工厂模式、观察者、适配器、。。。

下面是我们的 Reservation 构造方法代码.

public Reservation(String name, int tKind) {

   this.name = name;

 

  // We will refactor this next piece of code

   lnkTicket = null;

   if (tKind == 1)

       lnkTicket = new Coach() ;

   else if (tKind == 2)

      lnkTicket = new FirstClass();

 }

 

使用工厂模式对代码进行重构后的类图(部分):

下面是我们的新代码改造后的 Reservation 构造方法.

public Reservation(String name, int tKind) {

   this.name = name;

 

   TicketMaster tm = new TicketMaster();

   lnkTicket = tm.createTicket(tKind);

 }

 

5、  构建时序图

类图给出了模型的整体结构但类图是静态图与模型的行为无关在这步中你将创建一些时序图来描述行为是如何发生的.

在创建时序图时常经过一下步骤:

1 创建一个时序图草图

2 将一般对象关联到类将一般消息关联到操作

3 在模型图中放置控制代码

 

Together工具中,既可以“从模型图实现代码”也可以“从代码生成模型图”

一个时序图如下:

协作图:协作图与活动图在逻辑上是等价的,只是将同样的信息表现为不同的形式。Together 支持对这两个模型图的相互转换,且只保持一个文件

一个协作图如下:

  

6、  运行和调试 Java 工程

Together支持对java工程的运行、调试。但不建议在Together中进行这一步,毕竟Together不能跟专业的IDE开发工具相比。


7、  文档生成

Together支持java文档的自动生成。并支持HTMLPDFRTFTXT等格式的文档生成。

 

 

 

 

小结:对于本文中的第六步(运行和调试java工程),一个好的方式是将UML建模工具生成的代码框架,拷贝一份,并导入到专业的IDE开发工具中,如Eclipse,然后进行运行调试。

 

       Together提到给我们的是UML的建模环境,将生成的模型结果进行项目成员的交流是很有用处的。

 

教程下载:

http://d.download.csdn.net/down/1067102/chishan911

实例代码下载:

http://download.csdn.net/source/2466650

你可能感兴趣的:(UML和架构设计)