千里之行

始于足下
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2011-10-15 09:59  donetbaoxj320  阅读(1019)  评论(0编辑  收藏  举报
转自:http://wangfc123.blog.163.com/blog/static/157468012010519111418266/

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

 

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

 

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

 

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


用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风
 

 

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

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风
 

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

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风

 

类对应的代码:

用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();

 }

 

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

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风

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

public Reservation(String name, int tKind) {

   this.name = name;

 

   TicketMaster tm = new TicketMaster();

   lnkTicket = tm.createTicket(tKind);

 }

 

5、  构建时序图

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

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

1 创建一个时序图草图

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

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

 

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

一个时序图如下:

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风

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

一个协作图如下:

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风
  

6、  运行和调试 Java 工程

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


7、  文档生成

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

 

用UML进行面向对象的分析设计的软件开发步骤 - 叶落听风 - 叶落听风
 

 

 

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

 

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

 

教程下载:

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

实例代码下载:

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