Download METODOLOGIA DEL DESARROLLO DE SISTEMAS ORIENTADOS
Document related concepts
Transcript
METODOLOGIA DEL DESARROLLO DE SISTEMAS ORIENTADOS A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Es una forma de diseño modular en la que, con frecuencia, el mundo se piensa en términos de objeto, operaciones, métodos y mensajes, que se transfieren entre tales objetos. Como podrá comprobar, un objeto (definido gráficamente) tiene tres partes impartes importantes: · Un título: Que figura en la caja superior e indica como se llama el objeto, que será utilizado como identificador de este objeto en el caso de que sirva como elemento en la construcción de elementos más complicados. Los atributos: Los atributos o variables que definen el objeto se colocarán debajo del título. Las operaciones: También métodos, ocupan el nivel inferior. conocidas como ¿Qué es una clase? Una clase es una estructura preliminar que describe un objeto y define atributos y operaciones para el objeto Las clases utilizan abstracción para poner a disposición únicamente los elementos esenciales que definen el objeto Las clases utilizan encapsulación para garantizar que se cumple una abstracción Lo que ve el usuario: Lo que está encapsulado: //verify language //authenticate PIN //validate account bal //adjust account bal ¿Qué es un objeto? Un objeto es una instancia de una clase Los objetos tienen las siguientes cualidades: Identidad: los objetos se distinguen uno de otro Comportamiento: los objetos pueden realizar tareas Estado: los objetos almacenan información que puede cambiar con el tiempo Clase Objet o 12 123 245 245 Objet o Herencia La herencia nos permite crear estructuras jerárquicas de clases donde es posible la creación de sub-clases que incluyan nuevas propiedades y atributos. Clase Es una implantación de un tipo de objeto. Especifíca una estructura de datos y los métodos operativos permisibles que se aplican a cada uno de sus objetos. Metodos Especifica la forma en que se controlan los datos de un objeto Encapsulamiento Es el resultado de ocultar los detalles de implantación de un objeto respecto de su usario. Percepción y realidad Con el software jugamos con la realidad. Podemos hacer que algo muestre cierto comportamiento cuando en realidad sea muy distinto. Podemos crear una interfaz sencilla para algo complejo y ocultar asi la complejidad. HERENCIA VEHÍCULO COCHE FURGONETA CAMIÓN DISEÑO ·Durante esta fase se analizan las especificaciones iniciales y surgen los primeros objetos, normalmente ligados a las características de la aplicación. BENEFICIOS DE LA PROGRAMACIÓN ORIENTADOS A OBJETOS Reutilización: Para minimizar la reutilización las clases se construyen de modo que se puedan adaptar. Confiabilidad: Es probable que el software construido a partir de clases estables ya probadas tengan menos fallas que el software elaborado a partir de cero. Programación mas sencilla: Los programas se conjuntan a partir de piezas pequeñas cada una de las cuales, en general se puede crear fácilmente. BENEFICIOS DE LA PROGRAMACIÓN ORIENTADOS A OBJETOS Mantenimiento mas sencillo: El programador encargado del mantenimiento cambia un metodo de la clase a la vez. Un diseño mas rápido: Las aplicaciones se crean a partir de componentes ya existentes. Estabilidad: Las clases diseñadas para una reutilización repetida se vuelven estables, de la misma manera que los microprocesadores y otros chips se hacen estables. BENEFICIOS DE LA PROGRAMACIÓN ORIENTADOS A OBJETOS Integridad: Las estructuras de datos solo se pueden utilizar con métodos específicos. Esto tiene particular importancia en los sistemas cliente despachador y los sistemas distribuidos en los que usuarios desconocidos podrían intentar el acceso al sistema. Diseño de mayor calidad: Los diseños suelen tener mayor calidad, puesto que se integran a partir de componentes probados, que han sido verificados y pulidos varias veces. LENGUAJES ORIENTADOS A OBJETOS Los lenguajes OOP implementan de manera distinta los conceptos de programación orientada a objetos. No existe el lenguaje perfecto capaz de satisfacer todas las necesidades y que se adapte a todos los estilos. CARACTERÍSTICAS DE LOS LENGUAJES OOP Enumeraremos una serie de características comunes a los lenguajes OOP y que son los factores a considerar a la hora de su elección. Herencia múltiple Esta característica suele ser común a la mayoría de los lenguajes OOP, auque introduce un problema al existir la posibilidad de que el objeto sucesor herede el mismo atributo, aunque con distinto tipo y valor, de más de un predecesor, alguno de los lenguajes de programación solucionan este problema de forma automática. Eficiencia Usando un buen lenguaje orientado a objetos como C++ junto con las librerías apropiadas para la realización de un programa, puede que se ejecute más rápidamente que el mismo programa compilado con el lenguaje procedural. Asignación de tipos Por asignación de tipos entendemos que cada variable sea identificada como perteneciente a una clase (asignación fuerte) o sea simplemente un objeto indeterminado (asignación débil). Manejo de memoria Los OOP son lenguajes que utilizan de manera intensiva la memoria de ordenador. Encapsulación Consiste en separa aquellos atributos del objeto que deben ser conocidos por el resto de aquellos necesarios para su funcionamiento propio