Beruflich Dokumente
Kultur Dokumente
Contenido de la Unidad:
Introduccin
Los conceptos de la Programacin Orientada a Objetos (POO) tienen origen en Simula 67, un
lenguaje diseado para hacer simulaciones con naves areas. La idea surgi al agrupar los diversos
tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir
sus propios datos y comportamientos. Fueron refinados ms tarde en Smalltalk, desarrollado en
Simula en Xerox PARC (cuya primera versin fue escrita sobre BASIC) pero diseado para ser un
sistema completamente dinmico en el cual los objetos se podran crear y modificar en tiempo de
ejecucin en lugar de tener un sistema basado en programas estticos.
La Programacin Orientada a Objetos se fue convirtiendo en el estilo de programacin dominante a
mediados de los aos ochenta, en gran parte debido a la influencia de C++, una extensin del
lenguaje de programacin C. Su dominacin fue consolidada gracias al auge de las Interfaces
Grficas de Usuario (GUI), para las cuales la programacin orientada a objetos est particularmente
bien adaptada.
Abstraccin
Polimorfismo
Herencia
Estructurada (PE)
Ventajas
Desventajas
b) Atributos: son las caractersticas individuales que diferencian un objeto de otro y determinan su
apariencia, estado u otras cualidades; son propiedades del objeto. Por ejemplo, para el objeto
automvil, algunos de sus atributos son: propietario, marca, ao de matrcula, potencia etc.
Atributos son los datos o variables que caracterizan el objeto y cuyos valores indican en un momento
dado su estado. Para el objeto estudiante algunos de sus atributos podran ser: carnet, nombre,
carrera, asignaturas aprobadas, etc.
La identidad y estado de los objetos, tienen que ver con los atributos, y estos pueden ser modificados
por el comportamiento de los objetos.
c) Clase: es la representacin de un conjunto de objetos del mismo tipo, es decir que los distinguen
los mismos atributos y las mismas funciones (o comportamiento).
Es la definicin (o implantacin) de un tipo abstracto de datos; es decir que una clase describe no
slo los atributos de los objetos que la forman, sino que tambin incluye sus procesos (funciones o
comportamiento).
Segn Luis Joyanes Aguilar, una clase es una caracterizacin abstracta de un conjunto de objetos.
d) Mtodos: son las operaciones (acciones o funciones) definidas para los objetos, y permiten
crearlos, cambiar su estado o consultar el valor de los atributos. Cuando se llama a una
operacin de un objeto se interpreta como el envo de mensaje a dicho objeto. En otras
palabras, un mtodo es una subrutina asociada a una clase.
Algunos de los diferentes tipos de mtodo que existen son los siguientes:
Mtodo Get (para ver o consultar valores de atributos)
Mtodo Set (para asignar valores de atributos)
Mtodos de actualizacin (para cambiar valores por medio de clculos)
e) Relaciones entre Clases: los objetos del medio ambiente no permanecen aislados y
separados unos de los otros, todo lo contrario se comunican entre s para poder apoyarse y ayudarse
entre s. De la misma forma las clases que forman parte del ambiente de un problema se relacionan
entre s y con ello se permite que los objetos colaboren entre s e intercambien informacin.
Las relaciones entre clases pueden ser las siguientes:
Asociacin: Es la relacin ms importante y comn entre clases. Refleja una relacin
entre dos clases independientes que se mantiene durante la vida de los objetos de
dichas clases o al menos durante un tiempo prolongado.
Composicin: Este tipo de relacin entre clases indica dependencia entre ellas, indica
que una clase es parte esencial de otra; es una relacin mucho ms fuerte que la
agregacin ya que de eliminarse una clase, deja de existir la otra. Dicho de otra forma, si
la clase origen el todo se elimina o destruye, las otras clases (o las partes) tambin se
destruyen.
Dependencia: Esta relacin indica la necesidad de una clase hacia otra, es decir que la
implantacin de una clase depende de otra; los mtodos u operaciones de una clase
requiere de los atributos de los objetos de la otra clase.
Herencia: Indica que una Subclase hereda los mtodos y atributos especificados por
una Superclase, por ende la Subclase adems de poseer sus propios mtodos y atributos,
poseer las caractersticas y atributos visibles de la Superclase.
Un auto es un trmino comn que define a tipos diferentes de automviles, es decir es una
categora que puede servir para agrupar, por ejemplo las diferentes marcas (BMW, Seat,
Toyota entre otras) o por su categora (deportivos, clsicos, pick-up, etc).
Si los miembros de autos o las diferencias entre autos individuales no son relevantes, entonces se
utilizan expresiones y operaciones tales como: se fabrican autos, se usan autos para trasladarse de
un lado a otro, se descompone el auto en sus partes, etc.
6.4.3 Polimorfismo
Es la capacidad del cdigo de un programa para ser utilizado con diferentes tipos de datos u objetos.
Tambin se puede aplicar a la propiedad que poseen algunas operaciones de tener un
comportamiento diferente, dependiendo del objeto (o tipo de dato) sobre el que se aplican. As, en
un lenguaje de programacin el operador + representa la suma de dos nmeros ( x + y ) de
diferentes tipos: enteros, flotantes. Pero tambin, el mismo operador puede definir la operacin de
sumar dos cadenas: concatenacin. De modo similar, suponiendo un nmero de figuras geomtricas
que responden todas al mensaje CalcularArea; cada objeto reacciona a este mensaje haciendo el
clculo correspondiente de la superficie, el cual difiere de una figura a otra:
6.4.4 Herencia
Proporciona la facilidad de heredarle caractersticas de una Superclase a una Subclase y es
comnmente utilizada en la POO. La idea principal es crear una clase que encapsule todos los
elementos o caractersticas generales que pueda y a partir de sta, heredarle parcial o totalmente las
caractersticas a objetos de una subclase.
6.5
Los diagramas estructurados se utilizan para capturar la organizacin fsica de las cosas del sistema.
Por ejemplo, cmo se relacionan unos objetos con otros. Mientras que, los diagramas de
comportamiento se centran en el comportamiento de los elementos de un sistema.
El Modelo Conceptual se ha diseado para proporcionar un marco de referencia, estructurado y
claramente definido para relacionar los datos con las necesidades de los usuarios.
La metodologa utilizada en la construccin de este Modelo tiene como primer paso, la identificacin
de los principales objetos que son de inters para los usuarios de la informacin en un dominio
particular. Cada uno de estos objetos clave, o entidades, sirve, por tanto, como foco de un grupo de
datos. Un modelo desarrollado usando estas tcnicas tambin representa la relacin entre diferentes
tipos de entidad.
Una vez que se ha establecido la estructura de alto nivel para el modelo mediante la identificacin de
las entidades y las relaciones entre , el siguiente paso es identificar las principales caractersticas o
atributos de cada entidad. A un nivel ms concreto, el modelo tambin puede describir la relacin
que pueda existir entre instancias.
En el diseo de cualquier modelo conceptual, dilucidar si algo es un atributo o una entidad
independiente es una decisin clave. El resultado de esta decisin depende del futuro uso del
atributo o entidad. Generalmente, las personas y los entes corporativos son entidades
independientes que podran relacionarse con las otras entidades establecidas en el citado modelo.
Convenciones Utilizadas en los Diagramas
a) Un rectngulo de lnea contnua representa una entidad (es decir, un objeto de inters para
los usuarios).
b) Un rectngulo de lnea punteada alrededor de un grupo de dos o ms entidades indica que
una relacin representada por una flecha contigua a la lnea de puntos puede aplicarse a
todas y cada una de las entidades representadas en el rectngulo.
c) Una flecha de una punta sobre una lnea representa una relacin en la que cada instancia de
la entidad del otro extremo de la lnea puede estar asociada con una sola instancia de la
entidad a la que apunta la flecha.
El objetivo de la Primera Etapa del Anlisis de Sistemas Orientado a Objetos es desarrollar un
Modelo Conceptual o Cualitativo, del sistema de inters. Una vez que se hayan definido claramente
los objetivos del proyecto, se usan como base para abstraer del sistema real aquellos componentes
que son relevantes para abordar las preguntas generadas.
A medida que se van seleccionando ciertos componentes y excluyendo otros, se van definiendo los
lmites del sistema de inters. Luego, se clasifican los componentes del modelo de acuerdo con el rol
especfico que tienen en la descripcin de la estructura del sistema y se identifican las relaciones
entre los componentes que generan la dinmica del sistema.
Posteriormente, se representa formalmente el modelo conceptual resultante usando un diagrama de
cajas y flechas. Las cajas representan los puntos de acumulacin de material y las flechas
representan las rutas a travs de las cuales el material fluye en el sistema.
Finalmente, se describen los patrones esperados del comportamiento del modelo por medio de
grficos que representan los cambios a lo largo del tiempo en los valores de las variables del sistema
que se consideran ms importantes.
En muchos aspectos el desarrollo del modelo conceptual es la etapa del anlisis de sistemas que
presenta el mayor desafo intelectual. La mejor base para tomar decisiones (las que a menudo son
subjetivas) acerca de cules componentes se deben incluir en el modelo est dada por el
conocimiento acerca del sistema real.
Existen dos estrategias generales para identificar los componentes del modelo: una de ellas consiste
en incluir pocos componentes y posteriormente aadir aquellos componentes crticos que
inicialmente fueron omitidos; la otra consiste en incluir todos los componentes que podran ser de
importancia en la etapa inicial, para luego descartar aquellos que parecen superfluos.
Tericamente el resultado final de las dos estrategias debera ser un modelo conceptual con el grado
mnimo de complejidad que permita abordar el problema. En la prctica es mejor comenzar con un
modelo que sea lo ms simple posible.
Etapas del Desarrollo del Modelo Conceptual
1. Definir los Objetivos del Modelo
2. Definir los Lmites del Sistema de Inters
3. Clasificar los Componentes del Sistema de Inters
4. Identificar las Relaciones entre los Componentes del Sistema
5. Representacin Formal del Modelo Conceptual
6. Describir los Patrones Esperados del Comportamiento del Modelo
Un Diagrama de Clases es una representacin grfica de las clases de un sistema. Sirve para
modelar el sistema en trminos de sus clases, atributos y las relaciones entre estos elementos.
En el diagrama se representan los requerimientos y la arquitectura general del sistema en
estudio. Se utiliza para capturar las relaciones estticas del software. Este tipo de diagramas
proporcionan un medio de capturar la estructura fsica de un sistema.
Este diagrama se utiliza en la etapa de anlisis del problema y diseo de la solucin. Los smbolos
ms utilizados en este diagrama son:
RECTANGULO: representa una clase, dividido en tres partes, una para el nombre de la clase, otra
para los atributos y la ltima para los mtodos o funciones.
NombreCla
se
Atri
but
os
FLECHAS: indican la relacin que existe entre dos clases. Las flechas pueden ser continuas o
punteadas, pueden tener punta o no y puede ser sustituda por rombos, segn sea la relacin que
Mt
indique, como se ver ms adelante:
odo
s
Asociacin
Esta relacin se establece cuando dos clases tienen una dependencia de utilizacin, es decir que
una clase utiliza atributos y/o mtodos de otra clase para funcionar, ambas clases tienen la misma
jerarqua, es decir que ninguna es parte de la otra. La relacin entre clases conocida como
Asociacin, permite asociar objetos que colaboran entre s. Ejemplo:
Notar que las dos clases estn unidas por una
lnea y no por una flecha, porque: Cuando las
flechas van de izquierda a derecha y de
arriba hacia abajo, se puede omitir la
punta de la flecha.
Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una Orden de Compra
slo puede tener asociado a un cliente.
Agregacin
Con este tipo de relacin se indica que un objeto forma parte de otro objeto; por ejemplo si se tiene el
objeto: computadora, esta tiene un monitor, que es otro objeto; el monitor forma parte de la
computadora; por lo tanto tienen una relacin de agregacin. Esta relacin tambin es conocida
como forma parte de
Ejemplo:
Un Almacn posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias, es
decir el objeto que est formado por los otros: el todo y las partes). Cuando se destruye el Objeto
Almacn tambin son destruidos los objetos Cuenta asociados, en cambio no son afectados los
objetos Cliente asociados.
Pasos para Crear el Diagrama de Clases (Sin Mtodos)
1. Listar clases candidatas
2. Representar las clases en un diagrama de clases
3. Agregar asociaciones
4. Agregar atributos necesarios
Ejemplo de Creacin de un Diagrama de Clases:
Enunciado: En un juego de dados, un jugador toma dos dados y los lanza. Luego, se suman los
valores de las caras superiores de los dados. Si el valor es 7 gana el juego, de lo contrario pierde.
1. Listar clases:
Juego de Dados, Jugador, Dado
3. Agregar asociaciones:
4. Agregar atributos:
Jugador: nombre del jugador
Dado: valor de la cara
De esta manera el Diagrama de clases, nicamente con atributos y relaciones, queda as:
Un Caso de Uso es una descripcin de los pasos o las actividades que debern realizarse para
llevar a cabo algn proceso. Los personajes o entidades que participarn en un caso de uso se
denominan actores.
Un Caso de Uso es una secuencia de interacciones que se desarrollarn entre un sistema y sus
actores en respuesta a un evento que inicia un actor principal sobre el propio sistema.
Los Diagramas de Casos de Uso (DCU) sirven para especificar la comunicacin y el comportamiento
de un sistema mediante su interaccin con los usuarios y/u otros sistemas. O lo que es igual, un
diagrama que muestra la relacin entre los actores y los casos de uso en un sistema. Una relacin es
una conexin entre los elementos del modelo, por ejemplo la especializacin y la generalizacin son
relaciones.
Los DCU se utilizan para ilustrar los requerimientos del sistema al mostrar cmo reacciona a eventos
que se producen en su mbito o en l mismo.
A continuacin se presenta la Notacin de los DCU:
En el siguiente cuadro se encuentra la Simbologa de los elementos bsicos para el diseo UML.