Está en la página 1de 56

Mario Renan Moreno Sabido - ITM

1
Ingeniera de Software

NOTAS DEL CURSO
MARIO RENAN MORENO SABIDO

INSTITUTO TECNOLOGICO DE MERIDA
DEPTO. DE SISTEMAS Y COMPUTACION
Mario Renan Moreno Sabido - ITM
2
INTRODUCCIN A UML
En los 80s la POO comenz a entrar a las empresas, pero es
hasta finales de esta dcada cuando surgen infinidad de
metodologas de ADOO. El anlisis que exista antes anlisis
estructurado- no se adecuaba del todo a la POO
Comenz como el Mtodo Unificado con la participacin de
Grady Booch y Jim Rumbaugh. Se present por primera vez en
el OOPSLA 95
El mismo ao se uni Ivar Jacobson. Los Tres Amigos son
socios en la compaa Rational Software
Mario Renan Moreno Sabido - ITM
3
HISTORIA DE UML
Mario Renan Moreno Sabido - ITM
4
MODELADO CON UML
UML, Lenguaje de Modelado Unificado
Es un lenguaje de modelado que permite la representacin
conceptual y fsica de un sistema, independiente del proceso,
por lo que no se considera una metodologa
UML debe en parte su gran aceptacin a que no incluye un
proceso como parte de su propuesta
Puede ser usado con cualquier proceso, a lo largo de desarrollo
del ciclo de vida y de manera independiente de la tecnologa de
implementacin
Mario Renan Moreno Sabido - ITM
5
MODELADO CON UML...
Mario Renan Moreno Sabido - ITM
6
DIAGRAMAS DE UML
Mario Renan Moreno Sabido - ITM
7
INTRODUCIENDO EL UML
Conforme el mundo se vuelve ms complejo, la complejidad de los sistemas
basados en computadora tambin aumenta. Si quieres desarrollar sistemas
complejos, Cmo tratas la complejidad?

La clave es organizar el proceso de diseo de una manera que los clientes,
analistas, programadores y otras personas involucradas puedan entenderlo y
estar de acuerdo en ello. UML proporciona esa organizacin

Considera esto: Debemos decirle al contratista que queremos una casa de 4
cuartos, 3 baos, 2 cocheras, etc., Inicia la construccin, conforme progreso te
voy dando los detalles?

Tristemente, este mtodo de desarrollo es el ms comn en la industria de
software
Mario Renan Moreno Sabido - ITM
8
DIAGRAMAS DE CASOS DE USO
Un caso de uso es una descripcin de las acciones de un sistema
desde el punto de vista del usuario
Modelan las distintas operaciones que se esperan de una
aplicacin
o sistema, y como se relaciona stas con su entorno (usuario u
otras
aplicaciones)
Definen los requisitos funcionales y operativos del sistema
Muestran un escenario de uso acordado por el usuario final y el
equipo de desarrolladores
Proporcionan una descripcin clara y sin ambigedades de la
interaccin del sistema con sus usuarios
Son una base para la validacin de las pruebas
Mario Renan Moreno Sabido - ITM
9
NOTACIN DE LOS CASOS DE USO
Mario Renan Moreno Sabido - ITM
10
NOTACIN DE LOS CASOS DE USO...
Un actor inicia un caso de uso y un actor (posiblemente el iniciador, pero
no necesariamente) recibe algo de valor de ese caso de uso
El caso de uso se representa por una elipse y una figura representa al
actor. El actor que inicia el caso de uso se pone a la izquierda y el que
recibe a la derecha. El nombre del autor aparece debajo de este; el del
caso de uso aparece dentro de la elipse o debajo de esta. Una lnea de
asociacin conecta a un actor con el caso de uso y representa
comunicacin entre el autor y el caso de uso
Mario Renan Moreno Sabido - ITM
11
Inclusin <<include>>: Una instancia del caso de
uso origen, incluye tambin el comportamiento del
caso de uso destino
<<include>> reemplazo al <<uses>>
NOTACIN DE LOS CASOS DE USO...
Mario Renan Moreno Sabido - ITM
12
Extensin <<extends>>: El caso de uso origen, extiende
el comportamiento del caso de uso destino
NOTACIN DE LOS CASOS DE USO...
Mario Renan Moreno Sabido - ITM
13
EJEMPLO 1
Mario Renan Moreno Sabido - ITM
14
EJEMPLO 2
Mario Renan Moreno Sabido - ITM
15
EJEMPLO 3
Realizar un caso de uso para retirar dinero de un cajero
automtico
Mario Renan Moreno Sabido - ITM
16
EJEMPLO 4
Realizar un caso de uso para un sistema de telefona celular
Mario Renan Moreno Sabido - ITM
17
EJEMPLO 5
Realizar un caso de uso para un comprar un boleto de avin
en una agencia de viajes por tarjeta de crdito
Mario Renan Moreno Sabido - ITM
18
GENERALIZACIN ENTRE ACTORES
Mario Renan Moreno Sabido - ITM
19
EJEMPLO DEL USO DE <<INCLUDE>>
Mario Renan Moreno Sabido - ITM
20
EJEMPLO DEL USO DE <<EXTENDS>>
Mario Renan Moreno Sabido - ITM
21
CARACTERISTICAS DEL <<EXTENDS>>
Representan una funcionalidad del caso de uso que
no siempre ocurre
Son un caso de uso en por si mismos
Mario Renan Moreno Sabido - ITM
22
EJEMPLO 7
Realizar un caso de uso para un sistema de compra de un
boleto de avin. La compra del boleto de avin puede ser
directo con la aerolinea o con la agencia de viajes. El pago
del boleto puede ser por tarjeta de crdito, en efectivo o por
vales. Usa <<include>> y <<extends>> donde sea necesario
Mario Renan Moreno Sabido - ITM
23
EJEMPLO 8
Realizar un caso de uso para pagar productos en un
supermercado. El pago de la compra puede ser por tarjeta de
crdito, en efectivo o por vales. Usa <<include>> y
<<extends>> donde sea necesario
Mario Renan Moreno Sabido - ITM
24
DESCRIPCIN DE LOS CASOS DE USO
Mario Renan Moreno Sabido - ITM
25
DIAGRAMAS DE CLASES
Las cosas del mundo real caen dentro de categoras
(computadoras,automoviles, rboles, etc). A esas
categoras se les conoce como clases
Clase: Es una categora o grupo de cosas que tienen
atributos y comportamientos comunes

Mario Renan Moreno Sabido - ITM
26
NOTACIN DE LOS
DIAGRAMAS DE CLASES
El rectangulo es el cono para la clase
El nombre de la clase es una palabra que comienza en
mayuscula y va dentro del rectangulo.
Si una clase tiene mas de una palabra, se juntan las
palabras y se pone en mayuscula la primera letra de
cada palabra
Mario Renan Moreno Sabido - ITM
27
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Un atributo es una propiedad de una clase. Describe los valores
que la propiedad posee en los objetos de la clase
Los atributos se escriben en letras minusculas. Si el nombre
consiste en ms de una palabra, estas se juntan y cada palabra
inicia con una letra mayuscula a excepcin de la primera
Mario Renan Moreno Sabido - ITM
28
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Una operacin (mtodo) es algo que una clase puede hacer,
o que t (u otra clase) le pueden hacer a la clase
El nombre de los mtodos sigue el mismo criterio que el de
los atributos
Mario Renan Moreno Sabido - ITM
29
TIPS PARA IDENTIFICAR CLASES
En las conversaciones con los clientes, trata de estar alerta de los
sustantivos que ellos usan para describir las entidades en sus
negocios. Estos sustantivos llegan a ser las clases en el modelo.
Tambin pon atencin a los verbos que escuchas, porque estos
constituyen las operaciones en las clases
Los atributos emergen como sustantivos relacionados a los
sustantivos de las clases
Mario Renan Moreno Sabido - ITM
30
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Cuando las clases se conectan entre ellas, esta conexin es
llamada una asociacin
Para representarla se utiliza una lnea que conecta a las 2
clases, con el nombre de la asociacin arriba de la lnea
Las asociaciones pueden ser mucho ms complejas que una
clase conectada a otra
Mario Renan Moreno Sabido - ITM
31
Multiplicidad: Es un tipo especial de asociacin, la cual muestra los nmeros
de objetos de una clase que se asocia con un nmero de objetos en una
clase asociada

Una clase puede relacionarse con otra de la siguiente manera:
Uno a uno
Uno a muchos
Uno a uno o ms
Uno a cero o uno
Uno a un intervalo definido
Uno a exactamente n
Uno a un conjunto de opciones

NOTA: UML usa un * para representar mas y muchos
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Mario Renan Moreno Sabido - ITM
32
Algunas veces, una clase est en asociacin con si misma. Esto
puede suceder cuando una clase tiene objetos que juegan una
variedad de roles. Estas asociaciones se llaman reflexivas
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Mario Renan Moreno Sabido - ITM
33
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Herencia (Generalizacin/Especializacin)
Indica que una subclase hereda los mtodos y atributos de una super clase,
adems, la subclase posee sus propios mtodos y atributos
Se representa con una lnea que conecta al padre con el hijo y con un
triangulo abierto en el lado del padre
Mario Renan Moreno Sabido - ITM
34
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Agregacin
Algunas veces una clase consiste de un nmero de clases que la
componen. Esto es un tipo especial de relacin llamada
agregacin
Se representa como una jerarquia en donde la clase global est
en la parte superior y sus componentes debajo. Una lnea une la
clase global con el componente con un diamante abierto o
cerrado

Mario Renan Moreno Sabido - ITM
35
NOTACIN DE LOS
DIAGRAMAS DE CLASES...
Agregacin...
Tenemos 2 tipos:
Por valor (composicin): Relacin esttica, en donde el tiempo de vida del
objeto incluido depende del que lo incluye
Por referencia (agregacin): Relacin dinmica, en donde el tiempo de vida
del objeto incluido es independiente del que lo incluye
Mario Renan Moreno Sabido - ITM
36
EJEMPLO DE AGREGACION POR
VALOR Y REFERENCIA
Mario Renan Moreno Sabido - ITM
37
EJEMPLO 1: IDENTIFICACIN DE CLASES
SISTEMA PARA UNA BIBLIOTECA
La biblioteca tiene libros y revistas Puede haber
varias copias de un libro determinado, algunos
libros son slo para prstamos a corto plazo.
Todos los dems libros pueden ser prestados a
cualquier socio de la biblioteca durante 3
semanas. Los socios de Biblioteca normalmente
pueden tomar prestados hasta 6 artculos al
mismo tiempo , mientras que los socios del
personal pueden tomar prestados hasta 12
artculos a la vez . Slo miembros del personal
pueden tomar prestadas revistas
Mario Renan Moreno Sabido - ITM
38
EJEMPLO 1: IDENTIFICACIN DE CLASES
SISTEMA PARA UNA BIBLIOTECA...
Solucin:

Libro
Revista
Copia (de un libro)
Socio de la biblioteca
Socio del personal
Mario Renan Moreno Sabido - ITM
39
EJEMPLO 2: DIAGRAMA DE CLASES
SISTEMA PARA UNA BIBLIOTECA
Realizar el diagrama de clases para el sistema bibliotecario
del ejemplo anterior; incluir nombre de las asociaciones y la
cardinalidad de las relaciones (no incluir atributos y mtodos
de las clases)
Mario Renan Moreno Sabido - ITM
40
EJEMPLO 2: DIAGRAMA DE CLASES
SISTEMA PARA UNA BIBLIOTECA...
Solucin (modelo inicial)
Mario Renan Moreno Sabido - ITM
41
EJEMPLO 2: DIAGRAMA DE CLASES
SISTEMA PARA UNA BIBLIOTECA...
Solucin (modelo final)
Mario Renan Moreno Sabido - ITM
42
DIAGRAMAS DE SECUENCIA
Los diagramas de estado, se enfocan en el estado de un objeto, pero es
necesario tener comunicacin entre objetos
Los diagramas de secuencia muestran como los objetos se comunican con
otros a travs del tiempo
La idea clave es que las interacciones entre objetos se dan en una secuencia
detallada (ordenada temporalmente) y la secuencia toma tiempo en ir del punto
de inicio al final
Forman parte del modelado dinmico del sistema
Se utilizan para describir los distintos escenarios derivados de los casos de uso
Un escenario es una secuencia especfica de acciones que ilustra un
comportamiento
Un caso de uso puede tener varios escenarios
Mario Renan Moreno Sabido - ITM
43
DIAGRAMAS DE SECUENCIA...
Consisten de objetos representados de la manera usual rectngulos con nombre
(subrayado), mensajes representados como lneas slidas y tiempo representado como
una progesin vrtical
Objetos
Se extienden hacia abajo por medio de una lnea punteada, llamada Lnea de vida del
objeto
A lo largo de la lnea de vida se pone un rectngulo llamado activacin, el cual
representa la ejecucin de una operacin. El largo del rectngulo significa la duracin de
la activacin
Mario Renan Moreno Sabido - ITM
44
DIAGRAMAS DE SECUENCIA...
Mensajes
Un mensaje que va de un objeto a otro va de la lnea de vida de un objeto a la lnea
de vida del otro
Un objeto puede tambin enviarse mensajes a s mismo, de su linea de vida
a su propia linea de vida. Esto es llamado Recursin
Mario Renan Moreno Sabido - ITM
45
DIAGRAMAS DE SECUENCIA...
Mensajes para los diagramas de secuencia
Simple: Es una transferencia de control de un objeto a otro
Asincrono: Si un objeto envia un mensaje asincrono, no tiene que esperar por
una respuesta a ese mensaje para poder continuar
Sincrono: Si un objeto enva un mensaje sincrono, este espera por una
respuesta a ese mensaje antes de poder continuar con sus asuntos
Mario Renan Moreno Sabido - ITM
46
DIAGRAMAS DE SECUENCIA...
Tiempo
El diagrama representa el tiempo en posicin vrtical. El tiempo
inicia en la parte superior y se extiende hacia abajo. Un mensaje que
est ms cerca de la parte superior, ocurre antes que uno que est ms
cerca del final
Mario Renan Moreno Sabido - ITM
47
DIAGRAMAS DE SECUENCIA...
Ejemplo de un diagrama de secuencia:
Mario Renan Moreno Sabido - ITM
48
EJEMPLO 1
Hacer un diagrama de secuencia para la renta de una pelicula de un
videoclub
Mario Renan Moreno Sabido - ITM
49
Solucin
Solucin:
Mario Renan Moreno Sabido - ITM
50
EJEMPLO 2
Hacer un diagrama de secuencia para la inscripcin de un estudiante a
un curso
Mario Renan Moreno Sabido - ITM
51
DIAGRAMAS DE ACTIVIDADES
Muestran las actividades que ocurren dentro de un caso de uso o
dentro del comportamiento de un objeto
Simplifican el diagrama de estados modelando el comportamiento
mediante flujos de actividades
Los diagramas de estado muestran los estados de un objeto y
representan actividades como flechas conectando los estados. El
diagrama de actividades se enfocan en las actividades
Representan trancisiones internas, sin hacer mucho nfasis en
trancisiones o eventos externos
Mario Renan Moreno Sabido - ITM
52
DIAGRAMAS DE ACTIVIDADES...
Cada actividad es representada con un rectngulo con las esquinas
redondeadas
Una flecha representa la trancisin de una actividad a la siguiente
Un diagrama de actividades inicia con un circulo relleno y finaliza con
el simbolo del ojo de toro
Mario Renan Moreno Sabido - ITM
53
DIAGRAMAS DE ACTIVIDADES...
Elementos que conforman el diagrama:
Decisiones
Mario Renan Moreno Sabido - ITM
54
DIAGRAMAS DE ACTIVIDADES...
Trayectorias concurrentes: Cuando modelas actividades, frecuentemente tienes que
en alguna ocasin separar una trancisin dentro de 2 trayectorias separadas que se
ejecutan al mismo tiempo (concurrencia)
La divisin se representa con una lnea slida remarcada en negrita perpendicular a la
trancisin y nuestra las trayectorias que emergen de ella. Para representar la fusin, las
trayectorias concurrentes se unen con otra trancisin con otra lnea slida remarcada en
negrita
Mario Renan Moreno Sabido - ITM
55
EJEMPLO 3
Hacer un diagrama de actividades comprar un boleto de avin en una
aerolinea
Mario Renan Moreno Sabido - ITM
56
EJEMPLO 3...
Solucin (con carriles):

También podría gustarte