Lenguaje de Modelamiento Unificado - UML

27
Ingeniería de Software Lenguaje de Modelamiento Unificado - UML Facultad de Ingeniería EAP. Ingeniería de Sistemas Ing. CIP. Eddy Iván Quispe Soto

Transcript of Lenguaje de Modelamiento Unificado - UML

Page 1: Lenguaje de Modelamiento Unificado - UML

Ingeniería de Software Lenguaje de Modelamiento Unificado - UML

Facultad de IngenieríaEAP. Ingeniería de Sistemas

Ing. CIP. Eddy Iván Quispe Soto

Page 2: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos UML (Unified Modeling Language)

Definiciones previasModelo: representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas.

Page 3: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos UML (Unified Modeling Language)

Definiciones previasEs un esquema simplificado que describe un sistema o realidad desde un determinado punto de vista que facilita su estudio y compresión

Sistema Software(complejo) Los modelos de un sistema software se

expresan visualmente mediante el lenguaje de modelado UML

?? ? Modelo

(simplificado)

Page 4: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

Definiciones previasLenguaje de modelación: es una forma de expresar (notación) los distintos modelos generados durante el proceso de desarrollo. Se compone de sintaxis (conjunto de símbolos y diagramas válidos) y semántica ( reglas de interpretación) .

Entregan soporte al desarrollo en relación con la documentación de los productos de trabajo asociados a los modelos elaborados.

Page 5: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

UML es un lenguaje de modelación de propósito general para el modelado OO.

Combina notaciones provenientes desde:

Modelado OOModelado de datosModelado de componentesModelado de Workflows

Page 6: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

IniciosDiversos métodos de OO, con muchos aspectos en común pero con diferentes notacionesDificultad en el aprendizaje, aplicación, desarrollo y uso de herramientasPugna entre distintos enfoques

¡Necesidad de una notación estándar!

Page 7: Lenguaje de Modelamiento Unificado - UML

Evolución de UML

Otros métodos Booch’91 OMT-1 OOSE

Booch’93 OMT-2

OOPSLA’95 Método Unificado 0.8

Junio 96 y Octubre 1996 UML 0.9 & 0.91

UML 1.0Publicación de UML 1.0Enero 1997

UML 1.1Publicación de UML 1.1Septiembre 1997

Colaboradores yexpertos

Do

cum

ento

s p

úblic

os

Fragmentación

Unificación

Estandarización

UML 1.3Abril 1999:

septiembre de 2001 UML 1.4

UML 1.5

UML 2.0 2005

Page 8: Lenguaje de Modelamiento Unificado - UML

ANTECEDENTES Aparecieron entre mediados de los 70's y fines

de los 80's.• lenguajes orientados a objetos, • aplicaciones cada vez más complejas.

En 1989 habían aprox. 10 métodos orientados a objetos.

En 1994 más de 50 ("guerra de los métodos”). A mediados de 1994 Grady Booch, Jim

Rumbaugh iniciaron la unificación de los métodos propuestos por ellos, (vers. 0.8 de Unified Method) en Rational.

Page 9: Lenguaje de Modelamiento Unificado - UML

… ANTECEDENTESA mediados de 1995 Ivar Jacobson se une a

Boochy Rumbaugh y desarrollan el Metodo de Ingeniería de Software Orientada a Objetos (OOSE).

El mismo año se unió Ivar Jacobson, con lo cual los “Tres Amigos” son socios en la compañía Rational Software, que han desarrollado una herramienta CASE Rational Rose.

A partir de 1996 la unificación recibe el respaldo de OMG Object Management Group y se desarrolla la version 1.0 de UML.

Page 10: Lenguaje de Modelamiento Unificado - UML

... ANTECEDENTES

En1997 - UML aprobado por el Object Managment Group (OMG). produce la versión 1.0 de UML.

En 1997 con la participación de IBM, ObjecTime, Platinum Technology y otros se produce la versión 1.1 de UML

UML, en su versión 1.3, abierto a los cambios y por lo tanto incorpora elementos de otras metodologías, sin modificar su estructura base.

Page 11: Lenguaje de Modelamiento Unificado - UML

Los Creadores del UML

James RumbaughJames Rumbaugh

Ivar JacobsonIvar JacobsonGrady BoochGrady Booch

OMG(Grupo de Administración de Objetos)

Estándar en la Industria del Software

RationalSoftwareCorporation

Page 12: Lenguaje de Modelamiento Unificado - UML
Page 13: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos Participantes de UML

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

MCI Systemhouse Microsoft ObjecTimeOracle Platinium TechnologySterling SoftwareTaskonTexas Instruments Unisys

Page 14: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

Enfoques de OO considerados

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

Page 15: Lenguaje de Modelamiento Unificado - UML

¿Qué es UML?Lenguaje gráfico de modelación de propósito general, estandarizado por la industria, y apoyado por herramientas de amplio rango de aplicación.Originalmente concebido por Rational Software Corporation

Grady Booch - Booch MethodJames Rumbaugh - Object Modeling Technique (OMT)Ivar Jacobson - Object Oriented Software Engineering (OOSE)

La versión actual de UML es la 2.0

Page 16: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

Diagramas de Casos de Uso

Diagramas de Colaboración

Diagramas de Componentes

Diagramas de Distribución

Diagramas de Objetos

Diagramas de Estados

Diagramas de Secuencia

Diagramas de Clases

Diagramas de Actividad

Modelo

Page 17: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos UML está asociado a un proceso de

desarrollo particular. No es una metodología.

Aumenta las posibilidades de aceptación generalizada de la notación.La esencia de un proceso apropiado admite mucha variación y depende de muchos factores.

Provee constructores para una amplia gama de sistemas y actividades

Page 18: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

UML centra el desarrollo en tres modelos diferentes:

Modelo funcional - diagramas de casos de uso, describen el sistema desde la perspectiva del usuarioModelo objeto - diagrama de clases, describen la estructura de un sistema en términos de objetos, atributos, asociaciones y operaciones.Modelo dinámico - diagramas de secuencia y de estados, describen el comportamiento del sistema.

Page 19: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

UML (Unified Modeling Language)Desventajas

UML no define un proceso de desarrollo.

Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc..

“Monopolio”

Page 20: Lenguaje de Modelamiento Unificado - UML

Paradigma Orientado a Objetos

UML (Unified Modeling Language)PerspectivaUML será el lenguaje de modelación de objetos estándar predominante los próximos años.

Participación de metodologías influyentesParticipación de importantes empresasAceptación como notación estándar por diferentes organismos internacionales

Evidencias: Herramientas soportan UML, bibliografía, etc..

Page 21: Lenguaje de Modelamiento Unificado - UML

Estructura UML

Modelos

• Estructura(características estáticas)

• Comportamiento (características dinámicas)

capturan

Vistas Arquitectonicas

organizado en

Diagramas

visualizado en

• Vista del Modelo de Usuario• Vista del Modelo Estructural• Vista del Modelo de Comportamiento• Vista del Modelo de Implementación• Vista del Modelo Despliegue

• Diagramas de Casos de Uso• Diagramas de Clases• Diagramas de Objetos• Diagramas de Secuencia• Diagramas de Colaboración• Diagramas de Estado• Diagramas de Actividad• Diagramas de Componentes• Diagramas de Despliegue

Page 22: Lenguaje de Modelamiento Unificado - UML

Enfoques de UMLVistas de UML: Arquitectura 4 + 1 Kruchten (1995)Erikson Penker (1994 y 1997)

5 Vistas9 Diagramas

Page 23: Lenguaje de Modelamiento Unificado - UML

Enfoques de UMLVistas de UML: Arquitectura 4 + 1

Diag. Casos de Uso

Diag. SecuenciaDiag. ColaboraciónDiag. ActividadesDiag. Estado

Diag. ClasesDiag. Objetos

Diag. Componente

Diag. Despliegue

Page 24: Lenguaje de Modelamiento Unificado - UML

Enfoques de UML

Diagramas de Casos de Uso

Actor A

Use Case 1

Use Case 2

Actor B

Use Case 3

Diagramas de Clases

GrpFile

read( )

open( )create( )

fillFile( )

rep

Repository

name : char * = 0

readDoc( )

readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )

delete( )

Document

name : int

docid : int

numField : int

get( )

open( )

close( )

read( )sortFileList( )

create( )

fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() fill the

code..

Window95

¹®¼ °ü¸®

Ŭ¶óÀ̾ðÆ®.EXE

Windows

NT

¹®¼ °ü¸® ¿£Áø.EXE

Windows

NT

Windows95

Solaris

ÀÀ¿ë¼ ¹ö.EXE

Alpha

UNIX

IBM

Mainframe

µ¥ÀÌŸº£À̽º¼ ¹ö

Windows95

¹®¼ °ü¸® ¾ÖÇø´

Document

FileManager

GraphicFile

File

Repository DocumentList

FileList

Diagramas de Componentes

Diagramas de Despliegue

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repository

document : Document

gFile : GrpFilefileMgr : FileMgr

Diagramas de Objetos

Diagramas Estáticos

Page 25: Lenguaje de Modelamiento Unificado - UML

Enfoques de UML

user : Clerk

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repository

document : Document

gFile : GrpFile

9: sortByName ( )

1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

Diagramas de Colaboracion

[operación insertada]

Validar y Completar Operación

Generar Avances para Extranjero

[error operación]

Notificar Error a FO

Identificar Motivo Rechazo

[operacion no contratada]

[operación contratada]

Enviar Confirmación

[ prima es en divisa ]

Determinar Acciones Correcion

Registrar Error

-Operador BO-K+ (interfaz)

-Operador BO

-KBO-Host: Liquidaciones (interfaz)

-KBO-Host:SWIFT (interfaz)

-KBO

-Operador BO-KBO (interfaz)

-Operador BO

Contabilizar Operación

Calcular Flujos de Caja

[ ok ]

-KBO

-KBO-Host:Contabilidad (interfaz)

Evalua Confirmación

[ confirmación rechazada ]

ContrapartidaBO

Diagramas de Actividad

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close file

Diagramas de Estados

user

mainWnd fileMgr :

FileMgr

repositorydocument :

Document

gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼ ¿¡ ́ ëÇÑ º¸±â¸¦

»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È ÀÏ°ü̧ ®ÀÚ´Â Àоî¿Â

¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼

°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È ̧é °´Ã¼´Â ÀоîµéÀÎ

°´Ã¼µé¿¡ ´ëÇØ ÀÌ̧ §º°·Î

Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡

º¸¿©ÁØ´Ù.

Diagramas de Secuencia

Diagramas Dinámicos

Page 26: Lenguaje de Modelamiento Unificado - UML

Enfoques de UML 2.0

ESTRUCTURA

COMPORTAMIENTO

INTERACCION

1. D. CLASES

2. D. OBJETOS

3. D. COMPONENTES

4. D. DESPLIEGUE

5. D. PAQUETES

6. D. ESTRUCTURA COMPUESTA

7. D. CASOS DE USO

8. D. ACTIVIDADES

9. D. ESTADOS

10 D. SECUENCIA

11 D. COMUNICACIÓN (COLABORACION)

12. D. VISION GENERAL( OverView)

13 D. TIEMPO

Page 27: Lenguaje de Modelamiento Unificado - UML

Ingeniería de Software Lenguaje de Modelamiento Unificado - UML

Facultad de IngenieríaEAP. Ingeniería de Sistemas

Ing. CIP. Eddy Iván Quispe Soto