Está en la página 1de 38

Universidad Agrria del Ecuador Carrera de Ingeniera en Sistemas Modulo de Ingeniera de Software

UML
Ing. Omar Noboa Junio del 2011

Introduccin UML

Qu es UML?



UML = Unified Modeling Language (Lenguaje de modelamiento unificado) Un lenguaje de propsito general para el modelado orientado a objetos, utilizado para visualizar, especificar, construir y documentar los artefactos de un sistema de software El UML modela sistemas mediante el uso de objetos que forman parte de l as como, las relaciones estticas o dinmicas que existen entre ellos. UML combina notaciones provenientes desde:
    Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows)

Caracteristicas Principales
 

UML es independiente del proceso de desarrollo de software UML puede usarse en las diferentes etapas del ciclo de vida del desarrollo y en diferentes tecnologas de implementacin UML puede ser utilizado por cualquier metodologa de anlisis y diseo orientada por objetos para expresar los diseos. Diagramas se agrupan en 5 perspetivas
Usuario Estructura Comportamiento Implementacin Despliegue

Sus Inicios
  
Existan diversos mtodos y tcnicas OO, estos tienian muchos aspectos en comn pero utilizando distintas notaciones Esto producia inconvenientes para el aprendizaje, aplicacin, construccin y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurs)

Establecer una notacin estndar .

Historia de UML
 Comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh. Se present en el OOPSLA95 (OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES
and APPLICATIONS )

 El mismo ao se uni Ivar Jacobson. Los Tres Amigos son socios en la compaa Rational Software. Herramienta CASE Rational Rose

Historia de UML

Participantes de UML 1.0


        
Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond DSouza) Intellicorp and James Martin & co. (James Odell)

        

MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys

UML Combina Distintos Enfoques

Aspectos novedosos
 
Definicin semi-formal del Metamodelo de UML Mecanismos de Extensin en UML:  Estereotipos  Restricciones  Valores etiquetados Permiten adaptar los elementos de modelado, asignndoles una semntica particular

Inconvenientes en UML
   
Definicin del proceso de desarrollo usando UML. UML no es una metodologa Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc. Ejemplos aislados Monopolio de conceptos, tcnicas y mtodos en torno a UML

Perspectivas de UML
 UML ser el lenguaje de modelado orientado a objetos estndar predominante los prximos aos  Razones:
 Participacin de metodlogos influyentes  Participacin de importantes empresas  Aceptacin del OMG como notacin estndar

 Evidencias:
 Herramientas que proveen la notacin UML  Edicin de libros  Congresos, cursos, etc.

Conceptos de Modelo y Diagrama




Un modelo captura una vista de un sistema del mundo real. Es una abstraccin de dicho sistema, considerando un cierto propsito. As, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propsito del modelo, y a un apropiado nivel de detalle.

Diagrama: una representacin grfica de una coleccin de elementos de modelado, a menudo dibujada como un grafo con vrtices conectados por arcos

Conceptos de Modelo y Diagrama


 Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de inters El cdigo fuente del sistema es el modelo ms detallado del sistema (y adems es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

Diagramas de UML
 Diagrama de Casos de Uso  Diagrama de Clases  Diagrama de Objetos Diagramas de Comportamiento  Diagrama de Estados  Diagrama de Actividad Diagramas de Interaccin  Diagrama de Secuencia  Diagrama de Colaboracin Diagramas de implementacin  Diagrama de Componentes  Diagrama de Despliegue

Diagramas de UML

Enfoque Estructurado vs OO

Paquetes en UML
 Los paquetes ofrecen un mecanismo general para la organizacin de los modelos/subsistemas agrupando elementos de modelado  Se representan grficamente como:

ombre de paquete

Paquetes en UML
 Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)  Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete  Una clase de un paquete puede aparecer en otro paquete por la importacin a travs de una relacin de dependencia entre paquetes  Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa

Paquetes en UML

Diagrama de Casos de Uso


 Los Casos de Uso (Ivar Jacobson) describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el p.d.v. del usuario  Permiten definir los lmites del sistema y las relaciones entre el sistema y el entorno  Los Casos de Uso son descripciones de la funcionalidad del sistema independientes de la implementacin  Comparacin con respecto a los Diagramas de Flujo de Datos del Enfoque Estructurado

Diagrama de Casos de Uso


 Los Casos de Uso cubren la carencia existente en mtodos previos (OMT, Booch) en cuanto a la determinacin de requisitos  Los Casos de Uso particionan el conjunto de necesidades atendiendo a la categora de usuarios que participan en el mismo  Estn basado en el lenguaje natural, es decir, es accesible por los usuarios

Ejemplos

so e so

so e so

Diagrama de Casos de Uso


Actores:
 Principales: personas que usan el sistema  Secundarios: personas que mantienen o administran el sistema  Material externo: dispositivos materiales imprescindibles que forman parte del mbito de la aplicacin y deben ser utilizados  Otros sistemas: sistemas con los que el sistema interacta

 

La misma persona fsica puede interpretar varios papeles como actores distintos El nombre del actor describe el papel desempeado

Diagrama de Casos de Uso



Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interaccin, los escenarios, desde el punto de vista del usuario

 

Un escenario es una instancia de un caso de uso

Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estar dirigido por los casos de uso

Casos de Uso: Relaciones


 UML define cuatro tipos de relacin en los Diagramas de Casos de Uso:  Comunicacin

Actor

C aso de U so

Casos de Uso: Relaciones


 Inclusin : una instancia del Caso de Uso origen incluye tambin el comportamiento descrito por el Caso de Uso destino

<<include>>

Caso de Uso rigen

C aso de U so esti no

<<include>> reemplaz al denominado <<uses>>

Ejemplo Include o Uses


Este tipo de relaciones se llama relaciones de uso y se representa por una lnea punteada desde el caso que usa a al caso que es usado. Decimos, por ejemplo, que el caso de uso Obteniendo reporte de ventas por producto usa al caso de uso Buscando producto

Caracteristicas de las inclusiones o usos


Las caractersticas de las relaciones de uso o inclusiones son: 1) Aparecen como funcionalidad comn, luego de haber especificado varios casos de uso. 2) Los casos usados son casos de uso en s mismos. 3) El caso es usado siempre que el caso que lo usa es ejecutado. Esto marca la diferencia con las extensiones, que son opcionales.

Casos de Uso: Relaciones


 Extensin : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino

extend

Caso de Uso rigen

C aso de U so esti no

Ejemplo Extend
La excepcin consiste en interrumpir el caso de uso y pasar a ejecutar el caso de uso Revisando Presentacin de Nuevos Productos. En este caso decimos que el caso de uso Revisando Presentacin de Nuevos Productos extiende el caso de uso Ingresando pedido y se representa por una lnea de trazos desde el caso que extiende a al caso que es extendido

Caracteristicas de las extensiones


Las extensiones tienen las siguientes caractersticas: 1) Representan una parte de la funcionalidad del caso que no siempre ocurre. 2) Son un caso de uso en s mismas. 3) No necesariamente provienen de un error o excepcin. En su libro, Jacobson ejemplifica los casos de uso como: Ir a cenar a un restaurant. Para l, tomar caf despus de cenar es un ejemplo de una extensin.

Casos de Uso: Relaciones


 Herencia : el Caso de Uso origen hereda la especificacin del Caso de Uso destino y posiblemente la modifica y/o ampla

Caso de Uso Hi o

Caso de Uso adre

Ejemplo Herencia

Ejemplo Relaciones

Casos de Uso : Construccin


  
Un caso de uso debe ser simple, inteligible, claro y conciso Generalmente hay pocos actores asociados a cada Caso de Uso Preguntas clave:
    cules son las tareas del actor? qu informacin crea, guarda, modifica, destruye o lee el actor? debe el actor notificar al sistema los cambios externos? debe el sistema informar al actor de los cambios internos?

Casos de Uso : Construccin


 La descripcin del Caso de Uso comprende:  el inicio: cundo y qu actor lo produce?  el fin: cundo se produce y qu valor devuelve?  la interaccin actor-caso de uso: qu mensajes intercambian ambos?  objetivo del caso de uso: qu lleva a cabo o intenta?  cronologa y origen de las interacciones  repeticiones de comportamiento: qu operaciones son iteradas?  situaciones opcionales: qu ejecuciones alternativas se presentan en el caso de uso?

Casos de Uso : Construccin

También podría gustarte