martes, 18 de septiembre de 2007

1. Conceptos básicos del modelo orientado a objetos.

INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ



Fundamentos de Programación



Catedrática:

Alicia González Laguna


Presentan:

Ana Claudia Suárez Domínguez
Gabriela Espinosa Sánchez
Jorge Emilio del Carpio Hernández
Nestor Cuauhtemoc Entzín Gómez
Francisco Javier Abraham Herrera

Ingeniería en Sistemas Computacionales

Primer Semestre Turno Matutino


Tuxtla Gutiérrez, Chiapas; a 19 de septiembre de 2007.

1.1 Reconocimiento de objetos y clases en el mundo real y la interacción entre ellos.

¿Qué es un objeto?
Los objetos son todas las cosas que podemos ver, palpar o que simplemente sabemos que existen. Estos tienen atributos que los describen y también tienen comportamientos.

¿Qué es una clase?

Las clases son conjuntos de objetos con características similares.

1.2 La abstracción y el encapsulamiento como un proceso natural.

Abstracción: Es la capacidad de ver solo las propiedades y características principales de un objeto.

Encapsulamiento: El encapsulamiento es el proceso de ocultar la información de un obejto para que no pueda ser vista por otro objeto.

1.3 La POO y la complejidad del software.

En esta sección se analiza que tan complejo es el problema y que tan compleja es la solución, también se analiza que tan dificil será llegar al resultado, esto permitirá observar si realmente es necesario la realización del sistema.

1.4 Conceptos del ciclo de vida del software.

El ciclo de vida del software está dado por el modelo cascada, el cual se forma con los 5 pasos siguientes:

  • Análisis
  • Diseño
  • Programación
  • Prueba
  • Manrenimiento

1.5 Elementos primordiales en el modelo de objetos.

Los elementos más importantes de la programación orientada a objetos son:

  • Abstracción.
  • Modularidad.
  • Encapsulamiento.
  • Jerarquía.
  • Polimorfismo.

1.6 Historia de los paradigmas en el desarrollo del software.

Un paradigma es un modelo a seguir, este modelo consta de reglas y normas que se deben seguir. En programación un paradigma es la forma en la que vamos a programar, los principales paradigmas son:
  • Imperativo
  • Declarativo
  • Lógico
  • Funcional
  • Estructurado
  • Orientado a Objetos
  • Visual
  • Paralelo

Podemos considerar estos paradigmas como una forma de clasificar a los lenguajes de progamación.

1.7 Beneficios del modelo de objetos y de la POO sobre otros paradigmas.

La POO proporciona las siguientes ventajas sobre otros lenguajes de programación:
  • Uniformidad. Ya que la representación de los objetos implica tanto el análisis como el diseño y la codificación de los mismos.
  • Comprensión. Tanto los datos que componen los objetos, como los procedimientos que los manipulan, están agrupados en clases, que se corresponden con las estructuras de información que el programa trata.
  • Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan.
  • Estabilidad. Dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo.
  • Reusabilidad. La noción de objeto permite que programas que traten las mismas estructuras de información reutilicen las definiciones de objetos empleadas en otros programas e incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinación de objetos ya definidos donde estos están relacionados de una manera particular.

Beneficios que se obtienen del desarrollo con POO

Los objetos son portables y la herencia permite la reusabilidad del código orientado a objetos. Es más sencillo modificar código existente porque los objetos no interaccionan excepto a través de mensajes; es decir, son independientes en consecuencia a un cambio en la codificación de un objeto no afectará la operación con otro objeto siempre que los mensajes respectivos permanezcan intactos. La introducción de tecnología de objetos como una herramienta conceptual para analizar, diseñar e implementar aplicaciones permite obtener aplicaciones más fáciles de modificar, fácilmente extensibles y a partir de componentes reutilizables.

El código reutilizable, disminuye el tiempo en el desarrollo y hace que el desarrollo del software sea más intuitivo porque la gente piensa naturalmente en términos de objetos más que en términos de algoritmos de software.