浅论阴阳太极与UML建模[2]

浅论阴阳太极与UML建模[2],第1张

浅论阴阳太极与UML建模[2],第2张

层次分明
  “分而治之”是工程界对付复杂技术问题最常用的手段。作为一个复杂的系统,软件也不例外,清晰而严谨分层的结构往往是优秀软件设计的一个主要特征。

  分层有横切、纵切两种。软件设计从系统,到子系统和构件,再到类与对象,再到类的内部属性和方法,以及某个方法的编程实现,既是由外而内,也是从高到低,从高层的架构设计(系统、子系统),到低层的类与类的关系、类内部的设计,就像山脉与山峰、森林与树叶的关系。

  对应着这样的高、低层关系,在软件设计中,目前世界上已有大量的架构模式、设计模式、实现模式和各种分层的框架可供我们借鉴、重用。

  动静结合

  经常有初学者问:用UML建模的时候,我们到底要画几张图才算表达完整,哪些图最重要?其实有一个非常简单的回答:动静结合。客观世界是由物质(如微观粒子)组成的,而物质是运动的。

  巧合的是,软件这个虚拟世界也不例外。因此在我们设计软件的时候,既要说明有哪些物质(如构件、对象、属性等)存在,也不要忘了描述物质之间的运动(如交互、状态变迁等),两者是相辅相成的。

  以下我们展现了参与“打印帐户报告!”用例实现的主要对象之间,为了完成这一功能所结成的静态关系(用UML类图表示)和动态关系(我们选择了UML协作图)。

  事实上,只有细致考虑了对象之间的静态和动态关系(不管利用何种媒介,大脑抑或文档),我们的软件设计才算是完整的,编程才有正确的依据。不然,您的程序代码从何而来?

  逐步求精

  软件开发从软件的需求(问题域)到可执行的高级程序设计语言源代码(解决域),这中间究竟经历了多少思考步骤和权衡过程?是一步到位吗?

实际上宏观地从软件需求,到代码实现;软件设计中的从分析对象,到设计对象,再到实现对象,或者从设计模式到模式的编程实现,这些都是一个逐步求精的过程。

  结束语

  UML建模对于软件设计的重要性,对于一名老练的OO程序员来说,是不言而喻的。

  UML作为一种图形化建模语言规范,凝聚了世界上许多大师级OO建模、设计专家多年来的宝贵经验,它的表达手段异常灵活和丰富,面对UML 2.x十几种图符,希望我与Craig Larman大师合作的《太极建模诗》能给读者朋友们带来一些有效的帮助。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 浅论阴阳太极与UML建模[2]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情