Unidad V. UML

Anuncio
Unidad V. UML
Tema I. Conceptos Básicos
Tema II. Definición de UML. Vocabulario
Tema III. Elementos UML
Tema IV. Diagramas
Objetivos
Conocer el modelo UML
Utilizar el modelo UML como parte de la metodología para el desarrollo de
software
Generar documentación basada en UML
Conocer y utilizar algunas herramientas de modelado UML
Transformar modelos UML en código de distintos lenguajes de programación
Tema I. Conceptos Básicos
Proceso de desarrollo de software
Proceso -> necesario para responder a las preguntas ¿quién?, ¿qué?, ¿cuándo?
Y ¿cómo?.
Objetivo de la ingeniería del software: construir un producto de software o mejorar
uno existente.
Un proceso efectivo reduce el riesgo del proyecto haciéndolo más predecible ->
Visión y cultura comunes.
Proceso Unificado de desarrollo de software
Es un marco de trabajo genérico que puede especializarse para una gran variedad
de sistemas de software, diferentes áreas de aplicación, diferentes tipos de
organizaciones, niveles de aptitud y tamaños de proyecto.
Es el producto final de 30 años de desarrollo y uso práctico.
Resultado de la evolución del proceso de desarrollo de Ericsson, el proceso
Objectory de Rational.
Está dirigido por los casos de uso.
Está centrado en la arquitectura.
Es iterativo
Es incremental
Casos de uso
Un caso de uso es una descripción de un conjunto de secuencias de acciones,
incluyendo variaciones, que un sistema lleva a cabo y que conduce a un resultado
observable de interés para un actor determinado.
Los casos de uso no sólo inician el proceso de desarrollo sino que le proporcionan
un hilo conductor.
El proceso unificado está dirigido por casos de uso porque avanza a través de una
serie de flujos de trabajo que parten de los casos de uso.
Arquitectura
La arquitectura del software se centra tanto en los elementos estructurales
significativos del sistema, como subsistemas, clases, componentes y nodos, como
en las colaboraciones que tienen lugar entre estos elementos a través de las
interfaces.
Los casos de uso guían la arquitectura del sistema y la arquitectura influye en la
selección de los casos de uso. Ambos maduran según avanza el ciclo de
desarrollo.
Proceso Unificado iterativo e incremental
Dividir en miniproyectos -> Iteración planificada
El resultado de cada miniproyecto se traduce en un incremento del proyecto
global.
Iteración: pasos en el flujo de trabajo
Incremento: crecimiento del producto
Ciclos
El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la
vida de un sistema.
Cada ciclo concluye con una versión del producto para los clientes.
Cada ciclo tiene cuatro fases: inicio, elaboración, construcción y transición. Cada
fase se subdivide en iteraciones.
Tema II. Definición de UML. Vocabulario
Introducción
Desde los inicios de la informática se han estado utilizando distintas formas de
representar los diseños de una forma más bien personal o con algún modelo
gráfico•La falta de estandarización en la manera de representar gráficamente un
modelo impedía que los diseños gráficos realizados se pudieran compartir
fácilmente entre distintos diseñadores•Con este objetivo se creo el Lenguaje
Unificado de Modelado (UML: Unified Modeling Language).•UML se ha convertido
en ese estándar tan ansiado para representar y modelar la información con la que
se trabaja en las fases de análisis y, especialmente de diseño
Historia
El lenguaje UML comienza a gestarse en octubre de 1994•Rumbaughy Boochse
unen en Rationalcon el objetivo de unificar dos métodos que habían desarrollado:
el método Boochy el OMT (Object Modelling Tool)•En 1995 se les une también
Jacobson •Todas estas colaboraciones conducen a la definición de la primera
versión de UML.
Definición
El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un
lenguaje gráfico para visualizar, especificar y documentar cada una de las partes
que comprende el desarrollo de software. UML entrega una forma de modelar
cosas conceptuales como lo son procesos de negocio y funciones de sistema,
además de cosas concretas como lo son escribir clases en un lenguaje
determinado, esquemas de base de datos y componentes de software reusables.
Objetivos del UML
Los objetivos de UML son:
Visualizar, expresa de forma gráfica
Especificar, las características de un sistema
Construir, a partir de los modelos especificados
Documentar, los propios elementos gráficos sirven de documentación
Vocabulario
UML
Elementos
Estructurales
De comportamiento
Interacción, Máquina de Datos
De agrupación
Paquete, Modelo, Subsistema
De anotación
Nota
Relaciones
Dependencia, Asociación, Generalización
Diagramas
Casos de Uso, Clase, Objeto, Secuencia, Colaboración, Estados,
Actividad, Componente, espliegue
Tema III. Elementos UML
¿Qué forma un modelo de UML?
Un modelo UML está compuesto por tres clases de bloques de construcción
Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos,
acciones, etc.)
Relaciones: relacionan los elementos entre sí
Diagramas: Son colecciones de elementos con sus relaciones
Elementos
Pueden ser estructurales, de comportamiento de agrupación o de anotación
Elementos estructurales: actores, casos de uso, clases, objetos
Elementos de comportamiento: mensajes
Elementos de agrupación: paquetes
Elementos Estructurales
Clases. Agrupan objetos atributos y operaciones similares.
Interfaz. Colección de operaciones que especifican un servicio de una clase o
componente. En una clase no se define la implementación de las operaciones.
Actor: Una definición previa, es que un Actor es un rol que un usuario juega con
respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto
se especifica que un Actor no necesariamente representa a una persona en
particular, sino más bien la labor que realiza frente al sistema.
Caso de Uso. Es una operación/tarea específica que se realiza tras una orden de
algún agente externo, sea desde una petición de un actor o bien desde la
invocación desde otro caso de uso. Describen la interacción entre actores y
sistema.
Elementos de Comportamiento
Interacciones. Comportamiento que comprende un conjunto de mensajes
intercambiados entre un conjunto de objetos, dentro de un contexto particular,
para alcanzar un propósito específico.
Máquina de Estados. Especifica la secuencia de estados por las que pasa un
objeto.
Elementos de Agrupación
Paquetes. Es un mecanismo de propósito general para organizar elementos en
grupos.
Tema IV. Diagramas
Diagrama de clases.
Muestran un conjunto de clases y sus relaciones.
Diagrama de objetos.
Muestran un conjunto de objetos y sus relaciones.
Diagrama de casos de uso.
Son muy útiles en tres áreas:
Determinación de los requerimientos
Comunicación con los clientes
Generar los casos de prueba
Los diagramas de casos de uso proporcionan una visión externa del sistema.
Ejemplo: Se muestra como ilustración los casos de uso de la máquina de café.
Diagramas de Secuencia.
Un diagrama de secuencia muestra la interacción de un conjunto de objetos en
una aplicación a través del tiempo. Esta descripción es importante porque puede
dar detalle a los casos de uso, aclarándolos al nivel de mensajes de los objetos
existentes, como también muestra el uso de los mensajes de las clases diseñadas
en el contexto de una operación.
Diagramas de Colaboración.
Un diagrama de colaboración es una forma de representar interacción entre
objetos, alterna al diagrama de secuencia. A diferencia de los diagramas de
secuencia, pueden mostrar el contexto de la operación (cuáles objetos son
atributos, cuáles temporales, ... ) y ciclos en la ejecución.
Diagrama de Estados.
determina los estados que un objeto puede tener y cómo los eventos afectan esos
estados a través del tiempo. Un diagrama de estado debe abarcar todas las
clases que tengan estados y conducta definidos claramente.
Diagrama de Actividades.
Un diagrama de actividades es un caso especial de un diagrama de estados en el
cual casi todos los estados son estados de acción (identifican que acción se
ejecuta al estar en él) y casi todas las transiciones son enviadas al terminar la
accion ejecutada en el estado anterior. Puede dar detalle a un caso de uso, un
objeto o un mensaje en un objeto. Sirven para representar transiciones internas,
sin hacer mucho énfasis en transiciones o eventos externos.
Diagrama de Componentes.
describe componentes de software y sus dependencias con otros componentes,
representando la estructura del código. Los componentes de software pueden ser:
componentes de código, componentes binarios que son los generados por la
compilación de los componentes de código y los componentes ejecutables.
Diagrama de Despliegue.
Un diagrama de despliegue muestra las relaciones físicas entre los componentes
hardware y software en el sistema final, es decir, la configuración de los
elementos de procesamiento en tiempo de ejecución y los componentes software
(procesos y objetos que se ejecutan en ellos). Estarán formados por instancias de
los componentes software que representan manifestaciones del código en tiempo
de ejecución (los componentes que sólo sean utilizados en tiempo de compilación
deben mostrarse en el diagrama de componentes).
Descargar