Está en la página 1de 17

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

Informtica IV
Programacin Orientada a
Objetos

Unidad I: Mantenimiento
preventivo y correctivo
Alejandra Valerio Romero.
alexa_valerio@comunidad.unam.mx
No. Cta.: 412129496
Asesor: Lic. Hugo Daz
Fecha entrega: 23/02/2016

Contenido
CONTENIDO...................................................................0
INTRODUCCIN..............................................................1
OBJETIVO......................................................................1
EN QU CONSISTE EL PARADIGMA ORIENTADO A
OBJETOS?......................................................................2
Entender y definir el paradigma orientado a objetos, as como sus
principios, conceptos y usos.

Paradigma imperativo......................................................................2
Paradigma lgico.............................................................................2
Paradigma Orientado a Objetos........................................................2

DEFINICIN Y EJEMPLO DE CADA PRINCIPIO Y CONCEPTO


DEL PARADIGMA ORIENTADO A OBJETOS..........................3
Conceptos.......................................................................................3
Clase.............................................................................................................. 3
Herencia......................................................................................................... 4
Objeto............................................................................................................ 5
Estado......................................................................................................... 5
Identidad..................................................................................................... 5
Comportamiento......................................................................................... 5
Mtodo........................................................................................................... 5
Evento............................................................................................................ 6
Atributos......................................................................................................... 6
Mensaje.......................................................................................................... 6
Propiedad o atributo.......................................................................................6
Estado interno................................................................................................ 6
Principios........................................................................................6
Abstraccin.................................................................................................... 6
Encapsulamiento............................................................................................7
Jerarqua......................................................................................................... 7
Poliformismo................................................................................................... 7
Herencia......................................................................................................... 7
Modularidad................................................................................................... 7
Criterio 1..................................................................................................... 8
Criterio 2..................................................................................................... 8
Criterio 3..................................................................................................... 8
Criterio 4..................................................................................................... 8
Criterio 5..................................................................................................... 8
Regla 1........................................................................................................ 8
Regla 2........................................................................................................ 8
Regla 3........................................................................................................ 8
Regla 4........................................................................................................ 8
Regla 5........................................................................................................ 8
Principio 1................................................................................................... 8
Principio 2................................................................................................... 8
Principio 3................................................................................................... 8
Principio 4................................................................................................... 8
Principio 5................................................................................................... 9
Principio de ocultacin...................................................................................9
Persistencia.................................................................................................... 9
Concurrencia.................................................................................................. 9

Paquete.......................................................................................................... 9
Recoleccin de basura....................................................................................9

PARA QU SIRVEN LOS MODELOS?...............................10


Gua al proceso de pensamiento..................................................................10
Especificaciones abstractas de la estructura esencial de un sistema...........10
Especificaciones completas de un sistema final...........................................10
Ejemplos de sistemas tpicos o posibles.......................................................10
Semntica y presentacin............................................................................10
Especificacin frente a implementacin.......................................................11

CUL ES LA DIFERENCIA ENTRE UNA METODOLOGA Y


UNA NOTACIN?...........................................................11
Metodologa..................................................................................11
Notacin........................................................................................11

MESOGRAFA...............................................................12

Introduccin
La Programacin Orienta a Objetos (POO u OOP por sus siglas en ingls), es un
paradigma de programacin. Es importante que definamos primero qu es un
paradigma. Segn la Real Academia Espaola, en su vigsima tercera edicin;
un paradigma es una teora cuyo ncleo central, suministra la base y modelo
para resolver problemas. Por lo tanto, el paradigma orientado a objetos, como
tal nos ensea un mtodo (probado y estudiado), el cual se basa en las
interacciones de objetos para resolver las necesidades de un sistema
informtico. Un paradigma es una forma de entender y representar la realidad:
un conjunto de teoras, estndares y mtodos que, juntos, representan un
modo de organizar el pensamiento, es decir, un modo de ver el mundo. Cada
nuevo paradigma responde a una necesidad real de nuevas formas de afrontar
problemas. A menudo un nuevo paradigma es creado como respuesta a las
deficiencias de paradigmas anteriores.
Tradicionalmente, datos y procesamiento se han separado en reas diferente
del diseo y la implementacin de software. Esto provoc que grandes
desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los
cambios y escalabilidad.
Un paradigma de programacin es una forma de conceptualizar en qu
consiste la ejecucin de un programa y cmo deben de estructurarse y
organizarse las tareas que se llevaran a cabo en esa ejecucin.

Objetivo

Entender el paradigma orientado a objetos.

Diferenciar los tipos de paradigmas que existen.

Aplicar y desarrollar el paradigma de la POO en el desarrollo de


aplicaciones para la resolucin de problemas y necesidades especficos.

Definir los modelos y para qu sirven.

En qu consiste el paradigma orientado a objetos?


Paradigma imperativo
En la programacin convencional los programas se dividen en dos
componentes: Procedimientos y Datos. Las estructuras de datos utilizadas en
programacin son globales o se pasan como parmetros. En esencia los datos
se tratan separadamente de los procedimientos.
Este paradigma se basa en tomar un problema y subdividirlos sucesivamente
en subproblemas, hasta llegar a unos subproblemas suficientemente sencillos
de resolver.
Edsger Dijkstra demostr en los aos sesenta que todo programa puede
escribirse utilizando nicamente la composicin secuencial de instrucciones,
las instrucciones de control IF-THEN-ELSE y el ciclo condicional WHILE-DO. Los
programas que utilizan slo estas tres instrucciones de control bsicas o sus
variantes, pero no la instruccin GOTO, se llaman estructurados.

Paradigma lgico
Comprende dos paradigmas de la programacin, la declarativa y la funcional.
La declarativa gira en torno al concepto de predicado o relacin entre
elementos., la funcional se basa en el concepto de funcin (que es una
evolucin de los predicados), de corte ms matemtico.

Paradigma Orientado a Objetos


En la programacin orientada a objetos, se combinan los datos y los
procedimientos en una entidad nica. Un programa se divide en componente
que contienen procedimientos y datos. Cada componente se considera un
objeto. Es decir, un objeto es una unidad que contiene datos y las funciones
operan sobre esos datos.
Un objeto contiene toda la informacin que permite
definirlo e identificarlo frente a otros objetos
pertenecientes a otras clases e incluso frente a objetos
de una clase, al poder tener valores bien diferenciados
en sus atributos. Los objetos con caractersticas
comunes se agrupan en clases. Los objetos son
entidades que combinan un estado (es decir, datos) y
un comportamiento (procedimientos o mtodos). Estos
objetos se comunican entre ellos para realizar tareas.
El ncleo central de este paradigma es la unin de datos y procesamiento en
una entidad llamada "objeto", relacionable a su vez con otras entidades
"objeto".
4

Definicin y ejemplo de cada principio y concepto del


paradigma orientado a objetos
Conceptos
Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciacin es la lectura de estas definiciones y la creacin de
un objeto a partir de ella. Es un patrn (plantilla) que define los atributos y
mtodos a ser incluidos. Descripcin de los datos (atributos) y de las
operaciones que describen el comportamiento de un cierto conjunto de
elementos homogneos. Consta de dos partes: la declaracin que lista o
identifica los miembros de la clase (atributos y
mtodos); y la implementacin, que define el
cuerpo de los mtodos de la clase.

Clase-interfaz determina la forma en la cual los elementos de la clase


(atributos y mtodos) pueden o no ser usados (son visibles) por cada uno de
los tres tipos diferentes de usuarios: elementos de la misma clase, elementos
de clases relacionadas (herencia) y elementos externos.

Clase-relaciones, basado en el principio de jerarqua, para la definicin de una


clase nueva se pueden usar clases existentes, ya sea incorporando un objeto
como atributo de clase (agrupacin) o estableciendo una generalizacin
(herencia).

Herencia
Por ejemplo, herencia de la clase C a la clase D. es la facilidad mediante la cual
la clase D hereda en ella cada uno de los atributos y operaciones de C, como si
esos atributos y operaciones hubiesen sido definidos por la misma D. por lo
tanto, puede usar los mismos mtodos y variables pblicas declaradas en C.
los componentes registrados como privados (private) tambin se heredan,
pero como no pertenece a la clase, se mantienen escondidos al programador y
slo pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para
mantener hegemnico el ideal de POO.
Permite crear clases nuevas a partir de clases ya existentes, estableciendo
niveles de jerarqua y programando slo las diferencias, refina las estructuras
sin necesidad de duplicar informacin. La clase nueva (jerarqua inferior) es
conocida como subclase o clase derivada y la clase de mayor nivel se
denomina superclase o clase
base.

Objeto
Instancia
de
una
clase.
Entidad
provista
de
un
conjunto de propiedades o
atributos
(datos)
y
de
comportamiento
o
funcionalidad
(mtodos),
mismo
que
consecuentemente
reaccionan a eventos. Se
corresponden con los objetos
reales del mundo que nos rodea, o con objetos internos del sistema
(programa). Tienen tres caractersticas:

Estado:

Contiene las propiedades (usualmente estticas), adems de los


valores actuales de estas propiedades (usualmente dinmicas). Hace que cada
objeto sea nico
6

Identidad:

distingue a un objeto del resto, es independiente del estado, se


conserva durante toda la vida del objeto aun cuando se realicen cambios de
estado. Es la base para construir/armar un mensaje hacia el objeto
correspondiente.

Comportamiento:

Indica la forma como el objeto acta y reacciona en


trmino de los cambios de estado. Est totalmente definido por sus acciones u
operaciones.

Mtodo
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena tras la recepcin de un mensaje. Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir
un cambio en las propiedades del objeto, o en la generacin de un evento
con un nuevo mensaje para otro objeto del sistema.

Evento
Es un suceso en el sistema (tal como una
interaccin del usuario con la mquina, o
un mensaje enviado por un objeto). El
sistema maneja el evento enviando el
mensaje adecuado al objeto pertinente.
Tambin se puede definir como evento a
reaccin que puede desencadenar un
objeto; es decir la accin que genera.

la

Atributos
Caractersticas que tiene la clase.

Mensaje
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus
mtodos con ciertos parmetros asociados al evento que lo gener.

Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o una clase de objetos),
que hace los datos visibles desde fuera del objeto y esto se define como sus
caractersticas predeterminadas, y cuyo valor puede ser alterado por la
ejecucin de algn mtodo.

Estado interno
Es una variable que se declara privada, que puede ser nicamente accedida y
alterada por un mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos). No es visible al
programador que maneja una instancia de la clase.

Principios
Abstraccin
Denota las caractersticas esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un
agente abstracto que puede realizar trabajo.
Informar y cambiar su estado, y comunicarse con
otros objetos en el sistema sin revelar cmo se
implementan estas caractersticas. El proceso de
abstraccin permite seleccionar las caractersticas
relevantes dentro de un conjunto e identificar
comportamientos comunes para definir nuevos
tipos de entidades en el mundo real. Es la clave en
el proceso de anlisis y diseo orientado a objetos,
ya que mediante ella podemos llegar a armar un
conjunto de clases que permitan modelar la realidad o
el problema que se quiere atacar.
Un ejemplo es cmo y qu capta cada una de las
seoras el concepto de gato.

Encapsulamiento
Significa reunir todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al
mismo nivel de abstraccin. Esto permite aumentar la
cohesin (diseo estructurado) de los componentes del
sistema. Se refiere a incluir dentro de un objeto todo lo
que este necesita y hacerlo de forma tal que ningn otro
objeto vea su estructura interna. Proteger los datos de
un objeto del uso arbitrario.

Jerarqua
Es el resultado de distinguir un concepto que es ms general que otro. Permite
examinar si los conceptos tienen algo en
comn. Nos ayuda a percibir que todas
las instancias de un concepto ms
especfico son tambin instancias de un
concepto general.

Poliformismo

Comportamientos diferentes, asociados a


objetos distintos, pueden compartir el
mismo nombre; al llamarlos por ese
nombre se utilizar el comportamiento
correspondiente al objeto que se est
usando. Las referencias y las colecciones de objetos pueden contener objetos
de diferentes tipos, y la invocacin de un comportamiento en una referencia
producir el comportamiento correcto para el tipo real del objeto referenciado.
8

Cuando esto ocurre en tiempo de ejecucin, se le llama asignacin tarda o


dinmica.

Herencia
Las clases no se encuentran aisladas, sino que se relacionan entre s, formando
una jerarqua de clasificacin. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia organiza
y facilita el poliformismo y el encapsulamiento, permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos preexistentes.
Pueden compartir y extender su comportamiento sin tener que volver a
implementarlo. Esto suele hacerse habitualmente agrupando los objetos en
clases y estas en rboles o enrejados que reflejan un comportamiento comn.
Cuando un objeto hereda de ms de una clase se dice que hay herencia
mltiple; siendo de alta complejidad tcnica por lo cual suele recurrirse a la
herencia virtual para evitar la duplicacin de datos.

Modularidad

Permite subdividir una aplicacin en partes ms pequeas (mdulos), cada una


de las cuales debe ser tan independiente como sea posible de la aplicacin en
s y de las restantes partes. Se pueden compilar por separado, pero tienen
conexiones con otros mdulos. 5 criterios, 5 reglas y 5 principios.

Criterio 1-

Descomposicin modular: Descomponer el problema de software


en pequeos subproblemas, conectados con estructuras sencillas e
independientes.

Criterio 2- Composicin modular: Produccin de elementos combinables unos


con otros para producir nuevos sistemas.

Criterio 3-

Comprensibilidad modular: Cada mdulo puede ser entendido sin


tener que conocer los otros.

Criterio 4-

Continuidad modular: Un cambio en la especificacin provoca


cambios en uno o algunos mdulos.

Criterio 5-

Proteccin modular. Cuando hay una situacin anormal dentro de


un mdulo durante su ejecucin, queda slo en ese mdulo, en el peor de los
casos, slo se propaga a mdulos vecinos.

Regla 1-

Correspondencia directa: Compatible con cualquier otra estructura


modular obtenida en el proceso de modelado del dominio del problema.

Regla 2-

Pocas interfaces: Cada mdulo debe comunicarse con el menor


nmero de mdulos posibles.

Regla 3-Pequeas

interfaces: Si dos mdulos se


comunican deben intercambiar la menor informacin
posible,

Regla 4-

Interfaces explcitas: Siempre que dos mdulos A y B se


comuniquen, debe ser obvio a partir del contexto de A, de B o de ambos.

Regla 5- Ocultamiento de informacin: Cada uno debe de tener seleccionada


un subconjunto de propiedades como informacin oficial del mdulo para
ponerla a disposicin de otros mdulos.

Principio 1-

Unidades modulares lingsticas: Deben corresponderse con las


unidades sintcticas en el lenguaje utilizado.

Principio 2-

Auto-documentacin. Toda la
informacin relativa a un mdulo debe formar
parte del mismo mdulo.

Principio

3- Acceso uniforme: Todos los


servicios ofrecidos por un mdulo deben estar
disponibles a travs de una notificacin uniforme
sin importar la forma como estn implementados.
Principio 4- Abierto/Cerrado: Deben de ser a la
vez abiertos (disponible para ser extendido) y
cerrados (disponible para ser usado por otros
mdulos).

Principio 5-

Eleccin nica: Cuando se deba


admitir un conjunto de alternativas, habr slo
un mdulo del sistema que conozca su lista
completa.

Principio de ocultacin
Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de
objeto expone una interfaz a otros objetos que especifica cmo pueden
interactuar con los objetos de la clase. El aislamiento protege a las propiedades
de un objeto contra su modificacin por quien no tenga derecho a acceder a
ellas; solamente los propios mtodos internos del objeto pueden acceder a su
estado; eliminando efectos secundarios e interacciones inesperadas.

Persistencia
Es la propiedad que tiene un objeto de existir en el tiempo y en el espacio,
existe hasta que no sea ms necesitado y el espacio que ocupa es reutilizado.
Tanto la necesidad de espacio para almacenar el objeto como su recuperacin,
involucran a los dependientes (objetos relaciones) de dicho objeto.

Concurrencia
Es la propiedad que distingue un objeto activo de uno que no lo es. Permite a
diferentes objetos actuar al mismo tiempo; cada uno de ellos tiene autonoma.

10

Paquete
Son una forma de agrupar clases es interfaces asociadas. Habilitan los grupos
de clases para estar disponibles slo si son necesarios y eliminan los conflictos
potenciales entre los nombres de clases en grupos diferentes de clases.

Recoleccin de basura
Es la tcnica por la cual el entorno de objetos se encarga de destruir
automticamente, y por tanto desvincular la memoria asociada, los objetos que
hayan quedado sin ninguna referencia a ellos.

11

Para qu sirven los modelos?


Primero sera conveniente saber qu es un modelo. Un modelo es una
representacin, en cierto medio, de algo en el mismo medio y otro medio. El
modelo capta los aspectos importantes de lo que estamos modelando, desde
cierto punto de vista, y simplifica u omite el resto. Con base en esto, veremos
para qu nos sirven los modelos.

Para captar y enumerar los requisitos y el dominio de conocimiento, para


que todos lo puedan entender y estar de acuerdo.

Para pensar el diseo del sistema, ayuda a explorar varias arquitecturas


y soluciones de diseo antes de escribir el cdigo.

Para organizar, encontrar, filtrar, recuperar, examinar y corregir la


informacin en grandes sistemas.

Para explorar econmicamente mltiples soluciones.

Gua al proceso de pensamiento

Para enfocar el proceso el pensamiento de los participantes y destacar


determinadas opciones. Capturan requisitos y representan un punto de partida
hacia un diseo del sistema. Segn progresa el diseo, los primeros modelos
son sustituidos por otros modelos ms exactos.

Especificaciones abstractas de la estructura esencial de un


sistema
Los modelos en el anlisis o en las etapas preliminares del diseo se centran
en los conceptos y mecanismos claves del probable sistema. El propsito es
conseguir que los aspectos de alto nivel estn correctos antes de abordar los
detalles ms localizados.

Especificaciones completas de un sistema final


Debe incluir no solamente la semntica lgica del sistema y los algoritmos, las
estructuras de datos y los mecanismos que aseguran su funcionamiento
apropiado-, sino tambin las declaraciones de organizacin sobre los artefactos
del sistema que son necesarios, permitiendo as el trabajo cooperativo de las
personas y el procesamiento por parte de las herramientas. Debe incluir las
construcciones para empaquetar el modelo, para la comprensin de la persona,
y para la conveniencia de la computadora.

Ejemplos de sistemas tpicos o posibles

Algunos bien elegidos pueden facilitar el entendimiento a las personas, y


pueden validar las especificaciones e implementacin del sistema. Un modelo
de ejemplo o prototipo incluye instancias ms que descriptores generales.
Generalmente usan slo un subconjunto de las construcciones de UML.

12

Semntica y presentacin
Los modelos tienen dos aspectos importantes:
(semntica) y presentacin visual (notacin).

Informacin

semntica

El aspecto semntico capta el significado de una aplicacin como una res de


construcciones lgicas, por ejemplo clases, asociaciones, estados, casos de uso
y mensajes. Se utiliza para la generacin del cdigo, la comprobacin de la
validez, las mtricas de complejidad, etc.
La presentacin visual muestra la informacin semntica de modo que se
pueda ser considerada, hojeada y corregida por los seres humanos.

Especificacin frente a implementacin

Es importante determinar el qu, antes de invertir tiempo en el cmo.


Un modelo de proceso de software define cmo solucionar la problemtica del
desarrollo de sistemas de software. Debe de considerar una variedad de
aspectos, como el conjunto de personas estructuras organizacionales, reglas,
polticas, actividades, componentes de software, metodologas y herramientas
utilizadas.

Cul es la diferencia entre una metodologa y una


notacin?
Metodologa
Es una versin ampliada del ciclo de vida completo del desarrollo de sistemas,
que incluyen tareas o pasos para cada fase, funciones desempeadas en cada
tarea, productos resultantes, normas de calidad y tcnicas de desarrollo que se
utilizan en cada tarea.

Notacin
La notacin no agrega significado a un modelo, sino que ayuda al usuario a
entender su significado. No tiene semntico, sino que agrega a menudo las
connotaciones para un usuario, tal como la afinidad percibida de dos conceptos
basados en su proximidad en un diagrama.
La notacin es algo ms que figuras: incluye informacin en texto e
hiperenlaces invisibles entre elementos de representacin.
La notacin debe ser un vehculo para capturar la forma de funcionar, el
comportamiento y la estructura de un sistema.

No ser posible encontrar la informacin relevante en un nico


diagrama. Diversos puntos de vista sern necesarios.

Debe existir un equilibrio entre la complejidad de la notacin y la


precisin que se requiere al hacer el modelo.
13

La notacin no es un fin en si misma.

La notacin es la representacin o formato comn o estndar que tienen o


comparten las metodologas. Que smbolos se manejan.

14

Mesografa

http://www.capacinet.gob.mx/Cursos/Tecnologia
%20amiga/desarrolladordesoftware/POO_SE.pdf

http://aprendeenlinea.udea.edu.co/lms/men_udea/mod/page/view.php?
id=19537

http://librosweb.es/libro/python/capitulo_5/pensar_en_objetos.html

http://librosweb.es/libro/python/capitulo_5/programacion_orientada_a_obj
etos.html

http://trevinca.ei.uvigo.es/~rlaza/teoria/OO_Transparencias.pdf

https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

http://www.kybele.etsii.urjc.es/docencia/IS_LADE/2012-2013/Material/
%5BIS-LADE-2012-13%5DT10%20-%20Introducci%C3%B3n%20a%20la
%20Orientaci%C3%B3n%20a%20Objetos.pdf

http://www.scielo.org.ve/scielo.php?script=sci_arttext&pid=S131648212009000100008

http://es.slideshare.net/karlalopezbello/principios-orientacionobjetos

15