UML (Unified Modeling Language)
统一建模语言 www.yippeesoft.com
UML,我想我还是称呼它这个英文名字的好,上面的汉语真是不知道是什么意思。它是用于进行面向对象设计中的一个重要步骤,它的定义来自于统一了三种面向对象分析方法而得来,它们分别是:Grady Booch的描述对象集及关系的方法;James Rumbaugh的对象模式技术(OMT)和Ivar Jacobson法。在Rational Software的支持下,Booch,Rumbaugh和Jacobson和其它人集合了它们的思想形成了UML。UML现在已经被作为OMG的标准了,OMG可是CORBA标准的制定者,一个不小的组织,可见UML已经是很成熟的技术了。CASE产品和一些大型的软件开发厂商(如IBM和微软)已经开始支持这种标准。至于看什么书,我想就是创建者们的书最值得看了。
统一建模语言(Unified Modeling Language)是一种用于描述、构造软件系统以及商业建模的语言,综合了在大型、复杂系统的建模领域得到认可的优秀的软件工程方法。UML是大多数公司采用的标准,是ANSI和OMG等部门采用的标准。
1993年Rational公司的Booch、Rumbaugh、Jacobson开始设计UML方法,1995年后期,正式推出0.8版的Unified Method。1996年,改进的Unified Method正式更名为UML(Unified Modeling Language)。1997年UMLl.0被提交给对象技术组织OTG(Object Technology Organization),最后,1997年11月14日,OMG将UML1.作为行业标准。UML结合了Booch、OMT和Jacobson方法,统一了符号体系,并从其它的方法和软件工程实践中吸收了许多经过实际检验的概念和技术,UML是Grady Booch、Dr. James Rumbaugh、Ivar Jacobson、Rebecca Wirfs-Brock、Peter Yourdon和许多其他人员集体智慧的结晶。
UML的产生有三方面的原因:首先,不同的面向对象方法有着许多相似之处,通过这项工作,消除可能会给使用者造成混淆的不必要的差异是非常有意义的;其次,语义和表示法的统一,可以稳定面向对象技术的市场,使工程开发可以采用一门成熟的建模语言,CASE工具的设计者也可以集中精力设计出更优秀的系统;第三,这种统一能使现有的方法继续向前发展,积累已有的经验,解决以前没有解决好的问题。
UML为软件系统建模提供了以下四个方面的支持:
· 使用事件模型 (use case):定义系统的使用事件(use case)、角色(actor)及角色与事件之间的交互行为(association)。
· 类和对象模型:定义类、对象及相互之间的关系。
· 组件模型:组件是组成应用程序的可执行单元,类被分配到组件中,以提供可重复使用的应用程序结构部件。组件为即插即用的应用程序结构奠定了基础。UML对可重用性的支持,在设计的前期体现在支持可重复使用的类和结构,后期则体现在组件装配。
· 分布处理模型:将软件系统映射到分布处理结构中。UML能够描述网络拓扑结构的节点,这些节点相互的连接方式以及软件系统在网络中的分布情况。
利用UML框图可以开发几种不同的可视框图,表示系统的不同方面。这些框图主要有:
· Use Case框图:显示使用案例Case(系统功能)和角色(表示提供或接收系统信息的用户和系统)之间的交互。
· Sequence框图。显示使用案例的功能流程。
· Collaboration框图:显示对象间为完成某个系统功能而进行的交互。
· C1ass框图:显示系统中类与类之间的交互。
· State Transition框图:Class框图显示系统中类的静态图形,而State Transition框图显示动态图形,即系统状态分析。
· Component框图:模型的物理视图,显示系统中的软件组件以及它们之间的相互关系。
· Deployment框图:显示网络的物理布局和各种组件的位置。
一、UML概述 www.yippeesoft.com
1. 可视化建模有助于: www.yippeesoft.com
¨ 捕获商业流程 –> 捕获系统结构或行为
¨ 描述如何将系统元素整合在一起 –> 定义软件构架
¨ 保持设计和实现的一致性
¨ 适当的隐藏或暴露细节 –> 管理复杂性
¨ 使人员间的交流更明确 –> 促进沟通
¨ UML为所有开发者提供了一种表示语言
可视化的建模帮助开发组形象化,详细说明,构造并且文档化一个系统的体系结构和行为。
2. 标准建模语言UML的出现是面向对象技术发展的必然
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
我一直不能理解,为了 更加有效的交流,然后大家去学习一门第三方语言?这不是多此一举?随便看看最喜欢的那个登录例子,简直感觉就像那些玩文字的,一个简单的事情可以说到上下五千年,五湖四海~~~,最后一看,原来不过如此。
让我想起我经历过的一个项目,做的WEB ASP.NET,四个人作了五个月,预研、分析、文档、编码规范、规划、数据字典、设计模式、面向对象,最后出了一个,人家想用,可是嫌弃价格太高,最后他们内部一个人用PHP两个月就完成了。
头脑风暴法又称集体思考法或智力激荡法,最初由美国著名学者奥斯本提出,一般采用会议的形式进行。头脑风暴法认为许多问题解决的思考点,并不是由闪现在头脑中的第一个念头而自动产生的。因此,为了寻求最佳解决方案,有必要通过集体团队协作的力量来定义、解决问题。头脑风暴法以集体讨论为契机,从而考虑多种可能的解决方案,是提升思维创造力的集体训练法。
头脑风暴法有可分为直接头脑风暴法(简称为头脑风暴法)和质疑头脑风暴法(也称反头脑风暴法)。
一、直接头脑风暴法 www.yippeesoft.com
集中有关专家召开专题会议,主持者以明确的方式向所有参与者阐明问题,说明会议的规则,尽力创造在融洽轻松的会议气氛。由专家们“自由”提出尽可能多的方案。
二、质疑头脑风暴法
在决策过程中,对上述直接头脑风暴法提出的系统化的方案和设想,还经常采用质疑头脑风暴法进行质疑和完善。
今天去听了这么一个玩意,我的感觉就是大家开会,不过我一向主张 核心,不能走题,由于我不是老板,所以经常就看到大家头脑风暴,最后只好匆匆定下一个结论
不过我一向讨厌这种所谓的咨询,感觉和股评人士差不多,能够这么有用,你自己为什么不实践?
有一个故事说,美国西部淘金热兴起时,许多人都涌向西部,与此同时,也催生了“卖水者”。但几年过去了,真正淘到金子的人没多少,而在路边向淘金者卖水的人却赚了大钱。 www.yippeesoft.com
有一个年轻人从向下过来道城市里面卖东西,一个厂商看到他觉得这个年轻人蛮老实的,所以就雇佣了它,他第一天上班晚了之后,老板问他卖了多少东西,这个人说我只做了一笔生意,老板很生气,那笔生意的成交额是多少?他说是一亿,一个营业员可能做一个月都做不到,最后他说有办法做到这么多?因为他说消费者想要买预购,我就告诉他买小鱼钩,中鱼钩,大鱼钩,你必须要买小鱼钩配小的鱼竿,买的鱼竿去钓鱼一定要有一艘船,买完船之后如何把游艇拖到海边钓鱼,有一台大的卡车,我今天帮他从鱼竿开始一直到最后的汽车都买了,老板很惊讶,问他所他只是来买一个鱼钩,你就有办法卖出这么多东西吗,你真是了不起,这个销售员跟他讲,他不是来买鱼钩的,那他是来买什么的?他说消费者过来帮他太太买卫生棉的,反正你这个礼拜没事儿做干吗不去钓鱼, www.yippeesoft.com
这是一个很出名的销售人员故事,世界上没有无缘无故的爱,没有会真正给你免费的好的东西,说到底,卖,就是卖。 www.yippeesoft.com
卖高科技和卖大白菜没有什么区别,不同的是销售技巧。 www.yippeesoft.com
卖大白菜说自己无污染,纯绿色,可以唬住我这个五谷不分的家伙;卖概念的说自己MS IBM INTEL 资深高级×××,也能唬住我这个没有见过世面的土包子。
这个说自己大白菜没虫,卫生;那个也可以说有虫说明没有农药;这个也可以说用的生物农药
Mind map,中文翻译为“思维导图”。听起来有点玄乎,说白了就是以图像方式记录思路或者描述事物的一种方法。(看看下面的图就有直观了解了)。在我的理解中,mind map是辅助整理思路和思维扩展的一个工具,一方面以层次化的形式将思路条理化,另一方面能快速记录下头脑中闪现的想法,特别适合于头脑风暴的场合。
两年前看到有关mind map的介绍,当时非常感兴趣,跑去图书馆把Tony Buzan的书借来看。惭愧的是,书放到过期都没有看几页,因为对那些心理学的理论不感兴趣。Tony Buzan在书中把这个方法吹嘘得神乎其神,我总觉得他有黄婆卖瓜之嫌。Mind map从本质上与outline(大纲)差不多,它的很多长处用outline也可以实现。但他说到人的大脑对于文字、图像、声音是由不同的区域处理的,图像的方式可以刺激大脑的特定区域,比单纯文字要好,对此我是很有体会的,一向以来我都比较喜欢以画图的方式来思考问题。
历史博文
- Android aren't all open source - 2009
- 20071212 Max Pool Size - 2008
- 20070425 wap ota - 2007
- 0424 sip 呼叫保持 Call Hold - 2006
- LINUX ZIPMAGIC 动态文件名 - 2005