You are on page 1of 8

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

FACULTAD DE INFORMÁTICA Y ELECTRÓNICA

ESCUELA DE INGENIERÍA EN SISTEMAS



ARQUITECTURA DE SOFTWARE I


TEMA:
PRINCIPALES CONCEPTOS DE PROGRAMACIÓN
ORIENTADA A OBJETOS APLICADO AL DISEÑO DE
SOFTWARE


NOMBRE:
DAVID RODRÍGUEZ
BLADIMIR URGILES


CÓDIGO:
5454
5417

FECHA:
27-03-2014

OBJETIVO GENERAL:

Aprender los conceptos de programación orientada a objetos en el desarrolla
del Diseño de Software implementando los objetos como parte esencial para la
construcción de programas.

OBJETIVOS ESPECÍFICOS:

 Conocer los principales conceptos de Programación Orientada a Objetos.
 Relacionar estos conceptos con el Diseño de Software.
 Tener noción acerca de lo que es Diseño Orientado a Objetos.
 Ver cómo implementar esta metodología en el Desarrollo de Software.

MARCO TEÓRICO:

Para definir lo que es la Programación Orientada en Objetos en el Desarrollo de
Software y que papel desenvuelve está en el Diseño de un Software, tenemos
que recordar los principales conceptos de programación orientada a objetos y
así con ese conocimiento llegarlo a relacionar con lo que es el Diseño de un
Software.

Programación Orientada a Objeto (POO)

Programación Orientada a Objetos no es más que una metodología (ciencia)
que relaciona la estructura de un programa con entorno a objeto, cada uno de
los cuales “representan una instancia de alguna clase, cuyas clases son todas
miembros de una jerarquía de clases unidas mediante relaciones de herencia”
Grady Booch.
Cuando se desarrolla un software con una metodología orientada a objetos
está creando un modelo de alguna parte del mundo real. Las partes con que se
construye el modelo provienen de los objetos que aparecen en el dominio del
problema.
Estas metodologías orientadas a objetos como su nombre mismo lo dice
constan de objetos, los cuales se comunican con otros objetos mediante
mensajes o métodos ya definidos.

Ahora ¿qué es un Objeto? un objeto viene hacer una entidad esta puede ser
tangible o intangible que posee propias características o acciones que realiza
por sí solo o interactuando con otros, son caracterizados porque sus atributos
son propios y cuyo comportamiento está determinado por las acciones o
funciones, así como también las acciones que requiere de otros objetos.

Características Generales

 Un objeto posee estados.
 Un objeto tiene un conjunto de métodos.
 Un objeto tiene un conjunto de atributos.
 Los objetos soportan encapsulamiento.
 Un objeto tiene un tiempo de vida dentro del programa o sistema que lo
crea y utiliza.
 Un objeto se identifica por un nombre o un identificador único que lo
diferencia de los demás.

Hablando de objetos viene el tema de diferenciarlos para esto necesitamos de
una Clase que se la puede definir como aquellas propiedades y
comportamiento de un tipo de objeto en concreto.
Una clase contiene una completa y detallada descripción de la información y
métodos que contendrá cada objeto de esa clase.
Se las podría decir que son como tipos de datos definidos por el diseñador de
software y pueden ser utilizados de igual manera que los tipos de datos
propios de cada lenguaje de programación.

Características Generales

 Una clase es un nivel de abstracción alto. La clase permite describir un
conjunto de características comunes para los objetos que representa.
 Un objeto es una instancia de una clase. Cada objeto concreto dentro de
un sistema es miembro de una clase específica y tiene el conjunto de
atributos y métodos especificados en la misma
 Las clases se relacionan entre sí mediante una jerarquía clase hija
(subclase) hereda los atributos y métodos de la clase padre
(superclase).
 Los nombres o identificadores de las clases deben colocarse en singular
(clase Animal, clase Carro, clase Alumno).

Como lo describimos cada objeto tiene sus propios Atributos (propiedades)
que son como contenedor de un tipo de datos asociados a un objeto (o a una
clase de objetos), que hace a los datos visibles desde fuera del objeto cuyo
valor puede ser alterado por la ejecución de algún método.
Un atributo consta de un nombre y un valor. Cada atributo está asociado a un
tipo de dato.

Al ejecutar un Método estamos diciendo que se llama a las operaciones
(acciones o funciones) que se aplican sobre los objetos y que permiten
crearlos, cambiar su estado o consultar el valor de sus atributos.
Los métodos constituyen la secuencia de acciones que implementan las
operaciones sobre los objetos. La implementación de los métodos no es visible
fuera de objeto.

Características Generales

 Cada método tiene un nombre, puede o no tener parámetros que recibe
o devuelve un valor con el desarrollo del mismo.
 Los métodos se ejecutan o activan cuando el objeto recibe un mensaje,
enviado por un objeto o clase externo al que lo contiene, o por el mismo
objeto de manera local.

CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Se basa en cuatro principios que constituyen la base de todo desarrollo
orientado a objetos.

Abstracción.- Es el principio de ignorar aquellos aspectos de un fenómeno
observado que no son relevantes, y concentrarse en aquellos que sí lo son.
Una abstracción denota las características esenciales de un objeto (datos y
operaciones), que lo distingue de otras clases de objetos.
Se refiere al hecho de poder diferenciar entre las propiedades externas de una
entidad y los detalles de la composición interna de dicha entidad.

Encapsulamiento (Ocultamiento de Información).- Se trata del proceso
de agrupar datos y operaciones relacionadas bajo la misma unidad de
programación.
La idea central del encapsulamiento es esconder los detalles y mostrar lo
relevante. Permite el ocultamiento de la información separando el aspecto
correspondiente a la especificación de la implementación; de esta forma,
distingue el "qué hacer" del "cómo hacer". La especificación es visible al
usuario, mientras que la implementación se le oculta.
En el caso de los objetos que poseen las mismas características y
comportamiento se agrupan en clases, que no son más que unidades o
módulos de programación que encapsulan datos y operaciones.

Muchos objetos del mundo real tienen características prácticamente iguales y
realizan operaciones prácticamente similares de ahí se busca la manera de
congeniar con ellos y se definió lo que es:

Herencia.- Es el proceso mediante el cual un objeto de una clase adquiere
propiedades definidas en otra clase que lo preceda permitiendo la definición de
un nuevo objeto a partir de otros, para ello se tiene que cumplir con ciertos
criterios para no redundar datos:
 Aagregar las diferencias entre ellos (Programación Diferencial).
 Evitar la repetición de código y permitiendo la reusabilidad.
 Las clases heredan los datos y métodos de la superclase.
 Un método heredado puede ser sustituido por uno propio si ambos
tienen el mismo nombre.

Polimorfismo.- Es una propiedad que permite que un método tenga múltiples
implementaciones, que se seleccionan en base al tipo objeto indicado al
solicitar la ejecución del método.
El polimorfismo permite aplicar operaciones con igual nombre a diferentes
clases o están relacionados en términos de inclusión. En este tipo de
polimorfismo, los métodos son interpretados en el contexto del objeto
particular, ya que los métodos con nombres comunes son implementados de
diferente manera dependiendo de cada clase.
Diseño orientado a los objetos

El Diseño Orientado a los Objetos (DOO)

Crea una representación del problema del mundo real y la hace corresponder
con el ámbito de la solución, que es el software, a diferencia con otros
métodos de diseño, el DOO produce un diseño que interconecta objetos de
datos y operaciones de procesamiento para esos objetos, de forma que se
modulariza la información y el procesamiento, en lugar de aislar el
procesamiento.

Todos los métodos de diseño intentan desarrollar software basándose en:
•Abstracción
•Ocultamiento de información
•Modularidad

El DOO proporciona un mecanismo que permite al diseñador consigue estas
tres características sin dificultad. El Análisis Orientado a Objetos, el Diseño
Orientado a Objetos y la Programación Orientada a Objetos comprenden un
conjunto de actividades de la Ingeniería del Software para la construcción de
un sistema basado en objetos.

Al igual que todos los métodos de diseño esta metodología utiliza su propia
notación y forma, el DOO introduce un conjunto nuevo de términos, notaciones
y procedimientos para la derivación del diseño del software.
Como parte de esta metodología tenemos que se debe seguir cierto criterio
como:

a) Identificación y definición de objetos y clases
b) Organización de relaciones entre clases
c) Extracción de estructuras en una jerarquía de clases
d) Construcción de bibliotecas de clases reutilizables

Como en todas las fases de Ingeniería del Software, el DOO es cíclico, es decir,
los diseñadores comienzan definiendo un conjunto de clases, que se amplían,
modifican, y vuelta a empezar









CONCLUSIONES:

 De manera breve aprendimos y recordamos los conceptos básicos de la
Programación Orientada a Objetos.
 Pudimos ver que esta metodología si se puede emplear y aplicar en el
Diseño del Software
 En Programación Orientada a Objetos se notó para resolver problemas
estos son divididos en objetos y que estos problemas son representados
por un conjunto de objetos que interactúan entre ellos.
 El diseño Orientado a Objetos no es nada fuera de lo común si no que
viene hacer como la unión de la metodología de Programación Orientada
a Objetos con lo que es la Ingeniería de software.
 La Programación Orientada a Objetos constituye una buena opción a la
hora de resolver un problema, sobre todo cuando éste es muy extenso y
dificultoso ya que lo divide en partes u objetos.


RECOMENDACIONES:

 Adquirir conocimiento más detallado sobre Programación Orientada a
Objetos ya que es la base de este Tema.
 Investigar sobre las tendencias de la POO en Arquitectura de Software.
 Poner en práctica los conocimientos y recomendaciones adquiridas en
este documento.
 Que al momento de Desarrollar un Software debemos tener muy en
cuenta esta metodología ya que es de gran ayuda por sus características
de programación.




















RESUMEN:

La programación orientada a objetos es una metodología que divide a un problema en
subproblemas, haciendo que la resolución del mismo sea por partes y más fácil de
resolver utilizando objetos y todas las características de esta.

Los elementos principales de la POO son: Características de la programación:

CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Se basa en cuatro principios.
 Abstracción
 Encapsulamiento (Ocultamiento de Información)
 Herencia
 Polimorfismo

El Diseño Orientado a los Objetos (DOO)

No es más que una representación del problema del mundo real y produce un
diseño que interconecta objetos de datos y operaciones entre los mismos.
El Doo se basa en:
•Abstracción
•Ocultamiento de información
•Modularidad
El doo conjuntamente con la POO comprenden un conjunto de actividades de la
Ingeniería del Software para la construcción de un sistema basado en objetos.

Y se debe seguir ciertos criterios tales como:

a) Identificación y definición de objetos y clases
b) Organización de relaciones entre clases
c) Extracción de estructuras en una jerarquía de clases
d) Construcción de bibliotecas de clases reutilizables




BIBLIOGRAFÍA:

http://webdelprofesor.ula.ve/ingenieria/hyelitza/materias/programacion2/oxo/
ProfaYusneyi_Tema8_POOClasesyObjetos.pdf
http://www.ciberaula.com/articulo/tecnologia_orientada_objetos/
http://help.adobe.com/es_ES/AS2LCR/Flash_10.0/00000160.html
http://www.cc.uah.es/jlcastillo/POO/POO_04.htm
http://indalog.ual.es/mtorres/LP/DOO.pdf
http://dis.um.es/~barzana/Informatica/IAGP/IAGP_4.pdf