SlideShare a Scribd company logo
1 of 8
Download to read offline
Diseño Basado en Componentes Curso 2008 / 09




                                                                                              Tabla de contenidos

        Diseño Basado en Componentes                                                           Introducción a UML
                                                                                               Paquetes en UML
                                                                                               Implementación de interfaces
                                           UML aplicado al                                     Diagramas de componentes
                                           diseño basado en                                    Diagramas de despliegue
                                           componentes                                         Bibliografía


Ingeniería Informática
Universidad Carlos III de Madrid
                                                         Diseño Basado en Componentes
                                                                        Curso 2008 / 09   2




                            Diseño Basado en Componentes Curso 2008 / 09                                         Diseño Basado en Componentes Curso 2008 / 09

                                                                                              Introducción a UML. Elementos
    Introducción a UML. Definición e historia                                                 principales (i)
      UML es un lenguaje gráfico y formal para el modelado de                                  Cosas – representan distintos aspectos del
      sistemas.                                                                                modelo:
       –   Visualizar, especificar, construir y documentar los artefactos de                    –   Estructura: son los “sustantivos” de UML, tales como
           un sistema.                                                                              clase, interfaz, atributo, componente, nodo...
       –   Lenguaje, no método – ligado a USDP, pero sirve para otros                           –   Comportamiento: son los “verbos” de UML, tales
           métodos.
                                                                                                    como acción, actividad, interacción, estado,
       –   Orientado a objetos – toma sus conceptos de los lenguajes OO.                            mensaje...
      Origen histórico.                                                                         –   Agrupamiento: son los paquetes, que se usan para
       –   Antes de 1994: la “guerra de los métodos”.                                               agrupar elementos relacionados semánticamente en
       –   1994: Booch y Rumbaugh en Rational – 1995: Jacobson se                                   unidades coherentes.
           les une.                                                                             –   Anotación: son las “notas”, que pueden añadirse en
       –   1997: primera versión estándar certificada por el OMG.                                   cualquier parte del modelo para capturar información
                                                                                                    no gráfica.
3                                                                                         4




                                                                                                                                                                1
Diseño Basado en Componentes Curso 2008 / 09                           Diseño Basado en Componentes Curso 2008 / 09

    Introducción a UML. Elementos                                         Introducción a UML. Elementos
    principales (ii)                                                      principales (iii)
     Relaciones – representan conexiones entre las                        Modelado de requisitos            Diagrama de casos de uso
     cosas:
                                                                                                            Diagrama de clases
      –   Asociación                                                      Modelado estático
      –   Dependencia                                                                                       Diagrama de objetos
      –   Generalización                                                                                                           Colaboración
      –   Otros: include y extend                                                                           Interacción
                                                                                                                                   Secuencia
     Mecanismos de extensión: estereotipos,                               Modelado dinámico
     valores etiquetados (tagged values) y                                                                  Diagrama de estados
     restricciones (constraints).                                                                           Diagrama de actividad
     Diagramas – representan un conjunto de cosas
                                                                                                            Diagrama de componentes
     y relaciones.                                                        Modelado físico
                                                                                                            Diagrama de despliegue
5                                                                     6




                       Diseño Basado en Componentes Curso 2008 / 09                           Diseño Basado en Componentes Curso 2008 / 09




    Paquetes en UML (i)                                                   Paquetes en UML (ii)
     Sirven para organizar los elementos de un
     modelado en diferentes grupos (incluidos los                           Cada paquete constituye un “espacio de
     diagramas). Podrían darse estructuras
     recursivas, donde un paquete incluye otro                              nombres”: unicidad de nombres (no se permiten
     paquete.                                                               dos elementos del mismo tipo con el mismo
     También sirven para organizar modelos                                  nombre).
     grandes, agrupar elementos relacionados o                              Se pueden incluir dependencias entre paquetes
     crear namespaces.
                                                                            para indicar que el contenido de uno de ellos
     Concepto clave: “Fuerte cohesión interna y
     bajo acoplamiento externo” (mostrar).                                  necesita de algún modo parte del contenido del
     Un paquete puede ser incluido en cualquier tipo                        otro paquete.
     de diagrama y, a su vez, puede contener
     también otros diagramas.
7                                                                     8




                                                                                                                                                  2
Diseño Basado en Componentes Curso 2008 / 09                                   Diseño Basado en Componentes Curso 2008 / 09




     Paquetes en UML. Visibilidad                                                     Paquetes en UML. Accesibilidad (i)
     El nombre completo cualificado de un elemento x
     que resida dentro del paquete Pq1 es: Pq1::x                                      Para que un elemento de un paquete tenga
                                                                                       acceso (permisos) a otro elemento de otro
     Los elementos de un paquete pueden tener
                                                                                       paquete se debe crear una relación entre ambos
     visibilidad pública (+), privada (-) o protegida (#).
                                                                                       paquetes.
     Un elemento de un paquete puede referenciar:
                                                                                       Se debe tener este tipo de permiso por ejemplo,
      –       Elementos públicos de cualquier paquete al que tenga
                                                                                       para crear una asociación entre dos elementos
              permisos: nombre cualificado (P::A).
                                                                                       de distintos paquetes, o para definir el tipo de
      –       Elementos (incluso privados) de su paquete, o
              cualquier paquete que incluya al suyo.                                   dato de un atributo.
      –       Elementos protegidos de sus paquetes padre (relación
              de generalización).
9                                                                                10




                             Diseño Basado en Componentes Curso 2008 / 09                                   Diseño Basado en Componentes Curso 2008 / 09




     Paquetes en UML. Accesibilidad (ii)                                              Paquetes en UML. Accesibilidad (iii)
      Las relaciones de permiso son:                                                   Las relaciones de permiso no son simétricas ni
          –   <<import>>: Incorpora el espacio de nombres de un                        transitivas.
              paquete a otro (ojo a duplicados). No hace falta                          –   Pq1 puede acceder al contenido público de Pq2 y Pq2
              cualificar nombres. Puede darse un alias a cada                               al de Pq3 pero:
              elemento importado y definir una nueva visibilidad.                             Pq2 no puede acceder a ningún contenido de Pq1.
          –   <<access>>: permite acceder al espacio de nombres                               Pq1 no puede acceder a ningún contenido de Pq3.
              de otro paquete sin llegar a incorporar sus elementos.
              Los elementos accedidos se indican con su nombre
              cualificado.
               P                                                                             Pq1                        Pq2             «import»           Pq3
                                                                                                       «import»
                           «import»
                                            R                               -S
                   +Q

11                                                                               12




                                                                                                                                                                 3
Diseño Basado en Componentes Curso 2008 / 09                           Diseño Basado en Componentes Curso 2008 / 09




     Paquetes en UML. Accesibilidad (iv)                                        Paquetes en UML. Generalización (i)
      Debido a que no son simétricas, la siguiente asociación                    UML define el concepto de generalización entre
      es poseída por el paquete de la izquierda, y sólo puede                    paquetes.
      ser navegable en el sentido A B.
                                                                                 Conceptos como “principio de sustitución” y
                                                                                 visibilidad también son utilizados a nivel
                                                                                 paquete.
                                                                                 Un contenido también puede ser sobrescrito en
                                            «Import»
                                                                                 un paquete hijo.
               ClaseA                                             ClaseB
                                                                                 El paquete hijo hereda los contenidos públicos y
                                                                                 protegidos del padre, incluyendo los contenidos
                                                                                 importados (no accedidos por el padre).
13                                                                         14




                           Diseño Basado en Componentes Curso 2008 / 09                           Diseño Basado en Componentes Curso 2008 / 09




     Paquetes en UML. Generalización (ii)                                       Paquetes en UML. Tipos de paquetes (i)
                                                                                 Según el metamodelo de UML,
                                                                                 existen dos tipos especiales de                                   Pac k ag e

                                                                                 paquetes
                                   GUI
                                                                                 Modelo (raíz): sirve para
                                       +Ventana
                                       +Formulario
                                                                                 representar el primer nivel de
                                       #GestorEventos                            agrupamiento. Otros modelos
                                       -Evento
                                                                                 pueden ser utilizados para mostrar
                                                                                 un contenido desde distintos                  Su bsystem                       Mod el

                                                                                 puntos de vista.                       isInstantiable : Boolean


                GUI Win                                                          Subsistema: sirve para
                 +GUI::Ventana                          GUI MAC
                                                                                 descomponer un sistema completo
                 +Formulario
                 #GUI::GestorEventos
                                                                                 a un elevado nivel de abstracción.
                 +VBForm                                                         También es un tipo de clasificador,
                                                                                 por lo que puede proporcionar
                                                                                 interfaces y definir operaciones
                                                                                 (servicios) de alto nivel.
15                                                                         16




                                                                                                                                                                         4
Diseño Basado en Componentes Curso 2008 / 09                                                           Diseño Basado en Componentes Curso 2008 / 09




     Paquetes en UML . Tipos de paquetes (ii)                                                                         Implementación de Interfaces (i)
      Subsistema:                                      Subsistema1
                                                                                          Realization elements
                                                                                                                       Una interfaz (<<interface>>) es una colección de un
       –    Puede ser mostrado con tres                Funcion1(parm1: string): boolean
                                                                                                Clase1                 conjunto de operaciones que se utiliza para especificar
                                                       Funcion2()
            compartimentos:
                                                                                                                       un servicio de una clase o componentes.
               Operaciones: se implementarán       Specification Elements
               mediante una clase pública del       UC1                                    Colaboracion
                                                                                                                       Una interfaz no puede tener atributos ni asociaciones
               subsistema. Son los servicios del
               subsistema.
                                                                  UC2
                                                                                                                       navegables.
               Elementos de especificación: casos de                                                                   Separan la especificación de una funcionalidad de su
               uso e interfaces que se muestran al
               exterior ocultando su verdadera                                                                         implementación.
               realización.                                                                                            La realización de una interfaz es una dependencia con
               Elementos de realización: contiene los
               elementos que realizan los casos de                                                                     el estereotipo <<realize>>.
               uso, o las clases que implementan las
               operaciones del subsistema.
                                                                                                                       Una interfaz puede ser vista en su forma de icono (un
       –    Son el origen de los futuros                                                                               círculo) o su forma extendida incluyendo sus
            componentes.                                                                                               operaciones.
17                                                                                                               18




                                Diseño Basado en Componentes Curso 2008 / 09                                                           Diseño Basado en Componentes Curso 2008 / 09




     Implementación de Interfaces (ii)                                                                                Implementación de Interfaces (iii)

           UML 1.X                                                                                                      UML 2.X




                                                  <<realize>>




19                                                                                                               20




                                                                                                                                                                                      5
Diseño Basado en Componentes Curso 2008 / 09                                    Diseño Basado en Componentes Curso 2008 / 09




     Diagramas de componentes (i)                                                              Diagramas de componentes (ii)
      Definición de componente:
                                                                                                Filosofía: “Alta cohesión interna, bajo
       –   Un componente es una unidad de ‘despliegue’
           independiente.                                                                       acoplamiento externo”.
       –   Un componente podría ser utilizado por cualquier                                     Las interfaces implementadas o utilizadas por
           organización sin necesidad de ningún conocimiento                                    un componente son realmente utilizadas y/o
           previo.
                                                                                                implementadas por su contenido.
       –   Un componente no tiene estado persistente en sí
           mismo, lo tienen (opcionalmente) sus objetos.                                        Unos componentes hacen uso de otros. Esto se
       –   Implementa una serie de interfaces y utiliza otras.                                  denota mediante una relación de dependencia.
       –   Encierran otros elementos de modelado como por                                       Para bajar el acoplamiento, no se hace que un
           ejemplo clases, permitiendo a otros componentes
           acceder a ellos.                                                                     componente dependa de otro, sino de una o
       –   Ejemplos: ficheros fuente, controles ActiveX,                                        varias de sus interfaces.
21         JavaBeans, Assemblies .Net, documentos,...                                     22




                               Diseño Basado en Componentes Curso 2008 / 09                                    Diseño Basado en Componentes Curso 2008 / 09




     Diagramas de componentes (iii)                                                            Diagramas de componentes (iv)
      Diagrama de componentes:                                                                 UML 2.X

       –   Representa la estructura física de implementación.                                  Iconic form
       –   Un componente puede ser un ejecutable, librería dll,
           documento...
     UML 1.X        Iconic Form


                      Indexer.exe                                        Normalizer.dll
                                                   INormalize

                                                                                               Expanded form
                                    dependency             realization
                   Expanded Form
                                            «interface»
                                            lNormalize
                      Indexer.exe                                        Normalizer.dll
                                              Config( )
                                            getNormal( )

23                                                                                        24




                                                                                                                                                              6
Diseño Basado en Componentes Curso 2008 / 09                             Diseño Basado en Componentes Curso 2008 / 09




     Diagramas de despliegue (i)                                             Diagramas de despliegue (ii)
      Nodo:                                                                   Diagramas de despliegue:
       –   Representa una parte física (hardware) de un sistema.               –   Capturan la topología física del
                                                                                   sistema.
       –   No tiene porqué ser un elemento computacional,                                                                              Infra-Red Camera
                                                                                                                                                                             Ultrasonic Sonar Sensor



           podría ser un sensor.                                               –   No suelen utilizarse con sistemas                                         <<Processor>>

                                                                                   monolíticos donde sólo se usan                                               Pentium
                                                                                                                                                                Pentium
                                                                                                                                                              Motherboard
                                                                                                                                                              Motherboard

       –   Sobre cada nodo se ejecutan los distintos                               periféricos estándar.
           componentes del sistema.                                            –   Pueden ser vistos de diversas            Automatic OCR
                                                                                                                                                             ∼                            ∼
                                                                                                                                                      Steering Motor                Driving Motor

       –   Pueden usarse estereotipos para diferencias sus                         formas:
           diferentes tipos y taggedValues para indicar sus                          Sólo nodos en el diagrama (y sus
           cualidades.                                                               asociaciones o dependencias).
                                                                                     Nodos con dependencias a sus                    <<Processor>>
                                                                                                                                     <<Processor>>
                                                                                                                                                                         <<Processor>>
                                                                                                                                                                         <<Processor>>
                                                                                                                                                                              Server
      Asociaciones entre nodos:                                                      respectivos componentes.                        Caching Server
                                                                                                                                     Caching Server
                                                                                                                                        Deploys
                                                                                                                                        Deploys
                                                                                                                                        http.exe
                                                                                                                                         http.exe
                                                                                                                                                                              Server
                                                                                                                                                                             Deploys
                                                                                                                                                                             Deploys
                                                                                                                                                                          dbadmin.exe
                                                                                                                                                                          dbadmin.exe
                                                                                                                                                                           tktmstr.exe

       –   Representan conexiones físicas entre nodos (redes...).                    Nodos que incluyen dentro sus                     rting.exe
                                                                                                                                        rting.exe
                                                                                                                                                                           tktmstr.exe
                                                                                                                                                                           logexc.exe
                                                                                                                                                                            logexc.exe

                                                                                     componentes.
25                                                                      26




                         Diseño Basado en Componentes Curso 2008 / 09                             Diseño Basado en Componentes Curso 2008 / 09




     Diagramas de despliegue (iii)                                           Diagramas de despliegue (iv)
      Vista de Metamodelo de UML:                                             En un diagrama de despliegue se pueden incluir
                                                                              tanto instancias de componentes como
                                                                              instancias de nodos.
                                                                              Esto permite diseñar escenarios concretos de
                                                                              ejecución.




27                                                                      28




                                                                                                                                                                                                       7
Diseño Basado en Componentes Curso 2008 / 09




     Bibliografía
      UML and the Unified Process (Capítulos 11, 17,                          Diseño Basado en Componentes
      21, 22, 23)
       Jim Arlow
       Addison Wesley, 2002
      Utilización de UML en Ingeniería del Software                                                      UML aplicado al
      con Objetos y Componentes (Capítulos 13 y 14)                                                      diseño basado en
       Perdita Stevens
       Addison Wesley, 2000
                                                                                                         componentes
      El Lenguaje Unificado de Modelado
       Grady Booch, James Rumbaugh, Ivar Jacobson                     Ingeniería Informática
       Addison Wesley, 1999                                           Universidad Carlos III de Madrid
29
      El Estándar de UML v. 1.5: http://www.omg.org                                                           Diseño Basado en Componentes
                                                                                                                             Curso 2008 / 09




                       Diseño Basado en Componentes Curso 2008 / 09




     Acoplamiento




        Alto acoplamiento                     Bajo acoplamiento
      Volver
31




                                                                                                                                               8

More Related Content

What's hot

Portafolio ing sotware ii
Portafolio ing sotware iiPortafolio ing sotware ii
Portafolio ing sotware iifredycollaguazo
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLKudos S.A.S
 
Perfiles UML - Jénifer Quintero
Perfiles UML - Jénifer QuinteroPerfiles UML - Jénifer Quintero
Perfiles UML - Jénifer Quintero2008PA2Info3
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
Uml mateo henao
Uml mateo henaoUml mateo henao
Uml mateo henaomatehena
 
Conceptos Basicos Uml
Conceptos Basicos UmlConceptos Basicos Uml
Conceptos Basicos Umlfelix17
 
Sesion1.1 uml
Sesion1.1 umlSesion1.1 uml
Sesion1.1 umlyonnyl
 
Lenguaje de modelado unificado uml
Lenguaje de modelado unificado   umlLenguaje de modelado unificado   uml
Lenguaje de modelado unificado umlturlahackers
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...Uriel Herrera
 
Curso uml-clase-01-1211931122395265-9
Curso uml-clase-01-1211931122395265-9Curso uml-clase-01-1211931122395265-9
Curso uml-clase-01-1211931122395265-9duberlisg
 

What's hot (16)

Portafolio ing sotware ii
Portafolio ing sotware iiPortafolio ing sotware ii
Portafolio ing sotware ii
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UML
 
Perfiles UML - Jénifer Quintero
Perfiles UML - Jénifer QuinteroPerfiles UML - Jénifer Quintero
Perfiles UML - Jénifer Quintero
 
Curso Uml 1 Introduccion
Curso Uml   1 IntroduccionCurso Uml   1 Introduccion
Curso Uml 1 Introduccion
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Uml mateo henao
Uml mateo henaoUml mateo henao
Uml mateo henao
 
Modelo Conceptual UML
Modelo Conceptual UMLModelo Conceptual UML
Modelo Conceptual UML
 
Oc
OcOc
Oc
 
Conceptos Basicos Uml
Conceptos Basicos UmlConceptos Basicos Uml
Conceptos Basicos Uml
 
Uml
UmlUml
Uml
 
Sesion1.1 uml
Sesion1.1 umlSesion1.1 uml
Sesion1.1 uml
 
Lenguaje de modelado unificado uml
Lenguaje de modelado unificado   umlLenguaje de modelado unificado   uml
Lenguaje de modelado unificado uml
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
 
Curso uml-clase-01-1211931122395265-9
Curso uml-clase-01-1211931122395265-9Curso uml-clase-01-1211931122395265-9
Curso uml-clase-01-1211931122395265-9
 
3 E Uml
3 E Uml3 E Uml
3 E Uml
 

Viewers also liked

Realizado por 3
Realizado por 3Realizado por 3
Realizado por 3estefani12
 
Partos y recepcion del recien nacido
Partos y recepcion del recien nacidoPartos y recepcion del recien nacido
Partos y recepcion del recien nacidoAngie Manjulita
 
Revista Gerencia al Día
Revista Gerencia al DíaRevista Gerencia al Día
Revista Gerencia al Díaliliberthvivas
 
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1Marcela Lopez
 
N. stephan kinsella contra la propiedad intelectual
N. stephan kinsella   contra la propiedad intelectualN. stephan kinsella   contra la propiedad intelectual
N. stephan kinsella contra la propiedad intelectualDaniel Diaz
 
03. cómo consultar material
03. cómo consultar material03. cómo consultar material
03. cómo consultar materialLiv Sánchez
 
Feudalismo. P.4. Viciconti
Feudalismo. P.4. VicicontiFeudalismo. P.4. Viciconti
Feudalismo. P.4. VicicontiCarmen Viciconti
 
Nuevo presentación de microsoft power point (4)
Nuevo presentación de microsoft power point (4)Nuevo presentación de microsoft power point (4)
Nuevo presentación de microsoft power point (4)Obed Isai
 
Definicion de atencion temprana
Definicion de atencion tempranaDefinicion de atencion temprana
Definicion de atencion tempranareyitas1989
 
3ª semana de adviento ciclo a
3ª semana de adviento ciclo a3ª semana de adviento ciclo a
3ª semana de adviento ciclo amiquelbiosca
 

Viewers also liked (20)

Realizado por 3
Realizado por 3Realizado por 3
Realizado por 3
 
Presentación3
Presentación3Presentación3
Presentación3
 
Partos y recepcion del recien nacido
Partos y recepcion del recien nacidoPartos y recepcion del recien nacido
Partos y recepcion del recien nacido
 
Revista Gerencia al Día
Revista Gerencia al DíaRevista Gerencia al Día
Revista Gerencia al Día
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1
Pensamientos en Positivo Escuela San Carlos Borromeo Salta Volumen 1
 
Grupo santa monica
Grupo santa monicaGrupo santa monica
Grupo santa monica
 
N. stephan kinsella contra la propiedad intelectual
N. stephan kinsella   contra la propiedad intelectualN. stephan kinsella   contra la propiedad intelectual
N. stephan kinsella contra la propiedad intelectual
 
03. cómo consultar material
03. cómo consultar material03. cómo consultar material
03. cómo consultar material
 
Ejemplos mapa navegacion
Ejemplos mapa navegacionEjemplos mapa navegacion
Ejemplos mapa navegacion
 
EDO
EDOEDO
EDO
 
Feudalismo. P.4. Viciconti
Feudalismo. P.4. VicicontiFeudalismo. P.4. Viciconti
Feudalismo. P.4. Viciconti
 
Economia de mercado
Economia de mercadoEconomia de mercado
Economia de mercado
 
Nuevo presentación de microsoft power point (4)
Nuevo presentación de microsoft power point (4)Nuevo presentación de microsoft power point (4)
Nuevo presentación de microsoft power point (4)
 
Definicion de atencion temprana
Definicion de atencion tempranaDefinicion de atencion temprana
Definicion de atencion temprana
 
Tesis_sist._gerencial
  Tesis_sist._gerencial  Tesis_sist._gerencial
Tesis_sist._gerencial
 
3ª semana de adviento ciclo a
3ª semana de adviento ciclo a3ª semana de adviento ciclo a
3ª semana de adviento ciclo a
 
2 diagnostico inst
2 diagnostico inst2 diagnostico inst
2 diagnostico inst
 
Melissa guevara chamilo
Melissa guevara  chamiloMelissa guevara  chamilo
Melissa guevara chamilo
 
Biologia residuos
Biologia residuosBiologia residuos
Biologia residuos
 

Similar to 02 uml aplicado-al_diseno_con_componentes

Similar to 02 uml aplicado-al_diseno_con_componentes (20)

Clase03 m sw
Clase03 m swClase03 m sw
Clase03 m sw
 
Unified Modeling Language Uml
Unified Modeling Language   UmlUnified Modeling Language   Uml
Unified Modeling Language Uml
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
Uml
UmlUml
Uml
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
UML
UMLUML
UML
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Uml
UmlUml
Uml
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Curso
CursoCurso
Curso
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Uml
UmlUml
Uml
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Uml
UmlUml
Uml
 
Que es uml
Que es umlQue es uml
Que es uml
 

02 uml aplicado-al_diseno_con_componentes

  • 1. Diseño Basado en Componentes Curso 2008 / 09 Tabla de contenidos Diseño Basado en Componentes Introducción a UML Paquetes en UML Implementación de interfaces UML aplicado al Diagramas de componentes diseño basado en Diagramas de despliegue componentes Bibliografía Ingeniería Informática Universidad Carlos III de Madrid Diseño Basado en Componentes Curso 2008 / 09 2 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Introducción a UML. Elementos Introducción a UML. Definición e historia principales (i) UML es un lenguaje gráfico y formal para el modelado de Cosas – representan distintos aspectos del sistemas. modelo: – Visualizar, especificar, construir y documentar los artefactos de – Estructura: son los “sustantivos” de UML, tales como un sistema. clase, interfaz, atributo, componente, nodo... – Lenguaje, no método – ligado a USDP, pero sirve para otros – Comportamiento: son los “verbos” de UML, tales métodos. como acción, actividad, interacción, estado, – Orientado a objetos – toma sus conceptos de los lenguajes OO. mensaje... Origen histórico. – Agrupamiento: son los paquetes, que se usan para – Antes de 1994: la “guerra de los métodos”. agrupar elementos relacionados semánticamente en – 1994: Booch y Rumbaugh en Rational – 1995: Jacobson se unidades coherentes. les une. – Anotación: son las “notas”, que pueden añadirse en – 1997: primera versión estándar certificada por el OMG. cualquier parte del modelo para capturar información no gráfica. 3 4 1
  • 2. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Introducción a UML. Elementos Introducción a UML. Elementos principales (ii) principales (iii) Relaciones – representan conexiones entre las Modelado de requisitos Diagrama de casos de uso cosas: Diagrama de clases – Asociación Modelado estático – Dependencia Diagrama de objetos – Generalización Colaboración – Otros: include y extend Interacción Secuencia Mecanismos de extensión: estereotipos, Modelado dinámico valores etiquetados (tagged values) y Diagrama de estados restricciones (constraints). Diagrama de actividad Diagramas – representan un conjunto de cosas Diagrama de componentes y relaciones. Modelado físico Diagrama de despliegue 5 6 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML (i) Paquetes en UML (ii) Sirven para organizar los elementos de un modelado en diferentes grupos (incluidos los Cada paquete constituye un “espacio de diagramas). Podrían darse estructuras recursivas, donde un paquete incluye otro nombres”: unicidad de nombres (no se permiten paquete. dos elementos del mismo tipo con el mismo También sirven para organizar modelos nombre). grandes, agrupar elementos relacionados o Se pueden incluir dependencias entre paquetes crear namespaces. para indicar que el contenido de uno de ellos Concepto clave: “Fuerte cohesión interna y bajo acoplamiento externo” (mostrar). necesita de algún modo parte del contenido del Un paquete puede ser incluido en cualquier tipo otro paquete. de diagrama y, a su vez, puede contener también otros diagramas. 7 8 2
  • 3. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Visibilidad Paquetes en UML. Accesibilidad (i) El nombre completo cualificado de un elemento x que resida dentro del paquete Pq1 es: Pq1::x Para que un elemento de un paquete tenga acceso (permisos) a otro elemento de otro Los elementos de un paquete pueden tener paquete se debe crear una relación entre ambos visibilidad pública (+), privada (-) o protegida (#). paquetes. Un elemento de un paquete puede referenciar: Se debe tener este tipo de permiso por ejemplo, – Elementos públicos de cualquier paquete al que tenga para crear una asociación entre dos elementos permisos: nombre cualificado (P::A). de distintos paquetes, o para definir el tipo de – Elementos (incluso privados) de su paquete, o cualquier paquete que incluya al suyo. dato de un atributo. – Elementos protegidos de sus paquetes padre (relación de generalización). 9 10 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Accesibilidad (ii) Paquetes en UML. Accesibilidad (iii) Las relaciones de permiso son: Las relaciones de permiso no son simétricas ni – <<import>>: Incorpora el espacio de nombres de un transitivas. paquete a otro (ojo a duplicados). No hace falta – Pq1 puede acceder al contenido público de Pq2 y Pq2 cualificar nombres. Puede darse un alias a cada al de Pq3 pero: elemento importado y definir una nueva visibilidad. Pq2 no puede acceder a ningún contenido de Pq1. – <<access>>: permite acceder al espacio de nombres Pq1 no puede acceder a ningún contenido de Pq3. de otro paquete sin llegar a incorporar sus elementos. Los elementos accedidos se indican con su nombre cualificado. P Pq1 Pq2 «import» Pq3 «import» «import» R -S +Q 11 12 3
  • 4. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Accesibilidad (iv) Paquetes en UML. Generalización (i) Debido a que no son simétricas, la siguiente asociación UML define el concepto de generalización entre es poseída por el paquete de la izquierda, y sólo puede paquetes. ser navegable en el sentido A B. Conceptos como “principio de sustitución” y visibilidad también son utilizados a nivel paquete. Un contenido también puede ser sobrescrito en «Import» un paquete hijo. ClaseA ClaseB El paquete hijo hereda los contenidos públicos y protegidos del padre, incluyendo los contenidos importados (no accedidos por el padre). 13 14 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Generalización (ii) Paquetes en UML. Tipos de paquetes (i) Según el metamodelo de UML, existen dos tipos especiales de Pac k ag e paquetes GUI Modelo (raíz): sirve para +Ventana +Formulario representar el primer nivel de #GestorEventos agrupamiento. Otros modelos -Evento pueden ser utilizados para mostrar un contenido desde distintos Su bsystem Mod el puntos de vista. isInstantiable : Boolean GUI Win Subsistema: sirve para +GUI::Ventana GUI MAC descomponer un sistema completo +Formulario #GUI::GestorEventos a un elevado nivel de abstracción. +VBForm También es un tipo de clasificador, por lo que puede proporcionar interfaces y definir operaciones (servicios) de alto nivel. 15 16 4
  • 5. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML . Tipos de paquetes (ii) Implementación de Interfaces (i) Subsistema: Subsistema1 Realization elements Una interfaz (<<interface>>) es una colección de un – Puede ser mostrado con tres Funcion1(parm1: string): boolean Clase1 conjunto de operaciones que se utiliza para especificar Funcion2() compartimentos: un servicio de una clase o componentes. Operaciones: se implementarán Specification Elements mediante una clase pública del UC1 Colaboracion Una interfaz no puede tener atributos ni asociaciones subsistema. Son los servicios del subsistema. UC2 navegables. Elementos de especificación: casos de Separan la especificación de una funcionalidad de su uso e interfaces que se muestran al exterior ocultando su verdadera implementación. realización. La realización de una interfaz es una dependencia con Elementos de realización: contiene los elementos que realizan los casos de el estereotipo <<realize>>. uso, o las clases que implementan las operaciones del subsistema. Una interfaz puede ser vista en su forma de icono (un – Son el origen de los futuros círculo) o su forma extendida incluyendo sus componentes. operaciones. 17 18 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Implementación de Interfaces (ii) Implementación de Interfaces (iii) UML 1.X UML 2.X <<realize>> 19 20 5
  • 6. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de componentes (i) Diagramas de componentes (ii) Definición de componente: Filosofía: “Alta cohesión interna, bajo – Un componente es una unidad de ‘despliegue’ independiente. acoplamiento externo”. – Un componente podría ser utilizado por cualquier Las interfaces implementadas o utilizadas por organización sin necesidad de ningún conocimiento un componente son realmente utilizadas y/o previo. implementadas por su contenido. – Un componente no tiene estado persistente en sí mismo, lo tienen (opcionalmente) sus objetos. Unos componentes hacen uso de otros. Esto se – Implementa una serie de interfaces y utiliza otras. denota mediante una relación de dependencia. – Encierran otros elementos de modelado como por Para bajar el acoplamiento, no se hace que un ejemplo clases, permitiendo a otros componentes acceder a ellos. componente dependa de otro, sino de una o – Ejemplos: ficheros fuente, controles ActiveX, varias de sus interfaces. 21 JavaBeans, Assemblies .Net, documentos,... 22 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de componentes (iii) Diagramas de componentes (iv) Diagrama de componentes: UML 2.X – Representa la estructura física de implementación. Iconic form – Un componente puede ser un ejecutable, librería dll, documento... UML 1.X Iconic Form Indexer.exe Normalizer.dll INormalize Expanded form dependency realization Expanded Form «interface» lNormalize Indexer.exe Normalizer.dll Config( ) getNormal( ) 23 24 6
  • 7. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de despliegue (i) Diagramas de despliegue (ii) Nodo: Diagramas de despliegue: – Representa una parte física (hardware) de un sistema. – Capturan la topología física del sistema. – No tiene porqué ser un elemento computacional, Infra-Red Camera Ultrasonic Sonar Sensor podría ser un sensor. – No suelen utilizarse con sistemas <<Processor>> monolíticos donde sólo se usan Pentium Pentium Motherboard Motherboard – Sobre cada nodo se ejecutan los distintos periféricos estándar. componentes del sistema. – Pueden ser vistos de diversas Automatic OCR ∼ ∼ Steering Motor Driving Motor – Pueden usarse estereotipos para diferencias sus formas: diferentes tipos y taggedValues para indicar sus Sólo nodos en el diagrama (y sus cualidades. asociaciones o dependencias). Nodos con dependencias a sus <<Processor>> <<Processor>> <<Processor>> <<Processor>> Server Asociaciones entre nodos: respectivos componentes. Caching Server Caching Server Deploys Deploys http.exe http.exe Server Deploys Deploys dbadmin.exe dbadmin.exe tktmstr.exe – Representan conexiones físicas entre nodos (redes...). Nodos que incluyen dentro sus rting.exe rting.exe tktmstr.exe logexc.exe logexc.exe componentes. 25 26 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de despliegue (iii) Diagramas de despliegue (iv) Vista de Metamodelo de UML: En un diagrama de despliegue se pueden incluir tanto instancias de componentes como instancias de nodos. Esto permite diseñar escenarios concretos de ejecución. 27 28 7
  • 8. Diseño Basado en Componentes Curso 2008 / 09 Bibliografía UML and the Unified Process (Capítulos 11, 17, Diseño Basado en Componentes 21, 22, 23) Jim Arlow Addison Wesley, 2002 Utilización de UML en Ingeniería del Software UML aplicado al con Objetos y Componentes (Capítulos 13 y 14) diseño basado en Perdita Stevens Addison Wesley, 2000 componentes El Lenguaje Unificado de Modelado Grady Booch, James Rumbaugh, Ivar Jacobson Ingeniería Informática Addison Wesley, 1999 Universidad Carlos III de Madrid 29 El Estándar de UML v. 1.5: http://www.omg.org Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Acoplamiento Alto acoplamiento Bajo acoplamiento Volver 31 8