Desarrollo de Software Orientado a Objeto usando UML

Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres [email protected] Departamento Sistemas Informáticos y Computación (D

8 downloads 118 Views 580KB Size

Story Transcript

Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres [email protected] Departamento Sistemas Informáticos y Computación (DSIC) Universidad Politécnica de Valencia (UPV) - España



www.dsic.upv.es/~uml

1

UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado a objetos.  Documento “OMG Unified Modeling Language Specification”  UML combina notaciones provenientes desde: – Modelado Orientado a Objetos – Modelado de Datos – Modelado de Componentes – Modelado de Flujos de Trabajo (Workflows)

I. Introducción: UML

Situación de Partida  Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notaciones  Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc.  Pugna entre distintos enfoques (y correspondientes gurús) Establecer una notación estándar

I. Introducción: UML

Historia de UML  Comenzó como el “Método Unificado”, con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95  El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Rose

I. Introducción: UML

Historia de UML UML 2.0

2001

UML 1.4

2000 1999 1998 Nov ‘97

UML 1.3 Revisiones menores UML aprobado por el OMG

UML 1.2

I. Introducción: UML

Participantes en UML 1.0       

 Rational Software  (Grady Booch, Jim Rumbaugh y Ivar Jacobson)  Digital Equipment  Hewlett-Packard  i-Logix (David Harel)  IBM  ICON Computing  (Desmond D’Souza) Intellicorp and James Martin  & co. (James Odell)

MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys

I. Introducción: UML

UML “aglutina” enfoques OO Rumbaugh Booch

Jacobson

Odell

Meyer Pre- and Post-conditions

Shlaer-Mellor Object life cycles

UML Harel

State Charts

Gamma et. al. Frameworks, patterns, notes

Embly Singleton classes

Wirfs-Brock Fusion Operation descriptions, message numbering

Responsabilities

I. Introducción: UML

Aspectos Novedosos  Definición semi-formal del Metamodelo de UML  Mecanismos de Extensión en UML:

 Stereotypes  Constraints  Tagged Values Permiten adaptar los elementos de modelado, asignándoles una semántica particular

I. Introducción: UML

Inconvenientes en UML  Definición del proceso de desarrollo usando UML. UML no es una metodología  Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc.  Ejemplos aislados  “Monopolio de conceptos, técnicas y métodos en torno a UML”

I. Introducción: UML

Perspectivas de UML  



UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos años Razones: – Participación de metodólogos influyentes – Participación de importantes empresas – Aceptación del OMG como notación estándar Evidencias: – Herramientas que proveen la notación UML – “Edición” de libros

– Congresos, cursos, “camisetas”, etc.

Breve Tour por UML

II. Breve Tour por UML

Modelos y Diagramas •

Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle.



Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos

OMG UML 1.4 Specification

II. Breve Tour por UML

... Modelos y Diagramas  Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés  El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...

 Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

II. Breve Tour por UML

Diagramas de UML  Diagrama de Casos de Uso  Diagrama de Clases  Diagrama de Objetos Diagramas de Comportamiento  Diagrama de Estados  Diagrama de Actividad Diagramas de Interacción  Diagrama de Secuencia  Diagrama de Colaboración Diagramas de implementación  Diagrama de Componentes  Diagrama de Despliegue

II. Breve Tour por UML

... Diagramas de UML

Los diagramas expresan gráficamente partes de un modelo Use Case Use Case Diagramas de Diagrams Use Case Diagrams Use Case Diagramas de Casos de Uso Diagrams Diagrams Secuencia Scenario Scenario Diagramas de Diagrams Diagrams Colaboración Scenario Scenario Diagramas de Diagrams Diagrams Estados

State State Diagramas de Diagrams Diagrams Clases

Modelo

Diagramas de Actividad

State State Diagramas de Diagrams Diagrams Objetos State State Diagramas de Diagrams Diagrams Componentes

Component Component Diagrams Diagramas Diagrams

de Distribución

II. Breve Tour por UML

Organización de Modelos 4+1 vistas de Kruchten (1995) Vista Lógica Vista de los Casos de Uso Vista de Procesos

Vista de Realización

Vista de Distribución

Este enfoque sigue el browser de Rational Rose

II. Breve Tour por UML

... Organización de Modelos Propuesta de Rational Unified Process (RUP) M. de Casos de Uso del Negocio (Business Use-Case Model)  M. de Objetos del Negocio (Business Object Model)  M. de Casos de Uso (Use-Case Model)  M. de Análisis (Analysis Model)  M. de Diseño (Design Model)  M. de Despliegue (Deployment Model)  M. de Datos (Data Model)  M. de Implementación (Implementation Model)  M. de Pruebas (Test Model) 

II. Breve Tour por UML

Paquetes en UML  Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado  Se representan gráficamente como: Nombre de paquete

II. Breve Tour por UML

… Paquetes en UML  Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)  Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete  Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes

II. Breve Tour por UML

… Paquetes en UML  Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa  El operador “::” permite designar una clase definida en un contexto distinto del actual Práctica 1

II. Breve Tour por UML

… Paquetes en UML

Práctica 1

II. Breve Tour por UML

Diagrama de Casos de Uso  Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje  No pertenece estrictamente al enfoque orientado a objeto, es una técnica para captura de requisitos

II. Breve Tour por UML

Ejemplos

Supervisor

Administrativo

Verificar Situación del Cliente

Preparar Catálogo

Ti pos de Venta

S is tema Inventario

II. Breve Tour por UML

… Ejemplos En el paquete tipos de venta:

Venta Normal

Vendedor

Venta en Rebajas

Venta en Ofertas

II. Breve Tour por UML

… Ejemplos

Cliente

Solicitar Préstamo

[Tarjeta Caducada]

Solic itar N ueva Tarjeta

II. Breve Tour por UML

… Ejemplos

Reintegro Cuenta Corriente



Verificar Operación

Cliente



Reintegro Cuenta de Crédito Práctica 2

II. Breve Tour por UML

Diagrama de Secuencia : Encargado

:WInP réstamos

:Socio

prestar(video, socio) verificar situación socio verificar situación video registrar préstamo entregar recibo

:Video

: Préstamo

II. Breve Tour por UML

Diagrama de Colaboración :Socio

:Video 2: verificar situación socio

1: prestar(video, socio)

3: verificar situación video :WInPréstamos

5: entregar recibo : Encargado

4: registrar préstamo

:Préstamo

Práctica 3

II. Breve Tour por UML

Diagrama de Clases  El Diagrama de Clases es el diagrama principal para el análisis y diseño  Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia  La definición de clase incluye definiciones para atributos y operaciones  El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones

II. Breve Tour por UML

Ejemplos (Clase y Visibilidad)

A lum no D NI : c har[10] núm ero_ex p : int nom bre : c har[50] alta() poner_nota(as ignatura : c har *, año : int, nota : float) m atric ular(c urs os : as ignatura, año : int) lis tar_ex pediente()

II. Breve Tour por UML

… Ejemplos (Asociación)

Departam ento

dirige 0..1

direc tor

Profes or 1

II. Breve Tour por UML

… Ejemplos (Clase Asociación) Empresa

empleador

trabajadores

*

1..*

Cargo nombre sueldo subordinado 1..*

superior 0..1

Empleado

II. Breve Tour por UML

… Ejemplos (Generalización) Trabajador

{ disjunta, completa }

Directivo

Administrativo

Obrero

II. Breve Tour por UML

… Ejemplos Motor 1..4

1 Avión

Vendedor de billetes

Piloto

1

n

1..2

1

n

n

Vuelo

1

n

Reserva

n

{ disjunta, completa }

1 Avión militar

Avión comercial

Línea aérea

{ disjunta, completa }

Avión de carga

Avión de pasajeros

Prácticas 4-8

II. Breve Tour por UML

Diagrama de Estados alta

baja

sin pr éstam os

núm er o_prés tam os = 0

Socio número : int nombre : char[50] número_prestamos : int = 0

pres tar

devol ver [ núm ero_p rést amo s = 1 ]

alta() baja() prestar(código_libro : int, fecha : date) devolver(código_libro : int, fecha : date)

núm ero_prés tam os > 0 c on prés tam os pres tar

devolver[ núm ero_prés tam os > 1 ]

II. Breve Tour por UML

Diagrama de Actividad Buscar Bebida

[no hay café]

[hay zumo]

[hay café Poner café en filtro

Añadir agua al depósito

[no zumo]

Coger taza Coger zumo

Poner filtro en máquina

Encender máquina / cafetera.On Café en preparación indicador de fin Servir café

Beber

II. Breve Tour por UML

… Otro Ejemplo (con swim lines) Pasajero

Solicitar pasaje

Vendedor

Airline

Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios

Seleccionar vuelo

Solicitar pago Reservar plazas Confirmar plaza reservada

Pagar pasaje Emitir billete

Práctica 9

II. Breve Tour por UML

Diagrama Componentes Control y Análisis Interfaz de Terminal

Comment

Comment

Gestión de Cuentas Comment

Rutinas de Coneccion Comment

Acceso a BD Comment

II. Breve Tour por UML

Diagrama de Despliegue Servidor Central

Control y Análisis Comment

Acceso a BD Comment

Rutinas de Coneccion Comment

Terminal de Consulta Rutinas de Coneccion Comment Punto de Venta

Interfaz de Terminal Comment

Rutinas de Coneccion Comment

Gestión de Cuentas Comment

Interfaz de Terminal Comment

Práctica 10

II. Breve Tour por UML

Resumen  UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos  El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.