11:59
0
En el caso de nosotros no hemos tenido una adecuada guia de nuestro profesor asi que en la red encontre este material que explica de una manera sencilla los diagramas de UML.


Inicialmente visualizaremos como representar gráficamente los conceptos principales de la orientación a objetos.
Modelos
Tenemos varias perspectivas a la hora de representar un desarrollo de software, en otras palabras cada desarrollo al que nos enfrentemos podríamos analizarlo desde diversos ángulos, que hace que detectemos en los diversos aspectos del sistema.  Con los modelos podremos representar las diversas perspectivas desde donde estaríamos evaluando el desarrollo del software.  Los modelos de UML que trataremos son:
  • Diagrama de Estructura Estática
  • Diagrama de Caso de Uso
  • Diagrama de Secuencia
  • Diagrama de Colaboración
  • Diagrama de Estados
 Elementos Comunes en los Diagramas.
Notas:
Normalmente cuanto estamos construyendo un diagrama, surge información que nos puede ayudar a complementar el proceso o lo que estamos tratando de plasmar en el diagrama, información que se requiere en formato libre, información que denominamos comentario y que dentro de la estructura del diagrama no podemos expresarla en forma adecuada.
Una nota se representa como un rectángulo con una esquina doblada con texto en su interior.  Puede incluirse en un diagrama como una nota sola, o estar unida la nota a un elemento por medio de una línea descontinúa.  Puede contener restricciones, comentarios, el cuerpo de un procedimiento, etc.
Ejemplo de nota


Dependencias
Debemos validar si entre los elementos que componen un diagrama existe alguna dependencia entre ellos, en estos casos hay que tomar en cuenta que al hacer un cambio en el elemento destino puede significar un cambio  en el elemento origen.  Una dependencia se representa por medio de una línea discontinua entre los dos elementos, con una flecha que sale del elemento origen y llega al elemento destino.
Ejemplo de dependencia
 Diagrama de estructura estática
Los diagramas de estructura estática los utilizaremos en dos fases:
  1. Modelo conceptual en la Fase de Análisis para modelar elementos del dominio.
  2. Diagrama de Clases en la Fase de Diseño, para presentar los elementos de la solución software.
En ambos casos se comparte la misma notación para los elementos que lo forman (clases y objetos) y las relaciones entre ambos (asociaciones)
Clases
Una clase se representan como un rectángulo dividido en tres partes (tres compartimentos).
  • En el compartimento superior, centrado, va el nombre de la clase.
  • El segundo compartimento contiene los atributos, en la forma: visibilidad nombreAtributo: tipo
  • El tercer compartimento contiene los métodos, en la forma: visibilidad nombreMétodo(parámetros): tipoRetorno.
  • Los parámetros van separados por comas y sólo se especifica el tipo.
  • Los constructores no tienen tipo de retorno.
  • La visibilidad, de atributos y métodos, puede ser:  – privado, + público, # protegido, ~ de paquete
Ejemplo:

Objetos
Se representa igual a una clase, debemos seguir la siguiente sintaxis nombre del objeto junto con el nombre de la clase subrarrayado.  Nombre del objeto:nombre de la clase

Asociaciones
 Una asociación (relación entre dos clases) se representa como una línea continua entre dos Clases, y puede tener el nombre de la relación sobre esta línea. Ejemplo:

En el ejemplo anterior cada Carro tiene una relación con Conductor, pero también cada Conductor tienerelación con Carro. Esta es una relación en ambos sentidos.
  Para mostrar que la relación sólo tiene un sentido se muestra con una flecha que indica el sentidode la relación. Ejemplo:

En este ejemplo un Pasajero conoce el Carro(o carros) con el cual viaja, pero el Carrono tiene ninguna relación con los Pasajeros.
 Multiplicidad
 Es una restricción que se pone a una asociación, que limita el número de instancias de una clase que pueden tener esa asociación con una instancia de la otra clase.

En este caso las relaciones son:
- Un chofer tiene relación con cero o más autobuses.
- Un autobús tiene relación con uno o dos choferes.
- Una terminal de pasajero tiene relación con cero o muchos autobuses.
- Un autobús tiene relación con un terminal de pasajero.

Roles
Para indicar el papel que juega una clase en una asociación se puede especificar un nombre de rol.  Se representa en el extremo de la asociación junto a la clase que desempeña dicho rol.  Ejemplo:

Agregación
La agregación representa el objeto compuesto.  Durante el desarrollo de una aplicación se nos presentara la necesidad de crear objetos complejos que no encajan con los tipos de datos básicos que proveen los lenguajes: tipo caracteres, enteros, reales, entre otros. El símbolo de agregación es un diamante colocado en el extremo en el que está la clase que representa el todo.  Podemos trabajar con dos tipos de agregación: Agregación por Valor y Agregación por Referencia.
Agregación por contenido físico o por valor 
El contenedor contiene el objeto en sí. Cuando creamos un objeto contenedor, se crean también automáticamente los contenidos.  Ejemplo:

Agregación conceptual o por referencia 
Se tienen punteros a objetos. No hay un acoplamiento fuerte. Los objetos se crean y se destruyen dinámicamente.

En ambos casos la agregación se destaca por un rombo transparente.
Herencia

Como vimos en la primera entrega, la herencia es tomar características y funcionalidades definidas en otras clases. Ejemplo: Auto hereda de vehículo motorizado. Como grúa también hereda de vehículo automotor
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.
La relación de herencia se representa mediante un triangulo en el extremo de la relación que corresponde a la clase mas general o clase “padre”.  Al plantear una relación de herencia con varias clases subordinadas, dentro de un diagrama concreto,  no se hace necesario colocarlas todas, podemos representar con puntos suspensivos. Ejemplo:

Elementos Derivados
 En algunas ocasiones nos encontramos con la posibilidad de calcular un valor de un elemento a partir de otros elementos presentes en el modelo.  Se incluye para dar mayor claridad al diseño.  Se representa con una barra / precediendo al nombre del elemento derivado.

Diagrama de Casos de Uso
Es la representación grafica de cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico.  El caso de uso es la representación grafica de cada proceso desde la perspectiva usuario, lo que se espera del sistema en cuanto a funcionalidad.
 Elementos
1. Actor: Representa un rol que es llevado a cabo por una persona, otro sistema, sensores, etc.  El actor es representado por una figura en forma de persona.  Ejemplo:

2. Asociación de Comunicación: Este elemento representa la relación que existe entre un Caso-Uso y un Actor, dicho elemento es representado por una línea recta que se extiende de la figura del actor hacia el ovalo del caso-uso.
3. Caso-Uso: Un caso de uso es una descripción de la secuencia de interacciones que se producen entre un actor y el sistema, cuando el actor usa el sistema para llevar a cabo una tarea específica.  Se representa mediante un ovalo.  Ejemplo:

4. Relaciones entre Casos de Uso: Entre dos casos de uso puede haber relaciones:
  1. Extiende: Cuando un caso de uso especializa a otro extendiendo su funcionalidad.
  2. Usa: Cuando un caso de uso utiliza a otro.
Se representa como una línea que une a los dos casos de uso relacionados, con una flecha en forma de triangulo y con una etiqueta “extiende” o “usa” según sea el tipo de relación.
 5. Límite de Sistema: Empleado para delimitar los límites del sistema.  Se representa por un rectángulo con color de fondo distintivo.  Ejemplo:

A continuación un ejemplo de Diagrama de Caso de uso Salón de Belleza.

Estos diagramas muestran el patrón de interacción entre objetos en un escenario. A continuación se muestran dos tipos de diagramas de Interacción:
  1. Diagramas de Secuencia
  2. Diagramas de Colaboración.
Diagramas de Secuencia:
Muestra una interacción ordenada según la secuencia temporal de eventos.  El diagrama de secuencia muestra la interacción entre los objetos que tiene lugar a través del intercambio de mensajes, en particular, muestra los objetos participantes en la interacción y los mensajes que se intercambian ordenadas según la secuencia de tiempo.  Ejemplo:

Diagrama de Colaboración
Muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces de los mismos, a diferencia de los diagramas de secuencia, los diagramas de colaboración muestran las relaciones entre los roles de los objetos.  La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente mediante número de secuencia.  Ejemplo:



0 comentarios :

Publicar un comentario