Subsecretaría de Educación Superior DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE SALINA CRUZ. NOMBRE DEL TEMA: PROGRAMACIÓN ORIENTADA A OBJETOS Y MODELADO NOMBRE DEL ALUMNO: SANCHEZ SANTIAGO NOE. ASIGNATURA: FUNDAMENTOS DE PROGRAMACIÓN CATEDRÁTICO: SUSANA MÓNICA ROMÁN NÁJERA CARRERA: ING. EN TECNOLOGÍAS DE LA INFORMACIÓN Y DE LAS COMUNICACIONES SEMESTRE: 1° SEMESTRE GRADO: 1° GRADO GRUPO: E1 SALINA CRUZ OAXACA A OCTUBRE DEL 2012 Contenido INTRODUCCION .............................................................................................................................. 1 4.1 CARACTERISTICAS DEL MODELO ORIENTADO A OBJETOS .......................................................... 2 4.2 ELEMENTOS PRIMORDIALES EN EL MODELO A OBJETOS. ..................................................... 4 CONCLUSIONES ............................................................................................................................... 9 BIBLIOGRAFIA ............................................................................................................................... 10 INTRODUCCION En esta actividad de investigación hablaremos de dos temas el primero es el 4.1 características del modelado orientado a objetos que es lo que lo hace ser único y así poder diferenciarlo. Ya que es de gran importancia conocer sus características del modelo orientado a objetos como futuros programadores debemos tener conocimiento acerca de técnicas o herramientas que son de gran utilidad para llevar acabo el desarrollo de un programa. Porque este conocimiento nos permitirá desempeñarnos mejor a la hora de programar, también nos dejara en claro por que es muy usado en programación, además al saber de sus características nos vamos a ir familiarizando con el modelo orientado a objetos. En el segundo tema de la cuarta unidad de la materia de fundamentos de programación abordaremos el siguiente, 4.2 elementos primordiales en el modelo de objetos. Este tema expone elementos muy comunes en el modelado de objeto y hablaremos de estos elementos a lo largo de la investigación, y son los siguientes como abstracción, encapsulamiento, herencia, polimorfismo, modularidad, relación. Todos estos elementos nos ayudaran a comprender aun más acerca del modelado de objetos, por que digo aun mas por que con la investigación profundizaremos en estos elementos con la finalidad de que no quede ninguna duda. Al término de esta investigación tendremos la satisfacción de haber aprendido algo nuevo y que nuestros conocimientos se refuerzan en esta temática que es tan extensa. 1 4.1 CARACTERISTICAS DEL MODELO ORIENTADO A OBJETOS El diseño y modelado Orientado a Objetos es una manera fundamental que provee un medio uniforme para moldear un sistema desde la captura de requerimientos en la etapa inicial del análisis hasta la implementación, atravesando todo el ciclo de desarrollo del sistema. En la actualidad, se define el software orientado a objetos como una “técnica” para la construcción de un software marcado por ciertas características, que lo llevan a cumplir los siguientes objetivos: Robustez: Siendo esta la capacidad del software para reaccionar ante condiciones excepcionales. Claro que esta parte tiene muchas cuestiones, por ejemplo, ¿reacción apropiada? Ampliaremos este aspecto en las próximas líneas. Extensibilidad: La capacidad de adaptar el software a los cambios en las especificaciones. Se suelen definir dos principios para mejorar la simplicidad de diseño y la descentralización, indicando que los mismos deben ser para mejorar la adaptación sobre la estructura compleja sobre la que seguramente se asocian. Se habla de descentralización si el software se construye bajo el concepto de módulos o servicios, por lo que un cambio afectará a un conjunto de módulos y no provocará una reacción en cadena. Reutilización: Requerimiento base de OOP la cual es la capacidad que tienen los distintos elementos software para construir aplicaciones diferentes. Eficiencia: Se define como la capacidad de un sistema software para exigir el mínimo de recursos (hardware, software) en la utilización de sus tareas. Se aplica como sinónimo de rendimiento. Portabilidad: Capacidad de utilizar el software en diferentes entornos hardware y software. 2 Funcionalidad: Es el conjunto de posibilidades que proporciona un sistema. Se suele hablar aquí de “featurism”, como la pérdida de facilidad de uso que implica la aplicación de propiedades vs cualidades. DURANTE EL CICLO DE DESARROLLO SE APORTAN LOS SIGUIENTES ELEMENTOS AL MODELO: Análisis del Negocio: se reconocen objetos claves del negocio y generan las abstracciones en las clases apropiadas (objetos entidad). Análisis de Requerimientos: se identifican asociaciones estructurales entre objetos y nuevas clases (entidad). Diseño lógico: Se incorporan todas las clases necesarias para la aplicación incluyendo los objetos de interfaz y de control. Diseño Físico: se incorporan todos los detalles remanentes para la implementación física de cada clase de objetos. Componentes del modelo de estructura de objetos, separándose en 3 distintas clases: Objetos Entidad, Objetos de Interfaz, Objetos de Control. Para cada clase identificada se describen: Operaciones, Atributos, Restricciones. Adicionalmente un diseño describe las asociaciones entre objetos o clases de objetos. Se distinguen los siguientes tipos de asociaciones: Relaciones Estáticas, Herencia, Agregación, Comunicación por mensajes. Entre otras características tenemos lo siguiente: 1) Deben soportarse objetos complejos 2) Deben soportarse mecanismos de identidad de los objetos 3) Debe soportarse la encapsulación 4) Deben soportarse los tipos o clases 5) Los tipos o clases deben ser capaces de heredar de sus ancestros 6) Debe soportarse el enlace dinámico 3 7) El DML debe ser computacionalmente complejo 8) El conjunto de todos los tipos de datos debe ser ampliable información 4.2 ELEMENTOS PRIMORDIALES EN EL MODELO A OBJETOS. Abstracción: consiste en aislar un elemento en su contexto de sus elementos que lo acompañan en programación, el termino se refiere al énfasis en el “¿que hace más que el como lo hace?” Ejemplo: un celular para tratar de modelarlo pondríamos que el celular es el elemento principal que tiene una serie de características, como podría ser el color el modelo o la marca. Fig.No.1 imagen de abstracción. Encapsulamiento: poder separar la interfaz de una clase de su implementación o dicho en otras palabras no es necesario conocer los detalles de como están implementados las propiedades para poder utilizarlas. Ejemplo: en una computadora se encapsulan los datos privados que solo el usuario encargado debe saber como contraseña de usuario, los archivos guardados, entre otras cosas 4 Ejemplo una computadora en nuestras carpetas de archivo si le ponemos contraseña nadie puede saber, ni mucho menos ver que contiene dicha carpeta(s). Fig.No.2 imagen de encapsulamiento. Herencia: es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Ejemplo: una familia de aves son descendientes de los pericos del águila y otros más. 5 Fig.No.3 imagen de herencia Polimorfismo: es un objeto que puede invocar una función y se la traslada a otro que esta funcionando. Ejemplo: una oficina que tiene empleados y se dividen empleados salario, empleado por comisión, empleado por horas y empleado base mas comisión a esto se le llama la aplicación polimórfica de nomina de empleados. 6 Fig.No.4 imagen de polimorfismo. Modularidad: es la capacidad que tiene un sistema de ser estudiado, visto o entendido como la unión de varias partes que interactúan entre sí y que trabajan para alcanzar un objetivo común, realizando cada una de ellas una tarea necesaria para la consecución de dicho objetivo. Cada una de esas partes en que se encuentre dividido el sistema recibe el nombre de módulo. Idealmente un módulo debe poder cumplir las condiciones de caja negra, es decir, ser independiente del resto de los módulos y comunicarse con ellos (con todos o sólo con una parte) a través de unas entradas y salidas bien definidas. Ejemplo: un objeto que esta subdividido en varias partes. 7 FIG.No.5 imagen de modularidad. Relación: una relación o vínculo entre dos o más entidades describe alguna interacción entre las mismas, Ejemplo: una relación entre una entidad “empleado” y una entidad “sector” podría ser “trabaja _ en”, porque el empleado trabaja en un sector determinado. Fig.No.6 imagen de relación 8 CONCLUSIONES Toda esta temática tiene un fin y yo creo que es la de que el alumno sepa por que hacer uso de este modelado, para que le sirve o le va a servir. Mi aprendizaje de esta investigación es de gran ayuda porque adquirí los conocimientos acerca de este modelado a objetos muy usado en la industria de la programación. Con sus características particulares me percate de que se obtiene muchos beneficios al hacer uso de este modelado a objetos por ejemplo la reutilización nos permite hacer uso otra vez de la estructura del software. La robustez dice que es la capacidad que tiene de actuar ante situaciones inesperadas, su Portabilidad que nos dice que se puede utilizar en diferentes entornos. Ahora bien vimos otro tema que trata de los elementos del modelado a objetos estos son abstracción que consiste en aislar un elemento de su contexto o conjunto. El encapsulamiento nos permite contener información que solo nosotros o el desarrollador podrá ver, herencia esta nos dice que un objeto puede adquirir características de una clase es decir de un conjunto de objetos. El polimorfismo es otro de los elementos que permite cambiar de forma con solo llamar una función, también se hablo de otros elementos mas como modularidad y relación. Bueno en conclusión final la investigación de los temas amplio mis conocimientos como aprendiz de programación y siento que si aplico bien lo aprendido no tendré tantas complicaciones a la hora de programar. 9 BIBLIOGRAFIA Modelo orientado a objetos. (2011). Internet. En línea. Pagina consultad el 25 de octubre de 2012.Disponible en: http://www.buenastareas.com/ensayos/ModeloOrientado-a-Objetos/1802318.html Elementos primordiales en el modelo a objetos. (2010).Internet. En línea. Página consultada el 25 de octubre de 2012.disponible en: http://www.buenastareas.com/ensayos/Elementos-Primordiales-En-El-Modeloa/1315445.html 10