`
hunter090730
  • 浏览: 194472 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

四色原型的学习心得分享

阅读更多

    在讨论四色原型之前,我想先狗胆讨论下什么是我所认识的“世界”?

我觉得世界由物质 及其相互作用 组成。“物质 ”是不以人的意识为转移的客观存在 ;而“相互作用 ”则是我们平时所理解的各种活动 ,比如人与人之间的交谈,打架,等等。还有一点需要特别分析一下,那就是“何为客观”?我觉得客观是一个相对的概念,可以这样简单的理解:如果A没有修改B的权利,也就是说B不以A的意识为转移,则认为B是A的客观存在;反之,则认为B不是A的客观存在。

     举个例子,一家软件公司为一家金融机构做一个金融领域的软件。该金融软件需要满足一些和金融领域相关的一些业务规则。那么业务规则相对于这家软件公 司来说是否是一个客观存在呢?回答是肯定的。为什么,因为这家软件公司无法修改该业务规则,也就是说,金融行业的业务规则是不以软件公司的意识为转移的; 那么金融行业的业务规则在任何情况下就一定是客观存在了吗?不是!因为金融行业的业务规则是由全人类想出来的,只要全人类说我们要修改这个业务规则,那它 就可以被修改,也就是说金融行业的业务规则相对于全人类来说是主观的,而不是客观的。因为全人类可以修改该业务规则。

四色原型是什么?我觉得它是帮助我们分析物质世界的一种科学的方法论。 关于什么是物质世界我上面已经讨论过了, 下面看看我所理解的四色原型是什么样子的:

1. 时刻-时间段原型(Moment-Interval Archetype)
表示在某个时刻或某一段时间内发生的某个活动。使用粉红色表示,简写为MI。
2. 参与方-地点-物品原型(Part-Place-Thing Archetype)
表示参与某个活动的人或物,地点则是活动的发生地。使用绿色表示。简写为PPT。
3. 描述原型(Description Archetype)
表示对PPT的本质 描述。它不是PPT的分类!Description是从PPT抽象出来的不变的共性的属性的集合。使用蓝色表示,简写为DESC。

举个例子,有一个人叫张三,如果某个外星人问你张三是什么?你会怎么说?可能会说,张三是个人,但是外星人不知道“人”是什么。然后你会怎么办?你 就会说:张三是个由一个头、两只手、两只脚,以及一个身体组成的客观存在。虽然这时外星人仍然不知道人是什么,但我已经可以借用这个例子向大家说明什么是 “Description”了。在这个例子中,张三就是一个PPT,而“由一个头、两只手、两只脚,以及一个身体组成的客观存在”就是对张三的 Description,头、手、脚、身体则是人的本质的不变的共性的属性的集合。但我们人类比较聪明,很会抽象总结和命名,已经把这个 Description用一个字来代替了,那就是“人”。所以就有所谓的张三是人的说法。

4. 角色原型(Role Archetype)
角色就是我们平时所理解的“身份”。使用黄色表示,简写为Role。为什么会有角色这个概念?因为有些活动,只允许具有特定角色(身份)的 PPT(参与者)才能参与该活动。比如一个人只有具有教师的角色才能上课(一种活动);一个人只有是一个合法公民才能参与选举和被选举;但是有些活动也是 不需要角色的,比如一个人不需要具备任何角色就可以睡觉(一种活动)。当然,其实说人不需要角色就能睡觉也是错误的,错在哪里?因为我们可以这样理解:一 个客观存在只要具有“人”的角色就能睡觉,其实这时候,我们已经把DESC当作角色来看待了。所以,其实角色这个概念是非常广的,不能用我们平时所理解的 狭义的“身份”来理解,因为“教师”、“合法公民”、“人”都可以被作为角色来看待。因此,应该这样说:任何一个活动,都需要具有一定角色的参与者才能参 与。

用一句话来概括四色原型就是:一个什么什么样的人或组织或物品以某种角色参与某个活动。 其中“什么什么样的”就是DESC,“人或组织或物品”就是PPT,“角色”就是Role,而”活动“就是MI。

我觉得世界由很多的物质及其相互作用组成,而我们平时所说的软件则是一个由我们人类根据主观意识设计出来的对一个客观世界的一个虚拟映射。比如我们 在做一个图书管理系统时,会分析需求,需求来自于客观世界。我们会将需求分析的结果用代码来实现。所以,我觉得因为世界由物质及其相互作用(即活动)组 成;那么需求就是由虚拟的物质(OO中的对象)和虚拟的物质之间的相互作用(OO中的对象之间的交互)组成。所以可以引导出:当我们要设计一个软件时,主 要的任务就是要弄清楚该软件由哪些对象组成,以及由哪些活动组成,并且重点应该是要分析出有哪些活动,一切设计的最原始需求都应该以为了完成某个活动为目 标。那么该如何来理解和分析这些活动呢?比如假设一个图书管理系统中有100个活动,只要实现了这100个活动,那这个系统就自然完成了。那么如何用科学 的方法来分析这些活动呢?答案之一就是我们可以用上面提到的四色原型的分析方法来分析。即我们总是可以用这样的方法来分析每一个活动:一个什么什么样的人或组织或物品以某种角色参与某个活动。

当我学习了四色原型后,虽然我不能确定它一定是科学的正确的认识世界的方法论,但至少可以让我在分析软件需求时有一种可选择的方法可以参考。而这已 经够了,因为之前我根本没有任何方法可以参考。 接下来我准备学习DCI架构,一旦学的差不多了之后,就会用这两个新的武器来分析和设计一个论坛。分析论坛的业务逻辑用四色原型来做,而设计则用DCI架 构来做。相信这会是我近期的一个正确的并且有意义的目标。

 

以下是关于四色原型的一些学习资料,仅供大家参考:

http://www.jdon.com/mda/archetypes.html

http://www.jdon.com/mda/archetypes2.html

http://www.cnblogs.com/ego/articles/1384212.html

http://knol.google.com/k/object-modelling-in-colour#Class_Archetypes

http://product.china-pub.com/209160

 

2011-4-11来源:cnblogs.com 作者:netfocus

分享到:
评论

相关推荐

    四色原型pub四色原型 pub

    四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pub四色原型 pubv

    领域建模-四色原型介绍

    四色原型是面向对象设计中的一个概念,源自90年代,由Peter Coad和Mark Mayfield提出,并由David North进一步发展。这一方法主要用于系统分析,特别是在软件开发的领域建模阶段,以提升理解和抽象业务需求的效率。...

    NPetShop中Account的四色原型分析

    ### NPetShop中Account的四色原型分析 #### 前言 .NET界存在两款知名的PetShop项目:一款由微软官方推出,版本已更新至4.0;另一款则为IBatis.NET团队所开发的NPetShop。相较于前者,NPetShop在设计上更贴近面向...

    四色原型图进行业务建模的思考

    ### 四色原型图进行业务建模的思考 #### 一、四色原型图概述 四色原型图是一种系统分析方法,它起源于90年代,由Peter Coad和Mark Mayfield提出,并由David North进一步发展。这种方法在软件开发过程中起到了重要...

    四色原型--整合贴

    火龙果软件工程技术中心 前言我们搞技术的有很多误区,比如经常陷入纯技术钻牛角尖的争辩,而全然不顾业务场景,技术活做太多,经验一箩筐,但是有时会疑惑,这些经验是否适合其他自己没有经历过的新系统呢?...

    Java modeling in color with UML

    书中的核心概念是“四色原型”,这是一种软件分析方法和工具。这本书和其方法论的介绍强调了颜色在建模中的作用,并指出模型的形状是受到Java启发的,即使用组合而非继承,并且适当地使用了接口插件点以增加灵活性。...

    UML简介电子书软考世界版

    UML简介电子书软考世界版

    折叠导航系统原型学习.rp

    折叠导航系统原型学习.rp

    原型设计分享

    ### 原型设计分享——Axure工具使用心得 #### 一、原型设计的重要性与定义 **原型**作为产品设计初期的重要组成部分,是产品经理用来展现产品思路的一种方式。它是产品团队内部以及与其他利益相关者(如需求方、UI...

    基于原型学习与深度特征融合的脑功能连接分类方法研究.docx

    基于原型学习与深度特征融合的脑功能连接分类方法研究 本文研究提出了一种基于原型学习与深度特征融合的脑功能连接分类方法,旨在提高脑功能连接分类的准确率。脑功能连接是指脑区之间的互相协作方式,可以通过静息...

    【产品经理工具包-组件库】 - AxureUX内容分享平台交互原型模板.zip

    【产品经理工具包-组件库】 - AxureUX...通过这个模板,产品经理和设计师不仅可以快速构建出内容分享平台的原型,还能借此机会学习和掌握更多关于Axure RP的高级技巧和设计最佳实践,从而提升整体项目质量和开发效率。

    一种基于原型学习的多示例卷积神经网络.pdf

    标题提及的“一种基于原型学习的多示例卷积神经网络”是一种深度学习模型,旨在解决在样本类别标签不完整或弱监督情况下的学习问题。这种模型通过引入原型学习层,实现了从实例特征到包特征的映射,使得网络可以在包...

    Axure原型设计:移动端图片管理原型.docx

    图片管理是移动端图片管理原型的核心组件,包括分享发送、收藏删除图片等操作。Axure 原型设计中提供了两种图片管理方式:单图管理和批量管理。单图管理方式是直接左右滑动查看大图,看到喜欢的点击收藏,系统保存到...

    学习心得(C#,SQL,javascript,etc...

    本文将结合标题“学习心得(C#,SQL,javascript,etc...)”和描述,深入探讨这三个领域的关键知识点,并分享工作中的实际应用和经验。 首先,我们来谈谈C#。C#是一种面向对象的编程语言,由微软开发,主要用于构建...

    axure网站原型旅游主题设计.zip

    8. **实战案例**:作为Axure的实战案例,这个压缩包可以供学习者参考和实践,理解如何用Axure构建复杂的网页原型,提升设计技能。 9. **文件组织**:压缩包内的文件结构反映了网站原型的组织方式,这对于理解原型的...

Global site tag (gtag.js) - Google Analytics