Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA DE SOFTWARE
DIRIGIDA POR MODELOS
(MODEL-DRIVEN ARCHITECTURE)
• Visualizar
• Especificar
• Construir
• Documentar
artefactos de sistemas intensivos de software
LENGUAJES DE MODELADO,
MODELOS Y DIAGRAMAS
• Un lenguaje de modelado permite expresar los distintos
modelos que se producen en el proceso de desarrollo.
• Un modelo es una representación abstracta de una
especificación, un diseño o un sistema desde un punto de
vista particular.
• Un diagrama es una representación de (parte de) un
modelo de diseño
• Un modelo se representa por uno o más diagramas
LENGUAJE DE MODELADO UML 2.0
• Elementos primitivos de modelado
(estáticos, dinámicos, agrupamiento, anotaciones)
• Relaciones
• Dependencia
• Asociación
• Generalización
• Realización
• Diagramas UML (13 diagramas)
• Diagramas estáticos
• Diagramas de comportamiento
RELACIONES
Dependencia
Una relación semántica entre dos elementos, tal que
un cambio en una de ellos (el independiente) puede
afectar al otro (el dependiente).
A B
“B depende de A”
RELACIONES
Asociación
Es una relación estructural que describe un
conjunto de links, siendo un link una conexión
entre objetos
0..1 *
empleador empleado
RELACIONES
Generalización
Una relación de generalización/especialización
en la que el elemento especializado
(descendiente) se construye sobre la
especificación del elemento generalizado
(ancestro)
RELACIONES
Realización
Es una relación semántica en la que un
clasificador, tal como una interfaz o un caso de
uso, especifica un “contrato” que otro
clasificador, tal como una clase o una
colaboración, garantiza llevar a cabo.
DIAGRAMAS UML
Diagramas estáticos
• Diagrama de clases
• Diagrama de objetos
• Diagrama de componentes
• Diagrama de estructura compuesta
• Diagrama de paquetes
• Diagrama de despliegue
DIAGRAMA DE CLASES
Muestra un conjunto de
clases, interfaces,
colaboraciones y
sus relaciones
DIAGRAMA DE OBJETOS
Muestra la
descomposición del
modelo en unidades de
organización y sus
dependencias.
DIAGRAMA DE DESPLIEGUE
Diagramas de comportamiento
• Diagramas de casos de uso
• Diagrama de secuencia
• Diagrama de colaboración
• Diagrama de estados
• Diagrama de actividades
• Diagrama cronológico
• Diagrama general de interacciones
DIAGRAMA DE CASOS DE USO
Es un diagrama de
interacción que muestra los
objetos y actores que
participan en una
colaboración poniendo el
énfasis en el ordenamiento
en el tiempo de los
mensajes
DIAGRAMA DE COLABORACIÓN
Un diagrama de
interacción
que pone el énfasis en la
organización estructural de
los objetos o roles que
envían y reciben mensajes.
DIAGRAMA DE ESTADOS
Muestra un autómata
que consiste de estados,
transiciones, eventos y
actividades
DIAGRAMA DE ACTIVIDADES
Muestra la estructura de
un proceso u otro cálculo
como el flujo de control
y datos paso a paso en el
cálculo.
DIAGRAMA CRONOLÓGICO
(TIMING DIAGRAM)
Es un diagrama de
interacción que muestra
tiempos a lo largo de
diferentes objetos o
roles, y no secuencias
relativas de mensajes
DIAGRAMA DE INTERACCIONES
GENERAL
(INTERACTION OVERVIEW
DIAGRAM)
Es un híbrido de
diagramas de actividad
y de secuencia.
Diagramas estáticos UML
Diagrama de clases
DIAGRAMA DE CLASES
nombre
atributos
operaciones
DIAGRAMA DE CLASES
RESPONSABILIDADES
Una responsabilidad es un contrato o una
Responsabilities
--maintain the information
regarding products shipped
against an order
--track the status and location of
the shipped products
DIAGRAMA DE CLASES
VISIBILIDAD
UML permite diferentes formas de acceso a
miembros de una clase:
• + Público
• # Protegido
• - Privado
DIAGRAMA DE CLASES
RELACIONES
Las relaciones más importantes entre clases son:
• Dependencia
• Generalización
• Asociación
DIAGRAMA DE CLASES
ASOCIACIONES
Una asociación es una relación estructural que
especifica que objetos de una clase están
conectados a objetos de otra
Tipos de asociaciones
• Unaria
• Binaria
• N-aria
DIAGRAMA DE CLASES
ASOCIACIONES
Multiplicidad nombre
0..1 Trabaja-para *
empleador empleado
rol
DIAGRAMA DE CLASES
ASOCIACIONES
Nombre
Rol
Cuando una clase participa en una asociación,
tiene un rol específico que juega en tal relación.
Multiplicidad
Puede ser un rango de valores o un valor explícito:
• Exactamente 1 1
• Cero 0..1 0..1
• Cero o más 0..*
• Uno o más 1..*
• Subrango m..n
Navegabilidad
DIAGRAMA DE CLASES
AGREGACIÓN- COMPOSICIÓN
Relaciones “es-parte-de”, una clase representa al “todo”
y otra a las “partes”.
Agregación Diamante blanco
Composición Diamante negro
En una composición hay relación entre los ciclos de
vida del “todo” y sus “partes”. La multiplicidad en el
extremo del “todo” en una composición debe ser 1 ó
0..1
• una “parte” no puede pertencer a más de un “todo”
DIAGRAMA DE CLASES
ASOCIACIONES
DIAGRAMA DE CLASES
INTERFAZ
Una interfaz es una colección de operaciones que
son usadas para especificar un servicio de una
clase
• No especifican estructura ( no tiene atributos)
• No tiene asociadas implementaciones con ninguna de las
operaciones
No necesita especificar todas las operaciones
• Una clase podría incluir varias interfaces diferentes
DIAGRAMA DE CLASES
INTERFACES
DIAGRAMA DE CLASES
CLASES ABSTRACTAS
Pueden tener implementaciones definidas para
algunas de sus operaciones ( al menos una no
está definida)
Una clase abstracta en la que ninguna de las
operaciones tiene implementación y no tiene
atributos es lo mismo que una interfaz.
DIAGRAMA DE CLASES
CLASES ABSTRACTAS
DIAGRAMA DE CLASES
CLASES PARAMETRIZADAS
DIAGRAMAS DE UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Secuencia
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelo Componentes
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribución
Estados Diagramas de
Actividad
42
“Un modelo es una descripción completa de un sistema desde una perspectiva concreta”
DIAGRAMAS DE UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Secuencia
Estructural
Interacción Comportamiento
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelo Componentes
Implementación
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Despliegue
Estados Diagramas de
Actividad
DIAGRAMAS DE CLASE
44
DIAGRAMAS DE CLASE
45
DIAGRAMAS DE OBJETOS
46
DIAGRAMAS DE CASOS DE USO
47
DIAGRAMAS DE CASOS DE USO
48
DIAGRAMAS DE INTERACCIÓN
50
DIAGRAMAS DE ESTADO
51
DIAGRAMAS DE ESTADO
52
DIAGRAMAS DE ACTIVIDADES
53
DIAGRAMAS DE ACTIVIDADES
54
DIAGRAMAS DE COMPONENTES
55
DIAGRAMAS DE COMPONENTES
56
DIAGRAMAS DE DESPLIEGUE
57
DIAGRAMAS DE DESPLIEGUE
58
RESÚMEN DE DIAGRAMAS UML DE UN SISTEMA
SOFTWARE
Repository DocumentList
fetchDoc( )
sortByName( )
FileList
DocumentList
add( )
delete( )
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
read() fill the
code..
FileManager
Document
sortFileList( )
fList create( )
fillDocument( )
add( )
delete( )
1
GraphicFile
rep
File FileList
Repository File
Use Case 2
Use Case 3
Diagramas de Clases Diagramas de Componentes
Windows95
¹®¼°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
¹®¼°ü¸® ¾ÖÇø´
Solaris
¹®¼°ü¸® ¿£Áø.EXE
Windows
NT
IBM
Mainframe
repository : Repository
BO Contrapartida
[operación insertada]
Diagramas de Despliegue
Validar y Completar
Operación -Operador BO
Diagramas de Objetos
-K+ (interfaz)
-KBO
[ ok ] Calcular Flujos
de Caja
[error operación]
[ prima es en divisa ]
Generar Avances
para Extranjero
-Operador BO
-KBO
-Host: Liquidaciones (interfaz)
Enviar
Confirmación
Evalua
Confirmación
-KBO
-Host:SWIFT (interfaz)
-KBO
[ confirmación rechazada ]
Registrar Error
Diagramas Dinámicos
-Operador BO
-KBO (interfaz) [operación contratada]
Identificar
Motivo Rechazo
-Operador BO
Determinar Acciones
Correcion
[operacion no contratada]
Diagramas de Actividad
mainWnd fileMgr : document : gFile repository
user FileMgr Document
9: sortByName ( )
2: fetchDoc( )
mainWnd : MainWnd
3: create ( )
4: create ( )
Writing 2: fetchDoc( )
add file [ numberOffile==MAX ] /
flag OFF gFile : GrpFile
4: create ( ) 5: readDoc ( )
8: fillFile ( )
Openning
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( )
user : Clerk ¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
3: create ( )
6: fillDocument ( ) 8: fillFile ( )
close file
Closing È¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )
Reading °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
7: readFile ( ) º¸¿©ÁØ´Ù.
5: readDoc ( )
document : Document
repository : Repository
59
Diagramas de Estados Diagramas de Colaboracion Diagramas de Secuencia
REGLAS DE UML
60
REGLAS DE UML
61
REGLAS DE UML
62
MECANISMOS COMUNES
64
MECANISMOS COMUNES: ADORNOS
65
MECANISMOS COMUNES: DIVISIONES
COMUNES
• En el modelado OO, se pueden ver las cosas desde la
generalidad (abstración) y/o lo particular (concreto).
66
MECANISMOS COMUNES: DIVISIONES
COMUNES
• Otra dicotomía que se suele presentar es la de que un
elemento nos presenta una “declaración” –interfaz- y
otro lo complementa haciendo su implementación.
67
MECANISMOS COMUNES:
EXTENSIBILIDAD
• UML proporciona un lenguaje estándar para escribir planos
de software, pero es posible que no sea suficiente para cubrir
todos los matices de todos los modelos en todos los dominios y
en todos los modelos.
• Los mecanismos de extensibilidad permiten configurar y
extender UML para las necesidades de un proyecto.
• Los mecanismos que permiten extender el lenguaje en UML
son:
• Esteriotipos
• Valores etiquetados
• Restricciones
68
MECANISMOS COMUNES
EXTENSIBILIDAD
• Los esteriotipos permiten crear nuevos tipos de bloques de
construcción que deriven de los existentes, pero que sean
específicos a un problema.
• Valor Etiquetado, extiende las propiedades de un bloque de
construcción, permitiendo añadir nueva información en la
especificación de un elemento.
• Restricciones extiende la semántica de un bloque de construcción
de UML.
69
METODOLOGÍA DE DESARROLLO
Diagr. de
Diagr. de
Diagr. de
Diagr. de
Diagr. de
Diagr. Diagr.
de de Diagr. de
Casos deActividad
Uso Secuencia
Colaboración
Clases/Objetos
Estados
Componentes
Despliegue
70
LECTURAS RECOMENDADAS
71
BIBLIOGRAFIA
72
Fin
73