Ingeniería de Software Lenguaje de Modelamiento Unificado - UML
Facultad de IngenieríaEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe Soto
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.
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)
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.
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
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!
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
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.
… 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.
... 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.
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
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
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
¿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
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
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
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.
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”
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..
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
Enfoques de UMLVistas de UML: Arquitectura 4 + 1 Kruchten (1995)Erikson Penker (1994 y 1997)
5 Vistas9 Diagramas
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
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
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
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
Ingeniería de Software Lenguaje de Modelamiento Unificado - UML
Facultad de IngenieríaEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe Soto