为什么要用UML建模之面向对象建模

本文深入探讨了面向对象方法在现代软件开发中的核心地位,通过比较传统算法建模与面向对象建模的优劣,阐述了如何在不同问题域中构建各种规模和复杂度的系统。同时,文章提出了面向对象方法在软件开发中面临的问题,如如何构建良好的体系结构、创造何种制品、由谁创造以及如何度量制品质量。最后,详细介绍了统一建模语言(UML)在面向对象系统可视化、详述、构造和文档化方面的作用。

转载自:http://dev.21tx.com/2006/07/04/11704.html

土木工程师构造了很多种模型。通常这些模型能帮助人们可视化并说明系统的各部分以及这些部分之间的相互关系。根据业务或工程中所着重关心的内容(例如为了帮助研究地震时的结构行为)工程师也可以建立动态模型。各种模型的组织是不同的,各有自己的侧重点。对于软件,有几种建模的方法。最普通的两种方法是从算法的角度建模和从面向对象的角度建模。

  传统的软件开发是从算法的角度进行建模。按照这种方法,所有的软件都用过程或函数作为其主要构造块。这种观点导致开发人员把精力集中于控制流程和对大的算法进行分解。这种观点除了倾向于产生脆弱的系统之外没有其他本质上的害处。当需求发生变化(总会变化的)以及系统增长(总会增长的)时,用这种方法建造的系统就会变得很难维护。

  现代的软件开发采用面向对象的观点进行建模。按照这种方法,所有软件系统都用对象或类作为其主要构造块。简单地讲,对象通常是从问题空间或解空间的词汇中抽取出来的东西;类是对具有共同性质的一组对象(从建模者的视角)的描述。每一个对象都有标识(能够对它命名,以区别于其他对象)、状态(通常有一些数据与它相联系)和行为(能对该对象做某些事,它也能为其他对象做某些事)。

  例如,可考虑把一个简单的计账系统的体系结构分成3层:用户界面层、业务服务层和数据库层。在用户界面层,将找出一些具体的对象,如按钮、菜单和对话框。在数据库层,将找出一些具体的对象,例如描述来自问题域实体的表,包括顾客、产品和订单等。在中间层,将找出诸如交易、业务规则等对象,以及顾客、产品和订单等问题实体的高层视图。

  可以肯定地说,面向对象方法是软件开发方法的主流部分,其原因很简单,因为事实已经证明,它适合于在各种问题域中建造各种规模和复杂度的系统。此外,当前的大多数程序语言、操作系统和工具在一定的方式上都是面向对象的,并给出更多按对象来观察世界的理由。面向对象的开发为使用构件技术(如J2EE.net)装配系统提供了概念基础。

  选择以面向对象的方式观察世界,会产生一系列的问题:什么是好的面向对象的体系结构?项目会创造出什么样的制品?谁创造它们?怎样度量它们?

  对面向对象系统进行可视化、详述、构造和文档化正是统一建模语言(UML)的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值