Você está na página 1de 71

Introduccin a UML

Orientacin a objetos
Definir, organizar, visualizar
Historia de UML
Diagramas bsicos UML
Metodologa de desarrollo
Versin 3.1
Noviembre 2000

Vilalta Consultores 2000

Orientacin a Objetos
Manera

diferente de ver una aplicacin


Organizar la complejidad en microestructuras
Componentes reutilizables
Adaptabilidad a un entorno cambiante
De la orientacin a datos a las reglas de
negocio
Interdependencia
Flexibilidad
Vilalta Consultores

Orientacin a Objetos
Cambio de mentalidad
Mentalidad Procedural
Qu hace el sistema?
Qu objetivos tiene ?
Cmo diseo y codifico
para conseguir los
objetivos?
Enfoque dirigido a los
algoritmos
Enfoque centrado en los
datos

Mentalidad O-O
Qu objetos configuran el
sistema?
Cual es la estructura y
funcin de cada objeto?
Cmo puedo precisar la
dinmica del sistema a
travs del comportamiento
o la interaccin de sus
objetos?
Posponer las funciones
algortmicas
Posponer el modelo de
datos

Vilalta Consultores

Orientacin a Objetos
Encapsulacin

Empaquetamos dentro de un objeto una pieza


de informacin con un comportamiento
especfico que acta sobre esta informacin
Ventaja:
Limitamos

los efectos de cambios sobre el sistema


Vilalta Consultores

Orientacin a Objetos
Herencia

Es un mecanismo que nos permite crear


nuevos objetos basados en una progenie
Ventaja:
Facilidad

de mantenimiento

Vilalta Consultores

Orientacin a Objetos
Polimorfismo

Capacidad de aplicar distintas


implementaciones a una determinada
funcionalidad
Ventaja:
Simplicidad

y orden

Vilalta Consultores

Definir, Organizar, Visualizar

Vilalta Consultores

Definir, Organizar, Visualizar


Lenguaje

comn
Evitar la trampa del lenguaje
Modelo de referencia
Evolucin ordenada de los cambios
Trazabilidad
Desde la funcionalidad al cdigo
Reduccin de costes
Evitar los costes ocultos de mantenimiento
Vilalta Consultores

Agentes
Usuario

Comprender que tipo de interacciones podran


realizar con el sistema
Analista
Saber cuales son los objetos del sistema y
como interactan en distintos escenarios
Desarrollador
Conocer la estructura y funcin de los objetos
a implementar y qu recursos son necesarios
Vilalta Consultores

Agentes
Responsable

de la certificacin
Preparar los tests de prueba a partir de las
interacciones previstas entre objetos
Jefe de proyecto
Entender la arquitectura del sistema y la
interdependencia de sus componentes
Cliente
Planificar el impacto del sistema dentro de la
organizacin
Vilalta Consultores

Historia de UML
UML

es una notacin no una metodologa

Inicio:

1993 (Booch & Rumbaugh & Jacobson)

1995

versin UML 0.8

1997

versin UML 1.0

1999

versin UML 1.3

Vilalta Consultores

Historia de UML
Jacobson

Jacobson

Booch

Rumbaugh

Vilalta Consultores

Diagramas bsicos UML


Diagrama

de Casos de Uso

Diagrama

de Actividad

Diagrama

de Secuencia

Diagrama

de Colaboracin

Diagrama

de Estado Transicin

Diagrama

de Clases

Diagrama

de Componentes

Diagrama

de Despliegue
Vilalta Consultores

Diagrama de Casos de Uso


Procesos

principales
Configurar
Aplicacin

Tramitador

Supervisor

Matricular
Alumnos
Componer
Tribunal
Consultar
Listas/Eti.

Modificar
Matrculas

S. Tasas

Generar
Actas Exam.
Modificar
Actas Exam.

Profesor

Vilalta Consultores

S. Accesos

Diagrama de Casos de Uso


<<Incluye>>

Matricular
Alumnos

Tramitador

<<Incluye>>

Validar
Requisitos

<<Incluye>>

Identificar
Alumno

Generar
NIP

<<Incluye>>
<<Incluye>> <<Incluye>>

<<Extiende>>
Generar

Cod. Anonimato

Generar
Mov. Tasa

Imprimir

<<Incluye>>

Abonar
Recibo

Generar
Rfaga Banc.

Vilalta Consultores

Calcular
Importe
Matrcula

Diagrama de Casos de Uso


Muestran

la granularidad del sistema en


piezas de funcionalidad reutilizables

Muestran

la interaccin de los Actores con la


funcionalidad del Sistema

Organizan

visualmente los requerimientos del

usuario
Permiten

certificar contractualmente la
funcionalidad

Formalizan

el mapa de procesos de negocio


Vilalta Consultores

Diagrama de Casos de Uso

Vilalta Consultores

Diagrama de Casos de Uso

Vilalta Consultores

Diagrama de Casos de Uso


Especificacin

de un Use Case (1)


UC Matricula_alumnosM25
Propsito

Precondiciones

Activacin

Usuario tramitador habilitado

A discrecin de un usuario

Realizar el proceso de

Parmetros aplicacin

habilitado

matriculacin para la prueba

definidos

de acceso a universidad para


mayores de 25 aos con las
funciones de:
- Identificacin del Alumno
- Validacin de Requisitos
- Tramitacin del pago

Vilalta Consultores

Diagrama de Casos de Uso


Especificacin

de un Use Case (2)

Flujo Principal
1. Usuario activa ventana de
matriculacin.
2. Usuario identifica alumno
con el UC Defini_alumno.
3. Sistema valida requisitos
matriculacin M25.
4. Usuario selecciona criterio
de destino.
5. Sistema muestra datos por
defecto: idioma, clase de
liquidacin, fecha de
matrcula.
6. Usuario registra la
matrcula.
7. Sistema asigna NIP y cdigo
de anonimato al alumno.
8. Sistema genera mov. de tasa.

Vilalta Consultores

Ventajas de los Casos de Uso


Lenguaje

de comunicacin entre usuarios y


desarrolladores

Comprensin

detallada de la funcionalidad del

Sistema
Acotacin

precisa de las habilitaciones de los

usuarios
Trazabilidad

desde los requerimientos al


cdigo ejecutable
Vilalta Consultores

Ventajas de los Casos de Uso


Gestin

de riesgo para gobernar la


complejidad de un sistema

Planificacin

de iteraciones para su
implementacin

Estimacin

precisa del esfuerzo para su


implementacin

Documentacin

orientada al usuario: Manual


de Procedimientos & Reglas de Negocio
Vilalta Consultores

Diagrama de Actividad
Muestra

la secuencia de actividades que se


desarrollan en el flujo de trabajo de un Caso
de Uso, como pieza de funcionalidad concreta

Muestra

el flujo de trabajo que se desarrolla


en un proceso configurado como un paquete
de Casos de Uso

Vilalta Consultores

Diagrama de Actividad
Buscar Alumno
Introducir
Criterios de
Bsqueda
Validar
Criterios

Descripcin de un flujo de trabajo

Buscar
Alumnos
Sigma Ac
[Alumno NO Localizado[

[Alumno SI Localizado[

Dar
Alta
Alumno

Seleccionar
un
Alumno
[Matrcula SI Localizada[

[Matrcula NO Localizada[

Comprobar
Situacin
Matrcula

Vilalta Consultores

Comprobar
Situacin
Alumno

Diagrama de Actividad
Su

objetivo no es relacionar actividad con


objetos, slo comprender qu actividades son
necesarias y cuales son sus relaciones de
dependencia

Se

utiliza para representar los distintos


escenarios que comprende un Caso de Uso y
permite describir tareas sincronizadas y
responsabilidades
Vilalta Consultores

Diagrama de Secuencia
Describe

la interaccin de objetos que requiere la


funcionalidad de los distintos escenarios de un
Caso de Uso

Los

objetos son representados con su ciclo de


vida dentro de una serie temporal

Cada

posible escenario de un Caso de Uso puede


representarse con un diagrama de secuencia
Vilalta Consultores

Diagrama de Secuencia
Descripcin de un escenario de Caso de Uso

:Tramitador :Vent. Matriculacin

:Alumno

:Parmetros Ap.

Activa
Identifica Alumno
Valida Alta
Valida
Requisitos
Crea nuevo Alumno
Solicita datos por defecto + Fecha Mat.
Registra Matrcula

Calcula
Importe Mat

:Matrcula
Vilalta Consultores

Diagrama de Colaboracin
Muestra

lo mismo que un diagrama de


secuencia cmo interaccionan los objetos
dentro de un Caso de Uso

A diferencia

de un diagrama de secuencia no
hay referencia a una serie temporal

Su

propsito es mostrar la topologa del


proceso distribuido entre los distintos objetos
Vilalta Consultores

Diagrama de Colaboracin
10: Commit( )

9: GetInfo( )

Order #1234 :
Order

Transaction Manager :
TransactionMgr

7: SetInfo(long, string, long, long)

8: SaveOrder(long)

6: Create( )
Order Options Form :
OrderOptions

Order Manager :
OrderMgr

2: Open( )
1: Create( )

5: SaveOrder(long)

Order Detail Form :


OrderDetail
: Salesperson

4: Save( )

3: SubmitInfo( )

Vilalta Consultores

Diagrama de Estado Transicin


Muestra

los distintos estados en que un objeto


puede existir

Presenta

la visin dinmica del sistema

Describe

el comportamiento de un objeto, desde


que nace hasta que muere

Identifica

todos los eventos necesarios para


realizar la transicin de un estado a otro
Vilalta Consultores

Diagrama de Estado Transicin


Identificar Alumno
[Alumno SI Localizado[
/Entrar Matrcula

Comprobando

[Alumno NO Localizado[
/Alta Matrcula

Localizar/
AlumnoM25

Comprobando
Verificar/
Ao Acadmico
Situacin Matrcula
Situacin Acceso U

Nueva Matrcula

[Forma de Pago: Efectivo[

Generar/Alta
Alumno M25

[Ao Acad Act & SI Matricula


& SI Acceso U[
/Modificar Matrcula

Comprobando

[Pago Conciliado NO Morosidad[

Formalizar/
Pago Matrcula

Matrcula
Validada
Conciliada

[Pago NO Conciliado[
/Anular Matrcula

Matrcula
Modificada

[Forma de Pago: Banco[


/Reactivar Matrcula

Matrcula
Anulada

[Forma de Pago: Efectivo[


/Reactivar Matrcula

Dinmica del Sistema

Vilalta Consultores

Matrcula
Reactivada

Diagrama de Estado Transicin


La

dinmica de un sistema est


determinada por:
Todos

los posibles estados de sus objetos

Todas

los posibles eventos que afectan a los

objetos
Todas

las posibles transiciones de un estado

Vilalta Consultores

Diagrama de Estado Transicin


Un

evento no es un objeto
Un evento es la causa que justifica la
existencia de un objeto
Slo podemos conocer que un evento ha
ocurrido detectando sus efectos
Slo nos interesan los eventos que provocan
un cambio de estado en los objetos
Hay que distinguir un evento como tal, del
objeto que representa el registro de sus
efectos
Vilalta Consultores

Diagrama de Clases
Una

Clase representa a un tipo de objetos que


comparten:
Las
El

mismas propiedades (Atributos)

mismo comportamiento (Mtodos)

Las

mismas relaciones con otros objetos


(asociaciones y agregaciones)

La

misma semntica dentro del sistema

Vilalta Consultores

Diagrama de Clases
Matrcula

Tramitador
Curso
Alumno

Agente

Profesor

Vilalta Consultores

Oferta Cursos

Diagrama de Clases
Un

Objeto representa a una entidad del mundo


real o inventada

Es

un concepto que dispone de una definicin


(intensin) y de una aplicabilidad (extensin)

Es

la instancia de una Clase

Vilalta Consultores

Agentes
Usuario

Comprende el modelo conceptual de su


dominio
Analista y Diseador
Definen la arquitectura del sistema
Desarrollador
Organiza el cdigo de manera simple y
ordenada y traza el mapeo con la base de
datos
Vilalta Consultores

Clases de Anlisis
No

cubren los requerimientos no funcionales


No definen operaciones, solo responsabilidades
Definen atributos conceptuales
Relaciones sin navegabilidad
Estereotipadas como:
interface

entidad

control

Vilalta Consultores

Clases de Anlisis
Interface
Interface

de usuario
Interface de sistema
Interface de dispositivos
Entidad
Informacin

del sistema
A menudo persistente
Control
Comportamiento

del sistema
Lgica del negocio
Vilalta Consultores

Definir las Clases


Operaciones

Atributos

Vilalta Consultores

Clases de Diseo
Identificar

Clases del Diseo desde el Anlisis


Identificar Subsistemas

Vilalta Consultores

Patrones de Diseo
Pattern:

Composite

Problem:

Need to protect clients


from knowing if an
object is a whole or a
part
Simplifies adding new
parts in whole-part
relationships
Simplifies the client permitting the client to
treat whole or part
objects generically
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

Vilalta Consultores

Patrones de Diseo
Pattern:

Proxy

Problem:
Need to control access to
another object
Need to provide abstraction
between subsystem and client
Enhanced maintainability and
extensibility of the system
May reduce compilation
dependencies
Promotes layering of systems
Provides weak coupling between
clients and subsystems
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

Vilalta Consultores

Framework de Aplicaciones
Pattern:

Message Logging Framework

Problem:
How can a medium to large system consisting of multiple and
possibly distributed programs employ a straightforward and
consistent message logging strategy?

Athens Arquitectural Componentes

Vilalta Consultores

Diagrama de Componentes
Muestra

la vista fsica del modelo

Muestra

los componentes de software que


configuran el sistema y su interdependencia

Presenta

dos tipos de componentes:

Ejecutables
Libreras

de cdigo

Cada

clase del modelo es mapeada con el


cdigo fuente de un componente
Vilalta Consultores

Diagrama de Componentes

Vilalta Consultores

Diagrama de Componentes
Son

utilizados por el responsable de


compilar el sistema
Describen en qu orden han de ser
compilados los componentes
Muestran qu componentes run-time seran
creados como resultado de la compilacin
Muestran el mapeo de las clases con los
componentes implementados
Vilalta Consultores

Diagrama de Componentes
Vista de los componentes ejecutables
Conta.exe

Matrcula.exe
Sistema
Contabilidad

Agentes.dll
Usuarios

Cursos.dll
Cursos

Alumnos
Curso

Oferta de
Cursos

Vilalta Consultores

Profesores

Diagrama de Despliegue
Muestra

la distribucin fsica de los


componentes en nodos locales y remotos de
la red

Un

nodo puede representar una pieza de


hardware, desde un perifrico a un servidor

Presenta

los distintos componentes de una


arquitectura en tres capas (3Tier)
Servidor

de datos
Servidor de aplicaciones
Cliente

Vilalta Consultores

Diagrama de Despliegue
Vista de la distribucin fsica de nodos de proceso

Vilalta Consultores

Diagrama de Despliegue

Vista de la arquitectura 3Tier

Vilalta Consultores

Agentes
Arquitecto

Supervisar el cumplimiento de los


requerimientos no funcionales
Disponibilidad

del sistema

Rendimiento
Escalabilidad

Implementador

Comprender mejor la topologa de un sistema


distribuido
Vilalta Consultores

Arquitectura

Vilalta Consultores

Metodologa de desarrollo

Aprobacin
Anteproyecto

Realizacin
Plan Director

Documentacin
Interfaces
Implementacin
Especificaciones Bases de Datos Certificacin

Cdigo

Matrcula
Proyecto

Procesos
Principales

Funcionalidad

Vilalta Consultores

Anlisis
Diseo

Componentes
Despliegue

Metodologa de desarrollo
Fases
Procesos Generales

Concepcin

Elaboracin

Construccin

Transicin

Modelo de Negocio
Funcionalidad
Anlisis
Diseo
Implementacin
Certificacin
Entrega

Procesos de Soporte
Control de cambios
Gestin del Proyecto
Entorno
Iteraciones
prelim

Iter.
#1

Iter.
#2

Iter.
#n

Iter.
#n+1

Iteraciones

Vilalta Consultores

Iter.
#n+2

Iter.
#m

Iter.
#m+1

Concepcin
Misin

del proyecto
Matriculacin del proyecto
Glosario de conceptos
Estimacin de esfuerzo y cronograma
Apoyo en patrones de funcionalidad y anlisis
Umbral de riesgo
Aprobacin del anteproyecto
Proceso secuencial no iterativo
Vilalta Consultores

Elaboracin
Funcionalidad
Priorizacin

de los Casos de Uso


Plan Director de Proyecto: Iteraciones
Especificacin de los Casos de Uso
Anlisis
Diseo
Pruebas de certificacin
Proceso iterativo
Vilalta Consultores

Construccin
Poner

el diseo en accin
Desarrollo de cdigo
Refactoring
Mapeo de la base de datos
Interface grfica de usuario: Navegacin
Pruebas de certificacin
Proceso iterativo

Vilalta Consultores

Transicin
Compilacin

y despliegue de componentes
Pruebas de certificacin
Actualizacin del modelo de referencia
Actualizacin del diseo y otros diagramas
Documentacin de usuario
Documentacin de administrador de sistema
Plan de formacin
Plan de soporte
Vilalta Consultores

Metodologa de desarrollo
Concepcin

Iteracin
Preliminar

...

Elaboracin

Iteracin
Arquitectura

Release

Release

...

Construccin

Iteracin Iteracin
Desarrollo Desarrollo

Release

Release

Transicin

...

Release

Iteracin
Transicin

Release

Release

...

Release

Iteracin : Secuencia de actividades con un Plan Director


establecido y un criterio de certificacin que finaliza con una versin
ejecutable
Vilalta Consultores

Metodologa de desarrollo
Requerimientos

Modelo
Casos de Uso

Diagr. de
Casos de Uso

Anlisis

Modelo
Diseo

Modelo
Anlisis

Diagr. de
Actividad

Diseo

Diagr. de
Secuencia

Implementacin

Modelo
de Componentes

Diagr. de
Diagr. de
Colaboracin Clases/Objetos

Vilalta Consultores

Modelo
de Despliegue

Diagr. de
Estados

Certificacin

Modelo
de Certificacin

Diagr. de
Diagr. de
Componentes Despliegue

Plan de certificacin
Certificacin de la Funcionalidad

Especificacin
Casos de Uso

Flujos de Trabajo

Diagramas Casos de Uso

Escenarios

Vilalta Consultores

Dinmica
Estados

Plan de certificacin
Certificacin del Modelo de Referencia
Prueba Examen

Matrcula
Tramitador
aadirAlumno(Curso, DatosAlu)

Supervisor
nombre

Alumno
nombre

Profesor
Status

Curso
nombre
nmeroCrditos
abierto()
aadirAlumno(DatosAlu)

Oferta Cursos
Centro
abierto()
aadirAlumno(DatosAlu)

Diagramas de Clases
Interfaces

Modelo de Datos
Vilalta Consultores

Plan de certificacin
Certificacin de Componentes

Arquitectura

Vilalta Consultores

Agentes del Modelo


Mtodo tradicional

Requerimientos

Cdigo

Agente

Proceso cooperativo

Requerimientos

Cdigo

Modelo

Vilalta Consultores

Agentes del Modelo


Cliente

y Jefe de proyecto

Usaran

los diagramas de Casos de Uso para


visualizar la globalidad del sistema y delimitar el
alcance del proyecto

Jefe

de proyecto

Usar

los diagramas de Casos de Uso y la


documentacin asociada para descomponer el
proyecto en un Plan Director de Iteraciones

Vilalta Consultores

Agentes del Modelo


Analista

y Cliente

Usaran

la documentacin asociada a los Casos de


Uso para comprender mejor y delimitar la
funcionalidad del sistema

Documentalista
Usar

la documentacin asociada a los Casos de Uso


para redactar los manuales de usuario y definir el plan
de formacin

Vilalta Consultores

Agentes del Modelo


Analista

y Desarrollador

Usaran

los diagramas de secuencia y colaboracin


para visualizar la lgica del sistema, y el flujo de
mensajes entre los objetos que lo componen

Controller
Usar

la documentacin asociada a los Casos de Uso


y los diagramas de secuencia y colaboracin para
disear las pruebas de certificacin

Vilalta Consultores

Agentes del Modelo


Desarrollador
Usar

los diagramas de Clases y los diagramas de


Estado Transicin para visualizar la estructura de
todas las piezas claves del sistema y la dinmica de
su comportamiento

Implementador
Usar

los diagramas de Componentes y los


diagramas de Despliegue para visualizar los
ejecutables, ficheros DLL y otros componentes, as
mismo la distribucin de su despliegue en la red
Vilalta Consultores

Agentes del Modelo


Todos

los Agentes

Usaran

el modelo de referencia para garantizar la


trazabilidad entre los requerimientos y el cdigo, y para
asegurar la trazabilidad entre el cdigo y la funcionalidad

Proceso cooperativo

Requerimientos

d
a
d
ili

b
a
z
a
r
T Modelo

Vilalta Consultores

Cdigo

Definir, Organizar, Visualizar

Http://www.vico.org

Vilalta Consultores

Você também pode gostar