Sei sulla pagina 1di 67

DESARROLLO DE PROYECTOS DE SOFTWARE

UML
z UML

significa Lenguaje Unificado de Modelado z UML combina lo mejor de:


Conceptos de modelado de datos

(diagramas entidad-relacin) Modelado de negocios (flujos de trabajo) Modelado de objetos Modelado de componentes

Notacin UML
z UML

define 9 tipos de diagramas que representan los distintos puntos de vista de modelado.

Diagramas
1) Diagramas de casos de uso.
Representan las funciones de un sistema desde el punto de vista del usuario.

2) Diagramas de secuencia.
Son una representacin temporal de los objetos y sus relaciones.

3) Diagramas de colaboracin.
Son una representacin espacial de objetos, uniones e interacciones.

Diagramas
4) Diagramas de objeto.
Representan objetos y sus relaciones. 5) Diagramas de clase. Representan la estructura esttica en trminos de clases y relaciones. 6) Diagramas de estado. Representan el comportamiento de una clase en trminos de estado.

Diagramas
7) Diagramas de actividad.
Representan el comportamiento de una operacin como un conjunto de acciones.

8) Diagramas de despliegue.
Representan la colocacin de componentes en piezas particulares de hardware.

9) Diagramas de componente
Representan los componentes fsicos de una aplicacin.

Diagramas de Caso de Uso

Diagramas de Casos de Uso


z

Es la descripcin de un comportamiento, de acuerdo a la funcionalidad esperado, con el objetivo de completar una tarea del sistema.

Modela la funcionalidad del sistema desde el punto de vista de usuarios externos llamados actores.
El propsito es definir una pieza de comportamiento coherente, sin revelar la estructura interna del sistema.

Ejemplo
Nombre del Sistema Comunicacin entre Actor y Caso de Uso Catlogo telefnico
revisar condiciones

Caso de Uso

hacer pedido
atender pedidos

Vendedor

Cliente

Encargado de Envos

establecer crditos

Actores

Supervisor

Diagrama de Caso de Uso


Actor: representa cualquier persona o sistema que necesita interactuar con el sistema. z Actores principales. Personas que usan funciones del sistema principal. En el caso de un cajero automtico, son los clientes. z Actores secundarios. Llevan a cabo actividades de administracin o mantenimiento. En el caso de un cajero, es la persona que rellena el cajero de dinero.

Casos y Actores
Servicio Repara Vende Vendedor Mecnico Maneja

Cliente

La misma persona fsica puede hacer el rol de varios actores . Adems, varias personas pueden tener el mismo rol y por lo tanto ser el mismo actor (todos los clientes). El nombre del actor describe el rol hecho por el usuario.

Casos y Actores en paquetes


z Para

identificar en forma ms sencilla a los actores y sus casos de uso, se sugiere organizarlos en paquetes, de acuerdo a las principales funciones de sistema:
Ayudan a la modularidad del sistema Facilitan la identificacin de las casos de uso y

los actores principales y secundarios Mantienen un nivel de complejidad adecuados

Relaciones
Relacin usa (use) Una relacin usa entre casos significa que una instancia del caso fuente tambin incluye el comportamiento descrito por el caso apuntado. Esta relacin ocurre cuando tenemos un comportamiento que es similar entre varios casos y no queremos copiar la descripcin de ese comportamiento.

Relaciones
Relacin extiende (extend) Relacin extiende se usa cuando tenemos un caso que es similar a otro caso pero hace un poco ms. Tambin puede verse como un comportamiento opcional al sistema.

Relaciones
Transferido por computadora <<extiende>>

Transfiere Cliente Remoto <<usa>> Identificacin

Cliente Local

Ejemplo Mquina de Bebidas Calientes


Suponga que se requiere desarrollar el control de una mquina automtica para despachar bebidas calientes. z La mquina recibe monedas de 0.50, 1, 2 y 5 pesos. z Existen tres tipos de bebidas (caf negro, caf capucino, chocolate).
z

Ejemplo Mquina de Bebidas Calientes


Es posible azucarar al gusto el producto seleccionado y la mquina es capaz de dar cambio. z El dinero que los usuarios introducen se guarda en un recipiente aparte al disponible para el cambio, el cual se encuentra ordenado por denominacin.
z

Ejemplo Mquina de Bebidas Calientes Diagrama de Casos de Uso


introducirDinero pedirAzucar uses pedirProducto uses

uses cancelar

darCambio

Ejemplo
Catlogo Telefnico
Extensin Inclusin
<<include>>

hacer pedido
<<include>>

<<extend>>

solicitar catlogo

<<include>>

datos del cliente

pedir producto

organizar pago

Estas inserciones son explicitas de hacer pedido!

Documentacin de un Caso de Uso


Una vez identificados los casos de uso y sus actores es muy importante documentar cada caso de uso.
Ayuda a aclarar la lgica de interaccin Permite detectar los objetos involucrados Es la base para construir los diagramas de

secuencia y de actividad.

Documentacin de un Caso de Uso


z z z z z z

z http://members.aol.com/acockburn/papers/uctempla.htm

Nombre del caso de uso Actor(es) Descripcin Pre-condicin Disparador Eventos normales Excepciones (Variaciones alternas)

Ejemplo Mquina de Bebidas Calientes Documentacin de un Caso de Uso


Nombre del caso de uso: Actor(es): Descripcin: Pre-condicin: Disparador: Eventos normales: Excepciones : (Variaciones alternas) IntroducirDinero Cliente Solicita el dinero La maquina est lista. Recepcin de monedas 1. Recibe dinero 2. Cuenta dinero 1. Falla de la mquina

Diagrama de Secuencia

Diagrama de Secuencia
Un objeto

Muestra un conjunto de mensajes dispuestos en una secuencia de tiempo. Muestra el comportamiento secuencial de un caso de uso.

Nuevo objeto

Diagrama de Secuencia
Objetos
Un objeto Nuevo objeto

Tiempo

Mensajes

Fin de la vida Lnea de Vida

Ejemplo Mquina de Bebidas Calientes Diagrama de Secuencias


:Mquina
1:servir()

:Producto

:Ingrediente

2:*[1..n] servir()

darCambio() destroy

Diagrama de secuencia
Catlogo Telefnico p: Cliente p: Vendedor s: Inventario s: Almacen

1.Solicita Artculo 2.Verifica stack 3.Indica Cant. de Artculos

4.Indica existencia 5.Hace pedido

6.Solicita el Artculo 7.Fecha de Envo

8.Fecha de Envo 9.destroy

Diagrama de Colaboracin

Diagrama de Colaboracin
Destaca la organizacin de los objetos que participan en una interaccin.
Tienen dos caractersticas que los distinguen de los diagrama de secuencias: El camino: Indica como se enlaza un objeto a otro El nmero de secuencia: indica la ordenacin temporal de un mensaje.

Diagrama de Colaboracin
Enlace
1: accin() Objeto 1

2: accin()

Objetos

Mensaje
Objeto 3 3: accin()

Objeto 2

Secuencia

Ejemplo Mquina de Bebidas Calientes Diagrama de Colaboracin


3:dar_Cambio() :Mquina 1:servir() :Producto 2:*[1..n] servir() :Ingrediente

Diagrama de Colaboracin
Catlogo Telefnico p: Cliente
1: Solicita Artculo 3: Hace pedido 5: destroy 4: Solicita Artculo

p: Vendedor

s: Almacen
2: Verifica stack

s: Inventario

Diagramas de Objetos

Diagramas de objetos
z

z z

Presentan un conjunto de objetos y sus relaciones identificados en los requerimientos funcionales y casos de uso de un escenario de negocios de un sistema. Cubren una vista de diseo esttico desde la perspectiva de casos reales o prototpicos. Para representarlos se parte de un proceso de identificacin de sustantivos en la descripcin de eventos normales y diagramas de secuencia y colaboracin de los casos de uso

Modelo de Objetos
Encontrando OBJETOS. Para evaluar si un objeto candidato realmente es un objeto del sistema debe tomar en cuenta:
Un objeto debe tener datos que deben ser almacenados Cada objeto debe tener ms de un atributo Todas las instancias del objeto comparten los mismos

los mtodos y atributos.

Ejemplo Mquina de Bebidas Calientes Diagrama de Objetos


Ingrediente Cantidad: 1c Nombre:cafe Producto Costo: 10.00 DepositoMonedas Nombre: Cafe numMonedas: 1

Mquina valorRecolectado : 10.00

DepositoMonedasIguales Denominacion: 1.00, 5.00, 10.00

PanelControl

Ejemplo
Rol p:Persona Nombre=Fco. Lpez Id: 121415 Paga Valor al Atributo Enlace d1:Departamento Nombre=Ventas Reporta d2:Departamento Nombre=Conta director

Conceptos Bsicos Clases


z Comportamiento:

se refiere a aquellas cosas que el objeto puede realizar.


Clase

Nombre

Cliente Nombre Direccin Telfono


Alta() Baja() Modificacin() Consulta()

Atributos

Operaciones

Conceptos Bsicos Clases y Objetos


Objeto:
Es cualquier cosa, lugar, persona acerca de la cual el usuario puede guardar informacin y asociar un comportamiento.
Representacin en UML :Cliente Nombre=Ventas

Relaciones 00
z

Herencia: significa que el comportamiento y/o atributos definidos en una clase pueden ser reusados en otra clase distinta. Generalizacin: es una relacin que describe la forma que que dos clases interactuan es decir la subclase hereda los atributos y mtodos de la superclase.
Clase 1

Clase 2

Clase 3

Relaciones OO
z Composicin:

es una relacin que describe cuando un objeto esta compuesto de uno o ms objetos.
Clase 1

Clase 2

Clase 3

Relaciones de colaboracin
z

Cardinalidad: relacin entre objetos que denota el

nmero de instancias de A que pueden ser relacionadas a una instancias de B


instancia de la clase2
Clase 1 0..1

Cada instancia de la clase1 es asociada con cero o una


Clase 2

Cada instancia de la clase1 es asociada con

exactamente una instancia de la clase2


Clase 1

Clase 2

Relaciones de colaboracin
Relaciones de colaboracin y su cardinalidad Cada instancia de la clase1 es asociada con cero o muchas instancias de la clase2
Clase 1

Clase 2

Cada instancia de la clase1 es asociada con una o

muchas instancias de la clase2


Clase 1

1..*

Clase 2

Especificacin de Clases
Para cada clase del modelo de objetos se debe realizar una especificacin de clases que contenga:
Nombre de la clase Definicin de negocio para la clase (significado

para el usuario) Relaciones, especificar si es una colaboracin, especializacin o composicin.

Especificacin de Clases
Atributos, especificando como mnimo el tipo

de dato. Definicin de los mtodos, incluyendo como el mtodo se lleva a cabo y que datos necesita. Recomendable utilizar texto estructurado.

Ejemplo Mquina de Bebidas Calientes Diagrama de Clases


Ingrediente cantidad nombre servir() 1..* 1..* 1..* Producto costo nombre servir() 1..4 DepositoMonedas numMonedas agregarMoneda() 1 Mquina valorRecolectado recibirPeticion() recibirDinero() darCambio() . PanelControl

DepositoMonedasIguales denominacion darMoneda() ..

Ejemplo: Diagrama de Clases


Rol

Empleado Nombre Id Registro()


Dependencia 1..*

director miembro * 1

Departamento Nombre Clave Consulta() Solicitud()


1..* Generalizacin

1 Cardinalidad Agregacin

Empresa Nombre RFC


Paga

Depto. Contabilidad

Diagrama de Estado

Diagrama de Estado
z

Modela los posibles cambios de un objeto. Tambin es til para describir el comportamiento del sistema.

Estado inicial

Estado 1

Estado 3 Estado 2

Estado final

Ejemplo: Mquina de Bebidas Calientes Diagrama de Estados


userInput(BotonOn)[todoOk=true]

BuenFuncionamiento
userInput(BotonOn)[todoOk=true]/ MostrarDineroActual

userInput(BotonOn) [todoOk=false]

Lista
[todoOk=true]/ IniciarIndicadores

Recibiendo Monedas

Desperfecto

userInput(Boton)[todoOk=true]/ MostrarNivelAzucar, MostrarProducto

Ok o d [to

e] s l a =f

Eleccin Producto y azucar Sirviendo Producto


[todoOk=true]/ServirProducto

Apagada

userInput(BotonOff)

userInput(BotonOff)

Diagrama de Actividades

Diagrama de actividades
z Combina

el diagrama de eventos de Jim Odell, las tcnicas de modelado de estados y las redes de Petri. z Son tiles en conexin con el flujo de trabajo donde una actividad es un mtodo sobre una clase. z Permite documentar la lgica de cada caso de uso.

Diagrama de Actividad
[Condicin 1]
Actividad Actividad

[Condicin 2] *[Para todo caso]

Actividad

Actividad

Actividad

[Condicin de sincronizacin]

Ejemplo: Mquina de Bebidas Calientes Diagrama de Actividad


Preparar vaso Servir Agua Caliente

Servir productos

Servir azucar

Indicar que la bebida esta lista Lista

Ejemplo: Diagrama de Actividad Mtodo: hacer pedido


Inicio

Recibe orden
*[Para cada artculo]

Cancela orden
[fallo]

Autoriza pago
[xito]

Verifica existencias Asigna orden

[en existencia]

[falta mercancia]

Despacha orden

Reordena

Diagrama de Despliegue

Diagrama de Despliegue
z El

diagrama de despliegue (deployment) muestra la configuracin de los elementos de procesamiento en tiempo de ejecucin (run-time) con sus respectivos procesos de software z Visualiza la distribucin de componentes

Diagrama de Despliegue
Direccin Base de datos

Biblioteca Jardines

Edificio Principal

Ejemplo: Mquina de Bebidas Calientes Diagrama de Despliegue


PC Mquina 1 1 Panel Control 1 3 Despachador Productos Deposito Monedas Iguales

1 1

Deposito Monedas

Diagramas de Componentes

Diagramas de Componentes El mundo fsico


z Los

diagramas de componentes ilustran la organizacin y dependencia entre los componentes de software componente puede ser:

z Un

Cdigo fuente Cdigo ejecutable Cdigo interpretado

Diagrama de Componentes
Factura.exe Inscribe.exe Sistema facturacin Persona.dll Curso.dll Curso

Usuario

Alumno Curso Curso Ofertado

Profesor

Ejemplo Mquina de Bebidas Calientes Diagrama de Componentes


Despachador Despachador.dll

Panel de Control.dll

Forma icnica

Control de dinero.dll

Metamodelo
z z z

Para dar ms rigor, sin perder la utilidad se crea el metamodelo. Un metamodelo es un diagrama, usualmente un diagrama de clase, que define la notacin. Se dice que UML es un lenguaje Metamodelo.

Diagrama

Componente

Clase

Secuencia

Distribucin

Estado

Colaboracin

Caso de Uso

Objeto

Actividad

Bibliografa
z

z z

Booch G. , Rumbaugh J., Jacobson I. El Lenguaje Unificado de Modelado, Addison Wesley Iberoamericana, Madrid 1999 Rational Software Co., Analysis and Design with UML, 1997 Figueroa P., Elementos notacionales de UML, Univ. Los Andes, Bogot, Colombia1997
http://agamenon.uniandes.edu.co/~pfiguero/soo/uml/

Bibliografa
z z z z z

Muller P. , Instant UML, Wrox. 1997 Fowler M. , Scott K., UML gota a gota, 1997 Pressman R. , Software Engineering. A practitioners Approach Ed. Mc Graw Hill. Cuarta edicin. 1997 Larman C. UML y patrones. Ed. Prentice Hall. 1999. Pgina de Rational Rose en Mxico: http://www.abits.com.mx/

Potrebbero piacerti anche