intro_uml
description
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 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 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.