Вы находитесь на странице: 1из 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 2000

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?
Cul 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 2000

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 2000

Orientacin a Objetos
Herencia

Es un mecanismo que nos permite crear


nuevos objetos basados en una progenie.
Ventaja:
Facilidad

de mantenimiento.

Vilalta Consultores 2000

Orientacin a Objetos
Polimorfismo

Capacidad de aplicar distintas


implementaciones a una determinada
funcionalidad.
Ventaja:
Simplicidad

y orden.

Vilalta Consultores 2000

Definir, Organizar, Visualizar

Vilalta Consultores 2000

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 2000

Agentes
Usuario

Comprender qu tipo de interacciones podrn


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

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 2000

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 2000

Historia de UML
Jacobson

Jacobson

Booch

Rumbaugh

Vilalta Consultores 2000

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 2000

Diagrama de Casos de Uso


Procesos

principales
Configurar
Aplicacin

Tramitador

Supervisor

Modificar
Matrculas

Matricular
Alumnos
Componer
Tribunal
Consultar
Listas/Eti.

S. Tasas

Generar
Actas Exam.
Modificar
Actas Exam.

Profesor
Vilalta Consultores 2000

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
Abonar
Recibo

<<Incluye>>
Generar
Rfaga Banc.

Vilalta Consultores 2000

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 2000

Diagrama de Casos de Uso

Vilalta Consultores 2000

Diagrama de Casos de Uso

Vilalta Consultores 2000

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 2000

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 2000

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 2000

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 2000

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 2000

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[

Comprobar
Situacin
Matrcula

[Matrcula NO Localizada[

Comprobar
Situacin
Alumno
Vilalta Consultores 2000

Diagrama de Actividad
Su

objetivo no es relacionar actividad con


objetos, slo comprender qu actividades son
necesarias y cules 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 2000

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 2000

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 2000

Diagrama de Colaboracin
Muestra

lo mismo que un diagrama de


secuencia como 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 2000

Diagrama de Colaboracin
10: Commit( )

Order #1234 :
Order

9: GetInfo( )

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 2000

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 2000

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

[Forma de Pago: Efectivo[


/Reactivar Matrcula

Matrcula
Anulada

Dinmica del Sistema


Vilalta Consultores 2000

Matrcula
Reactivada

Diagrama de Estado Transicin


La

dinmica de un sistema est


determinada por:
Todos

los posibles estados de sus objetos.

Todos

los posibles eventos que afectan a los

objetos.
Todas

las posibles transiciones de un estado.

Vilalta Consultores 2000

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 2000

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 2000

Diagrama de Clases
Matrcula

Tramitador
Curso
Alumno

Agente

Profesor

Oferta Cursos

Vilalta Consultores 2000

Diagrama de Clases
Un

Objeto representa a una entidad del mundo


real o inventada.

Es

un concepto que dispone de una definicin


(intencin) y de una aplicabilidad (extensin).

Es

la instancia de una Clase.

Vilalta Consultores 2000

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 2000

Clases de Anlisis
No

cubren los requerimientos no funcionales


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

entidad

Vilalta Consultores 2000

control

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 2000

Definir las Clases


Operaciones

Atributos
Vilalta Consultores 2000

Clases de Diseo
Identificar

Clases del Diseo desde el Anlisis


Identificar Subsistemas

Vilalta Consultores 2000

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 2000

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 2000

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 2000

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 2000

Diagrama de Componentes

Vilalta Consultores 2000

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 sern
creados como resultado de la compilacin.
Muestran el mapeo de las clases con los
componentes implementados.

Vilalta Consultores 2000

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 2000

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 2000

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

Vilalta Consultores 2000

Diagrama de Despliegue

Vista de la arquitectura 3Tier

Vilalta Consultores 2000

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 2000

Arquitectura

Vilalta Consultores 2000

Metodologa de desarrollo

Aprobacin
Anteproyecto

Realizacin
Plan Director

Documentacin
Interfaces
Implementacin
Especificaciones Bases de Datos Certificacin

Cdigo

Matrcula
Proyecto

Procesos
Principales

Funcionalidad

Vilalta Consultores 2000

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 2000

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 2000

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 2000

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 2000

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 2000

Metodologa de desarrollo
Concepcin

Iteracin
Preliminar

...

Elaboracin

Iteracin
Arquitectura

Release

Release

...

Construccin

Iteracin Iteracin
Desarrollo Desarrollo

Release

Release

Release

Transicin

...

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 2000

Metodologa de desarrollo
Requerimientos

Modelo
Casos de Uso

Diagr. de
Casos de Uso

Anlisis

Modelo
Anlisis

Diagr. de
Actividad

Diagr. de
Secuencia

Diseo

Modelo
Diseo

Implementacin

Modelo
de Componentes

Diagr. de
Diagr. de
Colaboracin Clases/Objetos

Vilalta Consultores 2000

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

Dinmica
Estados
Vilalta Consultores 2000

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 2000

Plan de certificacin
Certificacin de Componentes

Arquitectura

Vilalta Consultores 2000

Agentes del Modelo


Mtodo tradicional

Requerimientos

Cdigo

Agente

Proceso cooperativo

Requerimientos

Cdigo

Modelo

Vilalta Consultores 2000

Agentes del Modelo


Cliente

y Jefe de proyecto

Usarn

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 2000

Agentes del Modelo


Analista

y Cliente

Usarn

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 2000

Agentes del Modelo


Analista

y Desarrollador

Usarn

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 2000

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 2000

Agentes del Modelo


Todos

los Agentes

Usarn

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 2000

Cdigo

Definir, Organizar, Visualizar

Http://www.vico.org
Vilalta Consultores 2000

Вам также может понравиться