muadgz 2010-06-13
本节向大家介绍一下UML学习入门之面向对象建模方面的知识,主要包括用UML建模的意义和以面向对象建模为基础的开发模式等内容,希望本节的介绍对你的学习有所帮助。
UML学习入门 --面向对象建模
1.为什么要用UML建模
模型是什么?模型就是对现实世界的形状或状态的抽象模拟和简化,模型提供了系统的骨架和蓝图.
模型有助于按照实际情况或按照所需要的样式对系统进行可视化.
模型能够规约系统的结构或行为.
模型给出了指导构造系统的模板.
对系统用户而言,软件的开发模型向他们描述了软件开发者对软件系统需求的理解.让系统用户查看软件对象模型并且找到其中的问题,可以使开发者不至于从一开始就发生错误.
对软件开发而言,软件的对象模型有助于他们对软件的需求以及系统的架构和功能进行沟通.
对软件的维护和技术支持者而言,在软件系统开始运行后的相当长的一段时间内,软件的对象模型能够帮助他们理解程序的架构和功能,迅速地对软件所出现的问题进行修复.
建模并不是仅对大型的软件系统,甚至一个小型的留言本也能从建模的过程中受益.
2.以面向对象建模为基础的开发模式
软件生命周期可以分为制定计划,需求分析,设计,编码,测试,运行和维护.软件开发模式是跨越整个软件生存周期的系统开发,运行和维护所实施的全部内容光焕发结构框架,给出软件开发活动中各个阶段之间的关系.这里介绍4种常见的开发模式.
(1)瀑布模型
瀑布模型也被软为生存周期模型,其核心思想是按照相应的工序将问题进行简化,将系统功能的实现与系统的设计工作分开,便于项目之间的分工与协件,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.瀑布模型将软件生命周期划分为项目计划,需求分析,软件设计,软件实现,软件测试,软件运行与维护6个阶段.并规定了他们自上而下的次序,每一个阶段都是依次衔接的.
瀑布模型为项目提供了接阶段划分的检查点,这样有利于软件开发过程中人员的组织及管理.瀑布模型在当前阶段完成后才去关注后续阶段,这样有有利于开发大型的项目.然后也存在一定的缺陷.比如当开发成果尚未经过测试时,用户无法看到软件效果,不能得到在开发过程中的及时反馈,增加了项目开发过程的风险.对需求不稳定的项目来说缺乏足够的灵活性.并具要在需求分析阶段要完全确定系统用户所需要的所有需求也相当的困难.
(2)喷泉模型
UML学习入门介绍以面向对象建模为基础的开发模式,喷泉模型以对象为驱动,以用户需求为动力.用来描述面向对象的软件开发过程.喷泉模型认为软件开发过程自下而上,各阶段是相互复叠和多次反复的.各个开发阶段没有特定的次序要求,并且可以交互进行.可以在某个开发阶段中随时补充其他任何开发阶段的遗漏.
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动.设计活动结束后才开始编码.该模型的各个阶段没有明显的界限.开发人员可以同步进行开发,其优点是可以提高软件项目开发效率,节省开发时间.但也使开发过程中需要大量的开发人员,因此不利于项目的管理.此处这种模型要求严格管理文档,使得审核的对度加大,尤其是面对可能随时加入各种信息,需求与资料的情况.
(3)基于构件的开发模型
基于构件的开模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个构件,通过组合手段高速率,高质量地构造应用程序软件系发统的过程.
基于构件的开发方法使得软件开发就得容易,构件组装模型导致了软件的复用,提高了软件开发效率.构件组装模型允许多个项目同时开发,降件了费用,提高了可维护性,可分步提交软件产品.但也因为采用自定义组装结构标准,缺乏通用的组装结构标准,因而引入了软大的风险.可重用性和软件高效性不易协调,并且由于过分依赖于构件,所以构件库的质量影响着产品的质量.
(4)XP方法
UML学习入门介绍以面向对象建模为基础的开发模式中XP方法。敏捷方法.是近几年兴起的一种轻量级的开发方法,它强调适应性而非预测性,强调以人为中心而不是以流程为中心,以及对变化的适应对和人性的关注.
XP(eXtremeProgramming)方法是最引人注目的一种敏捷方法.它规定了一组核心价值和方法,消除了大多数重量型开发过程中的不必要产物,建立一个渐进型开发过程.该方法将开发阶段的4个活动(分析,设计,编码和测试)混合在一起,在全过程中采用迭代增量开发,反馈修正和反复测试.