MODULO 2:

                      Tema 12:
              Modelo de Implementación:
        Diagramas de Componentes y Despliegue




Ingeniería del Software (3º I.T.I.S., I.T.I.G.)    Módulo 2. Tema 12: Modelo de Implementación   1




                   Diagrama de Componentes




Ingeniería del Software (3º I.T.I.S., I.T.I.G.)    Módulo 2. Tema 12: Modelo de Implementación   2
Diagrama de Componentes


§ Los diagramas de componentes describen los
  elementos físicos del sistema y sus relaciones

§ Muestran las opciones de realización
  incluyendo código fuente, binario y ejecutable




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   3




Diagramas de Componentes

§ Los componentes representan todos los tipos de
  elementos software que entran en la fabricación
  de aplicaciones informáticas
§ Pueden ser simples archivos, paquetes,
  bibliotecas cargadas dinámicamente, etc.




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   4
Diagramas de Componentes

 § La representación gráfica es la siguiente:




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   5




… Diagramas de Componentes
§ Ejemplo:




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   6
… Diagramas de Componentes
§ UML define cinco estereotipos estándar que se
  aplican a los componentes:
     §       Executable: Especifica un componente que se puede ejecutar
             en un nodo.
     §       Library: Especifica una biblioteca de objetos estática o
             dinámica.
     §       Table: Especifica un componente que representa una tabla de
             una base de datos.
     §       File: Especifica un componente que representa un documento
             que contiene código fuente o datos.
     §       Document: Especifica un componente que representa un
             documento.




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación    7




 Dependencias entre Componentes

 § Las relaciones de dependencia se utilizan en los
   diagramas de componentes para indicar que un
   componente se refiere a los servicios ofrecidos por
   otro componente

                 NewPackageSpec                                                 NewPackageSpec2




                                       Dependencia entre
                                       dos componentes

 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación    8
Diagrama de Componentes
§ Ejemplo: Modelado de ejecutables y bibliotecas

                                          <<executable>>
                                                                                                   <<library>>
                                            Animator.exe
                                                                                                    dlog.dll
                                             {version=4.1}




                                                         <<library>>
                                                                                                   <<library>>
                                                           render.dll
                                                                                                    wrfrme.dll

               <<library>>

                raytrce.dll



 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)     Módulo 2. Tema 12: Modelo de Implementación                 9




Subsistemas


§ Los distintos componentes pueden agruparse en
  paquetes según un criterio lógico y con vistas a
  simplificar la implementación
§ Son paquetes estereotipados en <<subsistemas>>



                                                   <<s u b s i s tem a > >
                                                    NewPackage4




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)     Módulo 2. Tema 12: Modelo de Implementación                 10
… Subsistemas

§      Los subsistemas organizan la vista de realización de un sistema

§      Cada subsistema puede contener componentes y otros
       subsistemas

§      La descomposición en subsistemas no es necesariamente una
       descomposición funcional

§      La relación entre paquetes y clases en el nivel lógico es el que
       existe entre subsistemas y componentes en el nivel físico

§      Paquetes (Categorias) y clases en el nivel lógico. Paquetes
       (Subsistemas) y componentes en el nivel físico


 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   11




         Diagramas de Despliegue/Distribución




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   12
Diagramas de Distribución
§        Los Diagramas de Distribución muestran la disposición física de los
         distintos nodos que componen un sistema y el reparto de los
         componentes sobre dichos nodos

                                                            Nodo




    §     Un nodo es un elemento físico que existe en tiempo de ejecución y
          representa un recurso computacional, que generalmente tiene algo
          de memoria y, a menudo, capacidad de procesamiento.

    §     Los nodos se utilizan para modelar la topología del hardware
          sobre el que se ejecuta el sistema. Representa típicamente un
          procesador o un dispositivo sobre el que se pueden desplegar los
          componentes.
    Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   13




Diagramas de Distribución
§       Los componentes son los elementos que participan en la ejecución de un
        sistema. Los nodos son los elementos donde se ejecutan los componentes.

§       Los componentes representan el empaquetamiento físico de los elementos
        lógicos. Los nodos representan el despliegue físico de los componentes.

§       La relación entre un nodo y el componente que despliega puede mostrarse con
        una relación de dependencia, o listando los nodos desplegados en un
        compartimiento adicional dentro del nodo.

                                                           Nodo




                                              Ventas.exe                    clientes.exe



    Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   14
… Diagramas de Distribución
§        Los estereotipos permiten precisar la naturaleza del equipo:
           •       Procesadores: Nodo con capacidad de procesamiento. Puede
                   ejecutar un componente.
           •       Dispositivos: Nodo sin capacidad de procesamiento. Representa
                   cualquier otro dispositivo hardware.

§        Los nodos se relacionan mediante conexiones bidireccionales (en
         principio) que pueden a su vez estereotiparse.

§        Las conexiones se modelan como asociaciones, con todas las
         características que implica.




    Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación              15




… Diagrama de Distribución

§ Ejemplo de conexión entre nodos:

                  <<Cliente>>                                                                   <<Servidor>>
                 Terminal Punto                               <<TCP/IP>>
                                                                                                    Base de
                    de Venta                                                                         Datos



                           <<RDSI>>
                                                                                            <<RDSI>>
Podemos distinguir tipos                                      Control
de nodos y conexiones
por estereotipado


    Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación              16
… Diagrama de Distribución
§ Ejemplo de conexión entre nodos:
                                      <<10-T Ethernet>>
    : terminal

Despliega
   User.exe                                                 : servidor
                                                   velocidadDelProcesador= 300 Mhz                  : unidad RAID
                                                   memoria = 128 Mb


                                                       Despliega
                                                        dbadmin.exe
                                                         tdtmstr.exe

     : consola

 Despliega                              <<RS-232>>
    admin.exe
    config.exe




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)      Módulo 2. Tema 12: Modelo de Implementación               17




                                             Conclusiones




 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)      Módulo 2. Tema 12: Modelo de Implementación               18
Claves en el Desarrollo de SI

                                                    Notación
                                                      UML




    Herramientas                                                             Proceso
  p.e. Rational Rose                                                  p.e. Proceso Unificado

  Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   19




Contexto de Desarrollo: Grado de Complejidad




  Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   20
Modelado de SI: Algunas Reflexiones

 §      Modelar para la concebir el sistema y/o para la
        documentarlo
 §      Pragmatismo, los modelos deben ser útiles
 §      Sencillez y Elegancia
 §      Distintos nivel de abstracción, diferentes modelos
 §      Seguimiento de transformaciones durante el proceso
        (Traceability)
 §      Sincronización de modelos
 §      Dificultades para la introducción de técnicas y
        herramientas de modelado


 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   21




... Finalmente


 § Apostar por enfoque Orientado a Objetos
   usando notación UML
 § Problemas actuales en implementación, al usar
   entornos de programación visual y/o bases de
   datos relacionales
 § Posibles mejoras a medio plazo
         •       Evolución: Uso de BDOO y/o mejoras en los LPOO
         •       Revolución: Generación Automática de Código a
                 partir de Modelos OO (Compilación de Modelos)


 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   22
Bibliografía Recomendada
UML
  •   www.omg.org/uml/
  •   Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html
  •   Pierre-Alain Muller “Instant UML”
  •   Martin Fowler, “UML Destilled” (“UML Gota a Gota”)
  •   Terry Quatrani, “Visual Modeling ...”, un caso de estudio

Herramientas CASE
  • Herramientas basadas en UML
    www.objectsbydesign.com/tools/umltools_byPrice.html
  • International Council in SE (INCOSE) www.incose.org/tools/
  • Herramientas basadas en UML
    www.objectsbydesign.com/tools/umltools_byPrice.html
Otras
  • Revista IEEE Software, Conferencias: OOPSLA, ECOOP
  • Patrones www.enteract.com/∼bradapp/docs/patterns-intro.html,
  • Tutoriales en inglés www.celigent.com/omg/umlrtf/tutorials.htm

 Ingeniería del Software (3º I.T.I.S., I.T.I.G.)   Módulo 2. Tema 12: Modelo de Implementación   23

Componentes

  • 1.
    MODULO 2: Tema 12: Modelo de Implementación: Diagramas de Componentes y Despliegue Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 1 Diagrama de Componentes Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 2
  • 2.
    Diagrama de Componentes §Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones § Muestran las opciones de realización incluyendo código fuente, binario y ejecutable Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 3 Diagramas de Componentes § Los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones informáticas § Pueden ser simples archivos, paquetes, bibliotecas cargadas dinámicamente, etc. Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 4
  • 3.
    Diagramas de Componentes § La representación gráfica es la siguiente: Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 5 … Diagramas de Componentes § Ejemplo: Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 6
  • 4.
    … Diagramas deComponentes § UML define cinco estereotipos estándar que se aplican a los componentes: § Executable: Especifica un componente que se puede ejecutar en un nodo. § Library: Especifica una biblioteca de objetos estática o dinámica. § Table: Especifica un componente que representa una tabla de una base de datos. § File: Especifica un componente que representa un documento que contiene código fuente o datos. § Document: Especifica un componente que representa un documento. Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 7 Dependencias entre Componentes § Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente se refiere a los servicios ofrecidos por otro componente NewPackageSpec NewPackageSpec2 Dependencia entre dos componentes Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 8
  • 5.
    Diagrama de Componentes §Ejemplo: Modelado de ejecutables y bibliotecas <<executable>> <<library>> Animator.exe dlog.dll {version=4.1} <<library>> <<library>> render.dll wrfrme.dll <<library>> raytrce.dll Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 9 Subsistemas § Los distintos componentes pueden agruparse en paquetes según un criterio lógico y con vistas a simplificar la implementación § Son paquetes estereotipados en <<subsistemas>> <<s u b s i s tem a > > NewPackage4 Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 10
  • 6.
    … Subsistemas § Los subsistemas organizan la vista de realización de un sistema § Cada subsistema puede contener componentes y otros subsistemas § La descomposición en subsistemas no es necesariamente una descomposición funcional § La relación entre paquetes y clases en el nivel lógico es el que existe entre subsistemas y componentes en el nivel físico § Paquetes (Categorias) y clases en el nivel lógico. Paquetes (Subsistemas) y componentes en el nivel físico Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 11 Diagramas de Despliegue/Distribución Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 12
  • 7.
    Diagramas de Distribución § Los Diagramas de Distribución muestran la disposición física de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos Nodo § Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene algo de memoria y, a menudo, capacidad de procesamiento. § Los nodos se utilizan para modelar la topología del hardware sobre el que se ejecuta el sistema. Representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes. Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 13 Diagramas de Distribución § Los componentes son los elementos que participan en la ejecución de un sistema. Los nodos son los elementos donde se ejecutan los componentes. § Los componentes representan el empaquetamiento físico de los elementos lógicos. Los nodos representan el despliegue físico de los componentes. § La relación entre un nodo y el componente que despliega puede mostrarse con una relación de dependencia, o listando los nodos desplegados en un compartimiento adicional dentro del nodo. Nodo Ventas.exe clientes.exe Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 14
  • 8.
    … Diagramas deDistribución § Los estereotipos permiten precisar la naturaleza del equipo: • Procesadores: Nodo con capacidad de procesamiento. Puede ejecutar un componente. • Dispositivos: Nodo sin capacidad de procesamiento. Representa cualquier otro dispositivo hardware. § Los nodos se relacionan mediante conexiones bidireccionales (en principio) que pueden a su vez estereotiparse. § Las conexiones se modelan como asociaciones, con todas las características que implica. Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 15 … Diagrama de Distribución § Ejemplo de conexión entre nodos: <<Cliente>> <<Servidor>> Terminal Punto <<TCP/IP>> Base de de Venta Datos <<RDSI>> <<RDSI>> Podemos distinguir tipos Control de nodos y conexiones por estereotipado Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 16
  • 9.
    … Diagrama deDistribución § Ejemplo de conexión entre nodos: <<10-T Ethernet>> : terminal Despliega User.exe : servidor velocidadDelProcesador= 300 Mhz : unidad RAID memoria = 128 Mb Despliega dbadmin.exe tdtmstr.exe : consola Despliega <<RS-232>> admin.exe config.exe Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 17 Conclusiones Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 18
  • 10.
    Claves en elDesarrollo de SI Notación UML Herramientas Proceso p.e. Rational Rose p.e. Proceso Unificado Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 19 Contexto de Desarrollo: Grado de Complejidad Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 20
  • 11.
    Modelado de SI:Algunas Reflexiones § Modelar para la concebir el sistema y/o para la documentarlo § Pragmatismo, los modelos deben ser útiles § Sencillez y Elegancia § Distintos nivel de abstracción, diferentes modelos § Seguimiento de transformaciones durante el proceso (Traceability) § Sincronización de modelos § Dificultades para la introducción de técnicas y herramientas de modelado Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 21 ... Finalmente § Apostar por enfoque Orientado a Objetos usando notación UML § Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales § Posibles mejoras a medio plazo • Evolución: Uso de BDOO y/o mejoras en los LPOO • Revolución: Generación Automática de Código a partir de Modelos OO (Compilación de Modelos) Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 22
  • 12.
    Bibliografía Recomendada UML • www.omg.org/uml/ • Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html • Pierre-Alain Muller “Instant UML” • Martin Fowler, “UML Destilled” (“UML Gota a Gota”) • Terry Quatrani, “Visual Modeling ...”, un caso de estudio Herramientas CASE • Herramientas basadas en UML www.objectsbydesign.com/tools/umltools_byPrice.html • International Council in SE (INCOSE) www.incose.org/tools/ • Herramientas basadas en UML www.objectsbydesign.com/tools/umltools_byPrice.html Otras • Revista IEEE Software, Conferencias: OOPSLA, ECOOP • Patrones www.enteract.com/∼bradapp/docs/patterns-intro.html, • Tutoriales en inglés www.celigent.com/omg/umlrtf/tutorials.htm Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 23