所在位置:专家讲座 - 内容 论坛精华    
Grady Booch面向对象分析设计方法学讨论会

时间:北京时间2009年8月18日(周二)晚上19:00-21:00

演讲人
UMLChina王海鹏、潘加宇。

幻灯下载
链接>>

现场图片

声音记录
*网盘下载(72M)
*ed2k下载(72M)

文字记录

(19:35:39)*kywsky与所有人说:大家好
(19:35:52)彭辉与所有人说:欢迎kuang tx
(19:35:58)*kywsky与彭辉说:呵呵
(19:36:45)*kywsky与彭辉说:今天的主讲内容是什么
(19:37:02)彭辉与所有人说:先听。。。我把课件发给你
(19:37:11)*kywsky与彭辉说:好的
(19:37:26)wenpengsong与所有人说:我这里又没有声音了
(19:37:53)worm与所有人说:IE8进不来
(19:38:05)*kywsky与所有人说:我的是IE8
(19:38:33)worm与所有人说:我的直接用IE8就会死
(19:38:35)[*umlchina2]与所有人说:我们会和碧聊反映
(19:44:48)*kywsky与*umlchina_seminar说:我也是
(19:47:40)[*umlchina2]与所有人说:大家可以在原地址重新下载一次幻灯,里面有个pptx文件已经做成pdf了
(19:52:52)*24楼飞下与所有人说:多谢多谢!!谢谢您!!!!
(19:52:59)彭辉与所有人说:这个声音大
(19:53:07)wf_59389828与所有人说:恩恩
(19:53:08)sealwang与所有人说:很好
(19:53:11)cao与所有人说:能听到
(19:53:11)彭辉与所有人说:鼓掌,,感谢
(19:53:17)wywork_cn与所有人说:可以听到
(19:53:27)soli与所有人说:可以听到 .
(19:54:47)*kywsky与所有人说:刚才给掉线了
(20:19:50)*kywsky与彭辉说:还在吗
(20:29:08)[*umlchina2]与所有人说:大家有问题可以交流
(20:30:00)chin与所有人说:该书的主题是以核心领域为目的 用面向对象的方法去分析系统
(20:30:12)*hj0755与*hj0755说:感谢
(20:30:21)wf_59389828与所有人说:希望我的歌声能给大家带来快乐!
(20:30:53)*jjwuzsh与所有人说:面向对象设计时,抽象出的一些概念用户理解起来有些困难,或者说用户本没有这个概念的名词,如何把握?
(20:31:22)sealwang与所有人说:跟客户要用客户的语言交流
(20:31:53)*jjwuzsh与所有人说:但客户只会和你讲需求,不会和你抽象
(20:32:02)[*umlchina2]与所有人说:设计不需要涉众(用户)理解,和涉众交流的是涉众利益(需求)
(20:32:08)sealwang与所有人说:不要要求客户学习新东西,虽然有些客户可能很善于学习,但这样的客户是少数
(20:32:29)*王伟晔与所有人说:关于领域的UML设计,能不能举个简单具体的例子
(20:32:40)sealwang与所有人说:前一阵,当我跟客户提到持久时,花了好多时间解释
(20:32:42)[*umlchina2]与所有人说:客户找你买个收音机,说了功能性能,你还要他帮你设计里面的模块吗?
(20:32:48)chin与所有人说:潘老师: 有没有详细的样例 采用面向对象的方法设计的系统?
(20:33:14)*jjwuzsh与所有人说:但问题是我们抽象出来的概念必须在系统使用,而如果用户不理解,他无法使用这个概念相关的内容
(20:33:23)sealwang与所有人说:这样的样例,建议您去看《彩色UML建模》
(20:33:30)*王伟晔与所有人说:PPT上的例子还想不是现实中遇到的,所以理解较困难
(20:33:46)sealwang与所有人说:那本书里对一个企业级系统进行了完整的分析
(20:34:07)boreas与所有人说:如何在嵌入式系统中(C语言)中使用面向对象方法?
(20:35:01)[*umlchina2]与所有人说:现在的成功系统,特别是领域的依赖性比较低的系统,面向对象方法已经用得很好了
(20:35:04)chin与所有人说:在实际运用中, 如果客户需要一张统计表, 在设计中也将此报表设计为一个类?
(20:35:20)k2_wang与所有人说:业务领域中变化的部分往往是系统工作量最大的部分,除了常见事前和用户调研组织结构变化情况,流程变化情况等,还有没有别的方法,还有就是如何灵活的设计来应对这些变化
(20:36:08)[*umlchina2]与所有人说:例如,通信的基础设施,它不依赖于任何运行于其上的其他领域,这种系统,它的“负载”低,应用对象方法最彻底
(20:36:47)[*umlchina2]与所有人说:必须在系统使用==在界面上使用?
(20:37:04)chin与所有人说:是的 但象企业ERP系统 好象面向对象设计较难
(20:37:21)sealwang与所有人说:是不是把统计表设计为一个类,取决于它是否有职责,类因职责而存在,不是简单的数据包装
(20:37:42)*王伟晔与所有人说:ERP是多系统的集成吧,应该细分到可执行为止
(20:38:19)sealwang与所有人说:《彩色UML建模》提供了一个ERP分析的完整例子
(20:38:39)[*umlchina2]与所有人说:嵌入式系统中(C语言)中使用面向对象方法--嵌入式系统反而更应该用对象方法,因为:1.它对质量要求高,有必要全方位建模。2. 个头小,全方位建模特别是状态机建模成为可能
(20:38:56)*jjwuzsh与所有人说:是啊,比如抽象出来的一些概念是对某个领域的一些内容的抽象的定义,而要开始使用系统时,需要用户将这些概念性的内容定义好,问题是他都很难理解这个他怎么做好这一块的定义?
(20:39:18)[*umlchina2]与所有人说:企业ERP系统 好象面向对象设计较难--对的,因为这个领域位于食物链的顶端,负载大
(20:39:23)sealwang与所有人说:有兴趣的可以去看看,Peter Coad如何用OO来对ERP建模
(20:39:29)[*umlchina2]与所有人说:但是,再难也要做。
(20:40:18)[*umlchina2]与所有人说:要解决复杂性,只能迎难而上,别人30分,我们咬咬牙能到40分,就很好了
(20:40:28)sealwang与所有人说:组织机构的变化,流程的变化,也需要关注点分离。例如采用一些工作流引擎
(20:40:30)[*umlchina2]与所有人说:不难,怎么赚钱呢?
(20:41:03)*王伟晔与所有人说:不难也未必不可以赚钱啊
(20:41:03)boreas与所有人说:但是在嵌入式领域,开发人员对面向对象了解少,很难实现
(20:41:12)sealwang与所有人说:事因难能,所以可贵。呵呵
(20:41:39)*王伟晔与所有人说:难做做不错来你也赚不了啊
(20:42:06)chin与所有人说:象发票输入, 一般开发语言都提供了数据感应的表格控件, 使用起来很方面, 如果使用对象的话, 该对象要关联一个DATASET 才方便
(20:42:09)[*umlchina2]与所有人说:不难也未必不可以赚钱啊--你举一个不难也可以赚钱的例子?
(20:42:20)sealwang与所有人说:不是为了面向对象而面向对象,要带来实实在在的好处
(20:42:29)sealwang与所有人说:比如降低开发和维护成本
(20:43:12)sealwang与所有人说:其实难者不会,会者不难
(20:43:40)sealwang与所有人说:要会,就需要长时间的学习和实践
(20:44:25)*王伟晔与所有人说:刚才说领域模型经过多次重构才可以完善,但是如果服务器经过多次频繁的重构,客户端的开发员就要撞墙了,请问老师有没有什么好办法,让客户端的程序员不用撞墙
(20:45:04)sealwang与所有人说:这需要松耦合设计
(20:45:38)sealwang与所有人说:定好协议,接口规定做什么,怎么做各自负责
(20:45:41)k2_wang与所有人说:如果服务器的重构严重影响到了客户端,就不是一个好的重构 个人认为
(20:45:44)[*umlchina2]与所有人说:领域模型经过多次重构才可以完善--我没有这样说啊,重构只是底线,我并不鼓励以“重构”为由放弃应有的思考
(20:46:04)*王伟晔与所有人说:我们是想搞清楚是客户端主导领域的设计,然后找合适的服务支持
(20:46:21)sealwang与所有人说:我是说当你接触一个以前完全不了解的领域时
(20:46:27)[*umlchina2]与所有人说:只有提升技能,精通核心域的业务,别无他法
(20:47:11)sealwang与所有人说:必要时,也要改变客户端-服务器之间的协议
(20:47:41)sealwang与所有人说:RESTful的架构风格就考虑到了协议的改变
(20:47:46)chin与所有人说:目前潘老师和王老师主要开发哪种类型的系统 我们开发较多的是C/S下的MIS系统
(20:48:21)sealwang与所有人说:我目前在做一个期货自动化交易系统
(20:48:25)[*umlchina2]与所有人说:“分离变化点”,“高内聚”,“低耦合”大家都会喊口号,但如果不精通领域知识,是不会得到好结果的
(20:48:40)[*umlchina2]与所有人说:我们主要是为软件公司提供技术支持
(20:48:43)*jjwuzsh与所有人说:既然是设计上的重构,就不可能只是服务端的事,而客户端可以不用撞墙,呵呵,除非只是服务端的代码意义上的重构
(20:48:51)sealwang与所有人说:同一个词,在不同人口中说出来是不一样的
(20:49:11)sealwang与所有人说:太祖长拳在乔峰手上就比较厉害
(20:49:25)[*umlchina2]与所有人说:接口的设计之所以出问题,往往是因为分不清“卖”和“做”
(20:50:04)*王伟晔与所有人说:语境不一样,所以要描述记录相关项,这个我同意。
(20:50:33)sealwang与所有人说:当你把客户端的开发和服务器端的开发分成两个团队,这就是团队协同的问题
(20:52:00)sealwang与所有人说:要敏捷,就要拥抱变化,没有什么是不能变的,只要这种变化有利于我们实现目标
(20:53:13)chin与所有人说:那象开发文档资料要到后面补了
(20:53:21)*jjwuzsh与所有人说:问题是如果你设计时什么都要考虑可能的变化,那这个设计会弄得很复杂,并且很难设计好
(20:54:16)sealwang与所有人说:所以要关注点分离,要延后实现
(20:54:39)sealwang与所有人说:不要事先设计好所有的东西,而那些东西可能永远不需要
(20:54:51)*王伟晔与所有人说:我觉得变化应该是不同的子叶,而不是主干变化吧
(20:56:18)sealwang与所有人说:业务也可能变化,相关支持技术也可能变化
(20:56:24)chin与所有人说:象王老师开发的期货系统 一般采用哪种开发语言?
(20:56:49)sealwang与所有人说:我在用java,因为我比较熟这个
(20:57:02)*王伟晔与所有人说:多谢多谢!!谢谢您!!!!
(20:57:38)sealwang与所有人说:系统的关键抽象只有一个:策略
(20:58:36)sealwang与所有人说:至于都有哪些策略,那是领域专家的事情,目前是我向他们学习
(20:59:29)sealwang与所有人说:所以使用那种工具/语言,要看你的团队技能
(21:00:01)sealwang与所有人说:学习新语言/工具的风险可能比较大一些
(21:00:25)k2_wang与所有人说:王老师现在开发的期货系统是基于某一个以前就有的开发平台,还是怎么样
(21:00:59)sealwang与所有人说:从头做起,与已有交易网关接口