Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin a la Implementacin
Implementamos el sistema en trminos de componentes, es decir, ficheros de cdigo fuente, scripts, ficheros de cdigo binario, ejecutables y similares. Se desarrolla la arquitectura y el sistema como un todo
Propsitos:
Planificar las integraciones del sistema necesarias siguiendo un enfoque incremental Distribuir el sistema asignando componentes ejecutables a nodos en el diagrama de despliegue Implementar las clases y subsistemas encontrados en diseo (las clases como componentes de fichero que contienen cdigo fuente) Probar los componentes individualmente, integrarlos compilndolos y enlazndolos en uno o ms ejecutables, antes de enviarlos para ser integrados y llevar a cabo las comprobaciones del sistema
P7.2
Modelo de Implementacin
Describe como los elementos del modelo de diseo (como las clases) se implementan en trminos de componentes, como ficheros de cdigo fuente, ejecutables, etc Describe cmo se organizan los componentes de acuerdo con los mecanismos de estructuracin y modularizacin disponibles en el entorno de implementacin y en el lenguaje o lenguajes de programacin utilizados, y cmo dependen los componentes unos de otros Se representa con un sistema de implementacin que denota el subsistema de nivel superior del modelo. El utilizar otros subsistemas es una forma de organizar el modelo de implementacin en trozos ms manejables Define una Jerarqua de subsistemas de implementacin que contiene componentes e interfaces
P7.3
Componente
Empaquetamiento fsico de los elementos de un modelo (como son las clases en el modelo de diseo) Estereotipos de Componentes:
<<executable>>, <<file>>, <<library>>, <<table>>, <<document>> Durante la creacin de componentes en un entorno de implementacin particular pueden ser modificados para reflejar el significado real de estos componentes Tienen relaciones de traza con los elementos del modelo que implementan En normal que un componente implemente varios elementos, por ejemplo varias clases. Esta traza depende de cmo van a ser estructurados y modularizados los ficheros de cdigo fuente, dado el L. de Programacin que se use Proporcionan las mismas interfaces que los elementos del modelo que implementan Puede haber dependencias de compilacin entre componentes (denotan los componentes necesarios para compilar un componente determinado)
P7.4
Caractersticas:
Componente
Ejemplo:
una clase Componente sigue la traza de
En el sistema ejemplo, la clase de diseo Transferencias entre Cuentas se implementa en el componente de cdigo fuente TransferenciasEntreCuentas.java (comnmente en Java se crea un fichero de cdigo fuente para cada clase). Dependencia de traza entre el modelo de diseo y de implementacin
Ejemplo:
Ejemplo:
P7.5
Subsistema de Implementacin
Organiza los artefactos del modelo de implementacin en trozos manejables. Se manifiesta a travs de un mecanismo de empaquetamiento concreto en un entorno de implementacin determinado:
un proyecto
Subsistema Paquete
P7.6
Subsistema de Implementacin
Relacionados con los subsistemas de diseo, deberan seguir la traza uno a uno (tambin en subsistemas de servicio). Los aspectos definidos en los subsistemas de diseo son importantes y los subsistemas de implementacin deberan:
Definir dependencias anlogas hacia otros subsistemas de implementacin o interfaces Proporcionar las mismas interfaces Definir qu componentes, o recursivamente, qu otros subsistemas de implementacin dentro del subsistema deberan proporcionar las interfaces proporcionadas por el subsistema. Siguiendo la traza de las clases correspondientes en el subsistema de diseo que implementan Los cambios en el modo en que los subsistemas proporcionan y usan interfaces, o cambios en las interfaces mismas, estn descritos en los flujos de trabajo de diseo, luego no es necesario tratarlos en los flujos de trabajo de la implementacin, aunque afectan al modelo de implementacin
P7.7
Interfaz
Se utilizan para especificar las operaciones implementadas por componentes y subsistemas de implementacin. Estos a su vez pueden tener dependencias de uso sobre interfaces
Un componente que implementa una interfaz ha de implementar correctamente todas las operaciones definidas por la interfaz Un subsistema de implementacin que proporciona una interfaz tiene tambin que contener componentes que proporcionen la interfaz u otros subsistemas (recursivamente) que proporcionen la interfaz En el sistema ejemplo, tiene un subsistema de implementacin llamado GestinDeCuentas (un paquete de Java), el cual proporciona la interfaz Transferencias
package GestionDeCuentas; // interfaces proporcionados: public interface Transferencias{ public Cuenta Crear (Cliente propietario, Dinero saldo, NumeroCuenta id_cuenta); public void Depositar (Dinero cantidad, Cadena razon); }
P7.8
Modelado Arquitectnico
Mundo Real
En la construccin de un edificio, los planos son muy importantes pero finalmente, lo ms importante es dar lugar a una construccin REAL
UML nos ofrece dos elementos para modelar la arquitectura fsica de un sistema:
Componentes Nodos
P7.9
Modelado de cdigo fuente Modelado de una versin ejecutable Modelado de una BBDD fsica Modelado de sistemas adaptables
P7.10
Se representa como un rectngulo con pestaas Normalmente se dibujan mostrando slo su nombre Se pueden adornar con valores etiquetados o con compartimentos adicionales Pueden ser estereotipados y tener valores etiquetados
P7.11
Relaciones de Dependencia: se utilizan en los para indicar que un componente se refiere a los servicios ofrecidos por otro componente Ejemplo: Modelado de ejecutables y bibliotecas
P7.12
Componentes y Clases
componente
Los componentes son como las clases: tienen nombres, realizan interfaces, pueden participar en relaciones, etc. Sin embargo,
clases
Clases = abstracciones lgicas Componentes = fragmentos fsicos del sistema Los componentes son paquetes fsicos de otros elementos lgicos Las clases tienen operaciones y atributos Los componentes tienen interfaces
Componente
Componente1
Int er faz 1
P7.13
Componentes e Interfaces
Una interfaz es una coleccin de operaciones que se utiliza para especificar un servicio de una clase o un componente La relacin entre componente e interfaz es importante Para mostrar estas relaciones hay dos formas: cannica y expandida
Componentes e Interfaces
P7.15
Componentes de despliegue: Son los que se necesitan para formar un sistema ejecutable, como bibliotecas dinmicas (DLL) y ejecutables (EXE)
Componentes producto del trabajo: Son productos que quedan al final del proceso de desarrollo (archivos de cdigo fuente y de datos)
Estos componentes no participan directamente en un sistema ejecutable pero son los productos del trabajo de desarrollo que se utilizan para crear el sistema ejecutable.
P7.16
Los mecanismos de extensibilidad de UML se pueden utilizar libremente para definir nuevos tipos de componentes (mediante estereotipos), agregando nuevas propiedades (valores etiquetados), y dndole nueva semntica (restricciones), incluso nueva apariencia (iconos) UML ofrece varios estereotipos predefinidos:
Executable
Componente que se puede ejecutar en un nodo
Library
Biblioteca de Objetos esttica o dinmica
Table
Tabla de una BBDD
File
Documento que contiene cdigo fuente o datos
Document
Mara Sierra - IS1 P7.17
P7.18
Interface Proporcionada
Interface Requerida
Conector Esamble
Especificar Componente Une la interfaz requerida del componente (Componente1) con la interfaz proporcionada de otro componente (Component2); esto permite que un componente provea los servicios que otro componente requiere
P7.19
Diagrama que detalla un componente con un puerto para servicios En Lnea conjuntamente con dos interfaces proporcionadas Ordenar Entrada y Seguimiento as como tambin una interfaz requerida Pago Mara Sierra - IS1 P7.20
P7.21
mquina e interacta slo con dispositivos estndar en esa mquina que ya son gestionados por el SO (teclado, pantalla de un PC, etc..) Se desarrolla un software que interacta con dispositivos que normalmente no gestiona el SO El sistema est distribuido fsicamente sobre varios procesadores
P7.22
Nodos Relaciones de Dependencia y Asociacin Pueden contener notas, restricciones y paquetes Modelado de un sistema empotrado Modelado de un sistema cliente/servidor Modelado de un sistema completamente distribuido
P7.23
Nodos:
Elemento fsico que existe en tiempo de ejecucin Representa un recurso computacional con memoria y capacidad de procesamiento.
Se utilizan para modelar la topologa del hardware sobre el que se ejecuta el sistema. Representa tpicamente un procesador o un dispositivo sobre el que se pueden desplegar componentes Se pueden estereotipar y se pueden agrupar en paquetes
P7.24
Los componentes son los elementos que participan en la ejecucin de un sistema; los nodos son los elementos donde se ejecutan los componentes Los componentes representan el empaquetamiento fsico de los elementos lgicos; los nodos representan el despliegue fsico de los componentes
P7.25
Una asociacin entre nodos representa una conexin fsica entre nodos (relacin ms frecuente) Se pueden incluir roles, multiplicidad y restricciones
t erm in al
s ervidor
Unidad RAID
c ons ola
conexiones
P7.26
Resumen de la Notacin
P7.27
P7.28
Artefacto
Producto del proceso de desarrollo de software, que puede incluir los modelos del proceso (modelos de Casos de Uso, modelos de Diseo, etc.), archivos fuente, ejecutables, documentos de diseo, reportes de prueba, prototipos, manuales de usuario y ms
P7.29
Dependencia
Un modelo o un conjunto de modelos de elementos requieren de otro modelo de elementos para su especificacin o implementacin. Ej: Un nodo requiere otro nodo
P7.30
P7.31
P7.32
P7.33
P7.34
P7.35
P7.36