在面向对象的软件设计中,最重要的是对象思想,至于图形UML或者UML CASE工具是毫无意义的,这些东西只是图形表示法,只是方便于软件设计,同对象思想的地位是不能等价的。
面向对象分析------->>领域模型------------>>概念类
面向对象设计------->>交互图-------------->>软件类
以上OOA/D和UML之间的关系,首先进行OOA/D,然后运用UML图形表示法来描述,最后生成具体的透视图。
面向对象分析之前还有需求分析,主要是编写用例
面向对象分析关注从对象的角度创建领域描述。需要鉴别重要的概念,属性和关联。通俗点说就是将真实世界领域中对象和想象可视化。这个也称为概念模型
面向对象设计关注软件对象的定义---------------它们的职责和协作。(采用责任驱动设计方法)
迭代和瀑布的区别
迭代开发也被称为迭代和增量式开发。每次迭代选择一小组需求,并快速设计,实现和测试。快速地实施一小步的方式可以得到快速反馈---------来自用户,开发人员和测试的反馈。是通过一系列有序的构造-----反馈-----调整循环向前进展的。迭代和进化式开发接受变更和改写的态度,以此为真正的本质的驱动力。
在瀑布生命周期过程中,试图在编程前(详细)定义所有或大部分需求。与软件开发过程中不可避免的变更进行抗争。
通俗点说:迭代是能够适应软件开发中的变更,而瀑布则不行。
总结:迭代+需求分析+对象分析+敏捷建模+对象设计 = 软件开发