UML和模式应用学习笔记(1)——UML与OOD/A

      UML 统一建模语言,是标准的图形表示法。UML并不是OOA/D,也不是方法,它只是图形表示法。需要真正理解面向对象。UML就是我们需要用于OOA/D和“软件蓝图”的语言。它就是一种思考的工具,也是一种沟通的形式。

      引用:统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言。

应用UML的三种方式:

  UML作为草图——非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。

  UML作为蓝图——相对详细的设计图,用于:1)逆向工程,即以UML图的方式对现有代码进行可视化,使其易于理解。2)前向工程,即代码生成。

  UML作为编程语言——用UML完成软件系统可执行规格说明。

  敏捷建模强调了UML作为草图的方式,这也是使用UML的普通方式。

应用UML的三种透视图

  1)概念透视图:用来描述现实世界或关注领域的事物。

  2)规格说明(软件)透视图:用图来描述软件的抽象事物或具有规格说明和接口的构件,但是并不约定实现。

  3)实现(软件)透视图:用图来描述特定技术中的软件实现。

 OOD原则

头五项原则是关于类设计的,它们是:

三项包原则是关于包内聚性的,它们会告诉我们该把什么划分到包中:

三项原则是关于包之间的耦合性原则的,并且论述了评价系统中包结构优良与否的评判标准。

 

       这些原则不是什么新奇的玩意,只要熟悉面向对象的开发人员,都应该知道或者说是了解。但都比较难理解和应用,没有十年的经验真的很难理解透面向对象。 在《UML和模式应用》中认为经典OOD的象征是职责驱动设计(responsibility-driven Design)。关于职责驱动设计我也不明白,可能在以后的学习中遇到。 在OO开发中,至关重要的能力是熟练地为软件对象分配职责。为什么?我想可能是因为分配职责是必须要执行的一项活动,并且它对软件构件的健壮性、可维护性和可重用性具有重要的影响。

       在面向对象分析过程中,强调的是在问题领域内发现和描述对象。在面向对象设计过程中,强调的是定义软件对象以及它们如何协作以实现需求。

     

你可能感兴趣的:(学习笔记)