Date post: | 25-Jan-2016 |
Category: |
Documents |
Upload: | alvaro-mendoza-fernandez |
View: | 221 times |
Download: | 0 times |
UML
Ing. Sonia Godoy Hortua
Unified Modeling Language(Lenguaje de Modelamiento unificado)
INGENIERIA DE SOFTWARE
OBJETIVOS
Entender los beneficios del modelamiento visual
Reconocer al UML como lenguaje estándar en la construcción de SW
Identificar los diagramas UML y su papel durante la construcción del SW
INGENIERIA DE SOFTWARE
¿QUÉ ES UN MODELO?
Un Modelo es una Simplificación de la Realidad
INGENIERIA DE SOFTWARE
¿QUÉ ES EL MODELAMIENTO VISUAL?
El modelamiento visual provee una plantilla del sistema. El visualizar esta plantilla, ayuda a entender el sistema que se crea y cómo quisiera crearse, permite entender la estructura o comportamiento del mismo, sirve de guía durante el proceso de construcción del SW y nos permite documentar las decisiones que se toman.
INGENIERIA DE SOFTWARE
BENEFICIOS DEL MODELAMIENTO VISUAL
Captura procesos Incrementa la comunicación Define la arquitectura Administra la complejidad Reutilización
INGENIERIA DE SOFTWARE
UML
Lenguaje estándar que permite visualizar, especificar, construir y documentar los artefactos del sistema de software. Está demostrado que el trabajo con UML incrementa la productividad, reduce el ciclo de vida de construcción del software e incrementa la calidad del sistema.
INGENIERIA DE SOFTWARE
ORIGEN
UML es un lenguaje que nació de la unión de las teorías de :
Grady Booch Ivar JacobsonJames Rumbaugh
Actualmente es un estándar y pertenece a la OMG (Object Managemente Group)
Ultima Versión: 2.0 y la 2.1 es Beta.
INGENIERIA DE SOFTWARE
DESCRIPCIÓN DE UML Los elementos y diagramas UML están
basados en el paradigma orientado a objetos.
Entre las partes de UML tenemos: 1.Las vistas
2.Los diagramas 3.Los elementos del modelo 4.Lo mecanismos de extensión
INGENIERIA DE SOFTWARE
ESTRUCTURA DE UML
5 Vistas 9 Diagramas
Vistas de UML: Arquitectura 4 + 1
INGENIERIA DE SOFTWARE
1. LAS VISTAS
Muestran los diferentes aspectos del sistema que son modelados. Una vista no es un gráfico, pero es una abstracción consistente de un número de diagramas.
Se tiene las siguientes vistas: Vista de casos de uso, vista lógica, vista de componentes, vista concurrente y vista de despliegue.
INGENIERIA DE SOFTWARE
Vista de Casos de Uso: Muestra la funcionalidad del sistema percibido por actores externos.
Vista Lógica: Muestra cómo la funcionalidad es diseñada dentro del sistema, define la estructura y el comportamiento del sistema.
Vista de Componentes o Implementación: Muestra la organización de componentes del código. Y su implementación.
INGENIERIA DE SOFTWARE
Vista Concurrente o de Procesos: Muestra la concurrencia en el sistema dividido en procesos. Presenta los aspectos de comunicación e integración.
Vista de Despliegue: Muestra la arquitectura física del sistema.
INGENIERIA DE SOFTWARE
2. LOS DIAGRAMAS
Son los gráficos que describen el contenido de una vista. UML tiene nueve tipos de diagramas que se usan para mostrarnos todas los enfoques del sistema.
INGENIERIA DE SOFTWARE
Use CaseDiagramsUse Case
DiagramsDiagrama de Caso de Uso
ScenarioDiagramsScenario
DiagramsDiagrama de Colaboración
StateDiagramsState
DiagramsDiagrama de Componentes
ComponentDiagramsComponent
DiagramsDiagrama de Distribución
StateDiagramsState
DiagramsDiagrama de
objetos
ScenarioDiagramsScenario
DiagramsDiagrama de Estados
Use CaseDiagramsUse Case
DiagramsDiagrama de secuencia
StateDiagramsState
DiagramsDiagrama de Clases
Diagrama de Actividad
Models
INGENIERIA DE SOFTWARE
DIAGRAMAS DE UML
INGENIERIA DE SOFTWARE
3. LOS ELEMENTOS DEL MODELO
Los conceptos usados son elementos del modelo que representan conceptos orientados a objetos como clases, objetos, mensajes y relaciones incluyendo asociación, dependencia y generalización.
INGENIERIA DE SOFTWARE
4. LOS MECANISMOS DE EXTENSIÓN
Los símbolos que complementan la información de los diagramas, tenemos las notas, caja de textos para títulos, líneas de indicación, entre otros.
INGENIERIA DE SOFTWARE
DIAGRAMA DE CASOS DE USO
INGENIERIA DE SOFTWARE
casos de uso
INGENIERIA DE SOFTWARE
DIAGRAMA DE CASOS DE USO
DIAGRAMA DE CASOS DE USO DE NEGOCIODiagrama en el que se plasman los procesos de negocio y los externos a ellos. Estos externos se benefician con el proceso o benefician al proceso.
INGENIERIA DE SOFTWARE
Diagrama de Casos de Uso de Negocio
DirectorCliente
Gestionar las encuestas
INGENIERIA DE SOFTWARE
DIAGRAMA DE ACTIVIDADES
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE ACTIVIDADES
Diagrama que captura acciones, es decir flujos de trabajo y actividades a llevarse a cabo. Este diagrama permite enfocar:*Las actividades de un caso de uso de negocio*La implementación de operaciones de una clase*Las actividades de un objeto*Las actividades de una situación
INGENIERIA DE SOFTWARE
ELEMENTOS DEL DIAGRAMA DE ACTIVIDADES
Actividad
Flujo
Inicio
Fin
Separador
Bifurcación
Unión
Subdivisión
Unión
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE CASOS DE USO(SOFTWARE)
INGENIERIA DE SOFTWARE
DIAGRAMA DE CASOS DE USO
DIAGRAMA DE CASOS DE USO DE SOFTWAREDiagrama en el que se plasman las funcionalidades del software y los que interactúan con ellas.
INGENIERIA DE SOFTWARE
Diagrama de Casos de Uso de Software
Elaborar encuestas
Procesar encuestas
Generar reportes
Usuario Marketing
Llenar encuestasUsuario Cliente Consultar resultados de
encuestas
Usuario Director
INGENIERIA DE SOFTWARE
DIAGRAMA DE CLASES
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
CLASES, OBJETOS Y SUS RELACIONES
En el modelamiento orientado a objetos, las clases, objetos y sus relaciones son los principales elementos del modelo.Las clases y objetos modelan que hay en el sistema y las relaciones entre ellos revelan como están estructurados.Cuando se usa programación orientada a objetos los elementos mencionados se convierten en el código actual.
INGENIERIA DE SOFTWARE
Diagrama de Clases, Lógicas y Persistentes
CLASES DEL CU SISTEMA: LLENAR ENCUESTAS
GUIEncuesta
seleccionarTiposEncuesta()mostrarPreguntas()grabar()
Encuesta
getPreguntas()setEncuesta()
ControlEncuesta
cargarPreguntas()validarGrabacion()
INGENIERIA DE SOFTWARE
CLASES, OBJETOS Y SUS RELACIONES
Una clase es una descripción de un tipo objeto, todos los objetos son instancias de una clase, donde la clase describe las propiedades y comportamiento de un tipo de objeto. Una clase sería una descripción de un objeto en un tipo de sistema(información, técnico, distribuido, software, negocio)
INGENIERIA DE SOFTWARE
Diagrama de Clases
INGENIERIA DE SOFTWARE
DIAGRAMA DE OBJETOS
INGENIERIA DE SOFTWARE
DIAGRAMA DE OBJETOS El Diagrama de Objetos es una instancia de un Diagrama
de Clases y presenta los detalles de un estado del sistema en un punto del tiempo determinado. Se utilizan para validar el modelo del dominio.
Para validar el modelo del dominio es necesario ejecutar los siguientes pasos: Elegir uno o más casos de uso que estén altamente
relacionados con el modelo del dominio. Elegir uno o más escenarios de los casos de uso
seleccionados en el punto anterior. Es recomendable elegir escenarios que exploren diferentes situaciones.
INGENIERIA DE SOFTWARE
DIAGRAMA DE OBJETOSEJEMPLO SISTEMA ACADÉMICO
Creando el diagrama de objetos desde el escenario: Juan ingresa su identificación 91558899 la cual el sistema valida.
INGENIERIA DE SOFTWARE
DIAGRAMA DE COLABORACIÓN
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE COLABORACIÓN
Diagrama que enfoca las interacciones y los enlaces entre un grupo de objetos “colaboradores”. Este diagrama se enfoca en el espacio y muestra como los objetos, sus enlaces y los mensajes son enviados entre ellos.
INGENIERIA DE SOFTWARE
: GUIEncuesta
: ControlEncuesta
: Encuesta
: Usuario Cliente
2: solicita preguntas x tipo4: muestra preguntas
6: valida grabación
3: obtiene preguntas
7: guarda datos
1: Selecciona tipo de encuesta
5: Contesta y graba
INGENIERIA DE SOFTWARE
DIAGRAMA DE SECUENCIA
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE SECUENCIAS
Muestran como los objetos interactúan entre ellos.
Está enfocado en la secuencia de mensajes.
Tiene dos ejes: el eje vertical que muestra el tiempo y el eje horizontal que muestra el grupo de objetos.
Es específico para un escenario.
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE ESTADOS
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
DIAGRAMA DE ESTADOS Captura el ciclo de
vida de los objetos, subsistemas y sistemas.
Define los estados que un objeto puede tener y cómo los eventos afectan esos estados.
INGENIERIA DE SOFTWARE
DIAGRAMA DE ESTADOS
Diagrama de Estados de una Orden de Pedido
INGENIERIA DE SOFTWARE
DIAGRAMA DE DESPLIEGUE
INGENIERIA DE SOFTWARE
Despliegue
INGENIERIA DE SOFTWARE
DIAGRAMA DE DESPLIEGUE
Describe la arquitectura en tiempo de ejecución de procesadores, dispositivos y los componentes de software que ejecutan esta arquitectura.
Describe la topología del sistema, estructura de hardware y el software que se ejecuta en cada unidad.
INGENIERIA DE SOFTWARE
EJEMPLO DEL DIAGRAMA DE DESPLIEGUE
Serv idorComprador
Serv idorVendedor
Serv idorCentral
ClienteComprador
ClienteVendedor
INTRANET
INTRANET
INTRANET
INTERNET
INTERNET
INGENIERIA DE SOFTWARE
DIAGRAMA DE DESPLIEGUE
Nodos.-Son los objetos físicos que tiene un tipo de recurso computacional. Ejm: dispositivos como impresoras, dispositivos de comunicación.
Conexiones.-El tipo de comunicación es representado por un estereotipo que identifica el protocolo de comunicación o el tipo de red usado.
INGENIERIA DE SOFTWARE
DIAGRAMA DE COMPONENTES
INGENIERIA DE SOFTWARE
Componentes
INGENIERIA DE SOFTWARE
DIAGRAMA DE COMPONENTES
Representa los componentes de software,sus dependencias y la estructura del código. Los componentes implementan en la arquitectura física, los conceptos y la funcionalidad definidas en la arquitectura lógica. Los componentes pueden ser fuentes, binarios y ejecutables.
INGENIERIA DE SOFTWARE
GuiEncuesta.jsp
ControlEncuesta.class
Encuesta.class
D. de Componentes para Llenar Encuesta
BD
INGENIERIA DE SOFTWARE
EJEMPLOS DE DIAGRAMA DE COMPONENTES
Horario
Plan
GUI
actualizar
reservar «executable»SistemaOrden
«COM»DAO
«COM»VBA
«COM»VB
«COM»stdole
INGENIERIA DE SOFTWARE
COMPONENTES Y DESPLIEGUE
Sólo los componentes ejecutables tienen instancias.
Se utiliza un diagrama de despliegue para ubicar instancias de componentes ejecutables.
Entre componentes existen las dependencias.
Un componente puede definir interfaces que son visibles a otros componentes.
INGENIERIA DE SOFTWARE
EJEMPLOS DE COMPONENTE Y DESPLIEGUE
pcGerente : Dell Pentium
WindowsNT : ServidortransObj
«executable» : PrgCliente
: Programa Transaction Server
: ThreadActualizacion
«becomes»
INGENIERIA DE SOFTWARE
CONCLUSIONES
El UML es un lenguaje reconocido mundialmente por la industria de construcción de software.
El Modelamiento visual es una de las técnicas probadas que brinda mejores resultados.
Todos los sistemas tienen una estructura estática y comportamiento dinámico.
Cabe recalcar que en UML no es necesario que aparezcan todos los Diagramas.