1面向对象分析与设计复习与总结一、系统的开发过程程序设计信息系统开发高质量的软件是设计出来的……?二、系统的开发方法系统的开发方法结构化方法原型法面向对象的方法Booch方法OMT方法OOSE方法RDD方法OBA方法UML统一三、UML的概念与发展UnifiedModelingLanguageUML是软件和系统开发的标准建模语言“如果你有一只猫,你想把它卖给一个编程者,那么,与其强调其可爱与温顺,或如何能捉老鼠,不如直接告诉买家,这只猫是面向对象的。”关于猫与面向对象的经典名言非常形象的揭示了面向对象在IT界乃至整个学术界的地位。JimRumbaughGradyBoochIvarJacobsonUML的应用现状——《UML在实践中的现状和一些建议》UML在国内不少地方获得了应用。这应该说是个好事,然而背后我们也看到,这种应用大多属于不够冷静的炒作和跟风,UML在很多时候已经变成了一种形式主义的东西。实际上,UML本身所倡导的主旨是很好的,它保证了程序员之间的交流语言,RUP之类的工具也保证了软件开发过程的规范性,严格保证了先设计后开发,设计阶段有翔实的规范化的文档等。中国期刊全文数据库一、UML的理论缺陷1、UML的概念存在不精确性和二义性UML中的一些概念不够精确,甚至存在二义性,使用户感到困惑。例如,状态机图中的事件和动作这两个概念都表示了一个与转移有关的行为,二者有什么区别?UML只是在字面上解释它们之间的不同——事件是引起状态转移的原因或条件,后者是在状态转移时对象要做的事情。状态的变化从根本上讲表现为对象属性值的变化,而封装的原则决定了对象外部的任何事件都必须通过对象的操作才能修改对象的属性值。从这个角度来讲,事件和动作就没有什么区别。那么,二者到底是不是一个概念呢?类似的这种概念上的模糊性和二义性,给UML的学习和应用造成了很大的困难。2、UML存在重复和无用的模型元素UML的部分模型元素没有实际的用途,或者与其他元素是重复的。例如,UML中既有类图又有对象图,而后者在是多余的,没有什么实际的作用。类是对象的抽象,一个类可以描述属于该类的全部对象的共同特征,对象的差别体现在属性值的不同。当一个类的对象很多时,我们不可能逐个地描述每个对象的值,也就没有必要建立对象图。再如,UML中定义了4种依赖的类型,分别是使用依赖、抽象依赖、绑定依赖、授权依赖,每一种依赖又可以进一步细分,这些依赖看上去似乎作了更全面、更详细的考虑,但是在建模中根本用不上这些模型元素。像这样一些模型元素的引入,不但没...