Creo que antes que nada tener bien claro los conceptos de OOP y bien clara la diferencia con la programación estructurada... y harto poder de abstracción .. en fin vamos al grano...: Funciones del análisis y diseño: Satisface especificaciones funcionales. Determina las limitaciones del objetivo. Encuentra los requerimientos en la realización, y los recursos. Cumple (hace cumplir) criterios de diseño. Satisface restricciones, como tamaño o coste. Determina herramientas a utilizar. Los distintos métodos de diseño comparten: Notación: un lenguaje para expresar el modelo. Proceso: actividades que conducen a la construccióon ordenada del modelo. Herramientas: artefactos y reglas. -------------------------------------------------------------------------------- Análisis orientado a objetos es un método de análisis que examina los requerimientos desde la perspectiva de clases y objetos encontrada en el vocabulario original del problema. Diseño orientado a objetos es un método de diseño que abarca el proceso de descomposición orientado a objetos y una notación para describir modelos lógicos y físicos, dinámicos y estáticos, del sistema bajo diseño. Programación orientada a objetos es el método de implementación en el cual los programas se organizan como colecciones cooperantes de objetos, cada uno de los cuales representa un ejemplo de alguna clase, y cuyas clases son todas miembros de una jerarquía de clases unidas por relaciones (p. E herencia). Un lenguaje es orientado a objetos si cumple: Soporta objetos que son abstracciones de datos, mediatizados por operaciones, y con estados locales ocultos. Los objetos tienen un tipo asociado (clase). Los tipos (clases) pueden heredar atributos de supertipos (superclases).