lunes, 28 de marzo de 2016

Diagramas de Estructura Parte 1

4. Diagrama de Clases: Muestra los bloques de construcción de cualquier sistema orientado a objetos. Los diagramas de clases describen la vista estática del modelo o parte del modelo, describiendo sus atributos y comportamientos tienen en lugar de detallas los modelos para realizar operaciones. Los diagramas de Clase son más útiles para ilustrar relaciones entre clases e interfaces. Las generalizaciones, agregaciones y asociaciones son todas valiosas al reflejar herencias, composición o uso y conexiones respectivamente.

Estructura
 
  • Clases: Una clase es un elemento que define los atributos y comportamientos que un objeto puede generar. El comportamiento es el que se describe por posibles mensajes que la clase pueda comprender conjuntamente con las operaciones que son apropiadas para cada mensaje. Las clases pueden también contener definiciones de valores etiquetados de restricciones y estereotipos. Las clases se representan por rectángulos que muestran el nombre de la clase y opcionalmente el nombre de las operaciones y atributos. Los comportamientos se usan para dividir dividir el nombre  de la clase, atributos y operaciones. Adicionalmente las restricciones, valores iniciales y parámetros se pueden asignar a clases.
  • Interfaces: Una interfaz es una especificación que los implementadores han acordado realizar. Es un contrato. Si se realiza una interfaz, se garantiza que las clases soporten un comportamiento requerido, que permite que el sistema trate los elementos no relacionados en la misma manera -es decir a través de la interfaz común. Las interfaces se pueden dibujar en un estilo similar al de una clase, con operaciones especificadas, pero se indica que es interface  en el título. También se pueden dibujar como un círculo con ninguna operación explicita detallada. Cuando se dibujan como un círculo, se dibujan vínculos de realización a la forma de la notación sin flechas de destino.
  • Tablas: Una tabla es auna clase estereotipada. Esto dibuja con un pequeño icono de la tabla en la esquina superior derecha. Los atributos de la tabla son <<columnas>> estereotipadas. La mayoría de las tablas tendrán una clave primaria , siendo uno o más campo los que forman una combinación única usada para acceder la tabla, más una operación de clave primaria que es <<PK>> estereotipada. Algunas tablas tendrán  una o más clave foráneas, siendo uno o más campos que juntos trazan a una clave foránea en una tabla relacionada, más una operación de clave foránea que es <<FK>> estereotipada.
  • Asociaciones: Una asociación implica que dos elementos del modelo tiene una relación - usualmente implementada como una variable de instancia de una clase. Este conector puede incluir roles nombrados en cada extremo, cardinalidad, dirección y restricciones. Una asociación es el tipo de relación general entre elementos. Para más de dos elementos, un elemento de la caja de herramientas de representación diagonal también se puede usar. Cuando se genera código para diagramas de clase, las asociaciones se conviertenen variables de instancia en la clase de destino.
  • Generalizaciones: Una generalización se usa para indicar herencia. Dibujada desde un clasificador específico a un clasificador general, la implicación general es que el origen hereda las característica del destino.
  • Agregaciónes: Las agregaciones se usan para describir elementos que están compuestos de componentes más pequeños. Las relaciones de agregación se muestran por una punta de flecha con forma de diamante apuntando hacia el destino o clase padre. Una forma más fuerte de agregación - una agregación compuesta - se muestra por una flecha con forma de diamante negro y se usa donde los componetes se pueden incluir en un máximo de una compocisión a la vez. Si el padre de una agregación compuesta se elimina, usualmente todas sus partes se eliminan con el mismo; sin embargo una parte puede ser individualmente eliminada desde una composición sin tener que eliminar toda la composición. Las compsiciónes son relaciones transitivas, asimétricas y pueden ser recursivas.
  • Clase Asociación: Una clase asociación es una estructura que permite una conexión de asociación para tener conexiones y atributos.
  • Dependencias: Una dependencia se usa para modelar un alto rango de relaciones dependientes entre elementos del modelo. Esto se usaría normalmente tempranamente en el proceso de diseño donde se conoce que hay algún tipo de vehículo entre dos elementos pero es muy temprano para saber exactamente cual es la relación. Luego en el proceso de diseño, las dependencias serán estereotipadas (los estereotipos disponibles incluyen <<instanciar>>, <<trazar>>, <<importar>> y otros) o reemplazar con un tipo de conector más específico.
  • Trazado: La relación de trazado es una especialización de una dependencia, vinculado elementos del modelo o conjuntos de elementos que representan la misma idea a través de los modelos. Los trazados se usan a menudo para rastrear cambios de requisitos y del modelo. Como los cambios peuden ocurrir en dos direcciones, la orden de esta dependencia usualmente se ignora. Las propiedades de relación pueden especificar la asignación de trazado, pero el trazado es usualmente bi-direccional, informal y raramente computable.
  • Realizaciones: El objeto fuente implementa o realiza el destino. Realizar se usa para expresar trazabilidad e integridad en el modelo - un proceso de negocio o requisitos se realiza por uno o más casos de uso que a su vez se realizan por un componente, etc. Asignando requisitos, clases, etc., a través del diseño de su sistema, hacia arriba a través de los niveles de abstracciones del modelo, asegura las imágenes grandes de su sistema, recuerda y refleja todas las imágenes pequeñas y detalla esa restricción y la define. Una relación se muestra como una línea de trazos con una punta de flecha sólida y el estereotipo <<realizar>>.
  • Anidamiento: Un anidamiento es un conector que muestra que el elemento fuente se anida dentro del elemento destino.
Ejemplo: 

Crear un proyecto UML llamado Asociación en el que se diseñe un diagrama de clases que modele el proceso de dar de alta a cada una de las personas que se apuntan a una asociación.
De cada persona interesa saber sus datos básicos: NIF, nombre completo y fecha de nacimiento. Cuando cada nuevo socio se da de alta, se le asigna un código asociado alfanumérico y se anota la fecha de alta. La clase Fecha se modela con tres campos(día, mes y año) de tipo entero. La clase Nif se modela con un campo de tipo entero llamado dni y un campo de tipo carácter llamado letra.


5. Diagrama de Componentes: Se muestra los elementos de diseño de un sistema de software. Un diagrama de componentes permite visualizar con más facilidad la estructura del sistema y el comportamiento del servicio que estos componentes proporcionan y utilizan a través de la interfaces.
Puede usar un diagrama de componentes para describir un diseño que se implemente en cualquier lenguaje o estilo. Solo es necesario identificar los elementos del diseño que interactúan con otros elementos del diseño a través de un conjunto restringido de entradas y salidas. Los componentes pueden tener cualquier escala y pueden estar interconectados de cualquier manera. Los diagramas de componentes muestran los componentes de software (ya sea las tecnologías que lo forman como Kparts, componentes CORBA, Java Beans o simplemente secciones del sistema claramente distintas) y los artilugios de que está compuesto como los archivos código fuente, las librerías o las tablas de una base de datos. 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, los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones infromáticas, pueden ser simples archivos, paquetes, bibliotecas cargadas dinámicamente, etc.

Estructura

  • Subsistemas: Los distintos componentes pueden agruparse según un criterio lógico y con vistas a simplificar la implementacion. Son paquetes estereotipados en <<subsistema>>, los subsistemas organizan la vista de la realización de un sistema, cada susbsitema puede contener componentes y otros subsistemas, la descompocisió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.
  • Componentes: Es una parte física de un sistema(modulo, base de datos, programa ejecutable, etc). se puede decir que un componente es la materialización de una o mas clases, por que una abstracción con atributos y métodos pueden ser implementados en los componentes. Los componenentes se pueden agrupar en paquetes así como los objetos en clases, además pueden haber entre ellos relaciones de dependencia como: generalización, asociación, agregación y realización.
  • Interfaces: Es el lazo de unión entre varios componentes.
  • Relaciones: Hay relaciones de generalización, asociación, agregación y realización.
Ejemplo

 






 

No hay comentarios:

Publicar un comentario