你用泡沫聚苯乙烯塑造你的系统吗?

[目的-C]

你还用泡沫聚苯乙烯塑造你的系统,每个球代表一个类?

汤姆·洛夫:我们确实。 我们也做了一个3Danimation版本,我们发现它远不如泡沫聚苯乙烯球有用。 在一个定期更新的开发项目中间,天花板上悬挂着一个明显的物理结构,不仅提供了您正在构build的系统的结构,还提供了每个类的当前状态。

我们最后一次计算了19个项目。 其中一个class是1856class,这个class很大,实际上可能比应该大一些。 这是一个大的商业项目,所以它需要有点大。

编程大师


这是我第一次阅读或听说使用聚苯乙烯泡沫球来build模。
这是一个常用的技术? 而且,这种build模如何帮助我们devise更好的系统?

如果您有任何照片可以向我们展示这些课程是如何performance出来的,那就太棒了!


更新:所以,大多数人使用的材料似乎是纸。 泡沫聚苯乙烯球实际上是古怪的 ,而不是一个常用的技术。

值得注意的技巧:

  • “纸盘和串”造型, NealB
  • 在白板上张贴便条, 杰森
  • Class-Responsibility-Collaboration卡, duffymo
  • 统治的纸片粘在墙上, AMissico

谢谢大家的非常好的答案。

8 Solutions collect form web for “你用泡沫聚苯乙烯塑造你的系统吗?”

我发现了几个泡沫塑料模型:

Windows 95

莲花便笺

(如果有帮助)

实际上,这是一个Tom Love案例研究,展示了他的几个模型 。

这个模型可能是市场上最便宜的CASE工具 – 材料成本20.35美元。 这比我曾经使用的任何CASE工具更有用。

我们用了三个重要的方法。

  1. 它确定了我们在完成的应用程序中传递的类的数量,我们不允许添加新的类,除非现有的类可以被删除。

  2. 这是一个非常有用的方式,公开logging哪些类已被代码审查(蓝丝带)和testing(绿色丝带)。

  3. 它帮助每个人了解正在构build的内容以及进行testing,文档和代码审查需要多less时间和精力。

编辑:对象模型的照片

替代文字http://img686.imageshack.us/img686/82/stryrofoamobjectmodel.jpg

发泡胶球模型似乎可以追溯到20世纪90年代中期 – 当时的CASE(计算机辅助系统分析)系统是所有的愤怒。

当时,CASE系统承诺了显着的好处,但是速度很慢,越野车,不稳定,过度使用和笨拙使用。 基本上,潜力很长但交货时间短。

我记得和一个从事我的另一个项目的分析师交谈过。 她的团队对于CASE系统感到非常沮丧,以至于他们抛弃了这个系统,并采取了“纸盘和串”的模式。 他们预留了一间会议室,拿走了所有的家具,并使用带有连接它们的string(代表数据stream)的标签纸板布置了他们的stream程模型。 她声称这比它取代的CASE系统更有用。

我怀疑发泡胶球模型有类似的根源。

使用泡沫聚苯乙烯球或纸碟促进devise“买入”。 如果一个团队发现一些东西在周围聚集,自然会形成一个共同的devise焦点。 它很简单,具体而且简单 – 使用它需要大量的面对面的交stream和讨论。 这就是价值的来源。 我怀疑如果你把一个新的人带进了这个项目,并且通过回顾“模型”让他们自我调整,他们将会“死在水中”。 然而,通过“模型”来引导他们,一个真正的对话将发生在所有需要的信息需要在项目上执行将非常迅速和有效地传授。

我认为聚苯乙烯泡沫塑料球可以成为一个可持续的build模工具吗? 不,我不知道。 在不断变化的环境中保持最新状态将是一个真正的痛苦。 他们传达的信息很less。 现在有更好的工具可用。 最重要的是,如果你正在合作的球队不“买”,而且他们可能不会,那看起来真的很愚蠢 – 就好像一个运动队的吉祥物,只有球队“买它” ”。

不,我们不这样做。 在我这个30多年的IT行业里,我从来没有听说过有这样的人。

这可以帮助您devise更好的系统的唯一方法是:

  • 由于难以build立发泡胶模型,因此要保持class级数量的减less; 和
  • 最大限度地减less变化,因为更新它将在后端严重的痛苦。

除了这两个可疑的特征,我不认为这是非常有用的。 我几乎可以断定这是某种恶作剧。 我想,做一些真正的工作要好得多。

严重的是,如果我们试图用styro咖啡杯和吸pipe来模拟我们的应用,我们的老板们就会把这些男士叫做白色外套。

白板上的便笺本似乎在我旅行的圈子中很受欢迎。物品贴在“贴子”上,然后重新排列它们,直到你按照自己想要的方式build立关系。

然后是颜色build模人员使用4色的Post-Its,并为每种颜色分配一个原型。 这听起来不像是一个很大的改进,但站在一个房间看着它,你可以告诉系统中缺less特征或不明物体的地方。

有一个应用,我认为我们往往忘记 – 使用工具来expression一个架构自然是我们在业界多年,但有一些有价值的,虽然较less的技术意识的利益相关者谁可能不把重要的概念作为容易。 有时候,指向一组球并且说:“这是语言处理模型,如果我实现了你想要的特性,在这里,这里和这里都会有结果,你可以看到有连接了很多球“。

build筑师,无论是devisebuild筑物还是系统,都可能依靠这些有形的模型来灌输支票作家。

我认为UML是无用的。 聚苯乙烯泡沫球模型使UML看起来比较正面优雅。

病房坎宁安的CRC卡的想法是更有用的,甚至更便宜,仍然保留了爱博士之后的触觉质量。

我读这个问题之前我从来没有听说过这个想法。 它值得原始投票。 而“Windows”和“Lotus Notes”图片是无价的。

纸条被贴在墙上,每张纸都是一个组件,类,实体,或任何需要的东西。 每个人都有一支铅笔。

每个人都可以在devise会议上写上“冲洗”模型。 如会议笔记,实施笔记,新class级,删除class级,为什么没有特定class级的原因,等等。 devise会议之后,首席devise师把它们重写下来,再次用“草稿”版本的笔“冲洗”出来。 然后,devise师可以根据每张纸的纸币做出决定,为任何附加组件创build新的纸张。 为下次会议生成主题,logging任何缺陷,logging编码所需的任何devise/实现细节,或其他任何他们需要做的事情。

重复会议,直到每个人都满意。 铅笔是新的东西,钢笔是以前的项目。 一旦每个人都快乐起来,devise师就可以创build工作草案,并在每个人都可以看到并初步接受“工作草案”的地方张贴工作草案。

没有什么是最终的 钢笔版本是“最新”的版本。 铅笔版本是“在制品”或“草稿”版本。

简单,快速,灵活,无需在计算机上浪费时间,具有很高的可视性。 工人的维基。

不,我的团队不这样做。

我非常想要用图像macros来模拟。 但是我正在考虑这个想法是愚蠢的,它是自我嘲讽。

  • jQuery库中使用的devise模式
  • 为什么__init __()总是在__new __()之后调用?
  • 什么是自以为是的软件?
  • Twitter的Bootstrap是否像Skeleton一样友好?
  • 从具体类inheritance的任何好例子?
  • 什么是包装类?
  • 战略模式如何工作?
  • 是否有一个MySQL选项/function来跟踪logging更改的历史logging?