Sunteți pe pagina 1din 54

Desarrollo de Software Orientado a Objeto usando UML

Contenido
introduccin modelado de sw claves en desarrollo de si abstraccin - modelado visual notacin (visual) - Beneficios introduccin: UML que es UML?. Historia del UML. Participantes en UML 1.0 UML "aglutina" enfoques OO. Perspectivas de UML.

Contenido
Proceso de desarrollo de SW basado en UML. Que es un proceso de desarrollo de sw?. Rational Unified Process (RUP). Fases e Hitos (Milestones). Elementos en RUP. Caractersticas Esenciales de RUP. Proceso dirigido por los Casos de Uso. Proceso Iterativo e Incremental. Proceso Centrado en la Arquitectura. Fases del ciclo de vida. Esfuerzo respecto de las Workflows. Esfuerzo respecto de las Fases.

Contenido
Diagramas de UML. Modelos y diagramas. Diagramas de UML. Organizacin de los modelos Diagrama de actividad Diagrama de Casos de Uso. Fully Use Case. Diagrama de clases.

Contenido
Diagramas de UML. clases clases : notacin grafica clases : encapsulacin. Relaciones entre clases Asociacin. Agregacin. Composicin.

Contenido
Diagramas de UML. Clases y Objetos. Generalizacin. Polimorfismo. Diagrama de secuencia. Diagrama de colaboracin. Diagrama de estados. Diagrama de componentes. Diagrama de despliegue. Resumen.

Introduccin Modelado de SW

I. Introduccin: Modelado de SWI

Claves en Desarrollo de SI
Notacin

Herramientas

Proceso

I. Introduccin: Modelado de SW

Abstraccin - Modelado Visual (MV)


El modelado captura las partes esenciales del sistema
Orden Item

envo

Proceso de Negocios Sistema Computacional

II. Notacin (Visual) - Beneficios


Manejar la complejidad

Interface de Usuario (Visual Basic, Java, ..)

Lgica del Negocio (C++, Java, ..)

Mltiples Sistemas

Servidor de BDs (C++ & SQL, ..)

Modelar el sistema independientemente del lenguaje de implementacin

Componentes Reutilizados

Promover la Reutilizacin

Introduccin: UML

I. Introduccin: UML

Qu es UML?
UML = Unified Modeling Language

Un lenguaje de propsito general para el modelado orientado a objetos


Documento OMG Unified Modeling Language Specification UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows)

I. Introduccin: UML

Historia de UML

I. Introduccin: UML

Historia de UML
2001-2003 2000 1999 1998 Nov 97
UML aprobado por el OMG

UML 2.0

UML 1.4 UML 1.3


Revisiones menores

UML 1.2

Proceso de Desarrollo de SW basado en UML

Qu es un Proceso de Desarrollo de SW?


Define Quin debe hacer Qu, Cundo y Cmo debe hacerlo
Requisitos nuevos o modificados Sistema nuevo o modificado

Proceso de Desarrollo de Software

No existe un proceso de software universal. Las caractersticas de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable

Dos Dimensiones

IV. Proceso de Desarrollo de SW basado en UML

Fases e Hitos (Milestones)

Inception

Elaboration

Construction

Transition

Objetivos (Vision)

Arquitectura

Capacidad Operacional Inicial

Release del Producto

tiempo

IV. Proceso de Desarrollo de SW basado en UML

Elementos en RUP
Workflows (Disciplinas)
Workflows Primarios Business Modeling (Modado del Negocio) Requirements (Requisitos) Analysis & Design (Anlisis y Diseo) Implementation (Implementacin) Test (Pruebas) Deployment (Despliegue) Workflows de Apoyo Environment (Entorno) Project Management (Gestin del Proyecto) Configuration & Change Management (Gestin de Configuracin y Cambios)

IV. Proceso de Desarrollo de SW basado en UML

... Elementos en RUP


Workflow, Workflow Detail , Workers, Actividades y Artefactos Ejemplo Workflow: Requirements Workflow Detail:Analyse the Problem

Workers

Actividades

Artefactos

IV. Proceso de Desarrollo de SW basado en UML

... Elementos en RUP


Artefactos
Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividades Un artefacto puede ser un documento, un modelo o un elemento de modelo Conjuntos de Artefactos
Business Modeling Set Requirements Set Analysis & Design Set Implementation Set Test Set Deployment Set Project Management Set Configuration & Change Management Set Environment Set

IV. Proceso de Desarrollo de SW basado en UML

Caractersticas Esenciales de RUP


Proceso Dirigido por los Casos de Uso
Proceso Iterativo e Incremental

Proceso Centrado en la Arquitectura

IV. Proceso de Desarrollo de SW basado en UML

Proceso dirigido por los Casos de Uso


Requisitos Capturar, definir y validar los casos de uso
Casos de Uso integran el trabajo

Anlisis & Diseo


Implementacin

Realizar los casos de uso Verificar que se satisfacen los casos de uso

Pruebas

IV. Proceso de Desarrollo de SW basado en UML

... Proceso dirigido por los Casos de Uso


trace trace

Caso de Uso

Realizacin de Anlisis

Realizacin de Diseo

trace

trace

Pruebas Unitarias
Pruebas Funcionales

X
Caso de Prueba

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]

IV. Proceso de Desarrollo de SW basado en UML

... Proceso dirigido por los Casos de Uso

IV. Proceso de Desarrollo de SW basado en UML

... Proceso Iterativo e Incremental


Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteracin
Anlisis Diseo Codific. n veces Pruebas e Integracin

IV. Proceso de Desarrollo de SW basado en UML

Proceso Iterativo e Incremental


Enfoque Cascada

Enfoque Iterativo e Incremental

IV. Proceso de Desarrollo de SW basado en UML

... Proceso Iterativo e Incremental


Grado de Finalizacin de Artefactos

IV. Proceso de Desarrollo de SW basado en UML

Proceso Centrado en la Arquitectura

Arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes Un arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades

RUP establece refinamientos sucesivos de una arquitectura Construction Inception Elaboration ejecutable, construida como Transition un prototipo evolutivo

Architecture

Esfuerzo respecto de las Workflows


I nce ption E la bora tion C onstruction Tra nsition

15%
Requisitos

Una iteracin en la fase de elaboracin


Anlisis

10% 15%

Diseo

Implementacin

30% 15%
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. # n+2 it e r. #m ite r. #m +1

Pruebas

5% mantenimiento 10% gestin cambios

IV. Proceso de Desarrollo de SW basado en UML

...Esfuerzo respecto de las Fases


I nce ption E la bora tion C onstruction Tra nsition Requisitos Una iteracin en la fase de elaboracin Anlisis

Diseo

Implementacin

Pruebas
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. # n+2 it e r. #m ite r. #m +1

Esfuerzo: Duracin:

5% 10%

20% 30%

65% 50%

10% 10%

Diagramas de UML

II. Breve Tour por UML

... Diagramas de UML


Los diagramas expresan grficamente partes de un modelo
Use Case Use Case Diagramas Diagrams de Diagrams Casos de Uso State State Diagramas Diagrams de Diagrams Clases State State Diagramas Diagrams de Diagrams Objetos State State Diagramas Diagrams de Diagrams Componentes
Component Component Diagrams Diagramas de Diagrams

Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin

Modelo

Scenario Scenario Diagramas Diagrams de Diagrams Estados

Diagramas de Actividad

Distribucin

II. Breve Tour por UML

Diagrama de Actividad
Buscar Bebida [ no hay caf ] [ no zumo ] [ hay caf ] [ hay zumo ] Poner caf en filtro Aadir agua al depsito Coger taza Coger zumo

Poner filtro en mquina

Encender mquina / cafetera.On Caf en preparacin indicador de fin Servir caf Beber

II. Breve Tour por UML

Otro Ejemplo (con swim lines)


Pasaj ero Vendedor Airline

Solicitar pasaje

Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios

Seleccionar vuelo

Solicitar pago Pagar pasaje

Reservar plazas Confirmar plaza reservada

Emitir billete
Prctica 9

II. Breve Tour por UML

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar informacin de cmo un sistema o negocio trabaja, o de cmo se desea que trabaje No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos

II. Breve Tour por UML

Diagrama de Casos de Uso


ud Casos De uso

modulo de fotografo servicios del

CU_SFG_MS_001 Agregarserv icio

CU_SFG_MS_002-
eliminar serv icio

Fotografo
administrador

include
include CU_SFG_MS-005buscar serv icio


CU_SFG_MS_008_Aceptar Solicitd

CU_SFG_MS-003modificar serv icio

include

extend

CU_SFG_MS_006 CU_SFG_MS_004- Ver Consultar Datos

include CU_SFG_MS_009_Rechazar
Solicitd

Usuario CU_SFG_MS_007- Solicitar serv icio


extend

CU_SFG_MS_010_Buscar Solicitd include

Fully use case


Es un documento escrito que dispone de la explicacin detallada del caso de uso Esto lo logra organizando la informacin de una determinada forma
Nombre Breve descripcin Actores Pre condiciones Post condicin Flujo principal Flujos alternativos Condiciones especiales.

Existe una amplia variedad de modelos de fully use case.

Diagrama de Clases
Mtodo del sustantivo
Determinar todos los sustantivos Eliminar sustantivos de acuerdo a los siguientes criterios:
Redundantes Irrelevantes Vagos Operaciones Constructores de implementacin Meta lenguajes Atributos

Establecer relaciones
Asociaciones Cardinalidades generalizaciones

III. El Paradigma OO: Diagrama de Clases


cd Ej emplos

Diagrama de clases
cd Ej emplos

Persona Persona
# + nombre: String fechaDeNacimiento: Date direccion: String telefono: String

# +

nombre: String fechaDeNacimiento: Date direccion: String telefono: String

+ calcularEdad(Date) void : + : calcularEdad(Date) void


+ + setNombre(String) : void getNombre() : String

+ +

setNombre(String) : void getNombre() : String

III. El Paradigma OO: Diagrama de Clases

Asociacin
La asociacin expresa una conexin bidireccional entre objetos Una asociacin es una abstraccin de la relacin existente en los enlaces entre los objetos
Univ. de Murcia : Universidad Un enlace Antonio : Estudiante

Universidad Una asociacin

Estudiante

III. El Paradigma OO: Diagrama de Clases

Asociacin
Ejemplo:
marido casado-con mujer
0..1 0..1

Persona nombre s.s.

emplea-a

Compaa trabaja-para nombre direccin *

jefe Administra

0..1

empleado

III. El Paradigma OO: Diagrama de Clases

Agregacin
La agregacin representa una relacin en que cada uno puede existir por separado

Un ejemplo de esto es estante libro


0..* 0..*
Libro cd Ej emplos Estante 0..1

cd Ej emplos Estante 0..1

Libro

III. El Paradigma OO: Diagrama de Clases

Composicin
La composicin representa el caso que un objeto no puede existir sin el otro
En este caso podemos ir al ejemplo de Factura tem
cd Ej emplos Factura 1..1

cd Ej emplos Factura 1..1

1..* 1..*

Item

Item

III. El Paradigma OO: Diagrama de Clases

... Generalizacin
Vehculo

Veihculo Terrestre

Vehculo Areo

Coche

Camin

Avin

Helicptero

III. El Paradigma OO: Diagrama de Clases

... Generalizacin
Esta relacin se da cuando existe un conjunto de atributos que se repiten en la clases y lleva a la generacin de un padre Por esa razn las clases hijas tienen todo lo que tiene el padre mas las particularidades

cd Ej emplos


cd Ej emplos

Cuenta

Caj aDeAhorro + + + + codigo: int saldo: double interes: double CuentaCorriente

+ + + + codigo: int saldo: double descubierto: double acreditar(double) : void debitar(double) : void getSaldo() : double setDescubierto(double) : void

+ + +

codigo: int saldo: double acreditar(double) : void debitar(double) : void getSaldo() : double


Caj aDeAhorro

acreditar(double) : void debitar(double) : void getSaldo() : double setInteres(double) : void

CuentaCorriente + descubierto: double setDescubierto(double) : void

interes: double setInteres(double) : void

III. El Paradigma OO: Diagrama de Clases

Polimorfismo
El trmino polimorfismo se refiere a que una caracterstica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje

Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones

III. El Paradigma OO: Diagrama de Clases

Polimorfismo
Ejemplo: toda cuenta debita de forma distinta, la caja de ahorro debita hasta llegar a 0 y la cuenta corriente debita hasta llegar al descubierto

cd Ej emplos

Cuenta


Caj aDeAhorro

+ + +

codigo: int saldo: double acreditar(double) : void debitar(double) : void getSaldo() : double

CuentaCorriente + + descubierto: double debitar(double) : void setDescubierto(double) : void

+ +

interes: double debitar(double) : void setInteres(double) : void

II. Breve Tour por UML

Diagrama de Secuencia
:WInPrstamos :Socio :Video :Prstamo

: Encargado

prestar(video, socio) verificar situacin socio verificar situacin video

registrar prstamo entregar recibo

II. Breve Tour por UML

Diagrama de Colaboracin
:Socio

:Video 2: verificar situacin socio

1: prestar(video, socio) :WInPrstamos 5: entregar recibo : Encargado

3: verificar situacin video

4: registrar prstamo

:Prstamo

II. Breve Tour por UML

Diagrama de Estados
alta baja nmero_prstamos = 0

sin prstamos
Socio nmero : int nombre : char[50] nmero_prestamos : int = 0

prestar
alta() baja() prestar(cdigo_libro : int, fecha : date) devolver(cdigo_libro : int, fecha : date)

devolver[ nmero_prstamos = 1 ]

nmero_prstamos > 0 con prstamos prestar

devolver[ nmero_prstamos > 1 ]

II. Breve Tour por UML

Diagrama Componentes
Interfaz de Terminal Control y Anlisis

Gestin de Cuentas

Rutinas de conexin

Acceso a BD

II. Breve Tour por UML

Diagrama de Despliegue
Servidor Central Acceso a BD Comment Control y Anlisis Comment

Rutinas de Coneccion Comment

Terminal de Consulta Rutinas de Coneccion Comment

Interfaz de Terminal Comment

Punto de Venta

Rutinas de Coneccion Comment

Gestin de Cuentas Comment

Interfaz de Terminal Comment

II. Breve Tour por UML

Resumen
UML define una notacin que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos El 80 por ciento de la mayora de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch

S-ar putea să vă placă și