Está en la página 1de 38

Arquitectura de Sistemas

MSI 511
Arquitecturas de Sistemas con UML
Giovanni Giachetti
giovanni.giachetti@unab.cl
1

Modelo de Vistas 4 + 1 (Krutchen)

End user

Development
view

Logical view
Scenarios
Process View

Physical View

Programmers
& software
managers

Modelo de Vistas 4 + 1 (UML)

Giovanni Giachetti

ICC 246: Ingeniera de Software

UML: Unified Modeling Language


UML comenz oficialmente en Octubre de 1994 cuando Rumbaugh se

uni a Booch en Rational. Su objetivo era el de crear un nuevo


mtodo, el Mtodo Unificado, que unira el mtodo de Booch y el
mtodo OMT-2.
La versin 0.8 del Mtodo Unificado fue liberada en Octubre de 1995.

Alrededor de la misma fecha Ivar Jacobson el hombre detrs de los


mtodos OOSE y Objectory se uni a ellos y el alcance del UML fue
expandido para incorporar OOSE.
En 1997 UML es aprobado como lenguaje estndar por la OMG.
4

Giovanni Giachetti

ICC 246: Ingeniera de Software

Historia de UML
UML 2.0

2005
2003

UML 1.5

2000

UML 1.4

1999

Revisiones
menores

UML 1.3

1998

UML 1.2
UML aprobado
por el OMG

Nov 97

Giovanni Giachetti

ICC 246: Ingeniera de Software

Objetivos y Diagramas UML


El objetivo de UML es describir cualquier tipo de sistema en trminos de

diagramas orientados a objetos (crear un modelo).


Diagram

Structure
Diagram

Class Diagram

Com posite
Structure
Diagram

Behavior
Diagram

Com ponent
Diagram

Activity
Diagram

Object
Diagram

Deploym ent
Diagram

Package
Diagram

Profile Diagram

Use Case
Diagram

State M achine
Diagram

Interaction
Diagram

Sequence
Diagram

Interaction
O verview
Diagram

Com m unication
Diagram

Tim ing
Diagram

6
Figure A.5 - The taxonomy of structure and behavior diagram

Structure diagrams show the static structure of the objects in a system. That is, they depict those elements in a
specification that are irrespective of time. The elements in a structure diagram represent the meaningful concepts of an
application, and may include abstract, real-world and implementation concepts. For example, a structure diagram for an
airline reservation system might include classifiers that represent seat assignment algorithms, tickets, and a credit
authorization service. Structure diagrams do not show the details of dynamic behavior, which are illustrated by behavioral
diagrams. However, they may show relationships to the behaviors of the classifiers exhibited in the structure diagrams.
Behavior diagrams show the dynamic behavior of the objects in a system, including their methods, collaborations,
activities, and state histories. The dynamic behavior of a system can be described as a series of changes to the system over

Giovanni Giachetti

ICC 246: Ingeniera de Software

Elementos de agrupacin
Los elementos de agrupacin son la parte

organizacional de UML.

Representan las partes en las que se puede

descomponer un modelo.

H a y

un solo elemento de agrupacin


denominado paquete.

Giovanni Giachetti

ICC 246: Ingeniera de Software

Elementos de agrupacin:
Paquetes

Un paquete es un mecanismo de propsito

general para organizar elementos en grupos.


En un paquete se pueden agrupar elementos
estructurales, de comportamiento y otros.
Contrario a los componentes, los cuales existen
en el tiempo de ejecucin, un paquete es
puramente conceptual.
Grficamente un paquete se representa como
una carpeta.

Giovanni Giachetti

ICC 246: Ingeniera de Software

Elementos de anotacin
Los elementos de anotacin son la parte de

UML que sirve para documentar los


modelos.

Estos son comentarios que pueden

describir, clarificar y remarcar aspectos de


cualquier elemento en el modelo.

Hay un tipo principal de elemnto de

anotacin denominado nota

Giovanni Giachetti

ICC 246: Ingeniera de Software

Elementos de anotacin:
Nota
Una nota es simplemente un smbolo para

mostrar restricciones y comentarios junto a


un elemento o una coleccin de elementos.

Grficamente una nota se representa como

un rectngulo con una esquina doblada.

10

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas UML
Un diagrama es la representacin grfica

de un conjunto de elementos conectados


entre s.
Estos diagramas son en forma de grafos
conectados donde los vrtices representan
elementos y los arcos relaciones.
Los diagramas sirven para visualizar un
sistema desde diferentes perspectivas.
Un mismo elemento puede aparecer en
varios diagramas, en slo algunos
o en
ninguno.
11

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas UML

Diagrama de Casos de Uso

Vista grfica de algunos o todos los actores, casos

de uso y sus interacciones, identificados para un


sistema.
Cada sistema tiene un diagrama de Caso de Uso
Principal, el cual es la imagen de las fronteras del
sistema (actores) y la funcionalidad principal
proporcionada por el sistema (casos de uso).

12

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas de Casos de Uso


Otros diagramas de caso de uso pueden ser

creados por descomposicin cuando sea


necesario.
No pertenece estrictamente al enfoque
orientado a objeto, es una tcnica para
captura de requisitos.
En RUP, los casos de uso intervienen
durante todo el ciclo de vida. El proceso de
desarrollo estar dirigido por los casos de
uso.
13

II. Breve Tour por UML

Giovanni Giachetti

Ejemplos

ICC 246: Ingeniera de Software

Diagramas de Casos de Uso

Cliente

Solicitar Prstamo

[Tarjeta Caducada]
<<extend> >

Solic itar N ueva Tarjeta


14

Giovanni Giachetti

ICC 246: Ingeniera de Software

Formato de un Caso de uso de Alto


Nivel

Caso de uso: <Nombre>


Actores: <actor1>, ...., <actor n>
Tipo:<tipo del caso>, se asume es tipo esencial, slo
se especifica Primario, secundario u opcional.
Descripcin: <una breve descripcin del proceso>

15

Giovanni Giachetti

ICC 246: Ingeniera de Software

Ejemplo de un Caso de uso de Alto


Nivel

Ejemplo: comprar artculos en una tienda cuando se

emplea una terminal en el punto de venta.

Caso de uso: Comprar Productos


Actores: Cliente, Cajero
Tipo: Primario
Descripcin:
Un cliente llega a la caja registradora con los artculos que
comprar. El Cajero registra los artculos y cobra el
importe. Al terminar la operacin, el Cliente se marcha
con los artculos comprados.
16

Giovanni Giachetti

ICC 246: Ingeniera de Software

Planificacin y Elaboracin
Es

importante especificar las funciones y atributos.

Funciones del sistema son aquellas que el sistema se

supone que tiene que hacer. Estas deben ser identificadas y


anotadas en grupos lgicos y cohesivos. Por ejemplo, El
sistema deber autorizar los pagos con tarjetas de crdito.
Los atributos del sistema son cualidades no-funcionales
del sistema, como por ejemplo, la facilidad de uso, que a
menudo se confunden con las funciones del sistema.

17

Giovanni Giachetti

ICC 246: Ingeniera de Software

Planificacin y Elaboracin
Las funciones deben ser clasificadas en categoras para

poder priorizarlas. Las categoras incluyen:

Funciones Evidentes Obligatorias, el usuario est

consciente de haberla realizado.


Funciones Ocultas Obligatorias, pero no son visibles a
los usuarios.
Funciones Superfluas Opcionales, su agregacin no
afecta significativamente el costo u otras funciones.

18

Giovanni Giachetti

ICC 246: Ingeniera de Software

Planificacin y Elaboracin
Ejemplo funciones:

19

Giovanni Giachetti

ICC 246: Ingeniera de Software

Planificacin y Elaboracin
Los atributos tienen un posible conjunto de detalles de atributos,los cuales

tienden a ser valores discretos, confusos o simblicos,por ejemplo:


Tiempo de respuesta
Tolerancia a fallos
Facilidad de Uso
Algunos atributos del sistema tambin pueden tener restricciones de

frontera del atributo,que son condiciones obligatorias de frontera,


generalmente dentro de un rango numrico de los valores de un atributo,por
ejemplo:
Tiempo de respuesta =(5 segundos cmo mximo)

20

Giovanni Giachetti

ICC 246: Ingeniera de Software

Planificacin y Elaboracin
Los atributos se relacionan con las funciones que son

afectadas por ellos. Adems, se debe definir si el atributo


es obligatorio (Requerido) u Opcional.

21

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas UML
Diagrama de Clases
Un diagrama de clases describe la vista esttica del sistema.
Aunque tiene similitudes con un modelo de datos (entidadrelacin), las clases no solo muestran la estructura de la
informacin, sino que describen tambin el comportamiento.
Un propsito de los diagramas de clases es definir una base para
otros diagramas donde otros aspectos del sistema son mostrados
(tales como los estados de los objetos o la colaboracin entre ellos
mostrados en los diagramas de comportamiento).
22

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas UML
Diagrama de Componentes

Los

diagramas de componentes describen los


elementos fsicos del sistema y sus relaciones.

Muestran las opciones de realizacin incluyendo cdigo

fuente, binario y ejecutable.

Los

componentes representan todos los tipos de


elementos software que entran en la fabricacin de
aplicaciones informticas

Las

dependencias entre los componentes son


mostradas, haciendo fcil de analizar cmo los otros
componentes son afectados por un cambio en uno de
los componentes.

23

Diagramas de Componentes

24

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagramas UML

Diagrama de Despliegue

El diagrama de despliegue muestra la arquitectura fsica


(tecnolgica) del hardware y el software en el sistema. Se pueden
mostrar las computadoras y los dispositivos (nodos), junto con las
conexiones que tienen unos con otros; tambin se puede mostrar el
tipo de conexin.

25

Diagramas de despliegue

26

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicando UML

27

Giovanni Giachetti

ICC 246: Ingeniera de Software

Modelo Conceptual
El modelo conceptual no es una descripcin de

componentes de software, es una representacin de


conceptos del dominio del problema en el mundo
real.
El Modelo conceptual muestra:
Conceptos
Asociaciones entre conceptos
Atributos

28

Giovanni Giachetti

ICC 246: Ingeniera de Software

Modelo Conceptual
Los artefactos de software, como una ventana o una base de

datos, no forman parte del modelo conceptual, salvo que el


dominio a modelar se refiera a conceptos de software; por
ejemplo, un modelo de interfaces grficas.

Representa la vista esttica del dominio, por lo tanto no se define

ninguna operacin.

En trminos informales el concepto es una idea, cosa u objeto.

29

Giovanni Giachetti

ICC 246: Ingeniera de Software

Modelo conceptual con UML


Ventajas modelamiento orientado a objetos:
Proximidad de los conceptos de modelado respecto de las

entidades del mundo real.


Integra propiedades estticas y dinmicas del mbito del
problema.
Entrega elementos comunes para el modelado durante las etapas
de anlisis, diseo e implementacin.

Diagrama de clases
Ejemplo: Clase automvil.

Automovil
nombre

-color
-marca
-ao
-motor
+automovil()
+~automovil()
+arrancar()
+acelerar()
+frenar()

atributos

operaciones

Diagrama de clases
Tipos particulares de clases:
Clase abstracta:
Animal

dormir() {
}

+dormir()
{obligatorio}

Tigre
+dormir()

dormir() {
en un arbol
}

Oso
+dormir()

dormir() {
de espalda
}

Cocodrilo
+dormir()

dormir() {
sobre el vientre
}

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar los Conceptos?


1.- Mediante Lista de categoras de conceptos.
Realice una lista de conceptos candidatos siguiendo la siguiente lista, la cual contiene

categoras comunes usualmente utilizadas (no importa el orden).

Categora de Concepto

Ejemplo

Objeto Fsico o Tangible

Caja, Avin, Producto

Especificacin, diseo o descripcin de cosas

Especificacin de producto, Plan de vuelo

Lugares

Tienda, Aeropuerto, Oficina

Transaccin

Venta, Compra, Reserva

Lneas de tems de Transaccin

Lnea de Productos de Pedido a Bodega

Roles de Personas

Cajero, Bodeguero

Contenedores de otras cosas

Tienda, Avin, Bodega

33

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar los Conceptos?

34

Categora de Concepto

Ejemplo

Cosas en Contenedores

Producto, Pasajero, Caja

Otros Computadores o Sistemas


electromecnicos externos a nuestro sistema

Sistema de Autorizacin de Tarjeta de Crdito


Control de Trafico Areo

Conceptos Abstractos

Hambre

Organizaciones

Departamento de Ventas

Eventos

Venta, Despegue, Aterrizaje

Procesos (a menudo no representado como un


concepto, pero puede ser)

Venta de producto

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar los Conceptos?


Categora de Concepto

Ejemplo

Catlogos

Catlogo de Productos
Catlogo de Partes

Registros de Finanzas, Trabajos, contratos,


materias legales

Contratos de Empleo

Instrumentos Financieros y Servicios

Lnea de Crdito

Manuales, Libros

Manual de reparaciones

35

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar los Conceptos?


2.- Mediante identificacin de conceptos entre frases.
Identificar sustantivos en las descripciones textuales de los

casos de uso y considerarlos como candidatos a conceptos o


atributos.
Errores comunes al identificar conceptos:
El error ms comn al identificar conceptos es el de

representar atributos como conceptos. Una regla simple para


evitar esto es:
Si pensamos en un concepto X como un nmero o un texto

en el mundo real, X probablemente sea un atributo.


36

Giovanni Giachetti

ICC 246: Ingeniera de Software

Identificar Clases
Est dentro de los lmites del sistema?
Posee estructura identificable?
Tiene ms de 1 atributo?
Tiene comportamiento?
Tienen todas sus instancias el mismo comportamiento y

atributos?

Giovanni Giachetti

ICC 246: Ingeniera de Software

Atributos
Un atributo es un valor lgico de un dato de un

objeto.
Debern ser incluidos en el modelo todos aquellos

por los cuales los requerimientos sugieren o implican


la necesidad de recordar informacin.
Los atributos en un modelo conceptual deben ser

preferentemente atributos simples o valores de


datos puros.
38

Giovanni Giachetti

ICC 246: Ingeniera de Software

Atributos
CAJERO

MAL

NOMBRE
ACTUAL CAJA

Atributo no simple

CAJERO

USA

1
NOMBRE

CAJA
1

MEJOR

NUMERO

39

Giovanni Giachetti

ICC 246: Ingeniera de Software

Asociaciones
Una asociacin es una relacin entre conceptos que indica alguna conexin

de inters que deber ser preservada.


Una asociacin se representa como una lnea entre los conceptos con

el nombre de la asociacin. sta es intrnsecamente bidireccional: es


un nexo entre objetos de un tipo y del otro.
Los extremos de una asociacin pueden contener una expresin de

multiplicidad que indique la relacin numrica entre las instancias o


conceptos.

40

Giovanni Giachetti

ICC 246: Ingeniera de Software

Asociaciones

LANZA

JUGADOR

DADO
1

NOMBRE

VALOR CARA

Nombre Asociacin

Multiplicidad

41

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar Asociaciones?


Mediante el uso de la siguiente lista, que contiene categoras comunes que

usualmente son consideradas.

42

Categora

Ejemplo

A es parte fsica de B

Ala-Avin

A es parte lgica de B

Lnea de tem de venta- venta

A est fsicamente contenida en B

Pasajero-Avin

A est lgicamente contenida en B

Vuelo-Plan de Vuelo

A es una descripcin para B

Plan de Vuelo Vuelo

A es una lnea de tem de una transaccin o


reporte de B

Lnea de tem de venta Venta

Giovanni Giachetti

ICC 246: Ingeniera de Software

Cmo Identificar Asociaciones?


Categora

Ejemplo

A es conocido /grabado /registrado /


reportado /capturado en B

Venta- Caja

A es un miembro de B

Cajero Tienda

A es una subunidad organizacional de B

Departamento Tienda

A usa o administra B

Cajero Caja

A se comunica con B

Cliente-Cajero

A se relaciona con una transaccin de B

Pasajero-Pasaje

A es una transaccin relacionada con otra


transaccin de B

Reserva- Cancelacin

43

Giovanni Giachetti

ICC 246: Ingeniera de Software

Directrices para Crear Asociaciones


Concentrarse en las asociaciones en que el conocimiento de la relacin ha de

preservarse durante algn tiempo (asociaciones que es necesario conocer ).


Es ms importante identificar los conceptos que las asociaciones.
Muchas asociaciones tienden a confundir el modelo conceptual en vez de

aclararlo. A veces se requiere mucho tiempo para descubrirlas, y los


beneficios son escasos.
No incluir las asociaciones redundantes, ni las derivables.

44

Diagrama de clases
Relaciones entre clases:

Asociacin: Conexin bidireccional entre clases y objetos.

Posee los siguientes elementos:


Rol de la clase.
Especificacin de multiplicidad:

1: Uno y solo uno.


0..1: Cero o uno.
M..N: Desde M hasta N (enteros naturales).
*: Cero o muchos.
0..*: Cero o muchos.
1..*: Uno o muchos (al menos uno).
Cliente

Giovanni Giachetti

Prestamo

ICC 246: Ingeniera de Software

Multiplicidad en las Asociaciones


*
1..*
1..40
5
3, 5, 8

46

Cero o ms; muchos


Uno o ms
De Uno a cuarenta
Exactamente 5
Exactamente 3, 5, 8

Giovanni Giachetti

ICC 246: Ingeniera de Software

Multiplicidad en las Asociaciones


Terminal Punto de Venta

47

Giovanni Giachetti

ICC 246: Ingeniera de Software

Multiplicidad en las Asociaciones


Dos conceptos pueden tener varias asociaciones entre ellos; esto sucede con

frecuencia. Por ejemplo,en el dominio de la lnea area encontramos varias


relaciones entre Vuelo y Aeropuerto .
Las asociaciones volar-hacia y volar-de son netamente diferentes que deben

mostrarse por separado.

48

Diagrama de clases
Relaciones entre clases:
Agregacin: Representa a un objeto que est contenido dentro

de otro objeto. Existen 2 tipos de agregacin:


Por valor o composicin: El tiempo de vida del objeto incluido est

condicionado por el tiempo de vida del objeto que lo incluye.


Por atributo o agregacin: El tiempo de vida del objeto incluido es

independiente del que lo incluye.


almacen

clientes

*
cuentas

Tipos de asociacin:
persona
cuenta

Asociacin excluyente

*
*

{or}
empresa

*
1

Casado con

1
Persona

Asociacin unaria
-hombre

2..14
Atleta

corre
{subset}

Carrera

gana
1

{or} 1
pierde

13

Asociacin condicionada

-rut
-nombre

-mujer

Giovanni Giachetti

ICC 246: Ingeniera de Software

Tipos de asociacin:
Clase de asociacin

Acceso
-fecha_acceso
*

Cliente

Cuenta

Utiliza

Diagrama de clases
Generalizacin/Especializacin: La generalizacin, consiste en factorizar las

propiedades comunes de un conjunto de clases, en una clase ms general, la


especializacin es el proceso contrario.
Vehiculo

Terrestre

Automovil

Aereo

Camion

Avion

Helicoptero

Diagrama de clases
Clasificacin esttica: Cuando en un proceso de Generalizacin, las subclases

conforman una divisin del espacio de objetos de la superclase.

Vehiculo aereo

{esttica}

Avion

Helicoptero

Diagrama de clases
Clasificacin dinmica: Cuando en un proceso de Generalizacin, las subclases

conforman una divisin del espacio de estado de los objetos de la superclase.

Automovil

{dinmica}

BuenEstado

MalEstado

Diagrama de clases
Dependencia: Indica que la instanciacin de una clase depende de otra clase.

Aplicacion

Ventana

Giovanni Giachetti

ICC 246: Ingeniera de Software

Diagrama de clases vs. E-R


Relaciones:

-rol1

Clase1

*
R
-rol2
*

Clase2

Diagrama de clases vs. E-R


Relaciones:

ult_mov

Acceso
-ult_mov

Cliente

cuenta

utiliza

cliente

*
Utiliza

Diagrama de clases vs. E-R


Generalizacin/Especializacin:
superclase

E
ES

disjunta

subclase

subclase

Cuenta

Diagrama de clases vs. E-R


Generalizacin/Especializacin:
superclase

E
ES
subclase

Giovanni Giachetti

subclase

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Modelar mediante un diagrama de clases la estructura de un

banco, que incorpore relaciones entre clientes, cuentas y


prstamos.

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona
-rut
-nombre
-calle
-depto
-ciudad

Cliente
-calificacion

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona
-rut
-nombre
-calle
-depto
-ciudad

EjecCta

Cajero
-tipo_cajero

Cuenta

-num_cuenta
-saldo

-tipo_ejec_cta

Cliente
-calificacion
*
Prestamo
-monto
*

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona

Sucursal
-direccion

-rut
-nombre
-calle
-depto
-ciudad

EjecCta

Cajero

-tipo_ejec_cta

-tipo_cajero

Cuenta

Cliente

-num_cuenta
-saldo

-calificacion
*
Prestamo
-monto
*

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona

Sucursal
-direccion

-rut
-nombre
-calle
-depto
-ciudad

EjecCta

Cajero
-tipo_cajero

Cuenta

Cliente

-num_cuenta
-saldo

-tipo_ejec_cta

-calificacion
*
Prestamo

CtaCorriente

-monto

CtaVista

-monto_lin_cred

-cargo_mant

CtaAhorro
-tipo_interes

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona

Sucursal
-direccion

-rut
-nombre
-calle
-depto
-ciudad

EjecCta

Cajero

-tipo_ejec_cta

-tipo_cajero

Cuenta

Cliente

-num_cuenta
-saldo

-calificacion
*
Prestamo

CtaCorriente

-monto

CtaVista

-monto_lin_cred

-cargo_mant

CtaAhorro
-tipo_interes

Letras
-enc_letra
-monto_letra

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Modelo Banco


Empleado

Persona

Sucursal
-direccion

-rut
-nombre
-calle
-depto
-ciudad

EjecCta

Cajero

-tipo_ejec_cta

-tipo_cajero

Cuenta

Cliente

-num_cuenta
-saldo

-calificacion

*
Prestamo
CtaCorriente

-cargo_mant

PagoLetra

-monto

CtaVista

-monto_lin_cred

-fechaPago
-montoPago

1
-tipo_interes

CtaAhorro

Letras
-enc_letra
-monto_letra

Giovanni Giachetti

ICC 246: Ingeniera de Software

Modelo E-R Banco


depto

calle

ciudad

ult_mov
num_cuenta

saldo

rut

cuenta

nombre

utiliza

cliente

cta_ahorro

contrae

cta_vista

monto

prestamo

asesora

ES disjunta

cta_corriente

id_prestamo

direccion

pago_pre
R
stamo

ejec_cuenta

cajero
pago
ES

monto_lin_cred

tipo_interes

disjunta

cargo_mant

sucursal

trabaja_en

num_pago

empleado

monto_pago
fec_pago

trabajador

jefe

trabaja_
para

Diagrama de clases vs. E-R


id_prestamo

monto

Prestamo
-monto

prestamo

pago_pre
R
stamo

Letras

pago

num_pago

monto_pago
fec_pago

-enc_letra
-monto_letra

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Realizar el modelo conceptual de el nuevo reality, La

parcela. Bajo los siguientes requerimientos:


Existen 2 tipos de pruebas, Duelo e individuales.
Los duelos pueden ser de habilidad, fuerza o equilibrio.
En los duelos de fuerza solo pueden participar contrincantes del

mismo sexo.
El animador del programa coordina las pruebas.

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Personas
-rut
-nombre
-sexo

Concursantes
-en_carrera

Personajes
-rol

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Pruebas

Personas
Personajes

-rut
-nombre
-sexo

coordina

-rol

0..*

-nom_prueba
-desc_prueba
-reg_prueba
-semana

Individuales

a
-cap

taz

-premio

Concursantes

-subordinados

Duelo

-en_carrera

1..*

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Pruebas

Personas
Personajes

-rut
-nombre
-sexo

coordina

-rol

2.
.*

1..*

-en_carrera

1..*

{or}
Concursantes

Individuales
-premio

pierde

1..*

-subordinados

taz

{subset} gana

1..* 0..*

compite

a
-cap

0..*

-nom_prueba
-desc_prueba
-reg_prueba
-semana

Duelo

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Pruebas

Personas
Personajes

-rut
-nombre
-sexo

coordina

-rol

0..*

1..* 0..*

compite

2.
.*

-en_carrera

1..*

{or}
Concursantes

Individuales
-premio

pierde

1..*

Duelo

enviados

-subordinados

taz

{subset} gana

a
-cap

-nom_prueba
-desc_prueba
-reg_prueba
-semana

1..*

eliminado

{subset}

pierde

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Pruebas

Personas
Personajes

-rut
-nombre
-sexo

coordina

-rol

1..* 0..*

2.
.*

1..*

-en_carrera

pierde
Duelo

enviados

1..*

{or}

Concursantes

Individuales
-premio

1..*

-subordinados

{subset} gana

ataz

compite

-cap

0..*

eliminado

{subset}

pierde
Hombre

-nom_prueba
-desc_prueba
-reg_prueba
-semana

Mujer

Fuerza

Giovanni Giachetti

ICC 246: Ingeniera de Software

Aplicacin: Reality la Parcela


Pruebas

Personas
Personajes

-rut
-nombre
-sexo

coordina

-rol

1..* 0..*

ataz

1..*

{or}

Concursantes
-en_carrera

Individuales
-premio

pierde

1..*

Duelo

enviados

-subordinados

{subset} gana

2.
.*

compite

-cap

0..*

-nom_prueba
-desc_prueba
-reg_prueba
-semana

1..*

eliminado

{subset}

pierde
Fuerza

Mujer

{or}

0..*

Hombre

0..
*