aimingoo的专栏

.F{color:red}aimingoo

用户操作
[即时聊天] [发私信] [加为好友]
周爱民ID:aimingoo
407590次访问,排名123好友89人,关注者129
aimingoo的文章
原创 121 篇
翻译 0 篇
转载 0 篇
评论 705 篇
aimingoo的公告
新书出版:
china-pub在线购买
相关评论和文章

其它:
 相关评论和文章
 相关评论和文章
最近评论
sherryxuelian:读了《大道至简》,感觉真的收益匪浅。我对这本书的评价是:作者真的是一个善于深刻思考的人,这本书透过繁杂的技术神秘面纱,引领读者来到一个简单和纯净的本源之所,在这里,我看到我曾迷信着的,在纷乱中困惑着的,竟是如此的真实,合理和亲切。再次感谢作者提出对《移山之道》的建议,正好我也买了这本书,呵呵,其实还真是因为《大道至简》才买的,刚开始看书名还以为是《大道至简》的仿照版,(还在想微软这么资深的员……
jackhatedance:这个标题使我想到了martin fowler的blog,他说的是更直接:UML无用。作为敏捷的先锋,他认为MDA,UML都是没用的,DSL才是正道。他说敏捷团队基本不用UML。我想是因为他到了更高的境界,UML图已经可以在他的脑袋里画了。

链接如下:
http://martinfowler.com/bliki/ModelDrivenSoftwareDevelo……
cm_chenmin:老师的文章必定是掘地三尺呀
uvsjoh:看来我是成不了大师啊 ^_^, 那些算法、数学真难懂!
jbdren:看了半天,没有看出什么是“程序设计语言范型”!是分类吗?如果是分类,前后的分类标准又不一样!
这里面有一点是正确的,那就是:抽象。抽象是人类思维能力提高的一个有效途径,这一点,我们可以学习一下数学。语言是什么,关键看用这种语言设计出来的程序主要由什么构成。函数(过程)、对象、接口都可以看做数据的一个抽象,就好像数学中,数不仅仅是1、2、3一样,它可以是一个函数、一个体系。同理,程序……
文章分类
收藏
    相册
    旅游
    我、joy与朋友们
    其它
    Hello World!
    ZDNet China软件技术专区
    我的链接
    aimingoo's 网上空地
    我的Delphi项目资源
    麦秸的垛
    我的朋友们
    kiki-玩java的国际游人
    Margaret
    叶卡-Online
    左左-网行者
    老孟-孟岩的孟
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 对话:关于架构、设计与需求收藏

    新一篇: 我的程序语言实践 | 旧一篇: 从表达式到函数:表面的简洁

    wwe: ...
    wwe: 我这几年的大部分工作也是偏重架构设计
    Aim: 有什么感想呢?
    wwe: 个人觉得架构设计就像生活中的一部分
    Aim: EN..这个怎么讲?
    wwe: 架构设计就像规划你的生活一样,都想把它变好、变美
    Aim: 但是,你也应该知道。会有很多人、很多因素让生活变得不美好。
    wwe: 当然
    wwe: 但有一个美好的愿景是很重要的
    Aim: 规划就如同畅想,你甚至可以认为:床与床头柜之前应该是U形连结的最为美观,但最后发现那样的一套家俱大概要40平米的卧室,而你现在的卧室只有25平米。
    Aim: 客户的需要向来没个定准。而且你又不能指望他在需求说明书签完字之后,就不再变更。我们不能在他变更的时候讲法律、讲合约。那没意义。
    Aim: 怎么办呢?设计的弹性需要多大?你如何把握客户的变更,而是不仅是接受他当下的需求?

    wwe: 当然首先要满足客户的需求,贴近客户
    wwe: 合适的才是美好的
    wwe: 我觉得需求的变化是正常的,就像装修房子,我觉得可以尝试拥抱变化,一种方式就是用迭代、增量,快速用户反馈等方法来把握变化
    wwe: 还有就是需求一直没有变化过,可能就因为我们自己没有很好的理解需求,这就要求我们多同领域专家多沟通交流了

    Aim: 你能让这个拥抱变得快乐些吗?我的意思是说,你认为哪些是不变的,以一个实例来说,你认为一套考试系统中有哪些是不变的?
    Aim: 你围绕什么在做、在实施。又为什么能保证在三届学生之后、五年之后、五任教师之后、两套教材之后,这套考试系统是不需要做框架级的变动的呢?
    wwe: 通过分层来理清业务模块,比如可以有基础构件层,考试通用构件层,通用构件层,再加上业务流程层
    wwe: 考试系统的最终必须可以个性化,通过个人定制流程来符合各种各样人的需求
    wwe: 让使用者来制定流程,比如老师等;学生自己也可以制定流程(比如自学等)
    Aim:
    是吗?我为什么要让考生定制流程?

    Aim: 哈哈。
    Aim: 第一,你现在已经掉在了一个坑里。
    Aim: 第二,你已经被需求淹没了。

    Aim: 首先,你现在已经掉在了一个坑里。因为我最开始说是“一套考试系统中有哪些是不变的”。而你并没有明确地问我是什么样的“一套考试系统”。
    Aim: 你说“是考试过程管理,考试数据管理,考生成绩管理,还是考场管理等等”
    Aim: 所以你接下来的设计“通过分层来理清业务模块,比如可以有基础构件层,考试通用构件层,通用构件层,再加上业务流程层……”这看起来合理,但没有任何的针对性。因为原本需求就不明确,所以你的结构就只能是通用结构,而不是专门的设计。
    wwe: 哈哈,是的
    wwe: 确实到坑理了,我想起一本书《你的灯还亮着吗》
    wwe: 问题是什么,非常重要,:)

    Aim: 第二个问题,“你已经被需求淹没了”。当你发现我提了一堆问题“……你围绕什么在做、在实施。又为什么能保证在三届学生之后、五年之后、五任教师之后、两套教材之后,这套考试系统是不需要做框架级的变动的呢?”
    Aim: 之后,你给了很复杂的答案:让使用者来制定流程,比如老师等;学生自己也可以制定流程(比如自学等)
    Aim: 但事实上,因为你需求并不明确,所以产品的使用角色也就不清晰。所以,你并不知道,可能考生根本不需要参与这个系统。所以我提出的需求中有一部分是“错的”,需要被过滤掉。因此,你无可避免地被淹没了。
    wwe: 是的
    Aim: 我提出问题时并没想——也就是说,这不是我专门挖的坑。但我看到你的第二个答案时,我便意识到最先的需求描述出了问题。
    Aim: 你应该更敏锐一些。因为我出问题时很随意,但你回答则应该更小心。8-|

    Aim: 说起来,《你的等还亮吗》这本书我也非常喜欢。在《大道至简》的纸质版中,我还引用过几处呢。
    Aim: 我在盛大学到的第一课,就是争论起源于问题的不一致,而不是问题。也就是说,对于两个同样聪明的人来说,如果他们面临的问题一致,那么就不应该有争论。
    wwe: 确实,很有可能两个人在讨论“同一个问题”,而实际上“问题”是不一样的
    wwe: 另外我觉得波莉亚写的《怎样解题》这本书也非常不错
    Aim: 这个我倒没看,哈哈,谢谢推荐,回头找来看看呵。
     

    注:wwe是某公司的架构师与经理。

    发表于 @ 2007年10月22日 10:12:00|评论(loading...)|编辑

    新一篇: 我的程序语言实践 | 旧一篇: 从表达式到函数:表面的简洁

    评论

    #hotplum 发表于2007-10-22 14:59:48  IP: 221.221.148.*
    "争论起源于问题的不一致,而不是问题。也就是说,对于两个同样聪明的人来说,如果他们面临的问题一致,那么就不应该有争论。 "

    这是我们开会的前提,如果问题不一致就不需要开会!
    #报告 发表于2007-10-23 14:22:34  IP: 221.216.5.*
    对话很精彩!...
    #Zilog_T 发表于2007-10-24 21:04:47  IP: 221.238.245.*
    很到位的例子
    #Hawk_e2e 发表于2007-10-25 14:33:43  IP: 121.32.169.*
    有道理:设计前须先搞清楚到底要解决什么问题。
    所以在跟客户调研时,须认同客户碰到的问题。
    #pzhuyy 发表于2007-10-26 08:57:10  IP: 219.137.162.*
    精彩.
    #Killer 发表于2007-10-26 15:06:39  IP: 61.145.246.*
    wwe,跳进坑里是什么感觉?
    哈哈哈:)
    #Ivony 发表于2007-10-29 17:00:28  IP: 222.66.64.*
    wwe显然是只架不构的类型。

    其实国人总喜欢把问题搞复杂,一下子这本书一下子那个理论。

    从上面的对话来说,我看只有一个问题,wwe不是先问后做,而是先做后问,这就好比医生给病人看病,不是先问问哪里痛哪里不舒服,而是先开药做实验,最后把病人治死了也不知道问题在哪里。


    你连你要做个什么东西都不知道,就开始大谈架构三层构件乱七八糟,生搬硬套。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © aimingoo