Sunteți pe pagina 1din 56

M.S.C.

Enrique Martnez Tllez


Herramientas de programacin
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
Que es UML?
UML (Unified Modeling Language).
Lenguaje Estndar para:
Visualizar
Especificar
Construir
Documentar los planos del software

Indican como crear y leer modelos bien formados pero no
nos dicen qu modelos se deben crear ni cundo se los
deberan crear

M.S.C. Enrique Martnez Tllez
UML es un lenguaje para visualizar
La distancia entre pensar en una implementacin y transformarla en
cdigo es casi cero.
UML es algo ms que un simple montn de smbolos grficos.
En algunos casos: Lo que piensas lo codificas.
Algunas cosas se modelan mejor textualmente; otras se modelas
mejor de forma grfica
M.S.C. Enrique Martnez Tllez
UML es un lenguaje para especificar
Significa construir modelos precisos, no ambiguos y completos
Pero sus modelos pueden conectarse a una gran variedad de lenguajes de
programacin
UML cubre todas las decisiones de anlisis, diseo e implementacin
No es un lenguaje de programacin
UML es un lenguaje para construir
M.S.C. Enrique Martnez Tllez
UML es un lenguaje para documentar
UML cubre la documentacin de la arquitectura de un sistema y todos sus
detalles
Proporciona un lenguaje:
Expresar requisitos y pruebas
Modelar actividades de planificacin de proyectos y
gestin de versiones
M.S.C. Enrique Martnez Tllez
Breve historia 1/2
Los lenguajes de modelamiento orientados a objetos
aparecieron entre mediados de los 70's y fines de los 80's.
debido a dos factores fundamentales: la aparicin de
lenguajes orientados a objetos, y la aparicin de aplicaciones
cada vez ms complejas.
En 1989 haban aproximadamente 10 mtodos orientados a
objetos.
En 1994 ms de 50. Esta poca fue llamada la "guerra de
los mtodos.
Entre todos estos mtodos destacaron tres: el de Booch, el
OOSE (Object-Oriented Software Engineering) de Jacobson,
y el OMT (Object Modeling Technique) de Rumbaugh. Otros
mtodos importantes fueron: Fusion, Shlaer-Mellor y Coad-
Yourdon.

M.S.C. Enrique Martnez Tllez
Breve historia 2/2

A mediados de los 90's cada autor de los tres mtodos ms
reconocidos (Booch, Jacobson y Rumbaugh) empieza a
adoptar ideas de los otros 2 mtodos. En 1994 Rumbaugh se
une a Booch, y sacan la versin 0.8 de Unified Method, el cual
es publicado en 1995.
Luego Jacobson se une a Rational, y sacan la versin 0.9 de
UML, en junio de 1996.
Posteriormente sacan la versin 1.0 en enero de 1997, con
la aprobacin de un grupo de empresas llamado OMG (Object
Management Group).
El lenguaje es abierto a otras empresas, y con nuevas
observaciones y recomendaciones sale la versin 1.1 en
noviembre de 1997, y la versin 1.2 en junio de 1998. A fines
de 1998 sale la actual versin 1.3.
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
Metas de UML 2.0
Proveer un lenguaje de modelado visual
fcil de usar y comprender.
Proveer extensibilidad y especializacin
Soportar especificaciones que no
dependan de lenguaje de programacin
alguno.
Proveer un lenguaje de modelado exacto
y accesible
Apoyar a las crecientes herramientas de
objetos del mercado
Apoyar conceptos avanzados de
desarrollo
M.S.C. Enrique Martnez Tllez
Simbologa
16
CASOS DE USO
Qu es un caso de uso?
Para que sirven los casos de uso?
Cmo se representan?
Cmo se debe crear un caso de uso?
Flujo de eventos
Relaciones
Diagramas de caso de uso


Use Case 2
Specification
Actor 2
Use case 1
Model
Use case 2
Use case 3
M.S.C. Enrique Martnez Tllez
17
QU ES UN CASO DE USO?
Describen una interaccin tpica entre un usuario (actores) y un sistema
de cmputo.

Es una tcnica para capturar informacin de cmo un sistema o negocio
trabaja actualmente, o de cmo se desea que trabaje

Produce algo de valor para algn actor como el clculo de algn
resultado

Describe qu hace un sistema pero no especifica cmo lo hace

El caso de uso capta alguna funcin visible para el usuario.
El caso de uso puede ser pequeo o grande.
El caso de uso logra un objetivo discreto para el usuario.

Un caso de uso debe ser simple, claro y conciso

M.S.C. Enrique Martnez Tllez
18
PARA QUE SIRVEN LOS CASOS DE USO?
Para capturar el comportamiento deseado del sistema sin
tener que especificar como se implementa ese comportamiento

Como medio de comprensin del sistema para
desarrolladores, usuarios finales y expertos del dominio

Ayudan a validar la arquitectura y a verificar el sistema en el
transcurso del desarrollo de este
M.S.C. Enrique Martnez Tllez
19
Un caso de uso se representa en UML como un valo:
CMO SE REPRESENTAN?
Nombre del Caso de Uso
En UML, un actor se representa como monigote
Actor
M.S.C. Enrique Martnez Tllez
20
ACTORES
Representa un conjunto de roles que los usuarios de los casos de uso
juegan al interactuar con stos

Representa un rol que es jugado por una persona, un dispositivo hardware u
otro sistema que interacte con nuestro sistema

Se puede definir categoras generales de actores (como cliente) y
especializarlos (como ClienteComercial) a travs de relaciones de
generalizacin
Cliente
Cliente
Comercial
actor
actor
generalizacin
Un actor y un caso de uso se pueden comunicar a travs de una
asociacin en donde cada uno de ellos pueden enviar y recibir mensaje.
M.S.C. Enrique Martnez Tllez
21
FLUJO DE EVENTOS
Cmo y cundo empieza y acaba el caso de uso

Cundo interactan con los actores y que objetos se intercambian

Conviene separa el flujo principal de uno alternativo


M.S.C. Enrique Martnez Tllez
22
Ejemplo:

VALIDACIN DE USUARIO

M.S.C. Enrique Martnez Tllez
23
RELACIONES
Para extraer el comportamiento de los casos de uso en los que se incluye y
poniendo ese comportamiento en otros casos de uso que lo extiende

Tipos:
- GENERALIZACIN
- EXTENSIN
- INCLUSIN



M.S.C. Enrique Martnez Tllez
24
GENERALIZACIN
El caso hijo hereda el comportamiento y significado de caso
de uso padre
El hijo puede aadir o redefinir el comportamiento del padre
El Caso de Uso fuente hereda la especificacin del Caso de
Uso destino

Caso de uso origen
Caso de uso destino
M.S.C. Enrique Martnez Tllez
25

INCLUSIN

Un caso base de uso base incorpora
expolisitamente el comportamiento de otro caso de
uso en el lugar especificado en el caso base.
Se usa para evitar describir el mismo flujo de
eventos repetidas veces, poniendo
comportamiento comn en un caso de uso aparte
Se representa como una dependencia
estereotipada con <<include>>




M.S.C. Enrique Martnez Tllez
26
Caso de uso origen
Caso de uso destino
<<include>>
Ingresando pedido
Buscando datos de
producto
Obtener reporte
De Ventas por
producto
<<include>>
<<include>>
Empleado de
ventas
Gerente
REPRESENTACI
N:
EJEMPLO:
M.S.C. Enrique Martnez Tllez
27
EXTENSIN
> Significa que un caso de uso base incorpora implcitamente el
comportamiento de otro caso de uso en el lugar especificado
indirectamente por el caso de uso que extiende al base
> Se usa esta relacin cuando se tiene un caso de uso que es similar
a otro, pero que hace un poco ms.

Caso de uso
origen
Caso de uso
destino
<<extends>>
M.S.C. Enrique Martnez Tllez
28
Ejemplo.- se tiene un telfono convencional en el cual se
desea tener llamadas de voz, es decir el sistema tiene
entre sus propiedades el de permitir al usuario del mismo
comunicarse remotamente por medio de conexiones de
voz


M.S.C. Enrique Martnez Tllez
29
30
31
32
33
Operaciones que se pueden realizar en un Telfono
Cdigo Descripcin
CS- 0100 Llamada de voz
CS- 0101 Tres a la vez
CS- 0102 Plan mvil 100
CS- 0103 Lnea de negocio
CS- 0104 Lada 800
CS- 0105 Audio conferencia LADA
34
35
36
37
38
Flujo de Eventos
39
Flujo Alternativo
Los flujos alternativos pueden ser vistos como una forma de
manejo de errores o bien, como un medio para especificar el
comportamiento del sistema en caso de un error.
40
Conclusiones:
Los Casos de Uso no son parte del diseo (cmo), sino parte del anlisis
(qu).

Los Casos de Uso son qu hace el sistema desde el punto de vista del
usuario. Es decir, describen un uso del sistema y cmo este interacta con el
usuario.

Los diagramas de casos de uso muestran las relaciones entre los casos de
uso de un sistema y sus actores.

En una relacin << extends>>, un actor que lleve a cabo el caso de uso base
puede realizar o no sus extensiones. Mientras, en una relacin <<include>> el
actor que realiza el caso de uso base tambin realiza el caso de uso incluido.

M.S.C. Enrique Martnez Tllez
M.S.C. Enrique Martnez Tllez
1 Diagrama de actividades

42
Definicin
1. Representa el comportamiento interno de una
operacin o de un caso de uso, bajo la forma
de un Desarrollo por etapas, agrupadas
secuencialmente.
El propsito del diagrama de actividad es:
Modelar el flujo de tareas
Modelar las operaciones

43
Elementos de un Diagrama de
actividades
Particiones
Nodos de Accin
Nodos de Control
Nodos de Objeto
Extremos
44
Elementos principales

45
Ejemplo Solicitar Compra

46
46
Caractersticas
1. Llamados tambin diagramas de flujo de
datos.
2. Indican la lgica que rige la ejecucin de
acciones.
3. Se asocian a casos de uso, paquetes, etc.
4. Muestra los aspectos dinmicos de un
sistema
5. Permite elegir el orden en que pueden
hacerse las cosas.

47
Carriles (swimlanes) o calles
1. Franja de divisin Vertical
2. Muestra las actividades responsabilidad de
un determinado objeto
3. Puede representar a un actor, a un
trabajador del negocio que participa en el
proceso de modelado por un caso de uso
48
Componentes (Nodo de Control)
1. Nodo inicial(initial state).
1. indica el comienzo del flujo de actividades.
2. Representa el inicio del flujo de trabajo del
caso de uso del negocio.
3. Se representa a travs de un crculo de
color negro.
4. Se coloca dentro del swimlane
correspondiente al rol que comienza el
caso de uso.
5. Es un estado nico para el flujo de
actividades

49
Componentes (Nodo de Control)
1. Nodo Final(end state).
1. indica el final del flujo de actividades del
caso de uso.
2. Se representa a travs de un crculo de
color negro dentro de un crculo
transparente.
3. Se coloca dentro del swimlane
correspondiente al rol que termina el caso
de uso.
4. Puede haber mas de un estado final en
dependencia de las diferentes maneras de
acabar el caso de uso.

50
Componentes (Nodo de Accin)
1. Actividad(activity).
1. Representa una tarea, actividad o paso dentro del
flujo de trabajo del caso de uso del negocio.
2. Se representa a travs de un rectngulo ovalado en
los extremos.
3. El nombre de la actividad debe:
a) Ser simple y breve.
b) Ser un verbo o frase verbal en infinitivo.
c) Incluir el objeto de la actividad.
d) Colocarse dentro del smbolo de la actividad.
51
Componentes (Extremos)
1. Flujo de Control (Transicin).
1. Seala la direccin en que fluyen las actividades.
2. Representa la secuencia de cada elemento dentro del diagrama.
3. Al completarse la actividad de una actividad el flujo de control
pasa a la siguiente.
4. Se representa por una lnea dirigida.

52
Componentes (Nodo de Control)
1. Nodo de Decisiones.
1. Representa momentos para tomar caminos alternativos.
2. Se representa por un rombo.
3. Debe nombrarse tal y como se hace en el negocio.
4. Se acompaa de la pregunta que debe hacerse el proceso para
tomar la decisin.

53
54
55
56

S-ar putea să vă placă și