ingenieria de software · uml es un lenguaje de modelado para visualizar, especificar, construir y...

20
INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Upload: others

Post on 27-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

INGENIERIA DE SOFTWARE

ING. FRANCISCO RODRIGUEZ

Page 2: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

Ingeniería de Software

Ing. Francisco Rodríguez

Tema 4

Lenguaje de Modelado

Unificado UML

Page 4: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

CARACTERÍSTICAS

UML es un lenguaje de modelado para visualizar, especificar,

construir y documentar partes de un sistema software desde

distintos puntos de vista

•Puede usarse con cualquier proceso de desarrollo, a lo largo de todo el ciclo

de vida y puede aplicarse a todos los dominios de aplicación y plataformas de

implementación

•También puede usarse en tres áreas, como la ingeniería de negocio y

modelado de procesos gracias a los mecanismos de adaptación/extensión

mediante perfiles

Page 5: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

CARACTERÍSTICAS

Lo que no es

•UML no es una notación propietaria

•UML no es un método, ni un proceso ni una metodología

El objetivo de UML es la unificación de los métodos de modelado

de objetos (Booch, OMT y OOSE) por medio de la:

•Identificación y definición de la semántica de los conceptos fundamentales y

elección de una representación gráfica con una sintaxis simple, expresiva e

intuitiva

La especificación UML se define usando el enfoque de un

metamodelo

Page 6: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

El desarrollo del UML comenzó en finales de 1994 en que

Grady Booch y Jim Rumbaugh de Rational Software

Corporation, comenzaron su trabajo sobre la unificación

de los métodos de Booch y de OMT (Object Modeling

Technique).

A finales de 1995, Ivar Jacobson y su compañía de

Objectory se unieron a Rational y combinaron sus

métodos.

Booch, Rumbaugh, y Jacobson, definieron el UML 0,9 y

0,91 en junio y octubre de 1996.

. . . Breve historia del UML

Page 7: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

UML 7

Ingeniería de Software I

Análisis Orientado a Objetos

Génesis y evolución

• En 1994 Rumbaugh y Booch crean El Método Unificado

• En 1995 se incorpora Jacobson y los tres autores publican un documento titulado Unified Method V0.8 [Booch y Rumbaugh, 1995]

• El método unificado se reorienta hacia la definición de un lenguaje universal para el modelado de objetos, transformándose en UML (Unified Modeling Language for Object-Oriented Development)

• En 1996 se crea un consorcio de colaboradores para trabajar en la versión 1.0 de UML

• En 1997 se produce la estandarización de UML 1.0 por la OMG [Booch et al., 1997]

• La siguiente versión oficial de UML es la versión 1.1 [Rational et al., 1997]

• En julio de 1998 aparece una revisión interna de UML que recoge diversos cambios editoriales, pero no técnicos. Esta versión es la que se conoce como UML 1.2 [OMG, 1998]

• Casi un año más tarde, en junio de 1999 aparece OMG UML 1.3 [OMG, 1999] con algunos cambios significativos, especialmente en lo tocante a la semántica

• En septiembre de 2001 aparece UML 1.4 [OMG, 2001a] y en enero de 2005 OMG UML 1.4.2 (OMG document: formal/05-04-01) es aceptado como un estándar ISO (ISO/IEC 19501) [OMG, 2005a]

• En julio de 2005 se libera UML 2.0 [OMG, 2005b] siendo la última versión 2.5.1 [OMG, 2017]

Page 8: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

Ingeniería de Software I

Análisis Orientado a Objetos

Génesis y evoluciónD

ocu

men

tos

blic

os

OOSE

Método Unificado ver. 0.8

Booch’94 OMT-2 Otros

métodos Booch’91

OMT-1

UML 0.9 & 0.91

UML 1.1

UML 1.0

OMG UML 1.2

OMG UML 1.1

OMG UML 1.3

OMG UML 2.4.1

OMG UML 2.0

OMG UML 1.5

Junio 96 y Octubre 1996…..................…..

Enero 1997 (publicación UML 1.0)……........….

Septiembre 1997 (publicación UML 1.1) ………

Noviembre 1997 (aceptación por OMG)……....

Julio 1998 (modificaciones editoriales) .............

Junio 1999 ………………………………………..

Septiembre 2001 ………………………...............

Marzo 2003 …………………………………….….

Julio 2005 …………………………………………

Agosto 2011 ………………………………………

ISO/IEC 19501(enero 2005)

Fragmentación

Unificación

Estandarización

Colaboradores expertos

OMG UML v1.4.2

OMG UML 2.5.1Diciembre 2017 ………………………………….

Page 9: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

9

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

Page 10: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

10

UML “aglutina” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-Brock

Fusion

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 12: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

12

Perspectivas de UML

UML es el lenguaje de modelado orientado a objetos estándar

predominante ahora y en los próximos años

Razones:

– Participación de metodólogos influyentes

– Participación de importantes empresas

– Estándar del OMG

Evidencias:

– Herramientas que proveen la notación UML

– “Edición” de libros (más de 300 en www.amazon.com)

– Congresos, cursos, “camisetas”, etc.

Page 13: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

Metas del UML

1. Proporcionar a los usuarios un lenguaje de modelajevisual listo para usarse y expresivo de tal forma quepermita desarrollar e intercambiar modelos consignificado.

2. Proporcionar mecanismos de extensibilidad yespecialización para extender los conceptos centrales.

3. Ser independiente de lenguajes de programaciónparticulares y procesos de desarrollo.

4. Proporcionar una base formal para entender el lenguajede modelaje.

5. Integrar las mejores prácticas en la industria.

Page 14: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

¿Dónde puede utilizarse UML?

• Sistema de Información Institucionales

• Bancos y Servicios Financieros

• Telecomunicaciones

• Transporte

• Comercio

• Electrónica médica

• Ámbito científico

• Servicios distribuidos basados en la Web

Page 15: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

DIAGRAMAS Y VISTAS

UML define varios modelos para la representación de los sistemas que

pueden verse y manipularse mediante un conjunto de diagramas diferentes:

•Diagramas de estructura

• Diagrama de clases

• Diagrama de estructuras compuestas

• Diagrama de componentes

• Diagrama de despliegue

• Diagrama de objetos

• Diagrama de paquetes

•Diagramas de comportamiento

• Diagrama de casos de uso

• Diagrama de actividad

• Diagramas de interacción

• Diagrama de secuencia

• Diagrama de comunicación o colaboración

• Diagrama de visión global de la interacción

• Diagrama de tiempo

• Diagrama de maquina de estados

Page 16: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

DIAGRAMAS Y VISTAS

Una vista es un subconjunto de las construcciones de modelado de UML querepresenta un aspecto del sistemaLos diagramas UML se pueden organizar en las siguientes vistas [Rumbaughet al., 2007]

• Vista estática

• Diagramas de clases

• Vista de casos de uso

• Diagramas de casos de uso

• Vista de interacción

• Diagramas de secuencia

• Diagramas de comunicación

• Vista de actividad

• Diagramas de actividad

• Vista de la máquina de estados

• Diagramas de máquina de estados

7

• Vista de diseño

• Diagramas de estructuras

• compuestas

• Diagramas de colaboración

• Diagramas de componentes

• Vista de despliegue

• Diagramas de despliegue

• Vista de gestión del Modelo

• Diagramas de paquetes

• Perfiles

• Diagramas de paquetes

Page 17: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

DIAGRAMAS Y VISTAS

Las vistas se pueden agrupar en áreas conceptuales

8

Área Vista

Estructural

Vista estática

Vista de diseño

Vista de casos de uso

Dinámica

Vista de máquina de estados

Vista de actividad

Vista de interacción

Física Vista de despliegue

GestiónVista de gestión del modelo

Perfiles

Page 18: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

18

Relación entre Diagramas

Casos deUso

Diagramas deSecuencia

Diagramas deColaboración

Diagramas deClases

Diagramas deEstados

Diagramas deActividad

Diagramas deComponentes

Diagramas deDistribución

C

Ó

D

I

G

O

Page 19: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

19

Rational Unified Process (RUP) y UML

Desarrollados en armonía por Rational

RUP y Unified Modeling Language (UML)

Page 20: INGENIERIA DE SOFTWARE · UML es un lenguaje de modelado para visualizar, especificar, construir y documentar partes de un sistema software desde distintos puntos de vista •Puede

20

FIN