Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4.1. Introduccin
Los sistemas o aplicaciones, toman forma cuando una o varias personas tienen la
visin de cmo la tecnologa puede mejorar las cosas. Los desarrolladores deben
entender la idea mientras crean el sistema, para ello debe existir un enlace entre quien
tiene la idea y el desarrollador.
El UML (Lenguaje unificado de modelado) es una herramienta que cumple con esta
funcin, se basa en smbolos y diagramas que permiten a los creadores generar diseos
que capturen la idea de un sistema para comunicrselo de una forma fcil de
comprender a quien realice el proceso de desarrollo.
59
Aplicacin web para el conocimiento y conversin de unidades
El anteproyecto de UML que estas tres personas, conocidas como los tres amigos,
estaban creando, empez a circular en la industria del software y las reacciones
resultantes trajeron consigo considerables modificaciones.
Conforme diversas empresas vieron que UML era til, se form un consorcio de
UML. Entre los miembros se encuentran DEC, Hewlett-Packard, Intellicorp, Microsoft,
Oracle, Texas Instruments y Racional.
Para poder representar correctamente un sistema, UML ofrece una amplia variedad
de diagramas para visualizar el sistema desde varias perspectivas:
Cada caso de uso, que representa el sistema, es una coleccin de situaciones y cada
una de estas una secuencia de pasos. A las entidades que inician las secuencias se las
conoce como actores.
60
Aplicacin web para el conocimiento y conversin de unidades
Calentar
Usuario de
Microondas
Hay un actor que inicia un caso de uso y otro (o l mismo) que recibir la accin
que se ha generado. En la representacin grfica, el actor que inicia se encuentra a la
derecha del caso de uso, indicado mediante una elipse, y el que recibe, a la derecha.
Tanto el nombre del actor como el del caso de uso, debern mostrarse en el diagrama.
Una lnea de trazo continuo, conecta el caso de uso con los actores (figura 4.2).
Caso de uso
Actor Actor
Los casos de uso se pueden relacionar entre si. Una relacin que aparece es la de
inclusin, en la que un caso de uso utiliza los pasos de otro.
Para representar la inclusin, se utilizar una lnea discontinua terminada en punta de
flecha en un extremo, y una etiqueta <<include>> (figura 4.3).
<<include>>
Introducir Tiempo
Calentar
Usuario de
<<include>>
Microondas
Introducir temperatura
Otra relacin entre los casos de uso es la extensin que permite crear un caso de
uso mediante la adicin de pasos a uno existente, denominado caso de uso base. La
61
Aplicacin web para el conocimiento y conversin de unidades
<<extend>>
Si un caso de uso hereda de otro, se dice que tienen una relacin de generalizacin.
El caso de uso secundario hereda las acciones y significado del primario, y adems
agrega sus propias acciones. Se representa con una lnea continua, que parte del caso de
uso secundario, terminado en una punta de flecha sin relleno apuntando al primario
(figura 4.5).
Jugador de Futbol
Delantero Defensa
Centrocampista
62
Aplicacin web para el conocimiento y conversin de unidades
Una clase es una categora o grupo de cosas que tienen atributos (propiedades) y
que realizan determinadas acciones.
En UML, una Clase es representada por un rectngulo que posee tres reas (figura
4.7).
Nombre de la
Clase 1
atributo1
atributo2
...
operacin1()
operacin2()
...()
En donde:
- Public ( ): Indica que el atributo ser visible tanto dentro como fuera de la
clase, es decir, es accesible desde todos lados.
rea Inferior: Contiene los mtodos (u operaciones), los cuales definen la forma de
cmo la Clase interacta con su entorno. Dependiendo de la visibilidad, los mtodos
pueden ser:
- Public ( ): Indica que el mtodo ser visible tanto dentro como fuera de la
clase, es decir, es usado desde todos lados.
63
Aplicacin web para el conocimiento y conversin de unidades
Un diagrama de clases se forma con varios rectngulos de este tipo conectados por
lneas que representan la manera en que las clases se relacionan entre si.
Cuando las clases se conectan entre si, esta conexin se conoce como asociacin.
En el diagrama de clases, la asociacin se indica con una flecha de una clase a otra
(figura 4.8).
Nombre de la Nombre de la
Clase 1 Clase 2
atributo1 atributo1
atributo2
operacin1()
operacin1() operacin2()
operacin2()
Dentro de una relacin de asociacin, cada clase juega un papel, que se indica en la
parte superior de la lnea que conecta a dichas clases (figura 4.9).
64
Aplicacin web para el conocimiento y conversin de unidades
+Empleado +Empleador
Trabajador Empresa
Empleado +Empleador
Director +Empleado
Empresa
Analista
Programador
+Empleado
Una asociacin, al igual que una clase, puede contener atributos y operaciones.
Cuando este sea el caso, se tendr una clase de asociacin. Se conecta a una asociacin
mediante una lnea discontinua, pudiendo asociarse a otra clase (figura 4.12).
Trabajador Empresa
Contrato RRHH
65
Aplicacin web para el conocimiento y conversin de unidades
As como un objeto es la instancia de una clase, una asociacin tambin cuenta con
instancias denominadas vnculos y que se representan como una lnea que conecta dos
objetos.
Uno a uno:
Marido 1 1 Mujer
Uno a muchos:
Doctor 1 * Paciente
66
Aplicacin web para el conocimiento y conversin de unidades
OcupanteDeAutomovil
+Conductor
1
+Pasajero 0..*
En UML, se representa la herencia con una lnea que conecta la clase principal con
la clase secundaria. En el extremo de la lnea prximo a la clase principal, se encuentra
una flecha sin relleno, apuntando a dicha clase principal.
67
Aplicacin web para el conocimiento y conversin de unidades
Vehiculo
ruedas : Integer
puertas : Integer
asiento : Integer
...
arrancar(giroLlave : Boolean)
acelerar(presionPedal : Float)
frenar(presionPedal : Float)
girar(lado : String)
Coche Camion
descapotable : Boolean remolque : Integer
...
cargar(kg : Float)
Una clase puede no provenir de una clase principal, en cuyo caso ser una clase
base o clase raz. As mismo, una clase podra no tener clases secundarias,
denominndose clase final o clase hoja. Si una clase tiene una nica clase principal, se
dice que tiene herencia simple, mientras que tendr herencia mltiple, si proviene de
varias clases principales.
En otro tipo de relacin, una clase utiliza a otra. A esta relacin se le denomina
dependencia. Se representa por una lnea discontinua, que parte de una clase, y termina
en flecha sin relleno en el extremo de la clase de la que depende.
Concesionario
Coche
venderCoche()
68
Aplicacin web para el conocimiento y conversin de unidades
Una relacin de agregacin se representa por una lnea que parte de los
componentes y finaliza con un rombo sin relleno en el extremo ms cercano al todo.
Comida
1
1 1
1
1
PrimerPlato Postre
1
SegundoPlato
Coche
Rueda 1 1 Volante
* 1
Se representa como una clase pero indicando la palabra <<interfaz>> antes del
nombre. En los diagramas UML, de la clase que utiliza el interfaz parte una lnea
discontinua acabada en flecha sin relleno, en el extremo ms prximo al interfaz (figura
4.23).
69
Aplicacin web para el conocimiento y conversin de unidades
Teclado
cantidadTeclas : Integer
<<Interface>>
ctrl() MaquinaDeEscribir
alt()
rePag() teclazo()
avPag()
...()
Teclado
cantidadTeclas : Integer
ctrl()
alt()
rePag() MaquinaDeEscribir
avPag()
...()
teclazo()
Destacar que una clase puede realizar ms de un interfaz, y ste puede ser realizado
por ms de una clase.
Clase
Nota
Un objeto es una instancia de la clase, dicho de otra manera, una entidad con
valores especficos de sus atributos y operaciones. (Todos los seres humanos son
instancias de una clase persona).
70
Aplicacin web para el conocimiento y conversin de unidades
Objeto: Clase
71
Aplicacin web para el conocimiento y conversin de unidades
Las operaciones que actan sobre el estado, deben servir de aclaracin sobre la
transicin que sufre el objeto, por lo que se pueden dividir en tres fundamentales (figura
4.27): entry (que sucede cuando el sistema entra al estado), do (que ocurre cuando el
sistema est en el estado), event (accin que aparece al darse un determinado evento
dentro del estado) y exit (que sucede cuando el sistema sale del estado).
Estado
entry/ Accion
event Evento X/ Accion
do/ Accion
exit/ Accion
Tambin es posible agregar detalles a las lneas de transicin, tales como un suceso
que provoque una transicin, y la accin que se ejecuta y haga que se lleve a cabo la
modificacin del estado. Los sucesos y acciones se representarn junto a la lnea que
indica la transicin y separados de una barra diagonal (figura 4.28).
Estado Estado2
Suceso o Evento( Argumentos ) / Accion
En ocasiones un evento causar una transicin sin accin asociada y algunas veces
una transicin se dar sin ser causada por un suceso sino porque finalizar una
actividad. A estos tipos de relaciones se les conoce como transicin no desencadenada.
72
Aplicacin web para el conocimiento y conversin de unidades
lapso de tiempo
Los subastados secuenciales como su nombre indican ocurren uno detrs del otro.
Los subastados mencionados anteriormente tendran la secuencia que aparece en la
figura 4.30.
Operacion
73
Aplicacin web para el conocimiento y conversin de unidades
Operacin
(Lapso transcurrido)
Verificar el cronmetro del Actualizar
sistema despliegue
Los diagramas de estados se refieren a las transiciones que sufre un objeto, mientras
que en UML los diagramas de secuencias muestra la forma en que un objeto interacta
con otros en base a los tiempos.
Nombre del
Objeto
74
Aplicacin web para el conocimiento y conversin de unidades
Los mensajes parten de un objeto a otro, o a l mismo, indicando que objeto entra
en ejecucin en el instante de tiempo. Pueden ser simples, sincrnico, o asincrnico.
Figura 4.33: los objetos, dentro del diagrama de secuencias, se colocan de izquierda
a derecha en la parte superior. Cada lnea de vida de un objeto es una lnea discontinua
que se desplaza hacia abajo del objeto. Una lnea continua terminada en punta de flecha,
que representa un mensaje entre objetos, conecta una lnea de vida con otra. El tiempo
se inicia en la parte superior y contina hacia abajo.
2.
3.
75
Aplicacin web para el conocimiento y conversin de unidades
En ocasiones un objeto cuenta con una operacin que se invoca a s misma. A esto
se le conoce como recursividad. En UML se representa mediante una flecha que parte
de la activacin, indicando la operacin, que apunta a un rectngulo pequeo
sobrepuesto en la activacin (figura 4.34).
Nombre
1.
Un diagrama de colaboraciones (figura 4.35) muestra los objetos como tales y sus
relaciones entre s. As mismo, indica los mensajes que se envan los objetos.
Los mensajes se representan con una flecha cerca de la lnea que asocia los objetos,
esta flecha apunta al objeto receptor de la operacin. El mensaje se etiqueta, indicando
al objeto receptor la operacin que debe realizar. El nombre de la operacin se
representa seguido de parntesis en donde aparecern los parmetros (en caso de haber
alguno) con los que funcionar el mtodo.
76
Aplicacin web para el conocimiento y conversin de unidades
1. anotar(numeros )
ObjetoCalculadora : ObjetoSumador :
Calculadora Sumador
ObjetoPantalla :
Pantalla
Uno de los primeros mtodos visuales aplicados a la programacin son los diagrama
de flujo, muestra una secuencia de pasos, procesos, puntos de decisin y bifurcaciones.
Estos pretenden facilitar la comprensin del sistema, entendiendo todos y cada uno de
los pasos y caminos que se pueden dar. ste diagrama es convertido posteriormente en
cdigo.
Volviendo un momento atrs, se puede ver que los diagramas de estados muestran
los estados de un objeto y las actividades representadas mediante flechas entre los
estados. El diagrama de actividades extiende el diagrama de estados, refinando lo que
ocurre dentro de cada actividad.
Los eventos indican el suceso que ocurre en la transicin de una actividad a otra. En
el diagrama, se indican encima de las conexiones entre actividades (Buen tiempo y Mal
tiempo en el ejemplo de la figura 4.37).
77
Aplicacin web para el conocimiento y conversin de unidades
Hacer Ejercicio
78
Aplicacin web para el conocimiento y conversin de unidades
Llegar a casa
Cenar Ver la TV
Componentes e interfaces
Se define interfaz como un conjunto de operaciones de una clase que son utilizadas
por otras. De igual modo, un componente (implementacin de software de una clase)
utilizar un interfaz, y slo a travs de ste se podrn ejecutar sus operaciones.
La relacin entre un componente y su interfaz se conoce como realizacin.
79
Aplicacin web para el conocimiento y conversin de unidades
Sustitucin y reutilizacin
Las interfaces son fundamentales dentro del modelado, ya que son primordiales en
la reutilizacin y sustitucin.
Tipos de componentes
Representacin en UML
Convertidor.java
80
Aplicacin web para el conocimiento y conversin de unidades
<<Applet>>
ConvertidorUnidades.java
Convertidor.java
<<Interface>>
Calculos
Convertidor.java
Calculos
Multiplicador.java Convertidor.java
<<Interface>>
Calculos
Multiplicador.java Convertidor.java
Calculos
81
Aplicacin web para el conocimiento y conversin de unidades
Todo sistema est compuesto de hardware, siendo bsico para un buen diseo del
sistema, un diseo slido de distribucin del hardware.
A los elementos de hardware se les denomina de forma genrica nodos. Dentro del
hardware, se pueden usar dos tipos de nodos:
Nodo
As mismo, puede contener ms informacin, tal como el nombre del paquete al que
pertenece, componentes situados en dicho nodo, etc.
Capa de Capa de
Presentacin Negocio
Cliente Servidor
comunicacin
ProcesarSolici tud
AccesoBD
Devol verInfo
82
Aplicacin web para el conocimiento y conversin de unidades
Usuario
Convertidor de Unidades
83
Aplicacin web para el conocimiento y conversin de unidades
Diagrama de Clases
El diagrama anterior contiene una nota, donde se enlaza al diagrama de clases del
Convertidor de unidades, de la figura 4.47.
<<Applet>>
ConvertidorUnidades
(from Convertidor de Unidades)
lTitulo : Etiqueta
lTipo : Etiqueta
CrearArrays lOrig : Etiqueta
(from Convertidor de Unidades) lDest : Etiqueta
lInfo : Etiqueta
CrearArrays() chCategoria : Combo
listORIG : Lista LlenaChoice
creacionArrayLongitud() (from Convertidor de Unidades)
creacionArrayArea() listDESt : Lista
txtNum : CajaTexto arrayUn : VAR
creacionArrayVolumen()
txtResult : CajaTexto chCategoria : VAR
creacionArrayMasa()
...() bConvert : Boton
arrayLongitud : VAR LlenaChoice()
arrayArea : VAR
arrayVolumen : VAR
PasoAComa arrayMasa : VAR
(from Convertidor de Unidades)
AccionChoice
ConvertidorUnidades() (from Convertidor de Unidades)
PasoAComa() init() chChoice : VAR
puntoComa() start() listORIG : VAR
listDEST : VAR
uLongitud : VAR
AccionBoton
uArea : VAR
(from Convertidor de Unidades)
AccionClick uVolumen : VAR
(from Convertidor de Unidades) uMasa : VAR
AccionBoton() uTemp : VAR
actionPerformed() txtNum : VAR
AccionClick() AccionChoice()
mouseClicked() itemStateChanged()
84
Aplicacin web para el conocimiento y conversin de unidades
85
Aplicacin web para el conocimiento y conversin de unidades
La figura 4.48, muestra las representaciones UML utilizadas a lo largo del presente
captulo.
Elementos Estructurales
Clase Componente
Interfaz
Caso de uso
Relaciones
Elementos de comportamiento
Actividad
Estado Actividad1 Actividad2
Nombre1 Nombre2
Nombre1 Mensajes
Nombre2
Secuencia
Colaboracin
86
Aplicacin web para el conocimiento y conversin de unidades
Agrupaciones Anotacin
Paquete
Nota
87