domingo, 9 de junio de 2013

5.1 DIAGRAMA DE COMPONENTES

El diagrama de componentes describe la descomposición física del sistema de software en componentes, muestra un conjunto de componentes y sus relaciones de manera gráfica a través del uso de nodos y arcos entre estos.
Los diagramas de componentes se utilizan para modelar la vista estática de un sistema, consiste en mostrar la organización y las dependencias entre un conjunto de componentes. No es necesario que un diagrama incluya todos los componentes del sistema, normalmente se realiza por partes, cada diagrama describe un apartado del sistema.
   Dependencia
El diagrama de componentes se genera a partir del diagrama de clases o también llamados paquetes, a partir de él tenemos el diagrama de despliegue en los cuales se mostrara la implementación del proyecto.
   Características
    * Un diagrama de componentes se representa como un grafo de componentes software unidos por medio de relaciones de dependencia.
    * Los componentes empaquetan el código que implementa la funcionalidad de un sistema, y algunas de sus propias instancias de objetos que constituyen el estado del sistema.
   Estereotipos
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.
   * File: Especifica un componente que representa un documento que contiene código fuente o datos.
    * Document: Especifica un componente que representa un documento.
   Interfaces
Es el lazo de unión entre varios componentes.
Las interfaces pueden representarse de varias formas, como se ve en la imagen:
   Pasos para la implementación de un diagrama de componentes:
  1. Diagrama de casos de uso.
  2. Diagrama de clases.
  3. Análisis detallado de cada clase, como componentes.
  4. Transformación de clase-componente, con sus respectivas clases.
  5. Dependencia de sus clases.
  6. Diagrama de componentes.
   Pasos para la elaboración de un diagrama de componentes:
  • Previamente al diagrama de componentes debemos de tener hecho el diagrama de clases.
  • Se debe identificar a todas las clases que participaran en el sistema o subsistema a desarrollar.
  • Una vez identificado las clases, se procede a identificar sus métodos.
  • Estos métodos pasaran a ser módulos con líneas de código independientes.
  • Estos componentes se relacionan entre sí por medio de sus interfaces.

5.2 DIAGRAMA DE DESPLIEGUE

El diagrama de despliegue es un diagrama que se utiliza para modelar el hardware utilizado en la implementación de sistemas y las relaciones entre sus componentes.
Describe la topología del sistema, la estructura de los elementos de hardware y el software que ejecuta cada uno de ellos.
Los diagramas de despliegue representan a los nodos y sus relaciones. Los nodos son conectados por asociaciones de comunicación tales como enlaces de red, conexiones TCP/IP, microondas, etc.
Los diagramas de despliegue son los complementos de los diagramas de componentes que, unidos, proveen la vista de implementación del sistema.
Usos que se les da a los diagramas de despliegue son para modelar:
  • Sistemas cliente-servidor
  • Sistemas completamente distribuidos
Componentes de diagrama de despliegue
  • Nodo
Un nodo es un objeto físico en tiempo de ejecución que representa un recurso computacional, generalmente con memoria y capacidad de procesamiento. Un Nodo es un elemento de hardware o software.
 
  • Instancia de nodo
Una instancia se puede distinguir desde un nodo por el hecho de que su nombre esta subrayado y tiene dos puntos antes del tipo de nodo base. Una instancia puede o no tener un nombre antes de los dos puntos.
  • Estereotipo de nodo
El estereotipo de un nodo es la manera de poder verificar que tipo de nodo es el que se está observando.
  • Artefactos
Un artefacto es un producto del proceso de desarrollo de software, que puede incluir los modelos del proceso (modelos de Casos de Uso, modelos de Diseño, etc.), archivos fuente, ejecutables, documentos de diseño, reportes de prueba, prototipos, manuales de usuario etc. Donde un artefacto es un conjunto de componentes.

  • Asociación
Una asociación representa una ruta de comunicación entre los nodos. Donde esta asociación va incluida con misma dependencia del diagrama de componentes.
Pasos para la construcción de diagramas de despliegue
  1. Identificar los elementos del hardware que formaran parte del sistema.
  2. Identificar los componentes que serán parte de cada nodo.
  3. Identificar las relaciones que existe entre cada uno de estos (Dependencia, Interfaz, Dependencias-Interfaz).

5.3 MODELOS DE PRUEBAS

El objetivo de las pruebas es descubrir en el producto desviaciones de las especificaciones. Puede existir sobre libre de errores pero si no se adecua a las necesidades del cliente este no funciona.
        Validación y Verificación
  • Validación: se ocupa de controlar si el producto satisface los requerimientos del usuario.
  • Verificación: implica controlar que el producto cumpla con la especificación inicial.
       Pruebas
El testing puede probar la presencia de errores pero no la ausencia de ellos” Edsger Dijkstra
Las pruebas deben de hacerse en todas las fases del desarrollo.
        Tipos de pruebas

  • Pruebas de aceptación -> casos de uso.
  • Pruebas de integración/sistema -> diagrama de secuencia/escenarios.
  • Pruebas unitarias -> clases/módulos.
     

Sugerencias de prueba


  • Si aún no se han terminado algunos módulos en pruebas de integración se pueden hacer objetos ficticios “Mock”.
  • Es recomendable hacer pruebas de regresión conforme se empiezan a integrar los módulos de la arquitectura.