时间
2009年8月18日(周二)晚上19:00-21:00
演讲人
王海鹏、潘加宇,《面向对象分析与设计》(第3版)译者。
声音记录
网盘下载(72M):http://pan.baidu.com/share/link?shareid=71860&uk=1795750932
复杂系统的架构方式,下载:http://umlchina.com/chat/slide/seminar090817.rar
(19:35:39)*kywsky与所有人说:大家好(19:35:52)彭辉与所有人说:欢迎kuang tx(19:36:45)*kywsky与彭辉说:今天的主讲内容是什么(19:37:02)彭辉与所有人说:先听。。。我把课件发给你(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:53:07)wf_59389828与所有人说:恩恩(19:53:08)sealwang与所有人说:很好(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与所有人说:从头做起,与已有交易网关接口