UML. un analisis comparativo para la diagramación de software

47
Lenguaje de Modelado Unificado -UML- Prof. Yaskelly Yedra Trabajo de ascenso presentado para optar a la categoría de Profesor Agregado Universidad del Zulia Facultad Experimental de Ciencia Departamento de Computación Unidad de Tecnología, Sistemas de Información y Bases de Datos Un análisis comparativo para la diagramación de software

Transcript of UML. un analisis comparativo para la diagramación de software

Page 1: UML.  un analisis comparativo para la diagramación de software

Lenguaje de Modelado Unificado -UML-

Prof. Yaskelly Yedra

Trabajo de ascenso presentado para optar a la categoría de Profesor Agregado

Universidad del Zulia

Facultad Experimental de Ciencia

Departamento de Computación

Unidad de Tecnología, Sistemas de Información y Bases de Datos

Un análisis comparativo para la diagramación de software

Page 2: UML.  un analisis comparativo para la diagramación de software

2

Agenda

Modelado

conceptual

en el

desarrollo

de

software

Introducción Desarrollo

estructurado

Conclusiones

Desarrollo

orientado a objetos

Análisis

Comparativos

UML - un análisis comparativo para la diagramación de software

Page 3: UML.  un analisis comparativo para la diagramación de software

3

Introducción

enmarcado dentro del área de la ingeniería de

software

la construcción de modelos conceptuales

se ha desarrollado un gran número de métodos para

la especificación de sistemas de software

búsqueda de un estándar en cuanto al modelado

conceptual del desarrollo de software

Page 4: UML.  un analisis comparativo para la diagramación de software

4

Introducción

Hacer un análisis comparativo entre los bloques de

construcción de gráficos utilizados por el UML para

desarrollar aplicaciones, diagramas y demás

notaciones usadas por el método estructurado y los

métodos orientados a objetos.

Propósito de la investigación

Page 5: UML.  un analisis comparativo para la diagramación de software

5

Modelado Conceptual en el DSModelo y Modelamiento

Un modelo es un conjunto de conceptos que permiten construir

una representación razonable de alguna realidad de forma que

sea más fácil de manipular

El modelado conceptual de

desarrollo de software, lo

compone el diseño y análisis del

mismo, con base en los

requerimientos del software

Se construyen modelos para comprender mejor el sistema

que se esta desarrollando

Page 6: UML.  un analisis comparativo para la diagramación de software

6

Modelado Conceptual en el DS

Analizar los enfoques utilizados para el

desarrollo de software que han surgido

hasta la aparición de los diagramas

UML.

Objetivo General

Objetivos de la Investigación

Page 7: UML.  un analisis comparativo para la diagramación de software

7

Modelado Conceptual en el DS

Introducir las técnicas de modelado mediante UML. (Capítulo 4)

Objetivos de la Investigación

Describir las diferencias y semejanzas entre los diagramas

utilizados en la programación estructurada y el método

orientado a objeto con los diagramas UML. (Capítulo 5)

Presentar un marco de referencia sobre la aplicación y

definición de los modelos conceptuales de desarrollo de

software en general. (Capítulo 1)

Objetivo Específicos

Presentar un estudio de los diagramas más utilizados en el

modelado de software. (Capítulo 2 y 3)

Page 8: UML.  un analisis comparativo para la diagramación de software

8

Desarrollo Estructurado

Diagrama de Nassi-Schederman (N-S)

Diagrama de Flujo

Diagrama de Flujo de Datos (DFD)

Diagrama de Estructura de Datos (DED)

Diagrama de Transición de Estados (DTE)

Diagrama Entidad Relación (DER)

Page 9: UML.  un analisis comparativo para la diagramación de software

9

Desarrollo Orientado a Objetos

Método OMT de Rumbaught

Métodos de Booch

Método de Jacobson (OOSE)

Page 10: UML.  un analisis comparativo para la diagramación de software

10

Lenguaje de Modelado Unificado -UML-

Diagramas de

Estructura

Diagramas de

Comportamiento

Introducción al

UML

Fuente: Quatrani, 2000

Page 11: UML.  un analisis comparativo para la diagramación de software

11

Introducción al UML

Influencia de métodos de desarrollo de software y UML

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

Fuente: Letelier (1996)

Page 12: UML.  un analisis comparativo para la diagramación de software

12

UM

L u

nif

ica e

stos

con

cepto

s e

intr

odu

ce o

tros

nu

evos

Introducción al UML

Influencia de métodos de desarrollo de software y UML

OMT - Object Modeling Technique (Rumbaugh et al.)

– especialmente utilizado para análisis de datos de SI

– f. de análisis (M. objeto, dinámico, funcional), f. de diseño (sistema y objeto)

– usa extensiones de los diagramas ER

OOSE - Object-Oriented Software Engineering (I. Jacobson)

– desarrollo guiado por los casos de uso

– soporte de Ingeniería de Requisitos e Ingeniería de Información

Método-Booch (G. Booch)

– estructura lógica (d. clases y objeto), física (d. módulos y proceso),

dinámica de clases (d. estado) e instancias (d. interación)

– especialmente útil para sistemas concurrentes y de tiempo real

– fuerte relación con lenguajes de programación

Page 13: UML.  un analisis comparativo para la diagramación de software

Introducción al UML

Evolución de UML

Fuente: Letelier (1996)Otros métodos Booch’91 OMT-1 (Rumbaugh) OOSE (Jacobson)

Booch’93 OMT-2

OOPSLA’95 Método Unificado 0.8

Junio 96 y Octubre 1996 en la

Web

UML 1.0Publicación de UML 1.0

Enero 1997

UML 1.1OMG lo adopta como estándar

Noviembre 1997

Colaboradores y

expertos

Docu

men

tos

Pu

bli

cad

os

Fragmentación

Unificación

Estandarización

UML 1.3junio 1999, OMG

diciembre 2004, OMG

UML 1.4

UML 1.5

UML 2.0

Industrializaciónmayo 2001, OMG

marzo 2003, OMG

UML 0.9 & 0.91

Page 14: UML.  un analisis comparativo para la diagramación de software

Modelo Conceptual de UML

Bloques de

Construcción

Reglas Semánticas

Mecanismos Comunes de aplicación General

► Elementos

► Relaciones (Dependencia, Asociación, Generalización…)

► Diagramas

Estructura

Comportamiento

Agrupación

Clases

Anotación

Objetos

Casos de Uso

Secuencias

Colaboración

Despliegue

Componentes

Actividad

Estados

Fuente: Booch, Rumbaugh y

Jacobson (1999)

Introducción al UML

Page 15: UML.  un analisis comparativo para la diagramación de software

Elementos en UML

Bloques de Construcción

Estructurales

Comportamiento

Anotación

Agrupamiento

Colaboraciones

ActorCasos de uso

Fuente: Fowler, 2003

Máquina de

Estado

ClasesComponentes

Interfaces

Paquete, modelo

y subsistema

Nodos

Nota

Interacción

Page 16: UML.  un analisis comparativo para la diagramación de software

Relaciones en UML

Bloques de Construcción

REALIZACIÓN

DEPENDENCIA

ASOCIACIÓN (Agregación /Composición)

GENERALIZACIÓN

Tipo de Relación Notación Diagramas

Diagrama de clases,

objetos, casos de uso

Diagrama de clases y

objetos, caso de uso,

paquete, componente,

despliegue

Diagrama de clases,

objetos, componente,

despliegue

Diagrama de clases,

objetos, casos de uso,

despliegueAgreg.

“es parte de”

Comp.

Asoc.

“tiene un”

Page 17: UML.  un analisis comparativo para la diagramación de software

17

Diagramas en UML

Bloques de Construcción

Diagrama de componentes

Diagrama de clases

Diagrama de estructuras

compuestas

Diagrama de despliegue

Diagrama de objetos

Diagrama de paquetes

Diagramas de

Estructura

o Estáticos

Diagramas de

Comportamiento

o Dinámicos

Diagrama de casos de usos

Diagrama de actividades

Diagrama de máquina de estado

Diagrama de interacción

Diagrama de secuencia

Diagrama de colaboración

Diagrama de visualización de interacción

Diagrama de tiempo

Page 18: UML.  un analisis comparativo para la diagramación de software

Diagramas de Estructura

Diagramas de clase

Producto

Representante

Pedido

FechaRecibido

ConPrepago

NúmeroImporte

Divisa…

seleccionar ( )

servir ( )cerrar ( )…

comprobar ( )

Línea de Pedidos

Cantidad

Importe

aceptar ( )

Comprobación

Cliente

NombreDirección

valorarCredito( ):string

Cliente Personal

NumTargetaCredito

Cliente Corporativo

NombreContacto

facturarMes( )

recordar( )

ValoracionCredito

LimiteCredito

1

*

*

0..1

*

*

1

1

Clase

Generalización

MultiplicidadAsociación

Navegabilidad

Proviene de los diagramas

de entidad-relación de

Chen (‘70s)

Fueron extendidos con

conceptos de AOO, como

generalización y

agregación (‘80s)

Aunque también fueron

empleados por Booch,

conservan el aspecto de la

notación propuesta por

Rumbaugh en OMT

Atributos

Operaciones

Clase: abstracción de un

conjunto de objetos que

poseen características,

comportamiento, relación,

y semántica semejante.

Page 19: UML.  un analisis comparativo para la diagramación de software

19

Diagramas de Estructura

Diagramas de componentes

Artículos

código

Pedidos Clientes

Cuenta

detalles del cliente

forma de pago

detalles de cuenta

Muestra la distribución de

clases y objetos en

componentes durante la

implementación.

Los componentes pueden

ser código fuente, binario o

ejecutable.

Interface

Componente

Rel. de

Dependencia

Page 20: UML.  un analisis comparativo para la diagramación de software

20

Diagramas de Estructura

Diagramas de despliegue

:Base de

Datos

:Cliente

Comercial

: Base de

Datos

:GUI

Comercial

:Usuarios

:Base de

Datos

Nodos

Interface

ComponenteConexión

TCP/IP

TCP/IP

Servidor Área Comercial

Configuración

Servidor Contabilidad

Cliente WinXP

:Comercial

:Servidor

Aplicaciones

:Contabilidad

Rel. de dependencia

Muestra las

relaciones físicas

entre los

componentes de

software y

hardware en el

sistema final.

Page 21: UML.  un analisis comparativo para la diagramación de software

21

Diagramas de Estructura

Diagramas de objetos

desde el diagrama de clases

* 1

Mazeite:Pedido

FechaPedido: 14/06/07

Cantidad: 12

Código: 6969

Pedro:Cliente

CI: 11722898

Dirección: “La Rotaria”

Nombre: “Pedro P”

* 1

Cliente

CI: Integer

Dirección: String

Nombre: String

Pedido

Cantidad: Integer

Código: Integer

FechaPedido: Integer

Objeto: entidad existente

en el mundo real que se

distingue del resto por sus

características,

comportamientos,

relaciones y semántica

Los diagramas de objetos

modelan las instancias de

elementos contenidos en

los diagramas de clase

Muestran un conjunto de

objetos y sus relaciones

Diagramas de clases

Page 22: UML.  un analisis comparativo para la diagramación de software

Diagramas de Estructura

Diagramas de paquetes

Base de

Datos

Entrada

Pedidos

Pedidos Clientes

Artículos

Dominio

PaqueteRel. de dependencia Muestra como un

sistema está dividido en

agrupaciones lógicas

mostrando la

dependencias entre esas

agrupaciones.

Los paquetes ofrecen un

mecanismo para la

organización de los

subsitemas agrupando

elementos de modelado.

Page 23: UML.  un analisis comparativo para la diagramación de software

23

Diagramas de Comportamiento

Diagramas de casos de uso

Suministro datos

del cliente

realiza

pedido

Cliente

Caso de uso

<<include>>

<<extend>>

realiza

pago

Pedir producto

Solicitar catalogo

Pagar a crédito

Pagar de contado

<<include>>

Actor

Rel.

Asociación

Rel.

Dependencia

Rel.

Generalización

Introducido formalmente

por Ivar Jacobson

Se emplea en la etapa de

elicitación para captar

los requisitos de los

usuarios

Reflejan el contexto del

problema, puede ser

entendido rápidamente

cuáles son los agentes

externos a un sistema y

cómo los utiliza

Límites del

sistema

Page 24: UML.  un analisis comparativo para la diagramación de software

Diagramas de Comportamiento

Diagramas de actividades

Permite destacar y

sincronizar las

operaciones

concurrentes y

establecer caminos

alternativos

Muestra el

comportamiento

combinado de varias

clases

flujo

Recibir

pedido

Cerrar

pedido

Recibir

pago

Enviar

factura

Llenar

pedido

Entregar

de noche

Entregar

regular

actividad final

joinnodo merge

acción

decisión

[sino]

nodo fork

[prioridad]

Servicio al Cliente FinanzasCumplimiento

nodo inicial

Page 25: UML.  un analisis comparativo para la diagramación de software

25

Diagramas de Comportamiento

Diagramas de máquina de estado

Pedido

FechaRecibido

ConPrepago

NúmeroImporte

Divisa…

seleccionar ( )

servir ( )cerrar ( )…

comprobar ( )

*

1

Comprobando

hacer /comprobación

ítem

hacer /inicio de entrega

Sirviendo

EntregadoEsperando

Inicio

estado

Final

estado

Transición

Evento

Actividad

Acción

Auto-

transición

pedido entregado

[no todos los items

comprobados]/seleccionar sig item

[todos los items comprobados &

todos los items disponibles]

[todos los items comprobados & algunos

items no están disponibles en stock]

[todos los items no están disponibles en stock]Item recibido

/seleccionar primer item

Indicador

Se utiliza para describir el comportamiento de una

“clase” dentro de una serie temporal

Page 26: UML.  un analisis comparativo para la diagramación de software

26

Diagramas de Comportamiento

Diagramas de interacción

Diagramas de secuencia

: Una Ventana de

Introducción

de Pedidos

: Una Cartera

de Items en

Stock

: Un Pedido de

Reposición

: Una Línea

de Pedidos

1: identificarCliente ( )

5: comprobarStock ( )

6:asignarItems ( )

8:generarReposición ( )

:Comercial

3: entrarLínaePedido ( )

2: generarPedido ( )

: Un Pedido

4: generarLíneaPedido ( )

7:realizaReposición ( )

Creación de un

nuevo objeto

Auto-mensajeMensaje

Línea de vida de un

objeto durante la

interacción

Objetos que

interactúan

Permite ver cómo suceden cronológicamente los

mensajes entre los objetos

Muestra las interacciones

entre objetos ordenadas en

secuencia temporal

Page 27: UML.  un analisis comparativo para la diagramación de software

27

Diagramas de Comportamiento

Diagramas de interacción

Diagramas de colaboración

: Una Ventana de Introducción de Pedidos

4: generarLíneaPedido ( )

1: identificarCliente ( )

6:asignarItems ( )

8:generarReposición ( )

3: entrarLínaePedido ( )

7:realizaReposición ( )

2: generarPedido ( )5: comprobarStock ( )

: Un Pedido

: Una Cartera de Items en Stock

:Comercial

: Un Pedido de Reposición

: Una Línea de Pedidos

Enlace entre

dos objetos

Número de

Secuencia

Dirección del

mensaje

Número de

Secuencia

Mensaje

Objeto (Instancia de

una Clase)

Auto -

mensaje

No permite observar gráficamente la

cronología de los mensajes

Orden los mensajes

más no su secuencia

Page 28: UML.  un analisis comparativo para la diagramación de software

28

Análisis Comparativo

Entre los “elementos” de UML y la PE /MOO

Análisis

Estructurado

son de tipo condicional, cambian según los requerimientos

del sistema

diagramas de flujo de datos (diferentes notaciones)

el diagrama de entidad relación

Análisis

OO

representan objetos y clases (diversos diagramas)

elementos de estructuras estática y dinámicas

diversidad de elementos con el mismo significado

UML Son de tipo estructurales, de comportamiento, de

agrupación y de anotación.

son heredados de los elementos de los MOO

manejan tanto procesos estáticos como dinámicos

Page 29: UML.  un analisis comparativo para la diagramación de software

29

Análisis Comparativo

Entre las “relaciones” de UML y los de PE /MOO

Análisis OO UML

ASOCIACIÓN (Agregación /Composición)

Tipo de Relación

OMT.

Booch

“es parte de”OMT.

Booch

Booch

Co

mp.

Aso

c.A

gre

g.

“tiene un”“compuesto por” o

“contiene” o

HERENCIA

(Booch)

GENERALIZACIÓN:/

ESPECIFICACIÓN:

(OMT)

“es un”

GENERALIZACIÓN único concepto en UML para tratar la herencia

Se categoriza la herencia de

acuerdo a su naturaleza:

descendente/simple

(especificación) o

ascendente/múltiple

(generalización)Herencia: mecanismo para compartir atrib. y oper.

Refinamiento de una superclase en una subclase

Una superclase generaliza las subclase

Page 30: UML.  un analisis comparativo para la diagramación de software

30

Análisis Comparativo

Entre las “relaciones” de UML y los de PE /MOO

UMLTipo de Relación

REALIZACIÓN

DEPENDENCIA

(UML)

Es una relación de uso que se da entre dos elementos

(un elemento utiliza a otro).

Implica que los cambios que se produzcan en un

elemento pueden afectar al otro pero no

necesariamente a la inversa.

Es una relación semántica entre clasificadores donde un

clasificador especifica un contrato que otro clasificador

garantiza llevar a cabo.

Análisis OO

USO / AOO

UTILIZACIÓN

Se encuentran en dos partes: entre interfaces y las clases o

componentes que las realizan y entre casos de uso y las

colaboraciones que las realizan.

Page 31: UML.  un analisis comparativo para la diagramación de software

Análisis Comparativo

Entre los “diagramas” de UML y los de PE /MOO

P. Estructurada Análisis OO UML

Diagrama de flujo Diagrama de actividades

Diagrama de clasesDiagrama de E/R

DFD D. de casos de uso

D. de máquina de estadoDiagrama de estados

Diagrama de objetos D. de colaboración

Diagrama de secuenciaDiagrama de secuencia

D. de caso de uso D. de caso de uso

Diagrama de objetos Diagrama de objetos

Page 32: UML.  un analisis comparativo para la diagramación de software

P. Estructurada Análisis OO UML

Diagrama de flujo Diagrama de actividades

Los DA son similares a los DF

La principal diferencia, es

que los DA soportan tanto el

comportamiento paralelo

como secuencial

En los DA, las

actividades están

unidas a objetos y

en un DF se

presentan en forma

de condiciones que

se deben cumplir.

flujo

Recibir

pedido

Cerrar

pedido

Recibir

pago

Enviar

factura

Llenar

pedido

Entregar

de noche

Entregar

regular

actividad final

joinnodo merge

acción

decisión

[sino]

nodo fork

[prioridad]

Servicio al Cliente FinanzasCumplimiento

nodo inicial

Page 33: UML.  un analisis comparativo para la diagramación de software

33

P. Estructurada Análisis OO UML

DFD D. de casos de uso

Los DFD en comparación con los diagramas de casos de uso implican el

modelado del contexto del sistema, de esta manera las entidades externas y

los agentes externos respectivamente funcionan recíprocamente igual.

Un proceso definitivo del diagrama de flujo de datos de un

sistema se puede considerar como diagrama de casos de uso

Tanto el diagrama de flujo de datos como los diagramas de casos de uso

hacen posible la visión de los aspectos funcionales del sistema.

La descomposición de los DFD en niveles inferiores de detalles es

similar a la creación de algunos diagramas de casos de uso

Los DFD y los diagramas de casos de uso utilizan textos narrativos como

ayuda para especificar sus procesos.

Page 34: UML.  un analisis comparativo para la diagramación de software

34

P. Estructurada Análisis OO UML

Diagrama de clasesDiagrama de E/R

En UML existe la carencia de medios para representar los

diagramas de entidad relación

Las bases de datos relacionales no han podido ser suplidas

por otro tipo de repositorios

En UML lo único similar a la DER son los diagramas de clases

Las clases tienen características que no se consideran en las

entidades como: atributos privados/protegidos/públicos y los

métodos (operaciones/comportamientos)

Las entidades sólo muestran de estás características los

atributos y las mismas relaciones que se dan en un diagrama

de clases

Page 35: UML.  un analisis comparativo para la diagramación de software

ANÁLISIS DISEÑO IMPLEMENTACIÓN

DESARROLLO

ESTRUCTURADO

MÉTODO

ORIENTADO A

OBJETOS

UML

DFD

E-R

DE

Modelo

Relacional

Entornos de

Programación

Entornos de Programación

Orientada a Objetos

Bases de Datos Relacionales

Diagramas de Casos de Uso

Diagramas de Actividad

Diagramas de Secuencia

Diagramas de Colaboración

Diagramas de Interacción

Diagramas de Clases

Diagramas de Estados

Diagramas de Actividad

Modelo

Relacional

Métodos de Booch,

Good, Hood,

OODLE, JSD y

OOJSD, OOSD

Métodos de

Shlaer/Mellor,

Coad/Yourdon, OMT de

Rumbaugh, Wirfs-Brock

P. Estructurada Análisis OO UML

Diagrama de clasesDiagrama de E/R

Fuente: Pérez (2002), adaptación

por Yedra (2007)

Situación actual del DS

Page 36: UML.  un analisis comparativo para la diagramación de software

36

Evento (desencadena la

transición)

Análisis OO UML

D. de máquina de estadoDiagrama de estados

Diagramas de transición de

estados (Notación Booch)

Diagramas de estados

(Notación OMT)

Relaciona sucesos y

estados

Muestra el espacio de estados

de una clase determinada

(esto no ha cambiado en

UML)

Cuando un estado recibe un

“suceso”, el estado siguiente

depende del actual

Sucesos (desencadena la

transición)

Acciones

IndicadorNo utiliza indicador

Sucesos

Muestra la secuencia de

estados por los que pasa un

caso de uso, una clase o un

objeto a lo largo de su vida

Un “evento” es algún suceso que

puede causar un cambio de estado

en el sistema y puede disparar una

acción.

Acciones

Evento (desencadena la

transición)

Indicador

Igual que la notación

de Booch

Page 37: UML.  un analisis comparativo para la diagramación de software

37

Análisis OO UML

Diagrama de objetosD. de colaboración

(Notación de Booch)

Permiten profundizar el

nivel de detalle de los

diagramas de secuencia

Muestra la existencia de

objetos y sus relaciones en la

vista lógica de un sistema

Se usan para indicar la

semántica de los escenarios

que proporcionan la traza del

comportamiento del sistema

La relación entre objetos viene dada por medio de una flecha que

indica la dirección de la invocación

Muestra el escenario que se

da en un diagrama de

secuencia, muestra las

interacciones entre objetos

Enfatizan la organización estructural de los objetos que

envían y reciben mensajes

Page 38: UML.  un analisis comparativo para la diagramación de software

38

Análisis OO UML

Diagrama de secuenciaDiagrama de secuencia

Diagramas de interacción

(Notación Booch)

Diagramas de

seguimientos de sucesos o

traza de eventos (OMT)

En los diagramas de secuencia por cada escenario que se presenta

se construye un diagrama

Toman los elementos

esenciales de los

diagramas de objetos

El orden se indica mediante

la posición vertical

Para la construcción de

escenario es necesario

identificar los objetos emisores

y receptores de cada suceso.

El tiempo aumenta desde

arriba hacia abajo

Enfatizan el orden de

tiempo de los mensajes

(se enumeran)

Por lo general se da

primero que el diagrama

de colaboración

Page 39: UML.  un analisis comparativo para la diagramación de software

39

P. Estructurada Análisis OO UML

D. de caso de uso D. de caso de uso

Los Casos de Uso de UML cubren la carencia que existente en los

métodos previos (OMT, Booch) en cuanto a la determinación de

requisitos.

Se utiliza para describir lo que un nuevo sistema debe hacer

Se enumeran escenarios

fundamentales para el

funcionamiento del sistema

El “escenario” a veces se

utilizan como sinónimos de

casos de uso

Un “escenario” se refiere a los

pasos que se desarrollan dentro

de un caso de uso

No se enumeran escenarios

fundamentales para el

funcionamiento del sistema

Se construye sobre las especificaciones de los requisitos

Page 40: UML.  un analisis comparativo para la diagramación de software

40

P. Estructurada Análisis OO UML

Diagrama de objetos Diagrama de objetos

La principal diferencia entre estos diagramas es el uso de

mensajes entre objetos, el rol, el uso de llaves y restricciones, el

sincronismo y visibilidad de los enlaces

Diagrama de objeto

(Notación OMT)

Diagrama de objeto

(Notación de Booch)

Muestra la existencia de

objetos y sus relaciones, se

usan para indicar la semántica

de los escenarios que

proporcionan la traza del

comportamiento del sistema

Es un grafo cuyos

nodos son clases de

objetos y cuyos arcos

son relaciones entre

las clases

Modelan las instancias

de elementos

contenidos en los

diagramas de clases.

Los diagramas de objetos permiten modelar estructuras de datos estáticas.

Page 41: UML.  un analisis comparativo para la diagramación de software

41

Conclusiones

Análisis

Estructurado

UML - un análisis comparativo para la diagramación de software

descomposición jerárquica de los

componentes de los procesos en

sub-procesos

Análisis

OO

descomposición de un problema, pero

desde la perspectiva de los objetos,

clases, cualidades y operaciones

UMLse acentúa la descomposición de los

problemas en partes, pero utilizando

diferentes diagramas que se dividen

en estáticos y dinámicos.

Page 42: UML.  un analisis comparativo para la diagramación de software

42

ConclusionesEn cuanto a los Elementos…

heredados de los

elementos estructurales

utilizados en los MOO

Representan

objetos y sus clases

Son de tipo

condicional

Análisis OOELEMENTOS

Page 43: UML.  un analisis comparativo para la diagramación de software

43

Conclusiones

RELACIONES

heredadasUMLAnálisis OO

Asociación

Herencia

Composición

Agregación

Generalización

En cuanto a las Relaciones…

Page 44: UML.  un analisis comparativo para la diagramación de software

44

Conclusiones

DIAGRAMAS

Existe la posibilidad de definir reglas (usualmente en

OCL) que describen restricciones sobre la semántica de

las relaciones.

UML ofrece un proceso de modelado sin fallas durante el

análisis, para diseñar la implementación, define una

notación expresiva y consistente que se basa en estándares.

lo bueno…

En cuanto a los Diagramas…

Page 45: UML.  un analisis comparativo para la diagramación de software

45

Conclusiones

No existe una notación especifica para describir modelos

de sistemas de tiempo real, componentes de hardware

específicos y sus características.

Ausencia de diagramas de navegación y de herramientas o

artefactos para plasmar la navegación

DIAGRAMAS

UML no garantiza el éxito de un proyecto

lo malo…

En cuanto a los Diagramas…

Page 46: UML.  un analisis comparativo para la diagramación de software

46

Bibliografía

Botelho, Alessandro; Balancieri, Renato; Ferrari, Sandra. (2004). Do

Diagrama de Fluxo de Dados ao Use Case. I Workshop de Computación.

Universidad del Sur Santa Catarina. Brasil.

Booch Grady; Rumbaugh, James; Jacobson, Ivar. (2002). El Lenguaje

Unificado de Modelado. Manual de Referencia. Addison Wesley.

Las más importantes…

Fowler, Martin. (2003). UML Destilled: A Brief guide to the Tandard

Object modeling Languaje. Third Edition. Addison Wesley.

Gacitúa, Ricardo. (2003). Métodos de Desarrollo de Software: El

Desafió Pendiente de la Estandarización. Dpto. Sistemas de Información,

Facultad de Ciencias Empresariales, Universidad del Bío-Bío. Theoria,

Vol. 12: 23-42.

Page 47: UML.  un analisis comparativo para la diagramación de software

47

Bibliografía

Insfrán, Emilio; Pelechado, Vicente; Gómez, Jaime; Pastor, Oscar. (2001).

Un estudio comparativo de la expresividad de relaciones entre clases en

OO-Method y UML. Departamento de Sistemas de Información y

Computación. Universidad Politécnica de Valencia – España.

Gane, Chris; Sarson, Trish. (1977). Análisis Estructurado de Sistemas.

Quinta reimpresión. Buenos Aires, Editorial El Ateneo.

Las más importantes…

Larman, Craig. (2004). UML y Patrones. Una Introducción al Análisis y

Diseño Orientado a Objetos y al Proceso Unificado. Prentice Hall.

Yourdon, Edward. (1989). Análisis Estructurado Moderno. Prentice –

Hall. México.