做设计的步骤

来源:互联网 发布:社交网络电影百度云 编辑:程序博客网 时间:2024/05/01 08:41
 

做设计的步骤

key words: 如何做设计 设计步骤

转自http://www.javaeye.com/topic/1464?page=3

    http://www.javaeye.com/topic/1464

    http://www.blogjava.net/alex/archive/2006/09/20/70678.html 

 

一。需求分析(抽象Use case + 分析Use case之间的关系)

 

分析软件需求,以用户的角度来使用软件,找出发生的scenerio,抽象成为一个一个Use Case,分析出Use Case之间的关系,这一步是非常重要的,这一步做好了,设计就成功了一半。Use Case的抽象有一些可以遵循的原则,这里不详细谈。

 

然后用语言描述每一个Use Case,描述用户使用一个Use Case发生的主事件流以及异常流。

 

这样就完成了需求分析阶段。

 

二。概要设计(找出实体 + 分析实体类之间的关系 + 提取控制类 + 画序列图)

 

 

接下来做概要设计,针对每个Use Case,读Use Case的描述,看事件流,找出所有的实体类,这也有一些可以遵循的原则,例如找出所有的名词,画表格排除等等方法。

 

然后分析实体类之间的关系,是包含,聚合还是依赖,是11,还是1n,还是其他....,根据这些关系,就可以得出实体类和别的实体类想关联的属性,然后再找出每个实体类本身重要的属性。

 

然后再次分析Use Case的事件流,一方面check实体类的设计是否合理,另一方面你可以找出动词,分析对实体类的控制逻辑,这样就可以可以设计出业务控制类,一般你可以一个实体类一个控制类,也可以业务逻辑相关的实体类由一个Facade Session Bean(EJB含义)来统一控制,这里面的控制类的颗粒度就由你自己来掌握了。一般来说先可以设计一些细颗粒度的控制类,然后再按照模块,用粗粒度封装细颗粒度的控制类,提供给Web层一个Facade

 

然后你可以画序列图,就是用序列图来表达事件流,在这个过程中,你需要不断回到类图,给控制类添加方法,而序列图就是控制类的方法调用。

 

至此,你已经在Rose里面完成了概要设计,当然你不可能一次设计完善,会有很多次迭代,因此你不能一开始把类设计的太详细,只抓住主要的属性和方法,特别需要注意的是,是抽象的设计,不要用具体的编程语言来表达类。

 

三。实施(结合xdocletSchema工具自动生成代码)

 

 

然后你就可以抛开Rose了,转到Eclipse+Togehter里面,根据那些类,规划一下package层次,然后在Together里面进行类的详细设计,所有需要的属性一一写上,当然你还是不可能一下把所有的属性方法写全,不过没有关系,把重要的写好就行了。

 

然后类框架已经生成好了,给所有的实体类加上xdoclet,然后生成hbm,然后用HibernateExportScheme生成DDL,运行一遍自动创建好所有的表。这样所有的实体相关类全部做好了。

 

你现在就集中精力把控制类那些方法里面的代码填写上就OK了,在这个过程,你会发现有些实体类缺属性,没有关系,加上属性,然后写好xdoclet,运行一遍,自动生成hbm,自动创建好表,然后继续写你的方法,也有可能你发现控制类缺方法,那么就加上。

 

基本上实体类就是getter/setter,和少量的实体相关方法,所有的控制逻辑都写在控制类里面。

 

最后你的软件就基本写好了,用Eclipse生成好一堆你的testCase运行测试,反复修改,除bug

 

看看使用OOAD的设计思路,是多么的爽的事情阿!你只需要把精力放到Use Case的抽象,实体类的关系总结,控制类的归纳。而当你使用EclipseTogether之后,你所需要写的代码只不过是控制类的方法实现代码,其他的都已经生成好了。另外可能需要写少量工具类。

 

 

 

原创粉丝点击