Академический Документы
Профессиональный Документы
Культура Документы
FACULTAD DE INGENIERA
Y CIENCIAS HDRICAS
Ingeniera en Informtica
Ingeniera de Software I
El UML est compuesto por diversos elementos grficos que se combinan para
conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para
combinar tales elementos. La finalidad de los diagramas es presentar diversas perspectivas
de un sistema a las cuales se les conoce como modelo. El modelo UML describe lo que
supuestamente har un sistema (el qu), pero no dice cmo implementarlo.
El UML es una creacin de Grady Booch, James Rumbaugh e Ivar Jacobson. Cada
uno de ellos durante los aos ochenta y noventa dise su propia metodologa para el
anlisis y diseo orientado a objetos. stas predominaron sobre sus competidores y a
mediados de los noventa empezaron a intercambiar ideas entre s y consecuentemente
desarrollaron un trabajo en conjunto. Como se indicara, las distintas ideas eran relativas al
anlisis y diseo orientado a objetos, razn por la cual para comprender todo lo relacionado
con el UML se requiere tener claro todo lo relacionado a la orientacin a objetos.
Un objeto es una instancia de una clase (o categora). Cuenta con una estructura (es
decir atributos o propiedades) y acciones. stas son todas las actividades que el objeto es
capaz de realizar. Por ejemplo, dada la clase Persona sta puede tener como atributos
altura, peso, fecha de nacimiento etc. Tambin puede realizar tareas como comer, dormir,
leer, escribir, hablar, etc. Si se tuviera que crear un sistema que manejara informacin
acerca de las personas, sera muy probable que se incorporen algunos atributos y acciones en
el software. Toda clase puede verse desde tres perspectivas distintas pero complementarias:
Se llama atributo a la abstraccin de una caracterstica comn para todas las instan-
cias de una clase, o a una propiedad o caracterstica de un objeto. Las operaciones de una
clase son servicios ofrecidos por sta, que llevan (o pueden llevar) a cambios en el estado de
un objeto de dicha clase. Conceptualmente, una operacin puede considerarse como una
peticin a un objeto para que haga algo. Cuando las clases se implementan en lenguajes
OO, se habla de variables de instancia (implementaciones software de atributos) y de mto-
dos (implementaciones software de operaciones). Cada instancia de una clase (u objeto)
contiene su propio conjunto de variables de instancia, cuyos valores pueden variar con el
tiempo. El conjunto de los valores tomados por las variables de instancia de un objeto, en
un instante dado, representa el estado del objeto. Dicho en sentido inverso, el estado de un
objeto viene representado por los datos almacenados en sus variables de instancia.
6.1.1 La abstraccin
6.1.2 El encapsulamiento
Entonces, cada clase debe tener dos partes: una interfaz y una implementacin. La
interfaz de una clase, captura solamente su vista externa que alcanza a la abstraccin que se
ha hecho del comportamiento comn de todas las instancias de la clase y ah se listan o
declaran las acciones que pueden tener lugar. La implementacin de una clase comprende la
representacin de la abstraccin as como los mecanismos que consiguen el comportamiento
deseado. El encapsulamiento es la caracterstica fundamental que debe poseer la
implementacin ya que se deben esconder todos los detalles de cmo se hacen las cosas
listadas en la interfaz. Para el caso planteado del televisor, la interfaz del mismo viene dada
a travs de las perillas y botones o el control remoto.
6.1.3 La herencia
La herencia no tiene porqu terminar ah, pueden ocurrir que Electrodomestico sea a
su vez subclase de Articulos del hogar como se muestra en la figura:
Considrense las analogas y diferencias entre las siguientes clases de objetos: flores,
margaritas, rosas rojas, rosas amarillas, ptalos y mariquitas. Supnganse las siguientes
observaciones:
Las asociaciones son el tipo ms general pero tambin el de mayor debilidad semn-
tica. La identificacin de asociaciones entre clases, es frecuentemente una actividad de an-
lisis y diseo inicial, momento en el cual se comienza a descubrir las dependencias genera-
les entre las abstracciones. A medida que se contina el diseo y la implantacin, se refina-
rn a menudo estas asociaciones dbiles orientndolas hacia una de las otras relaciones de
clase ms concretas. Aparecen entonces las agregaciones y la herencia. De todas maneras
se necesitan las relaciones de uso que establecen los enlaces entre las clases.
1. Relacin de herencia
La herencia permite que unos objetos puedan basarse en otros ya exis-
tentes. En trminos de clases, la herencia es el mecanismo por el cual una
clase X puede heredar propiedades de una clase Y de modo que los objetos de
la clase X tengan acceso a los atributos y operaciones de la clase Y sin nece-
sidad de redefinirlos. Suelen usarse los trminos hijo/padre o subcla-
se/superclase para designar el par. A veces se dice que la subclase es una es-
pecializacin de la superclase y que la superclase es una generalizacin de las
subclases.
Clase D
Clase B Clase C
Clase A
Ejemplo de herencia:
2. Relacin de asociacin.
Suponga el caso tpico de factura y artculos de las factura. Esto se
puede representar mediante una asociacin simple entre las dos clases. Esta
asociacin sugiere una relacin bidireccional ya que dada una instancia de ar-
tculo se debera poder encontrar la factura que denota su venta y dada una
instancia de factura se deberan poder localizar todos los artculos que la
componen. Esta es una asociacin de uno a muchos en la que cada instancia
Ejemplo de clasificacin:
Se ha visto que un objeto es algo que tiene una frontera definida con nitidez. Sin
embargo, las fronteras que distinguen un objeto de otro, son a menudo difusas. Por ejemplo,
si se fijan en su pierna, dnde empieza la rodilla y donde termina? En el reconocimiento
del habla humana, cmo saber que ciertos sonidos se conectan para formar una palabra y
no son en realidad parte de otras palabras circundantes? En un procesador de texto, consti-
tuyen los caracteres una clase o son las palabras completas una mejor eleccin? Cmo
tratar selecciones arbitrarias no contiguas de texto, y qu hay sobre las oraciones, prrafos o
incluso documentos completos: son relevantes para el problema estas clases de objetos?
La clasificacin es difcil puesto que existen paralelismos con los mismos problemas
en el diseo orientado de objetos. Considrese por ejemplo la biologa. Hasta el siglo XVIII
- Categorizacin clsica
- Agrupamiento conceptual
- Teora de prototipos
1. Categorizacin clsica
En la aproximacin clsica a la categorizacin, todas las entidades que
tienen una determinada propiedad o coleccin de propiedades en comn for-
man una categora. Tales propiedades son necesarias y suficientes para defi-
nir la categora. Por ejemplo, las personas casadas constituyen una categora,
se est casado o no, y el valor de esta propiedad es suficiente para decidir a
qu grupo pertenece un individuo. Por otra parte, las personas altas no for-
man una categora, al menos que se determine un criterio absoluto por el que
se distinga la propiedad alto de la propiedad bajo. Esta categorizacin em-
plea propiedades relacionadas como criterio de similitud entre objetos. Con-
cretamente se puede dividir los objetos en conjuntos disjuntos dependiendo
de la presencia o ausencia de una propiedad particular. En sentido general,
2. Agrupamiento conceptual
Es una variacin ms moderna del anterior y deriva en gran medida de
los intentos de explicar cmo se representa el conocimiento. En este enfoque,
las clases (agrupaciones de entidades) se generan formulando primero des-
cripciones conceptuales de estas clases y clasificando entonces las entidades
de acuerdo con las descripciones. Por ejemplo, se puede establecer un con-
cepto como una cancin de amor. ste es ms bien un concepto que una
propiedad porque la cantidad de amor de cualquier cancin no es algo que se
pueda medir empricamente. Sin embargo, si se decide que cierta cancin
tiene ms de cancin de amor que de otra cosa, se la coloca en sta categora.
As, el agrupamiento conceptual representa ms bien un agrupamiento proba-
bilstico de los objetos.
3. Teora de prototipos
La categorizacin clsica y el agrupamiento conceptual son suficien-
temente expresivos para utilizarse en la mayora de las clasificaciones que se
necesita en el diseo de sistemas de software complejos; sin embargo existen
algunas situaciones en las que no resultan adecuadas. Existen algunas abs-
tracciones que no tienen ni propiedades ni conceptos delimitados con clari-
dad. Una categora como un juego, no encajan en el molde clsico porque no
hay propiedades comunes compartidas por todos los juegos. Aunque no hay
una sola coleccin de propiedades que comparten todos los juegos, la catego-
ra de los juegos est unida por parecidos familiares. Se puede observar
que no hay fronteras fijas para la categora juego. La categora puede exten-
derse, pueden introducirse nuevos tipos de juegos siempre que se pareciesen
a juegos anteriores de forma apropiada. sta es la razn por la que el enfoque
se denomina teora de prototipos: una clase de objetos se representa por un
objeto prototpico y se considera un objeto como un miembro de esta clase si
y solo si se parece a este prototipo de forma significativa. Por ejemplo consi-
drense sillas de comedor con almohadn, sillones de peluquero, sillas plsti-
cas, son sillas no porque compartan algn conjunto de propiedades definito-
Se identifican las clases y objetos en primer lugar de acuerdo con las propiedades
relevantes para nuestro dominio particular. Aqu se hace hincapi en la identificacin de las
estructuras y comportamiento que son parte del vocabulario del domino del problema. Si
este enfoque fracasa en la produccin de una estructura de clases satisfactoria, hay que pasar
a considerar la agrupacin de objetos por conceptos. Aqu se concentra la atencin en el
comportamiento de objetos que colaboran. Si ambos intentos fallan al capturar nuestra
comprensin del dominio del problema, entonces se considera la clasificacin por asocia-
cin a travs de la cual las agrupaciones de objetos se definen segn el grado en el que cada
una se parece a algn objeto prototpico.
El UML documenta los sistemas de software que modela desde dos puntos de vista
bsicos: dinmico y esttico. El modelado dinmico se refiere al comportamiento del
sistema en tiempo de ejecucin, en tanto que el modelado esttico a la descripcin de los
componentes del sistema as como de sus relaciones. Esto no significa que los modelos
deban estar separados en grupos diferenciados; lo que se debe hacer es presentar los
sistemas como una coleccin de distintos puntos de vista (proporcionado por cada tipo de
diagrama).
Los diagramas estructurales presentan elementos estticos del modelo, tales como
clases, paquetes o componentes; en tanto que los diagramas de comportamiento muestran la
conducta en tiempo de ejecucin del sistema, tanto visto como un todo como de las instan-
cias u objetos que lo integran.
Hay que tener en cuenta que cada diagrama sirve para documentar un aspecto distin-
to del sistema; el criterio para usarlos es el de tener algo que decir, una historia sobre el sis-
tema que se estudia y que debe ser contada; el tipo de diagrama que utilizar ser el que d
mayor poder expresivo y la construccin de una serie de diagramas puede ser ordenada por
un mtodo de desarrollo utilizado. Algunos sistemas simples sern bien documentados con
pocos diagramas, en tanto que algunos sistemas grandes bien podran beneficiarse de un
conjunto mayor. No se hacen diagramas porque un mtodo lo exija sino que se hacen para
contar algo importante del modelo, por lo que indicar que en un sistema haya que hacer tan-
tos de tal o cual diagrama es una declaracin sin fundamento alguno. Los modelos que se
vern sern los siguientes:
- Estticos o estructurales:
o Diagrama de clases
- Dinmicos o de comportamiento:
o Diagrama de casos de uso
o Diagrama de transicin de estados
o Diagrama de secuencias
o Diagrama de colaboracin
o Diagrama de actividad
1. Los paquetes
Una de las caractersticas de UML es que comnmente se requiere organizar los
elementos de un diagrama dentro de un grupo. Tal vez se desee mostrar ciertas clases o
componentes que son parte de un subsistema en particular. Para ello se agruparn en un
Paquete el que se representa por una carpeta tabular como la siguiente:
2. Las notas
Es frecuente tambin que en alguna parte del diagrama no se presenta una clara
explicacin del porqu algo est en ese lugar o la manera en que trabaja. En este caso se
utiliza la nota UML. Es similar a un sticker pegado al grfico donde se coloca la
explicacin. Se adjunta al elemento del diagrama conectndolo con una lnea discontinua:
3. Los estereotipos
El UML brinda muchos elementos pero no un conjunto minucioso. A veces se
requieren elemento hechos a medida. Los estereotipos permiten tomar elementos propios
del UML y convertirlos en otros. Se representa como un nombre entre dos pares de
parntesis angulares. Su aplicacin se ver posteriormente. Por ejemplo:
En las clases puede mostrarse adems del tipo de dato de cada atributo, el valor por
defecto que puede asignrsele. Entre los posibles tipos se encuentran las cadenas (string),
nmero de punto flotante (float), entero (integer), entero corto (short), y boolean, adems de
los tipos enumerados. Para indicar un tipo, se utilizan dos puntos para separar el nombre del
atributo y su tipo. Por ejemplo:
En los diagramas se mostrar ms de una clase a la vez por lo que no resulta muy til
que siempre aparezcan todos los atributos y operaciones para no saturarlos demasiado. En
lugar de ello se puede mostrar el nombre de la clase y dejar el rea de atributos y/o de las
operaciones vacas. En ocasiones es bueno mostrar algunos y en este caso seguir a la lista
de los mostrados un rengln con puntos suspensivos:
Pueden adems agregarse mayor informacin en una clase mediante las notas
adjuntas. Esta nota puede contener tanto una imagen como texto.
Sin las relaciones, un modelo de clases sera poco menos que una lista de cosas que
representaran un vocabulario. Las relaciones muestran cmo se conectan los trminos del
vocabulario entre s para dar una idea de lo que se est modelando. La asociacin es la
conexin conceptual fundamental entre clases. Cada clase en una asociacin juega un papel
6.2.2.1 Conceptos
Las ideas estticas ayudan a que el analista se comunique con el cliente, mientras que
la dinmica ayuda a la relacin con el grupo de desarrolladores. Tanto cliente como equipo
de desarrollo es un conjunto importantsimo en el sistema, no obstante falta el usuario. Ni
la idea esttica ni la dinmica muestran el comportamiento del sistema desde el punto de
vista del usuario siendo que es un punto clave. El modelado del sistema desde el punto de
vista del usuario es el trabajo de los casos de uso. El caso de uso ayuda a los analistas a
determinar la forma en que se utilizar un sistema. El caso de uso es como una coleccin de
situaciones respecto al uso de un sistema. Cada escenario describe una secuencia de
eventos. Cada secuencia se inicia por una persona, otro sistema, una parte del hardware o
por el paso del tiempo. A tales entidades se las conoce como Actores. El resultado de la
secuencia debe ser algo utilizable ya sea por el actor que la inici o por otro actor.
La visualizacin de los casos de uso permiten que el usuario al verlos pueda dar ms
informacin. Es un hecho que los usuarios saben ms de los que dicen y este tipo de
diagrama colabora en la comunicacin. Adems, la representacin visual ayuda a combinar
los diagramas de casos de uso con otros de otro tipo.
Para su representacin grfica, hay un actor que inicia el caso de uso y otro
(posiblemente el mismo) que recibir algo de valor de l. La representacin grfica es
directa. Una elipse representa el caso de uso y en su interior se registra su nombre; una
figura esquemtica de una persona representa al actor y debajo de l su nombre. El actor
que inicia se encuentra a la izquierda y el que recibe a la derecha. Una lnea asociativa
conecta a un actor con el caso de uso y representa la comunicacin entre ellos. Uno de los
beneficios del caso de uso es que muestra los confines entre el sistema y el mundo exterior.
Generalmente los actores estn fuera del sistema mientras que los casos de uso estn dentro
de l. Se utiliza un rectngulo con el nombre del sistema en algn lugar de su interior para
representar las fronteras y este rectngulo tendr en su interior los casos de uso definidos.
Cada caso de uso es una coleccin de escenarios y cada escenario es una secuencia
de pasos. Estos pasos no aparecen en el diagrama. No se encuentran en notas adjuntas
tampoco. Aunque nada lo prohbe es mejor que los diagramas sean claros. Las secuencias
de pasos se obtienen de documentacin asociada al caso de uso que cliente y equipo de
desarrollo tomarn como referencia. Cada caso de uso tiene su propio documento, de igual
manera que cada escenario de caso de uso lo tendr. La informacin que se requiere ser:
Tambin pueden enumerarse conjeturas del escenario (por ejemplo, que un cliente a
la vez utilizar la mquina de gaseosas) y una breve descripcin de una sola frase del
escenario.
Supngase ahora que la mquina no tenga gaseosas o bien que el cliente no tenga el
importe exacto. Tales casos el diseo de la mquina deber contemplarlos.
Para el caso en que la mquina se haya quedado sin gaseosa, existir una ruta
alternativa dentro del caso de uso Comprar gaseosa. El cliente inicia el caso de uso al
insertar dinero en la mquina y posteriormente hace una seleccin. La mquina no cuenta
con ninguna lata de la gaseosa seleccionada por lo que mostrar un mensaje al cliente que
indicar que no tiene de esa marca. Lo ideal podra ser que el mensaje le pida al cliente que
haga otra seleccin. La mquina tambin debera dar la opcin de devolver el dinero al
cliente. La condicin previa es un cliente con sed y el resultado es una lata de gaseosa o la
devolucin del dinero.
Para el caso que el cliente no tiene el importe exacto tambin existir una ruta
alternativa. El cliente inicia el caso de uso insertando el dinero y luego hace una seleccin.
Se sume que la mquina tiene provisin de la marca elegida. En la mquina hay una reserva
de moneda fraccionaria y devuelve la diferencia al despachar la lata. Si la mquina no
cuenta con dinero para el vuelto, devolver el dinero original y mostrar un mensaje que
pida al usuario el importe exacto. La precondicin sigue siendo la misma y la poscondicin
la lata de gaseosa y el cambio o bien el importe originalmente depositado.
Existen otros usuarios que interactan con la mquina y estos pueden ser el
proveedor que tiene que reabastecer el stock en la mquina, el recolector de dinero, etc.
Esto indica que hay que crear otros casos de uso para estos nuevos actores y que podran ser
Para el caso de Recolectar dinero el recolector inicia por su decisin o bien porque
ha pasado cierto lapso de tiempo desde la ltima vez que hizo la ltima recoleccin. La
persona deber seguir la misma secuencia que en Reabastecer para abrir la mquina. El
recolector sacar el dinero de la mquina y seguir los pasos de Reabastecer para cerrar y
poner el seguro a la mquina. La condicin previa es la necesidad de retirar dinero y/o el
intervalo de tiempo y el resultado es el dinero en las manos del recolector.
Considerando los casos de uso definidos y los actores asociados, el siguiente modelo
representa tales integrantes:
En los caso de uso Reabastecer y Recolectar dinero se observa que hay ciertos pasos
en comn. Ambos comienzan con abrir la mquina y finalizan con el cierre y su
aseguramiento. En este caso se puede entonces eliminar esa duplicacin de pasos para
ambos casos. La forma de hacerlo es tomar cada secuencia de pasos en comn y construir
un caso de uso adicional a partir de ellos. Se combinarn los pasos necesarios para quitar el
seguro y abrir la mquina denominndolos ahora Exhibir el interior y los pasos cerrar la
mquina y asegurarla en otro caso de uso llamado Cubrir el interior. Con estos nuevos
casos de uso, el caso de uso Reabastecer iniciara con el caso de uso Exhibir el interior.
Luego el representante del proveedor seguira los pasos ya indicados y concluira con el caso
de uso Cubrir el interior. De forma similar, el caso de uso Recolectar dinero iniciara con
Exhibir el interior, procedera como se indic y finalizara con el caso de uso Cubrir el
interior. Como se ve, Reabastecer y Recolectar dinero incluyen los nuevos casos de uso
definidos.
6.2.2.3 Generalizacin
Las clases puede heredarse entre s, y esto tambin se aplica a los casos de uso. En la
herencia de los casos de uso, el caso de uso secundario hereda las acciones y significado del
primario, y adems agrega sus propias acciones. Puede aplicar el caso de uso secundario en
cualquier lugar donde se aplique el primario. En el ejemplo puede agregarse el caso de uso
Comprar vaso de gaseosa que se puede heredar de Comprar gaseosa. El caso de uso
secundario tiene acciones como obtener el vaso, agregar hielo y mezclar adems de las
heredadas. La manera de representar la herencia es similar a lo expresado en las clases.
Las entrevistas con los usuarios comienzan en la terminologa del dominio aunque
debern alternarse hacia la terminologa de los usuarios. Los resultados iniciales de las
entrevistas debern revelar a los actores y casos de uso de alto nivel que describirn los
requerimientos funcionales en trminos generales. Esta informacin establece las fronteras
del sistema.
- Inicializacin
- Operacin
- Apagar
Cuando la GUI est en estado de Operacin muchas otras cosas ocurren aunque no
sean evidentes en la pantalla. La GUI espera constantemente que alguien haga alguna
accin (presionar una tecla, accionar el ratn). Luego debe registrar esas acciones y
modificar lo que despliega para reflejarlas en la pantalla (mover el puntero al mover el ratn
o mostrar una letra a cuando se presiona la tecla a). De esta manera, la GUI atraviesa varios
cambios de estado (subestados) mientras est en Operacin. Hay dos tipos de subestados:
secuenciales y concurrentes.
Los secuenciales suceden uno detrs de otro, por ejemplo para el caso planteado, los
subestados dentro del estado Operacin podran ser:
Los concurrentes suceden al mismo tiempo que los secuenciales. Para el ejemplo,
la GUI no solamente aguarda a que se haga algo sino que tambin verifica el reloj del
sistema y posiblemente actualice el despliegue de una aplicacin luego de un intervalo
especfico (por ejemplo una aplicacin que incluya un reloj en pantalla que tuviera que
actualizar la GUI). Aunque cada secuencia es un conjunto de estados secuenciales, las dos
secuencias son concurrentes entre s.
No suele utilizarse para no cargar tanto el grfico. Una alternativa podra ser, repetir
el mismo participante en otro andarivel y en l representar los estados.
El mejor escenario para el caso de uso Comprar gaseosa consista en que el cliente
iniciaba mediante la insercin de dinero en la mquina. Luego hace una seleccin. El
cambio est justo y existe stock de lo seleccionado (mejor escenario) por lo que la mquina
le presenta lo requerido al cliente. Se asume que existen tres participantes que realizan la
tarea que ocupa el caso de uso:
- La interfaz (fachada)
- El registrador de dinero
- El dispensador (se da por hecho que el registrador de dinero controlar el
dispensador)
Dado que el diagrama slo representa un nico escenario (una instancia) en el caso
de uso Comprar gaseosa, se conoce como Diagrama de secuencia de instancias. El
siguiente diagrama es sencillo; cada mensaje mueve el flujo de control de un participante a
otro:
Este caso de uso, tena dos escenarios alternativos. Uno de ellos se refera a que la
mquina no tuviera la gaseosa seleccionada y otro cuando el cliente no contaba con el dinero
exacto. Si se tomaran en cuenta todos los escenarios de un caso de uso al momento de crear
un diagrama, se tratara de un Diagrama de secuencia genrico. Para el escenario
relacionado con Monto no exacto la secuencia ser:
1. Una vez que el cliente elije una marca agotada, la mquina mostrar un mensaje de
Agotado.
2. La mquina mostrar un mensaje que solicitar al cliente que haga otra eleccin.
3. El cliente tendr la opcin de oprimir un botn para que se le regrese su dinero.
4. Si el cliente elige una marca en existencia, todo proceder como en el mejor
escenario si el monto insertado es correcto. Si no lo es, la mquina seguir por el
escenario del Monto no exacto.
5. Si el cliente elige otra marca agotada, el proceso se repetir hasta que el cliente elija
una marca en existencia o presione un botn que le regrese su dinero.
Este tipo de diagrama es similar al anterior ya que muestra la colaboracin entre los
participantes pero de una forma diferente. Son semnticamente equivales y su
transformacin es bidireccional y directa. La diferencia radica fundamentalmente en la
disposicin y el enfoque ya que ste destaca el contexto y organizacin general de los
participantes que actan (no las secuencias). Adems, un diagrama de secuencias se
organiza de acuerdo al tiempo mientras que el de colaboracin de acuerdo al espacio.
Estos diagramas muestran los participantes como tales y sus relaciones entre si.
Adems se muestran los mensajes que se envan entre ellos. Para representar un mensaje se
dibuja una flecha cerca de la lnea de asociacin entre dos participantes y que apunta al
receptor. El tipo de mensaje se muestra en una etiqueta y por lo general, le dice al receptor
que ejecute una de sus operaciones. El mensaje finaliza con parntesis dentro de los que se
ubican los parmetros (de haberlos) con que funcionar la operacin. Como se puede
convertir tambin en un diagrama de secuencias, para ello se agrega un nmero a la etiqueta
del mensaje que se corresponde con la secuencia propia del mensaje. El nmero y el
mensaje se separan por dos puntos. Volviendo al ejemplo presentado de la GUI, la
secuencia era:
Son bsicamente diagramas de flujo; uno de los primeros modelos visuales que se
aplicaron a la computacin. Muestra la secuencia de pasos, procesos, puntos de decisin y
bifurcaciones. Es una herramienta muy importante para conceptualizar problemas y derivar
sus soluciones. Cada uno de los pasos se conoce con el nombre de actividad. Fueron
diseados para mostrar una visin simplificada de lo que ocurre durante una operacin o
proceso. Puede considerarse como una extensin del diagrama de estados. ste muestra los
estados de un objeto y representa las actividades como flechas que conectan a los estados.
El de actividades resalta precisamente esos elementos: las actividades.
Casi siempre una secuencia llega a un punto donde se debe realizar una decisin.
Ciertas condiciones llevan por un camino y otras por otro y ambas son totalmente
excluyentes. Para representar la decisin se utilizan tantas rutas posibles que parte de una
actividad como tambin hacer la transicin con un rombo. Una condicin expresada entre
corchetes por cada salida le da ms claridad al modelo:
Conforme se modelan actividades, puede ocurrir que una transicin se separe en dos
rutas que se ejecuten al mismo tiempo (concurrentes) y luego se renan. Para presentar esta
divisin se utiliza una lnea gruesa perpendicular a la transicin y las rutas partirn de ella.