面向对象分析、设计、开发、UML建模

本文纠正了关于面向对象分析、设计与开发的常见误解,强调了正确的流程与目标,包括定义用例到实现类代码的过程,并指出UML的重要性和局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我曾经在北京听过类似大师的议题,但是关于面向对象分析、设计、开发、UML建模,绝大部分人存在误解,为了正视听,我想说的是:
(1)面向对象分析强调的是对问题和需求的调查研究,而不是解决方案。分析的目标是为了作正确的事。
(2)面向对象设计强调的是输出满足需求的概念上的解决方案,而不是其代码实现。设计的目标是为了正确地做事。
(3)面向对象开发强调的是用代码实现设计出来的对象。
(4)面向对象分析--&gt设计--&gt开发简单地可以由如下的过程描述:
 定义用例--&gt定义领域模型(领域模型是对真实世界中的概念和想象可视化)--&gt定义交互图(协作图)--&gt定义设计类图--&gt实现类代码
(5)敏捷开发(Agile)强调了UML作为草图的方式,以及组件、框架和代码重用;而统一过程开发(UP)则强调迭代和进化式开发,但是UML永远仅仅是用来绘制和展示与软件相关的图形,是一种标准的图形化表示法,使用UML图形进行可视化建模能够带来帮助,但他不可能和设计与对象思想同等重要,设计是非常重要的技能,它不可能通过学习UML或者MDA工具就可掌握,如果不具备良好的OO设计和编程技能,即使熟练使用UML工具,依然只能画出拙劣的设计。
(6)Brooks博士在《人月神话》中早就驳斥了一种基本的错误认识(这种错误认识一直还在持续),即相信软件中存在某种特殊的工具或技术,可以在生产率、缺陷率、可靠性、易用性等方面带来极大的变化,诸不知“工具永远无法弥补设计能力上的不足”。所以西方软件界有一句谚语“a fool has a tool is still a fool”(拥有工具的傻子依然是傻子)。
(7)多年使用Rational Rose基于用列进行行为建模、结构建模,这么多年为什么依然困扰,根本原因在于我们不具备良好的OO设计和编程技能,工具不是救世主,提升OOA、OOD的能力才是关键。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133368/viewspace-688258/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133368/viewspace-688258/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值