Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodologas, UML y
patrones de diseo
ndice
Conceptos
Lenguajes
de modelado: UML
Metologas:
Patrones
de diseo de sofware
Arquitecturas dirigidas por modelos (MDA)
Herramientas de modelado
Componentes bsicos
RUP. Tcnicas
y su aplicacin a la gestin
de proyectos software orientados a objeto.
XP. Gestin gil de proyectos y grupos de
desarrollo.
UML. Diagramas, elementos notacionales y
semntica de los modelos generados.
Qu es UML?
Qu es UML?
UML
Es posible hacer
Ingeniera Directa
corresponder
con los lenguajes Modelo
CDIGO
de programacin UML
(Java, C#,
Ingeniera Inversa
B.Datos, etc.).
Requisitos
Arquitectura
Diseo
Cdigo fuente
Planificacin
Pruebas
Prototipos
Versiones
Jacobson
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
Object life cycles
UML
Harel
State Charts
Embly
Singleton classes
Wirfs-Brock
Fusion
Operation descriptions,
message numbering
Responsabilities
Historia de UML
UML 2.0
2001
UML 1.4
2000
1999
1998
Nov 97
UML 1.3
UML 1.2
Revisiones
menores
Actualizaciones de UML
UML 2.0
Modelos y Diagramas
Modelos y Diagramas
Organizacin de Modelos
Vista de Diseo
Vista de los
Casos de Uso
Vista de
Procesos
Vista de
Implementacin
Vista de
Despliegue
Diagramas de UML
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
State
State
Diagramas de
Diagrams
Diagrams
Clases
Modelo
Diagramas de
Actividad
State
State
Diagramas de
Diagrams
Diagrams
Objetos
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Component
Component
Diagrams
Diagramas
Diagrams de
Distribucin
Es ms que un lenguaje
grfico (semntica detrs de la notacin).
Adornos. Detalles sobre un clase, nivel de
acceso de sus mtodos, notas.
Divisiones Comunes: Clase/Objecto o
Interfaz/Implementacin.
Extensibilidad. Estereotipos, valores etiquetados
o restricciones.
Casos de Uso
Casos de Usos
Casos de Usos
Casos de Usos
Casos de Usos
Casos de Usos
Tambin
Casos de Usos
Usa
Casos de Usos
Extiende
Casos de Usos
Tcnicas
comunes de modelado:
Diagrama de Clases
Clase
Objeto
Herencia
Interfaz
Polimorfismo de clases
Clases y atributos estticos
Clases y atributos finales
Clases y mtodos abstractos
Diagrama de clases
Diagrama de clases
Usos
Diagrama de clases
Diagrama de clases
Diagrama de clases
Diagrama de clases
Nombre de la clase
Atributos
Mtodos
Diagrama de clases
Diagrama de clases
Tcnicas de modelado:
Modelado del vocabulario de un sistema a partir de
las descripciones funcionales.
Modelado de la distribucin de responsabilidades en
un sistema.
Modelado de cosas que no son software (hardware,
personas, etc).
Modelado de tipos primitivos.
Diagrama de clases
Asociacin
(rol,
multiplicidad,
calificador):
representan las relaciones entre instancias de clase.
Una asociacin es una lnea que une dos o ms
clases.
Diagrama de clases
Diagrama de clases
Diagrama de clases
Diagrama de clases
Diagrama de clases
Los
Asociacin binaria.
Asociacin n-aria.
Composicin.
Generalizacin.
Refinamiento.
Diagrama de clases
Diagrama de clases
Diagrama de clases
Composicin:
implica:
Diagrama de clases
Se
Diagrama de clases
Diagrama de clases
Agregacin:
Diagrama de clases
Diagrama de clases
Diagrama de clases
Diagrama de clases
Refinamiento:
Diagrama de clases
Diagrama de clases
Tcnicas de modelado:
Modelado de dependencias simples.
Modelado de herencia simple.
Modelado de relaciones estructurales
(composiciones y agregaciones).
Modelado de comentarios.
Diagrama de clases
Diagrama de Interaccin
Diagrama de interaccin
Estos
Diagrama de interaccin
Diagrama de interaccin
Elementos
bsicos
del
diagrama
interaccin:
de
Diagrama de interaccin
Diagrama de interaccin
Diagrama de interaccin
Diagramas de Colaboracin:
Diagrama de interaccin
Diagrama de interaccin
Tcnicas de modelado:
Modelado dinmico del sistema.
Implementacin de un caso de uso en concreto para
cada diagrama.
Modelado del flujo de control por ordenacin temporal
(secuencia).
Modelado del flujo de control por organizacin
(colaboracin).
Diagrama de Estados
Diagrama de estados
Diagrama de Estados:
Muestra el conjunto de estado por los cuales
pasa un objeto durante su vida en una aplicacin
junto con los cambios que permiten pasar de un
estado a otro. Esta representado principalmente
por los siguientes elementos:
Estado.
Elemento.
Transicin.
Diagrama de estados
Estado: Identifica un perodo de tiempo del objeto
Diagrama de estados
Partes
Nombre
Acciones de entrada y de salida.
Transiciones internas.
Subestados.
Eventos diferidos.
Diagrama de estados
Diagrama de estados
Transicin: Es una relacin entre estados de un
fuente a un destino.
Partes que componen una transicin:
Estado de origen.
Evento de disparo.
Condicin de guarda.
Accin.
Estado de destino.
Diagrama de estados
Otros
elementos:
Diagrama de estados
Diagrama de estados
Tcnicas de modelado:
Modelado de la vida de un objeto. Este tipo de
diagramas se asocian directamente a una clase.
Diagrama de Actividades
Diagrama de Actividades
Diagrama de Actividades
Accin
Transicin.
Objetos
Diagrama de Actividades
Estado
Diagrama de Actividades
Estado
Diagrama de Actividades
Casos
especiales:
Diagrama de Actividades
Casos
especiales:
Diagrama de Actividades
Transicin:
Diagrama de Actividades
Tipos
de transiciones:
Diagrama de Actividades
Diagrama de interaccin
Tcnicas de modelado:
Diagrama de Componentes
Diagrama de componentes
Diagrama de componentes
Diagrama de componentes
Diagrama de componentes
Tcnicas de modelado:
Diagrama de Despliegue
Diagrama de despliegue
Diagrama de despliegue
Diagrama de despliegue
Los
Diagrama de despliegue
Diagrama de despliegue
Diagrama de despliegue
Tcnicas de modelado:
Casos de uso
Casos de Uso
<<defineNecesidades>>
Anlisis
Recopilar,
Clarificar y
Validar los
requerimientos
<<realiza>>
<<verifica>>
Diseo
Pruebas
Realizar los
casos de uso
Verificar que se
satisfacen los
casos de uso
Arquitectura
Centrado en la arquitectura
Arquitectura en software
Iterativo e incremental
Estructura
Dinmica
Ciclo: cada ciclo una nueva versin del producto
Fase: Etapas de un ciclo que finalizan en un HITO
Iteracin: Proceso de ingeniera sobre una funcionalidad
limitada del sistema
Artefactos
Actividades
Roles
Estructura
Roles
Actividades
Artefactos
Flujo de Trabajo
QUIN?
CMO?
QU?
CUNDO?
realiza
diseador
responsable de
diagrama de
secuencia
diseo de caso
de uso
Roles
Rol
Actividad
Artefacto
Diseador
Analista
Dominio
Diseador
Funcional
Diseo de Objetos
Definicin de CU
DC
DCU
Diseo de CU
DS
Actividades
Artefactos
Flujos de trabajo
De ingeniera
De soporte
Dimensin dinmica
fase
ciclo
Concepcin Elaboracin
hito 1
Iter. 1
hito 2
Iter. 2
Construccin
hito 3
Iter. 3 Iter. 4 Iter. 5
Transicin
hito 4
Iter. 6
Desarrollo iterativo
Construccin
Ciclo de
desarrollo 1
Ciclo de
desarrollo 2
Perfeccionar
el plan
Anlisis
Diseo
Ciclo de
desarrollo n
Sincronizar
Artefactos
Construccin
Pruebas
Fase de concepcin
Actividades
Artefactos
Fase de elaboracin
Artefactos
Fase de construccin
Objetivo:
Anlisis
Diseo
Codificacin
Pruebas (individuales, de integracin)
eXtreme Programming
Es
Comunicacin
Simplicidad
Retroalimentacin
Coraje
Roles
Programador (Programmer)
Responsable de decisiones
tcnicas
Responsable de construir el
sistema
Sin distincin entre analistas,
diseadores o codificadores
En XP, los programadores
disean, programan y realizan las
pruebas
Jefe de Proyecto
(Manager)
Cliente (Customer)
Roles
Encargado
de
Pruebas (Tester)
Rastreador
(Tracker)
Metric Man
Observa sin molestar
Conserva datos
histricos
Entrenador
(Coach)
Captura de requisitos
Planificacin
Programacin
Modelo de un proyecto
Prcticas
El juego de la
planificacin
Entregas
pequeas
Metfora
Diseo simple
Pruebas
Refactoring
Programacin en
parejas
Propiedad colectiva
Integracin contnua
Semana de 40 horas
Cliente in situ
Estndares de
programacin
El juego de la planificacin
El juego de la planificacin
Entregas pequeas
Diseo simple
Pruebas
NUnit
Refactoring
C# Refactoring
Herramientas
Programacin en parejas
Extiende el conocimiento
Propiedad colectiva
Integracin contnua
Cliente in situ
Estndares de programacin
Definicin
Nombre
Resumen o esencia de la solucin
Contexto al que se aplica
Razones para utlizar o no el patrn
Consideraciones de implementacin
Consecuencias e implicaciones de su uso
Ejemplo de uso (Test Case)
Patrones relacionados
Fuerza
Solucin
Solucin
Beneficios
Consecuencias
Patrones relacionados
creacin
De particin
Estructurales
De comportamiento
De concurrencia
Fundamentales
Son
Fundamentales
Delegate
Interface
Abstract superclass
Interface + abstract class
Immutable
Proxy
De creacin
De creacin
Factory
Builder
Prototype
Singleton
Object pool
De particin
Siguen
De particin
Filter
Composite
Read-only
interface
Estructurales
Describen
Estructurales
Adapter
Iterator
Bridge
Faade
Flyweight
Dynamic linkage
Virtual proxy
Decorator
Cache management
De comportamiento
Patrones
De comportamiento
Chain of responsibility
Command
Little language
Mediator
Snapshot
Observer
State
Null object
Strategy
Template method
Visitor
De concurrencia
Patrones
para la coordinacin de
operaciones concurrentes y que permiten
solucionar dos problemas principalmente:
Recursos compartidos
Secuenciacin de operaciones
De concurrencia
Introduccin
Modelo independiente
independiente de
de la
la plataforma
plataforma
Modelo
(PIM)
(PIM)
Reglas de transformacin
Modelo especfico
especfico
Modelo
(PSM)
(PSM)
Modelo especfico
especfico
Modelo
(PSM)
(PSM)
XMI
Document (PSM)
<Auto>
<Color> Red </Color>
<Door> 4 </Door>
<Engine> 2 </Engine>
</Auto>
XMI
M
IDL,Auto
Java (PSM)
interface
{Class Auto
}; {public String color;
public int Door;
public int Engine;
}
Borland Together
IBM Rational Suite
Argo UML
Poseidon
Umbrello
Eclipse UML2
Eclipse Omondo
Together
AndroMDA
Intercambio de metadatos
Formato XMI
Importacin y exportacin a este formato por parte
de las herramientas
Base para las transformaciones en MDA