您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
浅论阴阳太极与UML建模[1]
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000
  软件设计中的二元关系充满了二元辩证、平衡之道的现代软件工程,竟然与两千年前中国古典哲学《阴阳太极》中的黑、白对立统一相暗合,这真的是历史的巧合,还是科学的必然?

  UML抽象、简洁、高于Java、C++诸等高级程序设计语言之上的形象表达,可以让我们真切领略到蕴藏于软件那纷繁芜杂的细节表面之后的一份简单、和谐之美。

  软件究竟是什么?有很多比喻可以形容。静态的软件就像一座虚拟的建筑(Architecture),而运动时的软件有时就像一部开动的虚拟机器,或多条柔性的工厂流水线(进程与线程),有时又像一种虚拟的生物,可以肆意的复制和生长(比如软件病毒)。

  过去有一种说法认为:程序 = 算法 + 数据结构,如今看来这种旧结构化时代的观点是不准确、不全面的,在新结构化时代我们至少可以得出这样大致的公式:程序 = 算法 + 软件结构 + 数据结构,在这里我们强调软件结构不同于数据结构,软件是操纵数据的程序,而软件结构(包括架构和设计模式)的质量对软件的质量同样具有决定性的影响。

  过去这15年无疑是面向对象(OO)软件的天下,世界软件开发早已进入了OO时代。

  人们知道,高质量的好软件是设计出来的,而软件的设计目前依然主要依赖于人们大脑的思考和判断,人类大脑的思考过程恰是一个对现实世界以及虚拟世界建模的过程。

  而作为OO建模技术的事实上工业标准,统一建模语言(UML)正好为我们提供了一个运用OO思维进行软件建模和设计的工具。

  UML 1.4.2成为正式国际标准ISO/IEC 19501是软件设计史上的一个重要事件,UML标准成熟之后的研发进展也比较顺利,当前最新版本为2.1。

  UML有什么用?作为一种建模“语言”,促进沟通是一项基本功能,然而很多人忽视了UML独立于传统具象编程语言、擅长表达抽象OO概念的一大特点。

  事实上,熟练掌握UML能够帮助我们的大脑学会快速、敏捷地运用OO方式进行思考。UML标准及其相关技术不但是近10年来各工程领域OO软件设计与建模的利器,还是当前表达软件设计模式最形象和最有效的工具。

  在我看来,学会运用UML思考,抽象地用UML表达软件架构和设计方案,从而能透过现象看本质,是当今任何一名软件架构师乃至普通OO程序员都应该尽快掌握的基本功。所以,这几年世界各地的大专院校纷纷把OOAD/UML列为一门软件工程专业的必修课也在情理之中了。

  建模(modeling)并不是软件行业所特有的做法,建模几乎是几千年来人类所有工程行业所共有的一项最佳实践。为什么我们要对软件建模?因为软件太复杂,难以理解和掌握,我们需要一种能够简单而深刻地反映软件设计本质的方法和工具。如何建模?就像对待建筑模型、机械模型一样,软件也是一个多面体(虚拟的),我们也需要选择视点、视角和视图,对模型做投影、做切片。Kruchten 博士提出的著名的 4+1 视图(逻辑视图、实现视图、构件视图和进程视图,再加上用例视图)为我们利用UML对复杂软件的结构和行为建模提供了很好的指导。

  软件设计和UML建模既然那么重要,有什么简单易学、提纲携领的好方法、好原则吗?我曾经编写了一首建模口诀,多次在讲课咨询时与客户、学员们分享交流,取得了很好的效果。

  这首太极建模诗(或叫十六字OO建模口诀)受到了Larman(《UML和模式应用》)、Cockburn(《编写有效用例》)、3 Amigos(《UML用户指南》)等世界级专家们睿智大作的启发,也凝结了我10多年来从事OO设计和编程的一点小小感悟。

  我发现“外与内,高与低,静与动,粗与细”等基本二元辩证关系,不但适用于软件用例需求的建模,也适用于软件架构的OOAD/UML 建模。

  当然,软件设计中的二元关系还远不止这些。充满了二元辩证、平衡之道的现代软件工程,竟然与两千年前中国古典哲学《阴阳太极》中的黑、白对立统一相暗合,这真的是历史的巧合,还是科学的必然?

本新闻共2页,当前在第1页  1  2

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:浅论阴阳太极与UML建模[2]
下一篇:HiPER助力南钢能源中心信息化应用
 相关新闻
·无线传感器网络上的安全问题几解决方案·布线研究:关于综合布线热点问题的探讨
·网络布线高级技术布线系统的管理与智能化·有关光纤网卡和主机总线适配器区别分析
·综合布线系统在各类不同建筑的应用简介·布线管理软件CAMS对网管工作的影响简介
·制作携带起来更方便的多功能网线·华为引入CTBS“随需应变”解决数据集中
·艾泰HiPER改造无锡二泉太阳能网络·艾泰科技助溧水县鑫牛商贸摆脱网络困惑
·“社会主义新农村”的无线网络方案·曙光防火墙为河北电力量身打造网络安全
·卓尔UTMAV终结者解决方案·河北联通数据网用户接入应用案例
·天清IPS:西北工业大学IPS方案解析·HiPER助力南钢能源中心信息化应用
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2008年云南公务员考试专业试卷之科技环保
·2008年云南公务员考试试卷之教育文化类专
·2008年云南公务员考试试卷参考答案之科技
·2008年云南公务员考试试卷参考答案之教育
·2008年公务员考试科教管理类专业试卷参考
·2008年公务员考试科教管理类专业试卷(云
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例