+ All Categories
Home > Documents > U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Date post: 01-Jan-2015
Category:
Upload: encarnacion-alcocer
View: 5 times
Download: 4 times
Share this document with a friend
31
U.M.L U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design
Transcript
Page 1: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L

A/Gx. Diego Gutiérrez

Application Analysis and Design

Page 2: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L

Unified Modeling Languaje (U.M.L)Unified Modeling Languaje (U.M.L)

Es un lenguaje para especificar, Es un lenguaje para especificar, construir, visualizar y documentar los construir, visualizar y documentar los

artefactos de un sistema de artefactos de un sistema de software orientado a objetos y eventos software orientado a objetos y eventos (OO)- (OE). (OO)- (OE).

Un artefacto Un artefacto es una información que es es una información que es utilizada o utilizada o producida mediante un producida mediante un proceso de proceso de desarrollo de software. desarrollo de software.

Page 3: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L

Hoy en día con el UML se quiere convertirHoy en día con el UML se quiere convertir

en un lenguaje estándar con el que seaen un lenguaje estándar con el que sea

posible modelar todos los componentes delposible modelar todos los componentes del

proceso de desarrollo de aplicaciones. Sinproceso de desarrollo de aplicaciones. Sin

embargo, hay que tener en cuenta unembargo, hay que tener en cuenta un

aspecto importante del modelo: no pretendeaspecto importante del modelo: no pretende

definir un modelo estándar de desarrollo, definir un modelo estándar de desarrollo, sinosino

únicamente un lenguaje de modelado. únicamente un lenguaje de modelado.

Page 4: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L

En UML los procesos de desarrollo sonEn UML los procesos de desarrollo son

diferentes según los distintos dominios diferentes según los distintos dominios dede

trabajo; no puede ser el mismo el trabajo; no puede ser el mismo el procesoproceso

para crear una aplicación en tiempo real,para crear una aplicación en tiempo real,

que el proceso de desarrollo de unaque el proceso de desarrollo de una

aplicación orientada a gestión.aplicación orientada a gestión.

Page 5: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.LESTANDARIZACIÓN :ESTANDARIZACIÓN :

El método debía ser capaz de modelar no sólo El método debía ser capaz de modelar no sólo sistemas de software sino otro tipo de sistemas sistemas de software sino otro tipo de sistemas reales de la empresa, siempre utilizando los reales de la empresa, siempre utilizando los conceptos de la orientación a objetos y eventos .conceptos de la orientación a objetos y eventos .

Crear un lenguaje para modelado utilizable a la Crear un lenguaje para modelado utilizable a la vez por máquinas y por personas.vez por máquinas y por personas.

Establecer un acoplamiento explícito de los Establecer un acoplamiento explícito de los conceptos y los artefactos ejecutables.conceptos y los artefactos ejecutables.

Manejar los problemas típicos de los sistemas Manejar los problemas típicos de los sistemas complejos de misión crítica complejos de misión crítica

Page 6: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L

Lo que se intenta es lograr con esto que losLo que se intenta es lograr con esto que loslenguajes que se aplican siguiendo los métodoslenguajes que se aplican siguiendo los métodosmás utilizados sigan evolucionando en conjunto ymás utilizados sigan evolucionando en conjunto yno por separado. no por separado. Unificar las perspectivas entre diferentes tipos deUnificar las perspectivas entre diferentes tipos desistemas (no sólo software, sino también en elsistemas (no sólo software, sino también en elámbito de los negocios), al aclarar las fases deámbito de los negocios), al aclarar las fases dedesarrollo, los requerimientos de análisis, eldesarrollo, los requerimientos de análisis, eldiseño, la implementación y los conceptos diseño, la implementación y los conceptos

internosinternosde la OO y OE.de la OO y OE.

Page 7: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Artefactos para el Desarrollo de Artefactos para el Desarrollo de ProyectosProyectos

Un artefacto es una información que es utilizada oUn artefacto es una información que es utilizada o

producida mediante un proceso de desarrollo deproducida mediante un proceso de desarrollo de

software. software.

Pueden ser artefactos un modelo, una descripciónPueden ser artefactos un modelo, una descripción

o un software. o un software.

Los artefactos de UML se especifican en forma deLos artefactos de UML se especifican en forma de

diagramas, éstos, junto con la documentación sobre diagramas, éstos, junto con la documentación sobre elel

sistema constituyen los artefactos principales que elsistema constituyen los artefactos principales que el

modelador puede observar.modelador puede observar.

Page 8: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

U.M.LU.M.L Se necesita más de un punto de vista para llegar a Se necesita más de un punto de vista para llegar a

representar unrepresentar un

sistema. sistema. UML utiliza los diagramas gráficos para obtener estos UML utiliza los diagramas gráficos para obtener estos

distintosdistintos

puntos de vista de un sistema:puntos de vista de un sistema: Diagramas de Implementación.

Diagramas de Comportamiento o Interacción.

Diagramas de Casos de uso.

Diagramas de Clases.

Diagrama de Flujo de Datos

Page 9: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagramas de Implementación. Un diagrama de implementación muestra la estructura del Un diagrama de implementación muestra la estructura del

código (Diagrama de componentes) y la estructura del código (Diagrama de componentes) y la estructura del sistema en ejecución (Diagrama de ejecución). sistema en ejecución (Diagrama de ejecución).

Diagrama de ComponentesDiagrama de Componentes

Un diagrama de componentes muestra las dependencias Un diagrama de componentes muestra las dependencias lógicas entre componentes software, sean éstos lógicas entre componentes software, sean éstos componentes fuentes, binarios o ejecutables. Los componentes fuentes, binarios o ejecutables. Los componentes software tienen tipo, que indica si son útiles componentes software tienen tipo, que indica si son útiles en tiempo de compilación, enlace o ejecución. Se en tiempo de compilación, enlace o ejecución. Se consideran en este tipo de diagramas solo tipos de consideran en este tipo de diagramas solo tipos de componentes. Instancias específicas se encuentran en el componentes. Instancias específicas se encuentran en el diagrama de ejecución. Se representa como un grafo de diagrama de ejecución. Se representa como un grafo de componentes software unidos por medio de relaciones de componentes software unidos por medio de relaciones de dependencia (generalmente de compilación). Puede mostrar dependencia (generalmente de compilación). Puede mostrar también contenencia de entre componentes software e también contenencia de entre componentes software e interfaces soportadas. Un ejemplo es el siguiente: interfaces soportadas. Un ejemplo es el siguiente:

Page 10: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

PLANIFICADOR

EL PLAN DE …

Interfaz gráfica de usuario GUI

ACTUALIZACIÓN

RESERVA

Page 11: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagrama de EjecuciónDiagrama de Ejecución

Un diagrama de ejecución muestra la Un diagrama de ejecución muestra la configuración de los elementos de procesamiento configuración de los elementos de procesamiento en tiempo de ejecución y los componentes en tiempo de ejecución y los componentes software, procesos y objetos que se ejecutan en software, procesos y objetos que se ejecutan en ellos. Instancias de los componentes software ellos. Instancias de los componentes software representan manifestaciones en tiempo de representan manifestaciones en tiempo de ejecución del código. Componentes que solo sean ejecución del código. Componentes que solo sean utilizados en tiempo de compilación deben utilizados en tiempo de compilación deben mostrarse en el diagrama de componentes. Un mostrarse en el diagrama de componentes. Un diagrama de ejecución es un grafo de nodos diagrama de ejecución es un grafo de nodos conectados por asociaciones de comunicación. Un conectados por asociaciones de comunicación. Un nodo puede contener instancias de componentes nodo puede contener instancias de componentes software, objetos, procesos (un caso particular de software, objetos, procesos (un caso particular de un objeto). Las instancias de componentes un objeto). Las instancias de componentes software pueden estar unidos por relaciones de software pueden estar unidos por relaciones de dependencia, posiblemente a interfaces. dependencia, posiblemente a interfaces.

Page 12: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

PLANIFICADOR

EL PLAN DE..

PC ALUMNO

Base de Datos

Sesión y/o enlace DB

Reservas

Administración del servidor

SERVER PC

Page 13: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagramas de Interacción

En los diagramas de interacción se En los diagramas de interacción se muestra un patrón de interacción entre muestra un patrón de interacción entre objetos. Hay dos tipos de diagrama de objetos. Hay dos tipos de diagrama de interacción, ambos basados en la interacción, ambos basados en la misma información, pero cada uno misma información, pero cada uno enfatizando un aspecto particular: enfatizando un aspecto particular: Diagramas de Secuencia y Diagramas Diagramas de Secuencia y Diagramas de Colaboración. de Colaboración.

Page 14: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagrama de SecuenciaDiagrama de Secuencia

Un diagrama de Secuencia muestra una interacción Un diagrama de Secuencia muestra una interacción ordenada según la secuencia temporal de eventos. En ordenada según la secuencia temporal de eventos. En particular, muestra los objetos participantes en la particular, muestra los objetos participantes en la interacción y los mensajes que intercambian ordenados interacción y los mensajes que intercambian ordenados según su secuencia en el tiempo. El eje vertical representa según su secuencia en el tiempo. El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interacción, sin un orden actores participantes en la interacción, sin un orden prefijado. Cada objeto o actor tiene una línea vertical, y los prefijado. Cada objeto o actor tiene una línea vertical, y los mensajes se representan mediante flechas entre los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba abajo. Se pueden distintos objetos. El tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como restricciones de tiempo, colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transiciones o activaciones a las izquierdo o bien junto a las transiciones o activaciones a las que se refieren. que se refieren.

Page 15: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagrama de Colaboración Diagrama de Colaboración

Un Diagrama de Colaboración muestra una Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se entre los mismos (en cuanto a la interacción se refiere). A diferencia de los Diagramas de refiere). A diferencia de los Diagramas de Secuencia, los Diagramas de Colaboración Secuencia, los Diagramas de Colaboración muestran las relaciones entre los roles de los muestran las relaciones entre los roles de los objetos. La secuencia de los mensajes y los flujos objetos. La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse de ejecución concurrentes deben determinarse explícitamente mediante números de secuencia. explícitamente mediante números de secuencia.

Page 16: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

CONCEPTOS BÁSICOSCONCEPTOS BÁSICOS Un caso de uso describe una forma Un caso de uso describe una forma

especifica de utilizar el sistema.especifica de utilizar el sistema. Es una Es una secuencia de transaccionessecuencia de transacciones, ,

ofrecidas por el sistema e iniciadas por un ofrecidas por el sistema e iniciadas por un actor, que tiene un actor, que tiene un resultadoresultado mediblemedible para para el actor. el actor. [Jacobson 95][Jacobson 95]

El conjunto de los casos de usos determina la El conjunto de los casos de usos determina la completa funcionalidadcompleta funcionalidad del sistema. del sistema.

DIAGRAMA DE CASO DE USODIAGRAMA DE CASO DE USO

Page 17: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Los casos de uso:Los casos de uso:

Son Independientes de la tecnología.Son Independientes de la tecnología. Son tratados en forma independiente uno Son tratados en forma independiente uno

del otro.del otro. Describen la interacción entre los actores y Describen la interacción entre los actores y

el sistemael sistema A las A las instancias de un caso de usoinstancias de un caso de uso se le se le

llama llama ESCENARIOSESCENARIOS

Page 18: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

ActorActor: :

• Rol que juega el usuario con respecto a un sistema

–Un actor puede interactuar con varios casos de uso–Un caso de uso puede tener varios actores

Page 19: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Descripción de Casos de Uso

•Se describen interacciones y no cómo se resuelven internamente.

•Se describen mediante un diagrama y

narrativamente.

•Nosotros los describiremos en forma narrativa conversacional.

Page 20: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Descripción de Casos de Uso Un caso de uso:

•Tiene UN curso básico, que es la secuencia exitosa de eventos.

•Puede tener variantes del curso básico que son cursos alternativos.

•Puede tener varios cursos de excepción para el manejo de errores.

Page 21: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Ejemplo: Ejemplo: Comprar productos -Comprar productos - Curso BásicoCurso Básico

ACTORACTOR SISTEMASISTEMA1. Selecciona de la lista de 1. Selecciona de la lista de productos los que va a comprarproductos los que va a comprar

2. Valida que haya stock2. Valida que haya stock

3. Ingresa la información de 3. Ingresa la información de envíoenvío

4. Muestra costos de compra y 4. Muestra costos de compra y de envíode envío

5. Ingresa la información de 5. Ingresa la información de tarjeta de créditotarjeta de crédito

6. Confirma la compra6. Confirma la compra

7. Autoriza la compra7. Autoriza la compra

8. Registra la compra e 8. Registra la compra e imprime facturaimprime factura

Page 22: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Ejemplo: Ejemplo: Comprar productos Comprar productos Curso AlternativoCurso Alternativo

2 .1 No hay stock disponible de algún 2 .1 No hay stock disponible de algún producto. Envía mensaje al operador, producto. Envía mensaje al operador, que puede confirmar la operación sin que puede confirmar la operación sin incluir el producto o cancelar incluir el producto o cancelar todatoda la la operación.operación.

7.17.1 No se autoriza la compra. El sistema No se autoriza la compra. El sistema envía un mensaje al usuario, que envía un mensaje al usuario, que puede reingresar los datos con la puede reingresar los datos con la misma tarjeta o con otra, o cancelar misma tarjeta o con otra, o cancelar la operación.la operación.

Page 23: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Ejemplo: Ejemplo: Comprar productos Comprar productos

Cursos de excepciónCursos de excepción

- - Se cortó la comunicación Se cortó la comunicación con el servidor. No se lleva a con el servidor. No se lleva a cabo la transacción.cabo la transacción.

Page 24: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

10/04/23Programación II - Casos de Uso

logueado

logueado en el sistema

Page 25: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Page 26: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Page 27: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Diagrama de clase

El diagrama de clase nos sirve para representar :

Requerimientos en Entidades y Actuaciones La arquitectura conceptual de un dominio Soluciones de diseño en una arquitectura Componentes de software orientado a

objetos

Page 28: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

¿Qué es una Clase?

Artefacto de modelado que describe un conjunto

de objetos que comparten los mismos:

Atributos (conocimiento) Operaciones (responsabilidad) Relaciones (entrelazamiento) Semántica (relevancia)

Page 29: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Para qué usamos undiagrama de Clases

Page 30: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

Asociación básica entreClases

Define una determinada vinculación entredos tipos. El conector puede indicar el rol de la asociación fuente y destino, la cardinalidad

yel tipo de navegabilidad (bidireccional ounidireccional).

Page 31: U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.

y Eventos


Recommended