培训效果不错,因为当时自己有些问题在脑中还没整理清楚,所以现场问不出什么问题,现将问题整理如下:
1.分析软件需求,以用户的角度来使用软件,找出发生的 scenario,抽象成为一个一个Use Case,分析出Use Case之间的关系,这一步是非常重要的,这一步做好了,设计就成功了一半。那么怎样将scenario抽象成Use Case,自己感到比较迷茫,这其中有什么原则没有?
2.
边界类定义:
* Intermediate the interface to something outside the system
* Several Type
-- User Interface classes
-- System Interface classes
-- Device interface classes
* One boundary class per actor/use case pair(每一对Actor/Use Case就有一个边界类)
控制类定义:
* Use-case behavior coordinator
* One control class per use case(每一个用例有一个控制类)
分析Use Case的事件流,找出动词,分析对实体类的控制逻辑,这样就可以设计出业务控制类,一般可以一个实体类一个控制类,也可以业务逻辑相关的实体类由一个Facade Session Bean(非EJB含义)来统一控制,这里面的控制类的颗粒度就由自己来掌握.
我的疑惑就是在Dao<-sevice<- Control (action)的分层结构中,控制类应该位于哪一层次,处于什么样的依赖关系?
期望下此更深的培训有关不分,和如何分解一个USE CASE,和如何进行下一步的设计中能有所启示。
P.S :
关联: 就是a对象的实例用b对象的实例的某些方法和属性,但b对象的实例不会因为a对象的实例的销毁而销毁
(如手和键盘的关系)
组合: a对象的实例是b对象的实例一创建就会生成的,也会因为b对象的实例一销毁而销毁. a 是b的部分
(如手和人的关系)
聚合: a对象的实例是b对象在调用过程中生成,也会因为b对象一销毁而销毁.
(如声音和口的关系)
1.分析软件需求,以用户的角度来使用软件,找出发生的 scenario,抽象成为一个一个Use Case,分析出Use Case之间的关系,这一步是非常重要的,这一步做好了,设计就成功了一半。那么怎样将scenario抽象成Use Case,自己感到比较迷茫,这其中有什么原则没有?
2.
边界类定义:
* Intermediate the interface to something outside the system
* Several Type
-- User Interface classes
-- System Interface classes
-- Device interface classes
* One boundary class per actor/use case pair(每一对Actor/Use Case就有一个边界类)
控制类定义:
* Use-case behavior coordinator
* One control class per use case(每一个用例有一个控制类)
分析Use Case的事件流,找出动词,分析对实体类的控制逻辑,这样就可以设计出业务控制类,一般可以一个实体类一个控制类,也可以业务逻辑相关的实体类由一个Facade Session Bean(非EJB含义)来统一控制,这里面的控制类的颗粒度就由自己来掌握.
我的疑惑就是在Dao<-sevice<- Control (action)的分层结构中,控制类应该位于哪一层次,处于什么样的依赖关系?
期望下此更深的培训有关不分,和如何分解一个USE CASE,和如何进行下一步的设计中能有所启示。
P.S :
关联: 就是a对象的实例用b对象的实例的某些方法和属性,但b对象的实例不会因为a对象的实例的销毁而销毁
(如手和键盘的关系)
组合: a对象的实例是b对象的实例一创建就会生成的,也会因为b对象的实例一销毁而销毁. a 是b的部分
(如手和人的关系)
聚合: a对象的实例是b对象在调用过程中生成,也会因为b对象一销毁而销毁.
(如声音和口的关系)