intro_uml

38
7/21/2019 intro_uml http://slidepdf.com/reader/full/introuml-56dd884622637 1/38 Introducción al UML Unified Modeling Lenguaje

description

introl_uml

Transcript of intro_uml

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 1/38

Introducción al UML

Unified Modeling Lenguaje

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 2/38

Una empresa de software con éxito es

aquella que produce software de calidadque satisface las necesidades de losusuarios. El modelado es una partecentral de todas las actividades queconducen a la producción de buen

Software.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 3/38

Porque modelamos ?• Construimos modelos para comunicar la estructura

deseada y el comportamiento de nuestro sistema.• El modelado es una técnica de ingeniería probada y bien

aceptada.• Un modelo es una simplificación de la realidad.• Construimos modelos para comprender mejor el sistema

que estamos desarrollando.• Construimos modelos porque no podemos comprender

el sistema en su totalidad.• Los modelos documentan nuestras decisiones.

• Los modelos proporcionan guías de construcción• Los modelos nos ayudan a visualizar como es o

queremos que sea un sistema.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 4/38

Principios del Modelado• La elección de que modelos crear tiene

una profunda influencia sobre como seacomete un problema y como se da formaa una solución.

• Todo modelo puede ser expresado adiferentes niveles de precisión.

• Los mejores modelos están ligados a larealidad.

• Un único modelo no es suficiente.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 5/38

UML• Es un lenguaje estándar para escribir planos de

software, puede utilizarse para visualizar,especificar, construir y documentar losartefactos de un sistema que involucra grancantidad de Software.

• Constituye una parte de un método dedesarrollo de software, siendo independiente delproceso.

• Comprende Bloques de construcción, las reglasy mecanismos comunes.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 6/38

Historia de UMLUML fue desarrollado en un esfuerzo para simplificar y consolidar el

gran numero de métodos de desarrollo orientado a objetos que

habían surgido.• En los 80 se difunde ampliamente el Análisis Estructurado y sus

variantes• Aparecen las herramientas CASE asociado a metodologías de

desarrollo

• En el 67 aparecen los primeros lenguajes orientados a objetos.• Mediados de los 80 aparecen publicaciones sobre desarrollo

orientados a objetos.• En el 95, Booch, Jacobson y Rumbaugh presenta la primera

propuesta llamada Lenguaje Unificado de Modelado

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 7/38

Historia de UMLObjetivos iniciales

• Modelar sistemas, desde los conceptos hastalos artefactos ejecutables, utilizando técnicas

orientadas a objetos.

• Cubrir las cuestiones relacionadas con eltamaño inherentes a los sistemas complejos y

críticos

• Crear un lenguaje de modelado utilizable tantopor las personas como por las maquinas.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 8/38

Bloques de Construcción• Elementos

• Relaciones

• Diagramas

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 9/38

Elementos en UML• Elementos Estructurales

• Elementos de comportamiento

• Elementos de agrupación

• Elementos de anotación

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 10/38

Elementos EstructuralesEn su mayoría son las

partes estáticas de unmodelo, y representancosas que sonconceptuales o

materiales.Clase: es unadescripción de unconjunto de objetos

que comparten losmismos atributos,operaciones

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 11/38

Elementos EstructuralesInterfaz: es una

colección deoperaciones queespecifican unservicio de clase

o componentes.Describe elcomportamiento

visibleexternamentede ese elemento

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 12/38

Elemento EstructuralesColaboración: define

una interacción yes una sociedad deroles y otroselementos quecolaboran paraproporcionar uncomportamientocooperativo mayorque la suma de loscomportamientosde sus elementos.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 13/38

Elemento EstructuralesCaso de Uso: es

una descripciónde un conjuntode secuenciasde accionesque un sistemaejecuta y queproduce unresultadoobservable deinterés para unactor particular

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 14/38

Elemento EstructuralesClase Activa: es

una clase cuyosobjetos tienenuno o masproceso o hilos

de ejecución ypor lo tantopueden dar

origen aactividades decontrol

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 15/38

Elementos Estructurales

Componente: es

una parte física yreemplazable deun sistema que

conforma con unconjunto deinterfaces y

proporciona laimplementaciónde dicho conjunto.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 16/38

Elementos EstructuralesNodo: es un elemento

físico que existe entiempo de ejecucióny representa unrecurso

computacional, quepor lo generaldispone de algo dememoria y, con

frecuencia,capacidad deprocesamiento.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 17/38

Elementos de comportamientoSon las partes dinámicas

de los modelos UML.Representancomportamiento en eltiempo y el espacio.

Interacción: es uncomportamiento quecomprende un conjuntode mensajesintercambiados entre unconjunto de objetos,dentro de un contextoparticular.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 18/38

Elemento de comportamientoMaquina de estados:

es uncomportamiento queespecifica lassecuencia de

estados por lo quepasa un objeto o unainteracción durantesu vida en respuesta

a eventos, junto consus reacciones adichos eventos.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 19/38

Elementos de agrupaciónSon las partes

organizativas de losmodelos UML. Son lascajas en las quepueden

descomponerse unmodelo.Paquetes: es un

mecanismo de

propósito general paraorganizar elementos engrupos.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 20/38

Elementos de anotaciónSon la las partes

explicativas de losmodelos UML.

Nota: essimplemente un

símbolo paramostrarrestricciones ycomentarios junto

a un elemento ouna colección deelementos.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 21/38

Diagramas UML• Diagrama de clases

• Diagrama de objetos• Diagramas de casos de uso

• Diagrama de secuencia

• Diagrama de colaboración• Diagrama de estados

• Diagrama de actividades

• Diagrama de componentes

• Diagrama de despliegue

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 22/38

Relaciones en UML

• Dependencia

• Asociaciones

• Generalizaciones

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 23/38

Reglas de UMLComo cualquier lenguaje, UML tiene un numero

de reglas que especifican a que debe parecerseun modelos bien formado.

UML tiene reglas semánticas para:

• Nombres• Alcance

• Visibilidad

• Integridad

• Ejecución

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 24/38

Mecanismos Comunes en UML• Especificaciones

• Adornos

• Divisiones comunes

• Mecanismo de extensivilidad

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 25/38

Notación básica de clases

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 26/38

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 27/38

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 28/38

Notación de clases

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 29/38

Consejos para un modelado

eficiente• Identificar que se quiere transmitir

• Identificar a quien se quiere transmitir• Procure producir siempre el modelo mas

sencillo

• Aunque debe tener cuido en aspectosemántica, no permitir que esto sea loprincipal

• UML es simplemente una herramienta útilpara transmitir el diseño.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 30/38

Relaciones entre Clases• Dependencia

• Asociación

• Generalización

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 31/38

DependenciaLa dependencia es la relación mas

simple entre objetos. Ladependencia indica que un objeto

depende de la especificación deotro objeto. Especificación es unaforma elegante de referirse a lainterfaz o al comportamiento.

• En una relación de dependenciaun objeto depende de laespecificación de otro. Si laespecificación cambia, esnecesario actualizar el objetodependiente.

• Una dependencia es una relaciónde uso que declara que un cambioen la especificación de unelemento (ej clase evento) puedeafectar a otro elemento que lautiliza (la clase ventana), pero nonecesariamente a la inversa.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 32/38

Dependencia• Se representa como

una línea discontinua

dirigida hacia elelemento del cual sedepende.

• Las dependencias seusuran cuando sequieran indicar que unelemento utiliza a otro.

• Puede ser utilizado enotros elementos (notas,paquetes)

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 33/38

GeneralizaciónGeneralización es aquella que se

da de lo general a lo

especifico. Es la herencia.• En la relación de

generalización se puedesustituir una clase madre por

su clase hija.• La relación es un tipo depermite definir relaciones desustituibilidad.

• Una línea sólida con unapunta de flecha vacía indicauna relación degeneralización.

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 34/38

Generalización

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 35/38

Generalización

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 36/38

Asociación• La asociación son relaciones

estructurales. Una asociación indicaque un objeto contiene o esta

conectado a otro objeto.• Una asociación indica que un objetocontiene a otro objeto. En términosUML, cuando en una relación deasociación un objeto esta conectado aotro.

• Cada asociación tiene un nombre, laflecha indica la dirección de laasociación.

• Cada objeto en la relación tiene unpapel

• La multiplicidad indica cuantos objetospodrían tomar parte de la asociación.

• La relación es tiene un.• Existe dos tipos de asociación que

constituyen un refinamiento:agregación y composición

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 37/38

Agregación• Una agregación modela una

relación tiene un (o parte de )entre iguales. Tiene un significa

que un objeto contiene a otro.Igual significa que un objeto noes mas importante que el otro.

• Una relación total/parte describe la relación entreobjetos donde un objeto

contiene a otro.• Los objetos pueden existir de

manera independiente uno deoto. Ningún objeto es masimportante que otro.

• Un diamante abierto simbolizaagregación. El diamante toca alobjeto que se considera el totalde la relación

7/21/2019 intro_uml

http://slidepdf.com/reader/full/introuml-56dd884622637 38/38

Composición• La composición es mas

rigurosa que la agregación.

La composición no es unarelación entre iguales. Losobjetos no sonindependientes uno de

otro.• El diamante oscuro

simboliza composición. Eldiamante toca el objeto

que hace la función de totald la relación. El total estaconformado por partes.