做设计的步骤
来源:互联网 发布:社交网络电影百度云 编辑:程序博客网 时间: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的描述,看事件流,找出所有的实体类,这也有一些可以遵循的原则,例如找出所有的名词,画表格排除等等方法。
然后分析实体类之间的关系,是包含,聚合还是依赖,是1:1,还是1:n,还是其他....,根据这些关系,就可以得出实体类和别的实体类想关联的属性,然后再找出每个实体类本身重要的属性。
然后再次分析Use Case的事件流,一方面check实体类的设计是否合理,另一方面你可以找出动词,分析对实体类的控制逻辑,这样就可以可以设计出业务控制类,一般你可以一个实体类一个控制类,也可以业务逻辑相关的实体类由一个Facade Session Bean(非EJB含义)来统一控制,这里面的控制类的颗粒度就由你自己来掌握了。一般来说先可以设计一些细颗粒度的控制类,然后再按照模块,用粗粒度封装细颗粒度的控制类,提供给Web层一个Facade。
然后你可以画序列图,就是用序列图来表达事件流,在这个过程中,你需要不断回到类图,给控制类添加方法,而序列图就是控制类的方法调用。
至此,你已经在Rose里面完成了概要设计,当然你不可能一次设计完善,会有很多次迭代,因此你不能一开始把类设计的太详细,只抓住主要的属性和方法,特别需要注意的是,是抽象的设计,不要用具体的编程语言来表达类。
三。实施(结合xdoclet和Schema工具自动生成代码)
然后你就可以抛开Rose了,转到Eclipse+Togehter里面,根据那些类,规划一下package层次,然后在Together里面进行类的详细设计,所有需要的属性一一写上,当然你还是不可能一下把所有的属性方法写全,不过没有关系,把重要的写好就行了。
然后类框架已经生成好了,给所有的实体类加上xdoclet,然后生成hbm,然后用Hibernate的ExportScheme生成DDL,运行一遍自动创建好所有的表。这样所有的实体相关类全部做好了。
你现在就集中精力把控制类那些方法里面的代码填写上就OK了,在这个过程,你会发现有些实体类缺属性,没有关系,加上属性,然后写好xdoclet,运行一遍,自动生成hbm,自动创建好表,然后继续写你的方法,也有可能你发现控制类缺方法,那么就加上。
基本上实体类就是getter/setter,和少量的实体相关方法,所有的控制逻辑都写在控制类里面。
最后你的软件就基本写好了,用Eclipse生成好一堆你的testCase运行测试,反复修改,除bug。
看看使用OOAD的设计思路,是多么的爽的事情阿!你只需要把精力放到Use Case的抽象,实体类的关系总结,控制类的归纳。而当你使用Eclipse+Together之后,你所需要写的代码只不过是控制类的方法实现代码,其他的都已经生成好了。另外可能需要写少量工具类。
- 做设计的步骤
- 做设计的步骤
- 做smartform的步骤
- 做网站的步骤
- 做一个网站的步骤
- 做数据挖掘的步骤
- 做网站建设的步骤
- 算法设计的步骤
- 设计数据库的步骤
- 设计数据库的步骤
- 数据库设计的步骤
- 懒的做设计...
- 三个.net做安装程序的步骤
- 做算法处理:(MessageDigest)处理的步骤
- 在学校做系统的实施步骤
- 做算法编程题的一般步骤
- 做网络营销的心态与步骤
- 手把手教你做网站的步骤
- 一次成功的远距离调试——1亿美元的硬件,1亿英里的距离
- 每天进步一点点
- RECYCLER
- Eclipse连接MySQL数据库
- 在DBGrid中加入Checkbox
- 做设计的步骤
- 创业者需要具备什么能力--走出软件作坊:三五个人十来条枪 如何成为开发正规军(四十二)
- 奥运会结束,各大房地产公司关心信息化
- 做查询的心得!
- 什么是云计算
- VC++常用数据类型及其操作详解
- 网袋布局管理器--GridBagLayout使用介绍
- 关于spring声明式事务管理异常处理的测试和小结
- 常见视频文件格式详解目录