1.Introducción
2.Lenguajes de desarrollo orientado a objetos de uso común
3.Herramientas de desarrollo
4.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 4 Lenguajes de modelización en el desarrollo orientado a objetos
1.Introducción
2.El Lenguaje Unificado de Modelado (UML)
3.Diagramas para la modelización de sistemas orientados a objetos
4.Resumen
Ejercicios de repaso y autoevaluación
Bloque 2 La orientación a componentes Capítulo 1 Fundamentos conceptuales
1.Introducción
2.Definición de componente
3.Objetos
4.Comparación entre componentes y objetos
5.Módulos
6.Interfaces
7.Escalado de componentes
8.Estado de componentes
9.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 2 Arquitecturas de componentes
1.Introducción
2.Concepto de arquitectura
3.Basadas en objetos. Composición y uso de objetos
4.Multicapa
5.Basadas en middleware
6.Basadas en objetos distribuidos
7.Resumen
Ejercicios de repaso y autoevaluación
Capítulo 3 Diseño de componentes
1.Introducción
2.Principios de diseño de componentes
3.Técnicas de reusabilidad
4.Modelo de componente
5.Modelos de integración de componentes
6.Diagramación y documentación de componentes
7.Resumen
Ejercicios de repaso y autoevaluación
Bibliografía
Bloque 1 La orientación a objetos
Capítulo 1Principios de la orientación a objetos. Comparación con la programación estructurada
1.Introducción
El desarrollo de una aplicación es un proceso con el que se pretende dar solución a una necesidad a través de una herramienta software, obteniendo como resultado una serie de programas informáticos.
Al igual que ocurre en otras disciplinas, para construir un producto de calidad es necesario seguir un proceso de desarrollo adecuado, que habitualmente se inicia con un análisis de las necesidades a cubrir y un diseño del producto que se pretende conseguir.
La forma en que se lleva a cabo el proceso de desarrollo software ha ido cambiando con el tiempo, pasando de la programación estructurada a una organización por módulos y, finalmente, a la programación orientada a objetos.
2.Programación estructurada y orientación a objetos
A la hora de iniciar un desarrollo software, es necesario determinar el tipo de enfoque que quiere aplicarse, ya que no es lo mismo aplicar una programación estructurada que una orientación a objetos.
Esta decisión no solo afecta a la programación, sino que determina en gran medida las técnicas que han de aplicarse en el análisis previo.
2.1.Programación estructurada
La programación estructurada se organiza de forma lineal, utilizando únicamente instrucciones secuenciales, alternativas y repetitivas; todo el código es gestionado en un único bloque, por lo que es poco flexible y difícil de mantener en programas más complejos.
Para solventar estas carencias, surge la programación modular, que añade nuevas características a las técnicas utilizadas hasta el momento. El objetivo es separar en módulos las partes más complejas del programa, para que sean diseñados y desarrollados de forma independiente.
Nota
Cuando en los desarrollos actuales se aplica una programación estructurada, de manera implícita se asume que se está llevando a cabo de forma modular.
Con este enfoque, se toma el problema de partida y se realiza un proceso de descomposición en problemas más pequeños, proceso que se repite hasta llegar a problemas elementales que pueden ser solventados mediante funciones más simples. Finalmente, se realizan diferentes llamadas entre estas funciones, de forma que den solución al problema de partida.
Definición
Función
Conjunto de sentencias escritas en un lenguaje de programación, que utilizan unos parámetros para producir un resultado.
2.2.Orientación a objetos
La Programación Orientada a Objetos (POO) no consiste simplemente en nuevas características añadidas a las técnicas de programación estructurada y modular, es una nueva forma de pensar sobre el desarrollo de software y el proceso de descomposición de problemas.
Con la orientación a objetos el proceso se centra en simular los elementos de la realidad que están asociados al problema, ajustándose más al pensamiento humano que al comportamiento de la máquina, por lo que está más cercana a cómo se expresarían las cosas en la vida real.
Grady Booch, autor de Análisis y diseño orientado a objetos, define la Programación Orientada a Objetos como:
Un método de implementación en el que los programas son organizados como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son miembros de jerarquías de clases unidas a través de una relación de herencia.
Las aplicaciones orientadas a objetos están formadas por un conjunto de objetos que interaccionan entre sí enviándose mensajes. Los objetos similares se abstraen en clases, que son las que definen su comportamiento. Se dice que un objeto es una instancia de una clase.
Importante
Los valores que se asignan a los atributos de un determinado objeto hacen que ese objeto sea único.
La clase define su comportamiento y sus características generales.
La POO es un método de implementación en el que los programas están organizados como colecciones de objetos, pertenecientes a alguna clase. Una clase es la representación de un concepto y contiene toda la información necesaria para abstraer dicho concepto:
Los datos, llamados “atributos”, que almacenan la información y describen su estado.
Las operaciones, llamadas “métodos”, que definen el comportamiento del objeto y actúan sobre sus datos. Al indicar a un objeto que ejecute una operación, se dice que se le pasa un mensaje.
Recuerde
En la programación estructurada, los datos y los procesos están separados, ya que el objetivo es el procesamiento de unos datos de entrada para obtener como resultado una información de salida.
En la POO, los objetos agrupan los datos y los procesos (que actúan sobre esos datos).
2.3.Ventajas e inconvenientes
La POO presenta estas ventajas respecto a la programación estructurada:
Ocultación de la información, que hace que las aplicaciones sean más fáciles de mantener, ya que se ocultan los detalles de la implementación.
Encapsulado de datos y procedimientos, que permite mayor nivel de abstracción y facilita la descomposición del sistema en elementos más pequeños.
Читать дальше