You are on page 1of 6

Analisis y diseo Orientado a Objetos

Complejidad
1.1. La complejidad inherente al software Las propiedades de sistema de soft simples y complejos Por que el soft es complejo de forma innata o La complejidad del dominio del problema Forma de expresar los requisitos Mantenimiento: correccin de errores Evolucin: respuesta a requerimientos que cambian Conservacin: empleo de mtodos extraordinarios para mantener al operacin con elementos de software anticuados o La dificultad de gestionar un proceso de desarrollo Miles de lneas de cdigo Grandes equipos de desarrolladores Diferentes ubicaciones geogrficas o La flexibilidad que se puede alcanzar a travs del soft o Los problemas de caracterizar el comportamiento de los sistemas discretos Las consecuencias de las complejidad ilimitada 1.2. La estructura de los objetos complejos Ejemplos de sistemas complejos o CPU: Jerrquico los niveles de jerarqua indican abstraccin Proporcionan servicios a las capas superiores Se plantea el nivel de abstraccin dependiendo del problema o Plantas y animales Jerarquas Clara separacin de intereses de las partes en los distintos niveles de abstraccin El comportamiento del todo es mas que la suma de las partes o La estructura de la materia o Estructura de instituciones sociales Los cinco atributos de un sistema complejo o Jerarquas: Sistemas compuestos por subsistemas y as sucesivamente o Componentes primitivos y de eleccin arbitraria o Enlaces internos de los componentes ms fuertes que los enlaces entre componentes o Pocas clases diferentes de subsistemas en varias combinaciones y disposiciones

o o

Todos los sistemas complejos que funcionan son una evolucin de un sistema simple que funciona INCOMPLETO

El modelo de objetos
2.1 La evolucin del modelo de objetos Las generaciones de los lenguajes de programacin. o Incompleto La topologa de los lenguajes de programacin basados en objetos y orientados a objetos

Fundamentos del modelo de objetos

POO,DOO y AOO

POO: Es un mtodo de implementacin en que los programas se organizan como colecciones cooperativas de objetos ,cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son, todas ellas, miembros de una jerarqua de clases unidas mediante relaciones de herencia Partes importantes: -Utiliza objetos en lugar de algoritmos -Cada objeto es una instancia de una clase -Las clases estn relaciones de herencia (jerarqua de clases) Si falta alguna de estas caractersticas no se denomina POO, por ejemplo si falta la herencia se demonima programacin con tipos abstractos de datos Un lenguaje es orientado a objetos si satisface los siguientes requisitos: Soporta objetos que son abstracciones de datos Los objetos tiene un tipo asociado(clase) Las clases pueden heredar atributos de las super clases DOO: El diseo orientado a objetos es un mtodo de diseo que abarca el proceso de descomposicin orientada a objetos y una notacin para describir los modelos lgico y fsico, as como los modelos esttico y dinmico del sistema que se disea Partes importantes: -descomposicin orientada a objetos -utiliza diferentes notaciones para expresar diferentes notaciones del diseo lgico AOO : El anlisis orientado a objetos es un mtodo de anlisis que examina los requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema Relacin de POO, DOO y AOO: los productos del Anlisis OO sirven como modelos de los que se pueda partir para el Diseo OO. Los objetos del Diseo OO pueden utilizarse como anteproyecto de la implementacin de un sistema utilizando mtodos de Programacin OO.

1.1. Elementos del modelo de datos Elementos fundamentales del modelo de datos Abstraccin : caractersticas esenciales del objeto que lo distingue de todos los dems y proporciona fronteras ntidas La decisin sobre el conjunto de abstracciones adecuado es el problema central del diseo OO

Jerarqua(herencia) es la clasificacin u ordenacin e abstracciones. Las dos jerarquas mas importantes del sistema son las de clases y las de objetos Modularidad: la modularidad es la propiedad que tiene un sistema de ha sido descompuesto en modulos cohesivos y dbilmente acoplados Encapsulamiento: El encapsulamiento es complementario a la abstraccin. Mientras las abstraccin se centra en el comportamiento observable de un objeto, el encapsulamiento se centra en la implementacin que da lugar a ese comportamiento

Elementos secundarios Tipos: Son las puestas en vigor de la clase de objetos, por lo tanto, distintos tipos no pueden intercambiarse(o pueden hacerlo de forma muy restringida) -Comprobaciones estrictas, dbiles, inexistentes -Ligaduras estaticas y dinamicas: Estaticas, se asignan los tipos en tiempo de compilacin. Dinamicas, los tipos no se conocen hasta el tiempo de ejecucin Concurrencia: Persistencia: Conserva a lobjeto en tiempo y espacio Tipos: Resultados de expresiones Variables locales Variables Propias, globales Datos entre ejecuciones de programas Datos entre versiones de programas Datos que sobreviven al programa

3. Clases y objetos
Objeto: Tiene estado, comportamiento e identidad, la estructura y comportamiento de objetos similares estn definidos en una clase comn. Comportamiento, es la manera de reaccionar en trminos de pasaje de mensajes y cambios de estados Estado, son los resultados acumulados de su comportamiento Identidad, es la propiedad que lo distingue unvocamente de los dems Protocolo, todos los mtodos y subprogramas libres asociados a un objeto conforman su protocolo. Engloba la visin estatica y dinmica de un objeto

3.2 Relacin entre objetos


Tipos de relaciones: Enlaces: Conexin fsica o conceptual entre objetos. Es la via por la cual se pueden enviar los mensajes entre objetos Un objeto puede tomar 3 papeles, actor, servidos, agente Agregacin: Mientras que los enlaces denotan una relacin igual a igual, las agregaciones denotan una jerarqua todo parte. Es un tipo especial de asociacin.

3.3 La naturaleza de las clases


Clase, conjunto de objetos que comparten una estructura y comportamiento comn Un objeto es una instancia de una clase Interfaz e implementacin La interfaz de una clase proporciona una visin externa , enfatiza la abstraccin a la vez oculta su estructura y secretos de su comportamiento Se compone de las declaraciones de las operaciones aplicables a instancias de la clase, tambin puede incluir declaracin de otras clases.

Puede ser Public, Protected, Private La implementacin es su visin interna que engloba los secretos del comportamiento. Se compone principalmente de la implementacin de todas las operaciones definidas en la interfaz

3.4 Relacin entre clases


Asociacin: Denota la relacin bidireccional de dos clases Herencia: Una sub clase hereda estructura y comportamiento de una super clase. Puede ser simple(una subclase) o multiple(muchas super clases) Poliformismo: Ante un mismo mensaje la implementacin del mismo depende del receptor Agregacin: relacin dbil entre dos clases USO Instanciacin:Creacion de un objeto perteneciente a una clase Metaclase: Clases que tienen como instancias clases en lugasr de objetos

INCOMPLETO 4.Clasificacion