一、面向对象的本质
面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大、更复杂的系统。
现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在。同一时候也是面向对象的困难所在。要跨越这道沟壑,我们须要解决下面问题:
1、一种把现实世界映射到对象世界的方法。
2、一种从对象世界描写叙述现实世界的方法。
3、一种验证对象世界行为是否正确反映了现实世界的方法。
UML正是解决这一问题的分析设计方法。
二、面向对象遇到的问题
1、对象的分析与设计问题。
2、对象结构的含义模糊不清。
当面向对象遇到这些问题的时候。UML统一建模语言出现了。学习UML仅仅是学会了一门语言。而要写出一篇精彩的文章,却须要依靠写作人对生活的感悟和升华,这两者缺一不可。因此比学会UML建模本身更重要的是要理解UML背后所影藏的最佳实践。
三、UML统一建模语言要解决的问题
1、UML既然是一门语言,作为语言要解决的首要问题就是沟通问题。
2、统一,则是要解决混乱的方言问题。如普通话一样被大家广泛认可。
3、可视化,easy被人理解和记忆(超越文字的表达方式)。
四、从现实到模型的抽象过程
建模实际上是一种对现实事物的理解。现实世界中假设我们站在非常高的角度去抽象,就会发现不管这个时间多么复杂,其本质无非是由人、事、物和规则组成。
1、UML採用称之为參与者(actor)的元模型作为信息来源提供者。代表现实中的“人”。
2、UML採用称之为用例(use case)的一种元模型来表示驱动者的业务目标。也就是參与者想要做什么而且获得什么。代表现实中的“事”。
3、一件事怎么做。根据什么规则。则通过称之为业务场景(business scenario)和用例场景(use case scenario)的UML视图来描绘的。代表现实中的规则。
4、业务中的对象模型则就相应现实中的“物”。
五、从业务模型到概念模型
分析模型:UML通过称之为概念化的分析过程来建立适合计算机理解和实现的模型。
分析模型介于原始需求和计算机实现之间,是一种过渡模型。
分析模型的元模型:
1、边界类(boundary):_____事
2、控制类(control):———规则
3、实体类(entity):
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />————物
下图是业务模型到概念模型的转换过程示意图:
六、从概念模型到设计模型
设计模型则是对概念模型的详细实现,这样的实现方式不止一种。在设计模型中。概念模型中的边界类能够被转换为操作界面或者系统接口。控制类能够被转化为计算机程序或控制程序,比如工作流、算法等;实体类能够转化为数据表、XML文档或者其它持久化类。实际上对于不同的软件架构和框架以及不同的编程语言。所实现的概念模型有所不同。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />
面向对象分析设计完整步骤例如以下:
七、RUP介绍
RUP(Rational Unified Process)统一过程。
统一过程归纳和整理了非常多在实践中总结出来的软件project的最佳实践。是一个採用了面向对象思想,使用UML作为软件分析语言,并结合了项目管理、质量保证等很多软件project知识综合而成的一个非常完整和庞大的软件方法。
统一过程定义了软件开发过程中最重要的四个阶段和九个核心工作流,每一个阶段对不同工作流的側重点不同。
软件项目真正的灵魂是软件过程。软件过程的须要才是这些工具和语言诞生的原因。