Sunteți pe pagina 1din 246

Lenguaje de Modelamiento

Unificado
Ing. Luis Zuloaga Rotta

los Requerimientos ?
Un requerimiento es una condicin o capacidad
a la que el sistema (siendo construido) debe
conformar [ Rational Software Corp.].
Un requerimiento de software puede ser
definido como :
Una capacidad del software necesaria por el usuario
para resolver un problema o alcanzar un objetivo.
Una capacidad del software que debe ser reunida o
poseda por un sistema o componente del sistema para
satisfacer un contrato, especificacin, estndar, u otra
documentacin formal.

Los Problemas de la Administracin


de Requerimientos
No son siempre obvios y tienen muchas fuentes.
No son siempre fciles de expresar en palabras.
Hay muchos tipos diferentes a distintos niveles de
detalle.
El nmero puede llegar a ser inmanejable.
Estn relacionados a otros en una variedad de formas.
Hay muchos interesados y partes responsables.
Cambian.
Pueden ser sensibles al tiempo.

UML
Un lenguaje estndar mundial para modelar
el software a construir similar al que se
utiliza para elaborar los planos de
construccin de una vivienda.
Unifica muchos estndares de
diagramacin conformando un
metalenguaje.
Facilita el modelado de todo tipo de
sistema.

Ivar
Jacobson

Los Tres
Amigos
Grady
Booch

En 1994 Booch, Rumbaugh y


Jacobson dieron forma a la
primera versin del UML y en
1997 fue aceptado por la OMG,
fecha en la que fue lanzada la
versin v1.1 del UML. Desde
entonces, UML atraves varias
revisiones y refinamientos
hasta llegar a la versin actual:
UML 2.0.

James
Rumbaugh

13 Tipos de Diagramas - UML


Diagramas de Estructura:

Diagrama de Clases,
Diagrama de Objetos,
Diagrama de Componentes,
Diagrama de Estructura Compuesta,
Diagrama de Paquetes, y
Diagrama de Despliegue.

Diagramas de Comportamiento:

Diagrama de Casos de Uso,


Diagrama de Actividad,
Diagrama de Transicin de Estados, y
Diagramas de Interaccin:

Diagrama de Secuencia,
Diagrama de Comunicacin,
Diagrama de Temporizacin, y
Diagrama General de Interaccin.

Diagrama
Diagrama de Clases
Diagrama de
Componentes
Diagrama de
Estructura
Compuesta

Diagrama de
Despliegue Fsico

Diagrama de Objetos

Diagrama de
Paquetes

Descripcin
Prioridad
Muestra una coleccin de elementos de modelado
declarativo (estticos), tales como clases, tipos y sus
Alta
contenidos y relaciones.
Representa los componentes que componen una
aplicacin, sistema o empresa. Los componentes, sus
Media
relaciones, interacciones y sus interfaces pblicas.
Representa la estructura interna de un clasificador (tal como
una clase, un componente o un caso de uso), incluyendo
Baja
los puntos de interaccin de clasificador con otras partes
del sistema.
Un diagrama de despliegue fsico muestra cmo y dnde se
desplegar el sistema. Las mquinas fsicas y los
procesadores se representan como nodos y la construccin
interna puede ser representada por nodos o artefactos
embebidos. Como los artefactos se ubican en los nodos
para modelar el despliegue del sistema, la ubicacin es
guiada por el uso de las especificaciones de despliegue.
Un diagrama que presenta los objetos y sus relaciones en
un punto del tiempo. Un diagrama de objetos se puede
considerar como un caso especial de un diagrama de
clases o un diagrama de comunicaciones.
Un diagrama que presenta cmo se organizan los
elementos de modelado en paquetes y las dependencias
entre ellos, incluyendo importaciones y extensiones de
paquetes.

Media

Baja

Baja

Diagrama

Descripcin

Diagrama de Casos Un diagrama que muestra las relaciones entre los actores y el
de Uso
sujeto (sistema), y los casos de uso.
Diagrama de
Actividades

Representa los procesos de negocios de alto nivel, incluidos el


flujo de datos. Tambin puede utilizarse para modelar lgica
compleja y/o paralela dentro de un sistema.

Diagrama de
Mquinas de
Estado

Un diagrama de Mquina de Estados ilustra cmo un elemento,


muchas veces una clase, se puede mover entre estados que
clasifican su comportamiento, de acuerdo con disparadores de
transiciones, guardias de restricciones y otros aspectos de los
diagramas de Mquinas de Estados, que representan y explican el
movimiento y el comportamiento.

Prioridad
Media

Alta

Media

Diagrama

Descripcin

Prioridad

Diagrama de
Comunicaciones
(anteriormente:
Diagrama de
colaboraciones)

Es un diagrama que enfoca la interaccin entre lneas de vida,


donde es central la arquitectura de la estructura interna y cmo ella
se corresponde con el pasaje de mensajes. La secuencia de los
mensajes se da a travs de un esquema de numerado de la
secuencia.

Baja

Diagrama General de
Interaccin

Este Diagrama se enfoca en la revisin del flujo de control, donde


los nodos son Interacciones u ocurrencias de Interacciones. Las
Lneas de Vida los Mensajes no aparecen en este nivel de revisin

Baja

Diagrama de
Secuencias

Un diagrama que representa una interaccin, poniendo el foco en


la secuencia de los mensajes que se intercambian, junto con sus
correspondientes ocurrencias de eventos en las Lneas de Vida.

Alta

Diagrama de
Temporizacin

El propsito primario del diagrama de tiempos es mostrar los


cambios en el estado o la condicin de una lnea de vida
(representando una Instancia de un Clasificador o un Rol de un
clasificador) a lo largo del tiempo lineal. El uso ms comn es
mostrar el cambio de estado de un objeto a lo largo del tiempo, en
respuesta a los eventos o estmulos aceptados. Los eventos que
se reciben se anotan, a medida que muestran cundo se desea
mostrar el evento que causa el cambio en la condicin o en el
estado.

Baja

RUP
Proceso Unificado Rational, un marco de
trabajo para desarrollar software de calidad.
Principios:
Modelado con UML
Basado en Casos de Uso
Centrado en la Arquitectura
Iterativo e Incrementable.

Fases del RUP

Bibliografa

Teora de Objetos

Cul es su:
-marca
-kilometraje
-nro placa
-color
-modelo
Qu hace:
enciende motor
acelera
frena
apaga motor
carga combustible
enciende luces
Actualiza kilometraje

Cul es su:
-marca
-kilometraje
-nro placa
-color
-modelo
En que
procesos se
utilizan ?

Objeto

Analista con enfoque


centrado en los datos

Analista con enfoque


centrado en los objetos

Definicin de Objeto
Todo aquello a lo que podemos
reconocerle una identidad, un estado y un
comportamiento.
Es una coleccin de elementos de datos
junto con las funciones o mtodos
asociados para operar sobre ellos y para
comunicarse con otros objetos.

Identidad
Es la propiedad que diferencia un objeto de otro
similar. En esencia la identidad de un objeto
caracteriza su propia existencia.
La identidad hace posible distinguir cualquier
objeto sin ambigedad e independientemente de
su estado.
Esto permite, entre otras cosas, la diferenciacin
de dos objetos que tengan atributos idnticos.

Identidad
Cada objeto tiene una identidad nica, incluso si
tiene las mismas caractersticas que otros y se
encuentra en el mismo estado.

Estado de un objeto
Cada uno los objetos de una clase tendr
generalmente un estado particular propio.
El estado esta relacionado con los valores de
algunos de los atributos caractersticos de un
objeto.
Para una botella, su contenido, que establece que

una botella pueda estar llena, medio llena o vaca

Con algunas operaciones comunes que comparte


con otros objetos:
como <<llenar>>, <<vaciar>>, <<destapar>>), y

Tiene adems otros atributos no relacionados


con el estado.

como el color y modelo de una botella

Estado de un Objeto
Un objeto se encuentra en un determinado
momento en un estado especfico como
consecuencia de algn evento.

Parado

Sintate !

Camina !

Prate !

Caminando

Sentado

Comportamiento
Los datos describen la abstraccin de las caractersticas
individuales que poseen todos los objetos.
Las operaciones cambian el objeto (su comportamiento)
de alguna forma, es decir, cambian valores de uno o
ms atributos contenidos en el objeto. Aunque existen
gran nmero de operaciones que se pueden realizar
sobre un objeto, generalmente se dividen en tres
grandes grupos:
Operaciones que manipulan los datos de alguna forma
especfica (aadir, borrar, cambiar formato, )
Operaciones que realizan un clculo o proceso
Operaciones que comprueban un objeto frente a la ocurrencia
de algn evento de control.

Objetos
Objeto

Identidad

Estados

Comportamiento

Venta

Nro 2345601

Emitida
Pagada
Anulada

Crear
Modificar
Aadir producto
Pagar
Anular
Totalizar

Alumno

Cod 1998234

No matriculado
Matriculado
Retirado
Egresado

Matricular
Retirar
Egresar
Sancionar

Cita medica

Nro 234516

Emitida
Pagada
Atendida
Suspendida

Crear
Pagar
Atender
Suspender

Contribuyente

RUC 201345678965

Habido
No habido

Crear
Sancionar
Dar baja
Clasificar

Tipos de Objetos

Concretos: Persona Carro PC - Libro

Roles: Doctor Propietario Maestro - Hijo

Relacional: Sociedad - Club - Matrimonio

Eventos: Venta Compra - Arribo

Exponibles: Icono Window Imagen - Men

Estructura interna de un Objeto


Atributos (datos o valores)
Operaciones (mtodos o servicios)
Los atributos describen el estado del objeto. Un
atributo consta de dos partes: un nombre de atributo
y un valor de atributo.
Los mtodos describen el comportamiento asociado
a un objeto. Representan las acciones que pueden
realizarse por o sobre un objeto.

Caractersticas de los Objetos


Se agrupan en tipos llamados clases.
Tienen datos internos que definen su estado
actual.
Soportan la ocultacin de datos.
Pueden heredar propiedades de otros objetos.
Pueden comunicarse con otros objetos
pasando mensajes.
Tienen mtodos que definen su
comportamiento.

Mensajes
Los Objetos en un Sistema trabajan en
conjunto, esto se logra por intermedio de
mensajes entre ellos.
Un Objeto enva a otro un mensaje para
realizar una operacin y el Objeto receptor
recibe dicho mensaje para su ejecucin.
Ejemplo: El Televisor y su Control Remoto.

Mtodos y mensajes
Los procedimientos y funciones, denominados mtodos,
residen en el objeto y determinan cmo actan los
objetos cuando reciben un mensaje.
Un mensaje es la accin que hace un objeto. Un mtodo
es el procedimiento o funcin que se invoca para actuar
sobre un objeto y especifica cmo se ejecuta un
mensaje.
Los mensajes que recibe o enva un objeto son los
nicos conductos que asociacian el objeto con el mundo
externo.
Los datos de un objeto estn disponibles slo para ser
manipulados por los mtodos del propio objeto.

Clase y Objeto
Un objeto es un simple elemento, no importa lo
complejo que pueda ser.
Una clase describe una familia de elementos
similares, es un esquema o plantilla que se
utiliza para definir o crear objetos.

Representacin grfica de una Clase


(Notacin de Ege)
Un objeto se dibuja como una caja
rectangular. La caja se etiqueta con
el nombre del objeto y representa el
lmite o frontera entre el interior y el
exterior de un objeto.
Los campos y funciones miembro en
el interior de la caja estn ocultos al
exterior (encapsulados).
El acceso a las caractersticas de los
miembros (datos y funciones) es
posible a travs del interfaz del
objeto

NOMBRE CLASE
ATRIBUTOS
(DATOS MIEMBRO)

OPERACIONES
(FUNCIONES MIEMBRO)

Clases
Una clase es la
descripcin de un
conjunto de objetos;
consta de datos y
mtodos que resumen
caractersticas
comunes de un
conjunto de objetos.
Cada vez que se
construye un objeto a
partir de una clase
estamos creando lo que
se llama una instancia
de esa clase.

Viaj325: Maleta

Ejec105 : Maleta

Cobr2154 : Maleta

Maleta
ATRIBUTOS

OPERACIONES

Denominacion
Color
Precio
Capacidad
Abrir ( )
Cerrar ( )
Calcular peso ( )

Est1235: Maleta

Operaciones
Son funciones o
transformaciones que se
aplican a todos los objetos
de una clase particular.
La operacin puede ser una
accin ejecutada por el
objeto o sobre el objeto.
No se debe utilizar el mismo
nombre en operaciones que
tengan un significado
totalmente diferente.

PERSONA
nombre
edad
trabajar ( )
votar( )
UNIVERSIDAD
nombre
direccion

RECTANGULO
ancho
largo
/area
dibujar ( )
borrar( )
calcular_area( )

ensear ( )
graduar( )

Propiedades de un objeto

Abstraccin y clasificacin
Encapsulamiento
Herencia
Agregacin y composicin
Poliformismo o polimorfismo

Abstraccin
Es una de las vas fundamentales por la que los
humanos combatimos la complejidad.
La abstraccin surge del reconocimiento de las
similitudes entre ciertos objetos, situaciones o
procesos del mundo real, y en la decisin de
concentrarse en esas similitudes e ignorar por el
momento las diferencias.

La abstraccin centra su atencin en las caractersticas


esenciales de un objeto en relacin a la perspectiva del
observador

Encapsulamiento
La encapsulacin es una
caracterstica que permite el
ocultamiento de la informacin
como un concepto avanzado de la
teora de objetos.
Es la propiedad que permite
incluir en una sola clase los datos
y las operaciones que operan
sobre esa informacin.
La encapsulacin de informacin
y operaciones es muy importante.
Los mtodos de un objeto slo
pueden manipular directamente
datos asociados con el objeto.

Objeto
Datos
privados

Datos
pblicos

Funciones
privadas

Funciones
pblicas

El encapsulamiento oculta los detalles de la


implementacin de un Objeto

Encapsulamiento
Es el ocultamiento de la Funcionalidad interna
de las caractersticas y algunas operaciones, a
otros objetos y al mundo exterior.

Encapsulamiento
( - ) Privado: es el ms
fuerte. Esta parte es
visible slo para los
friends en terminologa
C++.
( # ) Protegido: estn
visibles slo para los
friends y para las clases
derivadas de la original.
( + ) Pblico: son visibles
a todas las clases (se
pierde la encapsulacin).

Reglas de visibilidad
+ Atributo pblico : int
# Atributo protegido : int
- Atributo privado : int
+ "Operacin pblica"
# "Operacin protegida"
- "Operacin privada"

Herencia
La herencia es la propiedad que
permite a los objetos ser
construidos a partir de las
caractersticas de otros objetos.
El objetivo de la herencia es la
reutilizacin del cdigo
previamente desarrollado, siendo
esta la real potencia de la POO.
La herencia supone una clase
base y una jerarqua de clases
que contienen las clases
derivadas de la clase base.

CRIATURA

AVE

tipo
peso
habitat
crear( )
esperanza_vida( )

PEZ

Jerarqua
y Herencia

MAMIFERO
periodo_gestacion

PERSONA
nombre
fecha_nacimiento
origen

HOMBRE
esposa

MUJER
esposo

Tipos de Herencia
Herencia simple (jerrquica)
La simple es aquel tipo de herencia en la cual un
objeto puede tener slo un ascendiente, o dicho de
otro modo, una subclase puede heredar datos y
mtodos de una nica clase as como aadir o quitar
comportamiento de la clase base.

Herencia mltiple (en malla)


La mltiple es aquel tipo de herencia en la cual una
clase puede tener ms de un ascendiente inmediato,
o lo que es igual, adquirir datos y mtodos de ms de
una clase.

FIGURA

CIRCULO

TRAPECIO

CUADRILATERO

PERSONA

TRIANGULO

RECTANGULO

Herencia Simple

PROFESOR

INVESTIGADOR

PROF_UNIVERSITARIO

Herencia Mltiple

Agregacin y composicin

A los objetos que pueden contener otros


objetos se conocen como objetos
compuestos.
En la mayora de los sistemas los objetos
no contienen en el sentido estricto a
otros objetos, sino que contienen
referencias a otros objetos.
Un objeto compuesto consta de una
coleccin de dos o ms objetos
componentes, los cuales tienen una
relacin del tipo parte-de con el objeto
compuesto.
Cuando un objeto compuesto se instancia
para producir una instancia del objeto,
todos sus objetos componentes se deben
instanciar al mismo tiempo.

Todo

AUTO
codAuto
nroPlaca
marca
color
ao
kilometraje

SISTEMA
ALARMA
tipo
proveedor
siLuces
nivelSonido

SISTEMA
FRENOS

MOTOR

tipo
proveedor
nivel_liquido

nro_cilindros
potencia
cilindrada
valvulas_cilindro

Parte

Parte
SISTEMA
TRANSMISION
tipo_embrague
caja_cambio

CHASIS
tipo
color

Parte

Un ejemplo de un objeto compuesto es la clase auto. Un auto consta de diversas


partes tales como un motor, un sistema de frenos, un sistema de transmisin, un
sistema de alarma y un chasis. Estas partes constituyen los objetos componentes
del objeto auto de modo que cada uno de estos objetos componentes pueden
tener atributos y mtodos que los caracterizan.
AUTO
Atributos
nro_autos_disponibles
nro_autos_vendidos
Atributos compartidos
concesionario
Atributos de instancia
modelo
color
precio
ao
Objetos componentes
motor
sistema_frenos
sistema_transmision
chasis

MOTOR
nro_cilindros
potencia
cilindrada
valvulas_cilindro

SISTEMA
TRANSMISION
tipo_embrague
caja_cambio

SISTEMA
FRENOS
tipo
proveedor
nivel_liquido

CHASIS
tipo
color

Objeto
compuesto

Estructura de
objetos
compuestos

var 1: obj1
var 2: obj2

obj1

Orden
compra

Orden
compra

var 1: cliente
var 2: articulo

articulo

obj2

var 1: cliente
var 2: articulo

cliente

articulo

Agregacin

Polimorfismo
Propiedad por la cual un mismo objeto u objetos de una
misma clase u objetos de clases diferentes, responden
de distinta manera a un mismo mensaje.

La utilizacin de operadores o funciones de formas


diversas, dependiendo de cmo estn operando se
denomina polimorfismo.
La sobrecarga es una clase de polimorfismo.
La gran ventaja ofrecida por el polimorfismo y la
sobrecarga es permitir que los nuevos tipos de datos
sean manipulados de forma similar que los tipos de
datos predefinidos, logrando as ampliar el lenguaje de
programacin.

Polimorfismo
Es la propiedad que tienen los objetos de permitir
invocar genricamente un comportamiento (mtodo)
cuya implementacin ser delegada al objeto
correspondiente recin en tiempo de ejecucin.
Transporte
Avanzar
Frenar

Transporte
Avanzar

Transporte

Frenar

Avanzar
Frenar

Transporte
Avanzar
Frenar

Diagrama de Casos de Uso

Caso de Uso
Secuencia de interacciones entre un actor
cumpliendo un rol y el sistema con la
finalidad de que el actor pueda satisfacer un
requerimiento.
Caso
Uso 1

Caso
Uso 2
Caso
Uso 3

Actor
(rol1)

Caso
Uso 4

Actor
(rol3)

Caso
Uso 5

Sistema

Actor
(rol2)

Actor
Persona, unidad organizacional,
mecanismo, u otro sistema que deseando
satisfacer un requerimiento inicia la
interaccin con el sistema.
Actor primario es quien inicia la interaccin
y actor secundario es de quien se vale el
sistema para satisfacer el requerimiento
del actor primario.

Caso de Uso
Los casos de uso se identifican hablando con los
usuarios habituales y analizando con ellos las
distintas cosas que desean hacer con el sistema
(requerimientos).
Se debe abordar cada uso concreto que quieran
realizar, darle un nombre y escribir un texto
descriptivo breve (forma corta).
La mayora de los casos de uso se pueden
detallar durante las iteraciones con los usuarios,
a medida que se construyen (forma extendida).

Asociaciones entre
Casos de Uso
Inclusin
Cuando un caso de uso esta incluido dentro
de otro y al ser factorizado puede ser
reutilizado por otros casos de uso; tambin
se utiliza para mejorar la comprensin del
caso de uso.

Extensin
Cuando un caso de uso opcionalmente puede
extenderse hacia otro caso de uso.

Realizar
venta
Vendedor
(actor primario)

incluye

Realizar cobro
con Tarjeta
Crdito
extiende

Realizar
cobro de
factura

Sistema

Banco
(actor secundario)

Tipificacin de casos de uso


El ordenamiento de los casos de uso que
expresan la forma de satisfacer los
requerimientos de un actor se tipifican como:

Definir
Seleccionar
Ingresar o Entrar
Imprimir
Vincular
Validar

- Consultar
- Realizar
- Actualizar
- Calcular
- Autorizar
- Procesar

Definir Entidad

Una Entidad representa un Objeto de negocio que forma


parte de una Organizacin.

Actor fija, determina, y decide cuales son los atributos


distintivos de una Entidad; seala sus lmites y sus
responsabilidades, discrimina lo que es esencial de lo que es
circunstancial.

Ej. Definir Agente, Cliente, Contribuyente, Organizacin, Sub


Sistema, Lugar, Punto de Actuacin, Dispositivo, Parmetros de
Aplicacin, Item, Artculo, Catlogo de , Acta de Examen,
Cuenta, Cartera de, Plantilla de Documento, Mensaje entre
Entidades,

Definir Cta
Ahorro

Realizar Actuacin

Una Actuacin representa algo que ha sucedido, est


sucediendo, o puede suceder en el futuro, gracias a la
combinacin de varias Entidades.

Actor pone en accin diversas Entidades dentro de un flujo de


trabajo que est bajo su control.

Ej. Realizar Transaccin, Mensaje, Venta, Arqueo de Caja,


Apertura, Cierre, Transferencia, Declaracin Anual, pedido,
Inventario, Regularizacin de Stock, Solicitud, Devolucin de
Item, Pago, Remesa, Abono, Orden de Transferencia,
Activacin, Notificacin, Configuracin, Modificacin,
Observacin, Matricula, Subasta, Evaluacin,
Realizar
Abono en
Cta

Ingresar o Entrar Item

Representa el ingreso del detalle de la estructura de una


Entidad o una Actuacin.

Actor ingresa o entra partes correspondientes a una Entidad


o, a una Actuacin.

Ej. Entrar Rol de un Agente, Lnea de Transaccin, Item en una


Cartera, Lnea de venta, Calificaciones en un Acta de Notas,
Lote de, Factura de Agente, Variable, Previsiones, Propiedades,
Estados, Composicin de un Item, Regla de Negocio,
Representante, Incidencia de un Proceso,
Realizar
Abono en
Cta

<<Incluye>>

Ingresar
monto a
abonar

Procesar Item
Representa un cambio de estado en una Entidad o una

Actuacin, a partir de una transformacin.


Por orden de un Actor, el sistema realiza una serie de

transformaciones en una o varias Entidades y/o Actuaciones,


dentro de unas coordenadas espacio-tiempo y con una
cadencia determinada.

Ej. Procesar Cuentas, mailings, pedidos, Facturas, Movimientos


de Almacn, Notas de Entrega (Albarn), Incidencias, items en
una cartera, Contenido de un Documento,

Procesar
Ctas Ahorro

<<Incluye>>

Ingresar
periodo

Actualizar Item

Representa un cambio de estado en una Entidad o una Actuacin, a


partir de un movimiento entre Emisor y Receptor.

Por orden de un Actor, sistema realiza una transferencia (emisor


receptor) de Entidades y/o Actuaciones dentro de unas coordenadas
espacio-tiempo y con una cadencia determinada.

Ej. Actualizar Catlogo, Cuenta, Venta, Artculo, Cartera de ,


Canal de Noticias, Nivel de Riesgo, Localizacin de Artculo,
>>
uye
l
c
n
<<I

Procesar
Ctas Ahorro

<<In
clu

ye>>

Calcular
intereses del
mes

Actualizar
Ctas Ahorro

Consultar Item
Representa la construccin de un Query.
Actor busca informacin sobre Entidades y/o Actuaciones a

travs de unas condiciones de consulta.

Ej. Condiciones referidas a Fechas, Cdigos, Estados,

Realizar
Retiro de
Cta Ahorro

<<extend>>

Consultar
Fondos de
Cta Ahorro

Seleccionar Item
Representa el resultado de una Query.
Actor escoge Entidades y/o Actuaciones de un conjunto

delimitado por el resultado de una bsqueda.

Ej. Clientes, Alumnos, Pacientes, Ventas, Artculos, Matriculas,

Realizar
Retiro de
Cta Ahorro

<<Incluye>>

Seleccionar
Nro Cta
Ahorro

Imprimir Documento
Representa la justificacin o resultado de una Actuacin.
Actor ordena fijar o reproducir en un documento de negocio un
conjunto de atributos pertenecientes a la estructura de una o varias
Entidades y/o Actuaciones.
Ej. Imprimir Ticket de, Notas de Entrega, Contratos, Cuentas,
Expedientes, Listas de Arqueo, Relacin de Items, Formulario,
Orden de Trabajo, Lista de Alumnos,
Seleccionar
Nro Cta
Ahorro

ye>>
<<Inclu

Realizar
Abono en
Cta Ahorro

<<Incluye
>>
<<
I nc
luy
e>
>

Imprimir
Voucher de
Abono

Ingresar
monto a
abonar

Calcular Importe, Promedio,


Representa un algoritmo complejo de clculo por parte del

Sistema.
Sistema determina un valor numrico a partir de unos

parmetros y una expresin matemtica predefinida.


Ej. Calcular Importe de Lnea, Descuento de, Impuesto de, Total
Factura, Riesgo Comercial, Retribuciones, Primas de VentaProduccin, Nmero de Lotes,

Procesar
Ctas Ahorro

<<Incluye>>

Calcular
intereses del
mes

Validar

Representa una certificacin o verificacin de una Entidad


por parte del Sistema.

Sistema declara la conformidad de una Entidad, o una


Actuacin, a partir de unos parmetros y una expresin
lgica predefinida.

Ej. Validar Existencia de Entidad (Cliente, Alumno, Usuario,


Trabajador, etc), Regla de Negocio, Entrada de un campo
(datatype), Nivel de Acceso, Umbral de Tiempo,
clu
<<In

Realizar
Retiro de
Cta Ahorro

ye>>

<<In
cluye
>>

Validar Cta

Seleccionar
Nro Cta
Ahorro

Vincular Items

Representa un Grupo relacionado de Items.

Actor ordena relacionar de una manera persistente a un


conjunto restringido de Entidades y/o Actuaciones.

Ej. Vincular Agentes, Items, Actuaciones, Expedientes,


Pacientes, Diagnsticos, Procedimientos, Prestaciones,
Incidencias, Productos, Servicios, Pagos,

Realizar
Auditoria a
Cta

<<Incluye>>

Vincular
Operaciones
en Cta

Autorizar

Representa una habilitacin para que una Entidad pueda


actuar, o para que una Actuacin siga su curso.

Actor acredita a una Entidad para que pueda participar en una


Actuacin con un Rol y una responsabilidad determinada
como Participante. Actor desencadena la realizacin de una
Actuacin controlada.

Ej. Autorizar Agente habilitado, Transaccin, Acceso,


Habilitacin de un Punto de Actuacin. Afiliacin, Solicitud,
Prestacin, Pago, Transferencia, Tramitacin,
>
<<Incluye>

Realizar
Transferencia
Fondos

<<Inc
l

uye>

>

Seleccionar Cta
Origen y Cta
Destino

Autorizar
Transferencia

Especificacin corta de Caso de Uso

Diagrama de Secuencia

Diagrama de secuencia
Es una representacin que muestra, en un
determinado escenario, los eventos generados
por actores externos al sistema y su orden
secuencial.
En un primer momento al sistema se le trata
como caja negra; los diagramas se centran en
los eventos que fluyen de los actores al sistema.
En el diagrama el tiempo avanza hacia abajo, y el
ordenamiento de los eventos debe seguir el orden
indicado en el caso de uso.
Los eventos del sistema pueden incluir parmetros.

Eventos, mensajes y operaciones


El evento de un sistema es un hecho externo de
entrada que un actor produce sobre un sistema.
La operacin de un sistema son las acciones que
ste lleva acabo a travs de las clases en
respuesta al evento externo y ejecutadas por una
secuencia de mensajes.
El nombre del evento y de la operacin son
idnticos; la distincin reside en que el evento es
el estmulo nombrado y la operacin es la
respuesta (lo mismo sucede con los mensajes y
los mtodos).

Mensajes
Los mensajes se muestran como flechas. Los
mensajes pueden ser completos, perdidos o
encontrados; sncronos o asncronos;
llamadas o seales.
En el siguiente diagrama:
el primer mensaje es un mensaje sncrono
(denotado por una punta de flecha oscura),
completo con un mensaje de retorno implcito;
el segundo mensaje es asncrono (denotado por
una punta de flecha en lnea), y
el tercero es un mensaje de retorno asncrono
(denotado por una lnea punteada).

SD mensajes

Origen

Destino

retorne:=mensaje(parametros)

mensaje(parametros)
mensaje(retorno)

Mensaje Self
Un mensaje self puede representar una
llamada recursiva de una operacin, o un
mtodo llamando a otro mtodo
perteneciente al mismo objeto.
Este se muestra cuando crea un foco de
control anidado en la ocurrencia de
ejecucin de la lnea de vida.

SD self
origen

mensaje self

recursion

Inicio y final de lnea de vida


Una lnea de vida se puede crear o destruir
durante la escala de tiempo representada por un
diagrama de secuencia.
En el ltimo caso, la lnea de vida se termina por
un smbolo de destruccin, representado como
una cruz.
En el primer caso, el smbolo al inicio de la lnea
de vida se muestra en un nivel ms bajo de la
pgina que el smbolo del objeto que caus la
creacin.
El siguiente diagrama muestra un objeto que fue
creado y destruido.

SD padre e hijo

Padre

crear

borrar

Hijo

Restricciones de tiempo y
duracin
En forma predeterminada, un mensaje se
muestra como una lnea horizontal.
Ya que la lnea de vida representa el pasaje
de tiempo hacia abajo, cuando se modela un
sistema en tiempo real, o incluso un proceso
de negocios en tiempo lmite, puede ser
importante considerar el tiempo que toma
realizar las acciones.
Al configurar una restriccin de duracin para
un mensaje (delay), el mensaje se mostrar
como una lnea inclinada.

Fragmentos combinados
No se espera que los diagramas de
secuencia muestren lgicas de
procedimientos complejos.
Siendo este el caso, hay un nmero de
mecanismos que permiten agregar un
grado de lgicas de procedimientos a los
diagramas y que a la vez vienen bajo el
encabezado de fragmentos combinados.
Un fragmento combinado es una o ms
secuencias de procesos incluidas en un
marco y ejecutadas bajo determinadas
circunstancias nombradas y especficas.

Fragmentos disponibles
El fragmento Alternative (denotado alt) modela estructuras ifthenelse.
El fragmento Option (denotado opt) modela estructuras switch.
El fragmento Break modela una secuencia alternativa de eventos que se procesa
en lugar de todo del resto del diagrama.
El fragmento Parallel (denotado par) modela procesos concurrentes.
El fragmento de secuenciado Weak (denotado seq) incluye un nmero de
secuencias para las cuales todos los mensajes se deben procesar en un segmento
anterior, antes de que el siguiente segmento pueda comenzar, pero que no impone
ningn secuenciado en los mensajes que no comparten una lnea de vida.
El fragmento de secuenciado Strict (denotado strict) incluye una serie de
mensajes que se deben procesar en el orden proporcionado.
El fragmento Negative (denotado neg) incluye una serie de mensajes invlidos.
El fragmento Critical incluye una seccin crtica.
El fragmento Ignore declara un mensaje o mensajes que no son de ningn inters
si este aparece en el contexto actual.
El fragmento Consider es el opuesto del fragmento Ignore: cualquier mensaje que
no se incluya en el fragmento Consider se debera ignorar.
El fragmento Assertion (denotado assert) designa que cualquier secuencia que
no se muestra como un operando de la asercin es invlida.
El fragmento Loop incluye una serie de mensajes que estn repetidos.

Fragmentos que describen el flujo de control


Tipo de
fragmento
Opt

Alt

Loop

Inter
Par
Crtico

Descripcin
Opcional. Alberga una secuencia que puede o no producirse. Modela estructuras
tipo switch. En la proteccin, puede especificar la condicin en la que se produce.
Alternative. Contiene una lista de fragmentos que contienen secuencias de
mensajes alternativos. modela estructuras ifthenelse. Solo se produce una
secuencia en cada ocasin ya sea que la condicin a verificar es verdadera o
falsa.
El fragmento se repite cierto nmero de veces. Puede indicar en la proteccin la
condicin que debe darse para que se repita.
Los fragmentos combinados de bucle tienen las propiedades Min y Max, que
indican el nmero mnimo y mximo de veces que el fragmento se puede repetir.
El valor predeterminado es la ausencia de restricciones.
Interrupt. Si se ejecuta este fragmento, se abandona el resto de la secuencia.
Puede utilizar la proteccin para indicar la condicin en la que se producir la
interrupcin.
Paralelo. Modela procesos concurrentes. Se pueden intercalar eventos en los
fragmentos.
Se utiliza en los fragmentos Par o Seq. Indica que los mensajes de este
fragmento no deben intercalarse con otros mensajes.

Seq

Sequence. Hay dos o ms fragmentos de operandos. Los mensajes relacionados


con la misma lnea de vida deben producirse en el orden de los fragmentos. Si no
estn relacionados con las mismas lneas de vida, los mensajes de fragmentos
diferentes se pueden intercalar en paralelo.

Strict

incluye una serie de mensajes que se deben procesar en el orden proporcionado.

Fragmentos relativos a la interpretacin de la secuencia


Tipo de
fragmento

Descripcin

Consider

Es el opuesto del fragmento Ignore: cualquier mensaje que no se


incluya en el fragmento Consider se debera ignorar.
Pueden producirse otros mensajes en el sistema en ejecucin,
pero no son significativos para los propsitos de esta descripcin,
solo hay que considerar los que aparecen en el fragmento.

Ignore

Declara o lista los mensajes que no son de inters en este


fragmento. Pueden presentarse en el diagrama en ejecucin, pero
no son significativos para los propsitos de esta descripcin.
Especifique la lista en la propiedad Messages.

Assert

El fragmento de operando especifica las nicas secuencias


vlidas. Designa que cualquier secuencia que no se muestra como
un operando de la asercin es invlida. Normalmente se utiliza en
un fragmento Consider o Ignore.

Neg

Negative. La secuencia que se muestra en este fragmento no debe


producirse. Normalmente se utiliza en un fragmento Consider o
Ignore.

Fragmento que
combina una
Alternancia (alt)
Las alternativas se
utilizan para designar
una opciones
mutuamente excluyentes
entre dos o ms
secuencias de mensajes.
Alternativas permiten el
modelado de la clsica
lgica
If Then Else" .

Fragmento que combina un loop (opt)

Combinacin de un LOOP
En ocasiones, necesitaremos modelar una secuencia
repetitiva. En UML 2, el modelado de una secuencia
repetitiva se ha mejorado con la adicin de bucles.
El uso de la combinacin de un bucle es muy similar
en apariencia al uso de la combinacin de una opcin.
En un loop o bucle, una condicin guarda puede tener
dos condiciones especiales de prueba en contra
adems de la prueba Booleana estndar; las
condiciones son minint y maxint para el mnimo y
mximo nmero de iteraciones en la repeticin de
mensajes..

Fragmento LOOP

Fragmento que combina una opcin (opt)

Es usada para modelar


una secuencia que,
dada una cierta
condicin, se
ejecutar; en otro caso,
la secuencia no se
ejecutar. Una opcin
es usada para modelar
una simple sentencia
(if . Then ..)
Opt es similar al
fragmento que
combina la alternancia,
salvo que slo tiene un
operando y no existe la
condicin else
(simplemente no tiene

Sentencias de control
de flujo de ejecucin
en los diagramas de
secuencia
alt: Equivale a un
if/else
loop: Equivale a un for
Existen ms
sentencias

Como
caja negra

Actor
Sistema

:cajero
IniciarVenta ( )
Ingresar producto

Loop

IniciarVenta ( )

Seleccionar producto (codigo)


Ingresar cantidad producto

Mostrar stock(codigo)

cantidad producto (codigo,z)


Actualizar stock (codigo,z)
Ingresar nuevo producto
TerminarVenta ( )
EfectuarPago (monto)

Evento del sistema


inicia una operacin
del sistema

Diagrama de Interaccin General

: Jefe de obra: CI-Men

: CC-Aceptar/Rechazar
proyecto

: CI-Aceptar/Rechazar

: Maestro de
proyectos

: Proyecto

Aceptar/Rechazar un proyecto( )
Aceptar/Rechazar proyecto( )

Proyectos:=Obtener todos los proyectos evaluados tcnica y econmicamente( )


Proyecto:=Obtener datos del proyecto( )
Tcnicamente:=Verificar si est evaluado tcnicamente( )
Solo se devuelven
los datos si el tiene
ambas evaluaciones

Econmicamente:=Verificar si est evaluado econmicamente( )

Mostrar todos los proyectos(Proyectos )

Indica resultados de anlisis de un proyecto( )


Registrar Aceptacin/Rechazo( Proyecto,Aceptacin/Rechazo)
Registrar Aceptacin/Rechazo( Proyecto,Aceptacin/Rechazo)
Cambiar estado( Proyecto,Aceptacin/Rechazo)

Si no es el
proyecto, no se
cambia el estado

Verificar si es proyecto(Proyecto )
Cambiar estado( Aceptado)
Cambiar estado( Rechazado)
Se ejecuta uno u
otro mtodo

Diagrama de Actividad

Diagrama de Actividad
Son particularmente tiles para la descripcin del
comportamiento
Permite recoger o definir el orden en que se hacen o
se harn las cosas. Esto es, establece las reglas
esenciales de secuenciacin ha seguir.
Los diagramas de flujo se limitan normalmente a
procesos secuenciales; los diagramas de actividades
pueden manejar procesos paralelos.
sta es la diferencia clave entre un diagrama de
actividades y un diagrama de flujo.

Elementos de un Diagrama de
Actividad
Los elementos ms habituales son:

Nodos inicio y final


Actividades / acciones.
Decisiones.
Swimlanes o carriles.

Tambin se puede utilizar:


Objetos.
Barras de sincronizacin (Fork/Join)

Usos del Diagrama de Actividad


Podemos utilizar
diagramas de actividades
para:
Definir el comportamiento
de casos de uso.
Modelar procesos de
negocio.
Definir el comportamiento
de un mtodo.
Definir estados complejos.

Diagrama de Actividad
Esta ltima caracterstica es importante para el
modelado de negocios. Los negocios con
frecuencia establecen procesos secuenciales
innecesarios.
Una tcnica como sta, que promueve el
comportamiento paralelo, es valiosa en estas
situaciones, porque auspicia que las personas
se aparten de las secuencias innecesarias en
su comportamiento y descubran oportunidades
para hacer cosas en paralelo.
Esto puede mejorar la eficiencia y capacidad
de respuesta de los procesos del negocio.

Los diagramas de actividad deben


mostrar qu se hace y quien lo
hace. Esto significa que el
diagrama especifica cules son
los roles o unidades
organizacionales responsables de
cada actividad.
Los carriles(swimlanes) son una
forma de subsanar esta
deficiencia.
Para usar los carriles, el diagrama
de actividad se debe organizar en
zonas verticales separadas por
lneas similares a los de una
piscina. Cada zona representa la
responsabilidad de una clase o de
un rol o, el de una unidad
organizacional(departamento) en
particular.

Swimlanes o
carriles

Diagrama de actividad para retirar dinero de cta a travs de cajero automtico

Diagrama de actividad para servir y tomar bebida


[no hay caf]

Buscar Bebida

[hay caf]

Poner caf en filtro

Aadir agua al depsito

[no zumo]
[hay zumo]

Coger taza

Coger zumo

Poner filtro en mquina

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

Beber

Diagrama de actividad para compra un pasaje areo


Pasajero

Solicitar pasaje

Airline

Vendedor

Verificar
existencia vuelo
Dar detalles vuelo
Informar alternativas
y precios

Seleccionar vuelo

Solicitar pago

Reservar asiento
Confirmar
asiento reservado

Pagar pasaje

Emitir billete

Diagrama de Paquetes

Que es un Paquete?
Un paquete representa una forma de
agrupar elementos del modelado del SI
muy cohesionados ( o muy relacionados)
para mostrar un mayor orden y
organizacin para la construccin del SI.

Diagrama de Paquetes
Diagrama que muestra la asociacin de
dependencia entre los distintos paquetes
definidos para un SI.
Los paquetes pueden representar
sectores de actividad, reas de negocio o
mdulos del sistema de informacin.

Stma Inf. Gestin Hospitalario


LABORATORIO

CITAS

PROGRAMACION
ATENCION
MEDICA

CAJA

PROGRAMACION

Elementos de Paquete

Actores:
Responsable Programacin de servicios
Medico

Casos de Uso
Realizar Registro Programacin servicios mdicos
Realizar Registro de disponibilidad horaria

Diagramas de secuencia
Diagramas de Actividad
Diagramas de transicin de estados
Diagramas de clases

GUI
Stma. Gestin Hospitalaria

DEFINIR CONSULTORIO
Cdigo Consultorio

Pabelln

Muebles

Muebles
y Equipos

Piso

Equipos

Escritorio

Balanza

Sillas

Lmpara

Archivador

PC

Estante

Comunicador

Camilla

Telfono

Registrar

Diagrama de Clases

Clases de Anlisis
Clase Frontera, Borde o Interfaz, es aquella
clase con la que interacta un usuario al
utilizar el sistema.
Clase Gestora, Administradora o
Controladora, es aquella clase que se
encarga de ejecutar las operaciones
activadas o disparadas desde las clases
Interfaz.
Clase Entidad, es aquella clase que rene el
conjunto de datos procesados por las
operaciones ejecutadas por la clase Gestora.

Diagrama de Comunicacin
Uno de los primeros pasos en la creacin
de un diagrama de clases es obtener de un
caso de uso, las clases que participan en
su realizacin, y construir un diagrama de
Comunicacin (o Colaboracin).
El actor interacciona con la clase interfaz,
la cual dispara las operaciones pblicas de
la clase gestora para operar con los datos
de la o las clases entidad.

Diagrama de clases de anlisis o de


comunicacin

Jefe de obra

CI-Men
Aceptar/Rechazar un proyecto()

CC-Aceptar/Rechazar proyecto
Aceptar/Rechazar proyecto()
Registrar Aceptacin/Rechazo()

Maestro de proyectos
opname()
Obtener todos los proyectos evaluados tcnica y econmicamente()
Registrar Aceptacin/Rechazo()

CI-Aceptar/Rechazar
Mostrar todos los proyectos()
Indica resultados de anlisis de un proyecto()
0..n
Proyecto

Obtener datos del proyecto()


Verificar si est evaluado tcnicamente()
Verificar si est evaluado econmicamente()
Cambiar estado()
Verificar si es proyecto()
Cambiar estado()

Especificacin detallada de una clase


ALUMNO

Atributo

Operacin

DNI : char[10]
nombre : char[50]
fecha_nacimiento : date
numero_expediente : int
credito_educativo : money = 0
alta ( )
poner_nota (asignatura: char[5], ao: int, nota: float )
matricular (curso: asignatura, ao: int)
listar_expediente ( )

Tipo
atributo

Valor inicial
de atributo

Argumentos
de operacin

Propiedades fundamentales
Sirven para definir a un
objeto de modo inequvoco:
una identidad (nroSerie),
un estado (desenchufada), y
un comportamiento (que
depende del estado).

PLANCHA
nroSerie = 23456A
marca = oster
tipo = vapor
color = rosada
volumenAgua = 0
temperatura = 10
estado = desenchufada
crearPlancha( )
enchufar( )
desenchufar( )
regular_temperatura( )
llenar_agua( )
flujo_vapor( )

Datos y mtodos
Dentro de los objetos residen los datos as
como los mtodos que operan sobre ellos.
Los datos y los mtodos asociados se dice que
estn encapsulados y ocultos; si se desea
modificar los datos de un objeto se debe
conocer exactamente cuales son las funciones
que interactan con los mismos ya que ninguna
otra funcin puede acceder a ellos.

Ejemplos de Objetos
Desde el punto de vista informtico los objetos son tipos
abstractos de datos (tipos que encapsulan datos y
funciones que operan sobre esos datos).
Ejemplos de objetos:
Numero racional
Dato (valor actual)
Operaciones (sumar, multiplicar, )

Vehculo
Datos (velocidad, kilometraje, posicin, precio,)
Operaciones (acelerar, frenar, parar, )

Avin
Datos (fabricante, modelo, matricula, capacidad, )
Operaciones (aterrizar, despegar, volar, )

Conjunto
Dato (numero elementos)
Operaciones (adicionar, quitar, visualizar, )

Implementacin de una Clase en Java

Asociacin entre Clases


Expresa una
conexin semntica
bidireccional entre
clases.
Una asociacin es
una abstraccin de
los enlaces que
existen entre los
objetos instancias de
las clases asociadas.

Clase B

Clase A

Asociacin

Rolenames para una Asociacin entre


Clases
Al extremo de una asociacin se
llama rol o funcin. Cada asociacin
binaria posee dos roles, uno en cada
extremo.
El rol describe como una clase ve a
otra clase a travs de la asociacin.
Para una sola asociacin, los
nombres de las clases bastan para
identificar el rol o funcin; el
nombrado de los roles tiene mayor
inters cuando existe mas de una
asociacin entre dos clases.

EMPRESA

Empleador

PERSONA
Empleado

AVION

Piloto

PERSONA
Pasajero

Multiplicidad de una Asociacin


Los roles contienen
tambin una
informacin de
multiplicidad que
precisa el nmero
de instancias que
participan en la
asociacin.

empleador

Empresa

0..1

obrero

ejecutivo

Persona

Comunicacin entre objetos:


los mensajes
A los objetos slo se puede
acceder a travs de su interfaz
pblico.
Un objeto accede a otro objeto
envindole un mensaje.
Un mensaje es una peticin
de un objeto a otro objeto al
que le solicita ejecutar uno de
sus mtodos.
No todos los mensajes de un
objeto se pueden invocar; slo
los que pertenecen al interfaz
accesible.

AUTO
MODELO: explorer
PUERTAS: 2
KILOMETRAJE: 80000
COLOR: plata
AO PROD: 2003
NRO PLACA: LJ3456
PRECIO: 12500
VOLUMENTANQUE:10
ESTADO: Detenido
AUTO( )
FIJAR PRECIO AUTO ( )
LLENARTANQUE ( )
ACTUALIZARKILOMETRAJE()
ENCENDER( )

FIJAR PRECIO AUTO ( )

Partes de un Mensaje
Identidad del receptor.
El mtodo que se ha de ejecutar.
Informacin especial necesaria para
realizar el mtodo invocado (argumentos
o parmetros requeridos).

Nombre de un mensaje
Un mensaje incluye el nombre de una
operacin y cualquier argumento
requerido por esa operacin.
Con frecuencia es til referirse a una
operacin por su nombre sin considerar
sus argumentos.

Mensajes y Mtodos
Cuando un objeto recibe un mensaje se
realiza la operacin solicitada ejecutando
un mtodo.
Un mtodo es el algoritmo ejecutado en
respuesta a la recepcin de un mensaje
cuyo nombre se corresponde con el
nombre del mtodo.

Paso de Mensajes
Los objetos se comunican entre s a travs del uso de
mensajes.
Esencialmente el protocolo de un mensaje implica dos
partes: el emisor y el receptor. Cuando un objeto emisor
enva un mensaje a un objeto receptor especifica lo
siguiente:
Un receptor (objeto receptor).
Un nombre de mensaje (en relacin al mtodo invocado).
Argumentos o parmetros (si se necesitan).
Los parmetros o argumentos pueden ser:
Datos utilizados por el mtodo invocado
Un mensaje propiamente dicho

accin <objeto>.<mtodo (parmetro 1, ,parmetro n)>

Clase Parametrizada
Son modelos de clases. Una
clase parametrizable es una
clase que es usada para crear
una familia de otras clases.
Una clase parametrizable no
puede ser utilizada tal cual.
Conviene primero instanciarla,
a fin de obtener una clase
concreta que podr a su vez
ser instanciada en objetos.

Item

Clase
Parametrizad
a
Atributo 01
Atributo 02

Operacion 1 ( )
Operacion 2 ( )

Clase Parametrizada
Lista

Una clase parametrizable es


alguna suerte de contenedor, y
tambin es conocida como un
template(plantilla), como los
templates de C++.
Este tipo de clases no aparece
generalmente en el anlisis.
Las clases parametrizables se
utilizan sobre todo en diseo
detallado para incorporar, por
ejemplo, componentes
reutilizables.

Item

Atributo

Adicionar ( )
Remover ( )

Lista<Ordenes>
Lista<Empleados>
Atributo

Adicionar ( )
Remover ( )

Atributo

Adicionar ( )
Remover ( )

Clase utilidad
Es una coleccin de slo operaciones.
Aquellas operaciones de uso general
que no pueden acomodarse dentro de
una clase particular, se encapsulan
dentro de una clase utilidad para uso
por las otras clases del sistema.
Son clases que no pueden ser
instanciadas, y que son tiles para
agrupar elementos dentro de un
mdulo, como por ejemplo las
funciones de una biblioteca
matemtica.

Clase Utilidad

Operacion 01 ( )
Operacion 02 ( )

Clase parametrizada utilidad


Es una clase
parametrizada que
contiene slo un conjunto
de operaciones.
Representa la plantilla
(template) que es utilizado
para crear clases utilidad.

Item
Clase Utilidad

Operacion 01 ( )
Operacion 02 ( )

Metaclase
Es una clase cuyas
instancias son clases
en lugar de objetos.
Las clases
parametrizadas y las
clases parametrizadas
utilidad son ejemplos de
metaclases.

Item

Clase
Parametrizad
a

Atributo 01
Atributo 02

Operacion 1 ( )
Operacion 2 ( )

Item
Clase Utilidad

Operacion 01 ( )
Operacion 02 ( )

Herencia mltiple (problemas)


La propiedad
referida slo est
en una de las
clases padre.
La propiedad
concreta existe
en ms de una
superclase.
Diferentes tipos
de conflictos:

De nombres
De valores
Por defecto
Por dominio
Por restricciones

ESTUDIANTE

EMPLEADO

Atributos
-nombre estudiante
-direccion
-campus
-carrera
-ao
PROFESOR ESTUDIANTE
Atributos
-nombre
-direccion
-campus
-salario
-estudios
-carrera
-ao
-dias_vacaciones
Mtodos heredados
-Aumento_salario( )

Atributos
-nombre empleado
-direccion
-estudios
-campus
-salario
-dias_vacaciones
Mtodos
-Aumento_salario( )

Ejemplos de conflictos
PERSONA

Conflicto de nombres:
nombre_estudiante
nombre_empleado

Conflicto de valores:

ESTUDIANTE

EMPLEADO

campus
(atributos con igual nombre tienen
valores en cada clase)

PROFESOR ESTUDIANTE

CLASE DERIVADA POR HERENCIA MLTIPLE

Clases Abstractas

Impresora

Con frecuencia cuando se disea un modelo


orientado a objetos es til introducir clases a
cierto nivel que pueden no existir en la
realidad pero que son construcciones
conceptuales tiles. Estas clases se conocen
como clases abstractas.
Una clase abstracta normalmente ocupa una
posicin adecuada en la jerarqua de clases
que le permite actuar como un depsito de
mtodos y atributos compartidos para las
subclases del nivel inmediato inferior.
Las clases abstractas no tienen instancias
directamente. Las clases derivadas de una
clase abstracta se conocen como clases
concretas y pueden ser instanciadas.

Laser

Tinta

Matricial

Sobrecarga
Es una propiedad que describe una caracterstica
adecuada que utiliza el mismo nombre de operacin
para representar operaciones similares que se
comportan de modo diferente cuando se aplican a
clases diferentes.
Los nombres de las operaciones se pueden sobrecargar,
esto es, las operaciones se definen en clases diferentes
y pueden tener nombres idnticos, aunque su cdigo
programado puede diferir.
Si los nombres de una operacin se utilizan para nuevas
definiciones en clases de una jerarqua, la operacin a
nivel inferior se dice que anula la operacin a un nivel
ms alto (overriding), es decir se redefine la operacin
heredada.

Ejemplo de sobrecarga
Empleado

Administrativo

Atributos
- nombre
- salario
- edad
Operacion
- Incrementar salario = salario*inflacion + comision

Ingeniero

Atributos
Atributos
- especialidad
- beneficios
Operacion
- salario [40 80]
- comision = 0.05*presupuesto
- edad [25 65]
Operaciones
-Incrementar salario = (salario+comision)*inflacion
-Comision = 0.03*presupuesto

La sobrecarga puede estar


situada entre dos clases que
no estn relacionadas
jerrquicamente.
Lenguajes como C y Pascal
soportan este tipo de
operaciones a travs de los
operadores aritmticos,
operaciones de E/S y
operadores de asignacin de
valores.

Estado
Agrupa los valores de
todos los atributos de un
objeto en un momento
dado, en donde un
atributo es una pieza de
informacin que califica el
objeto contenedor.
El estado de un objeto,
en un momento dado, se
corresponde con una
seleccin determinada de
valores a partir de valores
posibles de los diversos
atributos.

AUTO
modelo
color
precio
ao
motor
estado

un AUTO
Audi
azul
25000 US$
2010
1200cc
nuevo

un AUTO
Fiat
plateado
5500 US$
1990
1200cc
viejo

Notacin extendida de una clase


Los objetos no incluyen ninguna informacin sobre sus
operaciones a diferencia de las clases, ya que las
operaciones son idnticas para todos los objetos de una
misma clase, en cambio si de los atributos ya que varan
entre objetos en relacin con su valor.
NOMBRE DE LA CLASE
Atributo1 : Tipo1 = Valor-Omision1
Atributo2 : Tipo2 = Valor-Omision2

Operacion1 (Lista Tipo -- Arg1) : Tipo -- Result1


Operacion2 (Lista Tipo Arg2) : Tipo Result2

Argumentos de una Operacin


Las operaciones pueden
tener argumentos, es
decir una lista de
parmetros, cada uno con
un tipo, y pueden tambin
devolver resultados, cada
uno con un tipo.
Las operaciones se
incorporan en la tercera
seccin de la clase, como
se muestra en la figura.

FIGURA
posicion
color
mover (v : Vector) : Boolean
rotar(angulo) : Boolean

ARCHIVO
nombre
extensin
tipo
imprimir(d: dispositivo, n : entero) : Boolean
borrar( ) : Boolean

Otros conceptos relacionados con


operaciones
Consultas (query): operaciones que no alteran al objeto.
Accesos: operaciones para leer o escribir los atributos de
un objeto.
Mtodos: especificacin de bajo nivel para implementar
una operacin.
Poliformismo: una misma operacin que se implementa en
formas diferentes.
Parametrizacin: definida por el nmero y tipo de
argumentos de un mtodo.
Firmas: definida por el tipo y nmero de argumentos y el
tipo de resultados que devuelve.

Operaciones: Vida de los objetos


Los objetos son entidades que existen en el
tiempo; por ello deben ser creados o
instanciados.
Esta creacin se hace a travs de operaciones
especiales llamadas constructores o
inicializadores que se ejecutarn implcitamente
por el compilador o explcitamente por el
programador mediante la invocacin a los
citados constructores.

Operaciones: Constructor y
destructor
Un mtodo constructor de una clase es un mtodo
especial que:
tiene el mismo nombre que la clase,
crea un objeto y/o inicializa estado del objeto,
no tiene tipo de retorno.

Un mtodo destructor, en contraposicin al


constructor, elimina el vnculo y libera el espacio de
memoria de un objeto, para que pueda ser ocupado
nuevamente.

Constructor y Destructor
Los objetos ocupan un espacio en memoria y
en consecuencia existen en el tiempo y
debern crearse o instanciarse. Por la misma
razn se debe liberar el espacio ocupado por
los objetos en la memoria.
Los constructores y destructores se declaran
como parte de la definicin de una clase.

CRIATURA
tipo : string
peso: real
habitat: tipohabitat

Herencia

criatura ()
predadores( )
esperanza_vida( )

MAMIFERO
periodo_gestacion: real
alimentacion:
tipoalimento
PERSONA
nombre: string
fecha_nacimiento: date
origen: pais
estado_civil: char=S

MUJER
esposo : hombre
nombre: string
habitat: habitat

HOMBRE
esposa : mujer

clase criatura
// atributos
string : tipo
real : peso
tipoHabitat
: habitat
// operaciones
constructor criatura( )
inicio

fin_constructor
metodo predadores(E criatura: predador)
inicio

fin_metodo
entero funcin esperanza_vida( )
inicio

fin_funcion

fin_clase // fin criatura


Clase mamifero hereda_de criatura
// atributos
real : periodo_gestacion
// operaciones

fin_clase // fin mamifero

Clase persona hereda_de mamifero


// atributos
string
: apellidos, nombre
date
: fecha_nacimiento
pais
: origen

// operaciones

fin_clase // fin persona


Clase hombre hereda_de persona
// atributos
mujer
: esposa
string
: nombre

// operaciones

fin_clase // fin hombre


Clase mujer hereda_de persona
// atributos
hombre
: esposo
string
: nombre

// operaciones

fin_clase // fin mujer

Reglas de Visibilidad
Privada ( - ): visible slo
para la clase y para las
clases amigas (C++).
Protegida( # ): visible
slo para las clases
derivadas (subclases).
Pblica ( + ): visible para
todas las clases con las
que esta asociada.

Clase asociacin
ALUMNO
1
0..*

Nombre

Realiza >
0..*

0..*

TRABAJO
Tema

DIPLOMA
Mencion

Nota
1

HABITACION
Numero

La asociacin entre la clase Alumno y la clase Trabajo es del tipo


n a n. La clase Trabajo describe el tema, la solucin aportada por
el Alumno no se conserva.
En el caso de los controles de conocimientos, cada Alumno
escribe individualmente sobre un Trabajo dado y la nota obtenida
no puede almacenarse en un Alumno en particular (porque ste
realiza varios trabajos) ni en un Trabajo (porque hay que registrar
tantas notas como alumnos). La nota es un atributo de la relacin
entre la clase Alumno y la clase Trabajo.

Cualificador
Consiste en seleccionar un subconjunto de objetos entre el conjunto de
objetos que participan en una asociacin.
Se realiza por medio de una tupla de atributos particulares (llamada
clave) y se utiliza conjuntamente con un objeto de la clase de partida.
La clave se representa sobre el rol de la clase de partida bajo el nombre
de cualificador o calificador. La clave pertenece a la asociacin y no a
las clases asociadas.
El cualificador es un atributo especial que reduce la multiplicidad
efectiva de una asociacin. Las asociaciones uno a muchos y muchos a
muchos pueden ser cualificadas.
DIRECTORIO

path

Contiene >
1..*

0..*

FILE

nombre

FILE

DIRECTORIO

path

ID_file

Calificador

1..*

nombre

Cualificador
Si el valor de un atributo depende de un contexto
particular, hay que pensar recalificar el atributo como
cualificador.
Por ejemplo, ID_empleado no es una propiedad nica
para una persona que tenga dos trabajos, lo que hace
es cualificar la asociacin Empresa a Persona nombrada
como Emplea>.
EMPRESA

direccion

Emplea>
0..*

0..*

PERSONA

EMPRESA

nombre

direccion

PERSONA

ID_empl

Cualificador

0..*

nombre

Navegabilidad
Dada una asociacin simple entre dos clases, es
posible navegar de los objetos de un tipo a los del
otro tipo. A menos que se indique lo contrario, la
navegacin a travs de una asociacin es
bidireccional.
Esto conceptualmente es correcto pero existen
ocasiones en donde se desea restringir este
mecanismo y trabajar de forma unidireccional para
dotar de mayor detalle a nuestro modelo.

Diagrama de clases mostrando navegabilidad


CLIENTE

ORDEN VENTA

EMPLEADO
-

ID empleado
nombre
telefono
fecha ingreso
estado

:
:
:
:
:

char
char
char
Date
String

1
0..*

+ empleado ()
: int
+ nueva venta () : int

nro venta
fecha venta
monto venta
estado venta

:
:
:
:

Number
Date
Double
String

+
+
+
+

venta ()
detalle ()
totalizar venta ()
selecc cliente ()

:
:
:
:

int
int
int
int

0..*
1

ID cliente
nombre
direccion
telefono
RUC
categoria
estado

:
:
:
:
:
:
:

char
char
char
String
char
char
String

+ historiaCredito () : int
+ poner categoria () : int
+ cliente ()
: int

PERSONA JURIDICA
- limite credito : int

1..*
PRODUCTO
- ID producto
: char
- denominacion : char
- stock minimo
: int
+ producto () : int

DETALLE ORDEN

1
0..*

- cantidad
: int
- precio
: float
- descuento : float
+ adic item () : int

PERSONA NATURAL
- nro tarjeta credito : int

. Navegabilidad

Las asociaciones describen la red de relaciones estructurales


que existen entre las clases y que dan lugar a los enlaces entre
los objetos.
Los enlaces pueden ser vistos como canales de navegacin
entre los objetos.
En principio, las asociaciones son navegables en ambas
direcciones. En ciertos casos slo es til una direccin de
navegacin.
La navegabilidad se representa por una flecha orientada hacia la
clase sobre la que es psible la navegacin.
USUARIO

Id usuario
Direccin de
navegavilidad

PASSWORD

derecho

Expresiones de Navegabilidad
La sintaxis de las expresiones de navegacin viene
dada por las cuatro reglas siguientes :

destino::=conjunto . selector
destino::=conjunto . ~ selector
destino::=conjunto [ expresion_booleana ]
destino::=conjunto . selector [ valor_de_clave ]

El selector corresponde bien a un nombre de atributo de los


objetos del conjunto, bien a un nombre de asociacin de la
clase de objetos, o bien a un nombre de rol opuesto sobre un
enlace que concierne a los objetos del conjunto. El destino
es un conjunto de valores o de objetos cuyo nmero
depende de la multiplicidad del conjunto y de la asociacin.

PERSONA

padre
2

nombre

PERSONA
nombre

padre
id persona
2

hijo

1..

hijo

UnaPersona.Hijos designa todos los hijos de una persona dada.


UnaPersona. ~Hijos designa los padres de una persona dada.
UnaPersona.Hijos[edad>=18aos] designa todos los hijos
mayores de edad de una persona dada.
UnaPersona.Hijo[UnNombre] identifica un hijo dado de manera
no ambigua.

Diagrama
de Transicin de Estados

Finalidad
Mostrar los distintos estados por los que
pueden atravesar los objetos de una
clase como consecuencia de eventos
externos.
En general los estados estn asociados
con parte de los requerimientos de
informacin exigidos al producto
software.

Los Estados
Cada objeto est en un
momento determinado en
un estado particular.
Los estados se
caracterizan por la nocin
de duracin y de
estabilidad. Un objeto est
siempre en un estado
dado por un cierto tiempo
y un objeto no puede
estar en un estado
desconocido o no definido.

CURSO SECCION

periodoAcad
seccion
numVacant
numInscrit
estado
adicionar( )
cerrar( )

Secc Fisica I :
CURSO SECCION

periodoAcad = 2011- I
seccion
= A
numVacant = 30
numInscrit = 24
estado
= abierto
adicionar( )
cerrar( )

El mximo nro de inscritos por


seccin es 30
numInscrt <30

numInscrit =30

ABIERTO

CERRADO

adicionar( )
cerrar( )

Estado inicial y final


Los autmatas usados por UML
son deterministas.
Ello significa que siempre hay
que describir el estado inicial
del objeto, el cual es nico y
aparece cuando el objeto es
creado.
El estado final indica el fin de
la vida de un objeto.Es posible
tener varios estados finales
que corresponden cada uno a
una condicin de fin distinta.

estado inicial
A

estado final

Las Transiciones
Los estados estn vinculados por conexiones
unidireccionales llamadas transiciones.
El paso de un estado a otro se efecta cuando
se desencadena una transicin por un evento
que aparece en el mbito del problema.
Las transiciones no vinculan necesariamente
estados distintos.
Transicin

numInscrt <30

ABIERTO
adicionar( )
cerrar( )

cerrar

numInscrit =30

CERRADO

Los Eventos
Un evento sirve de
desencadenante para
pasar de un estado a otro.
Los eventos determinan
que caminos deben
seguirse. Los eventos, las
transiciones y los estados
son indisociables en la
descripcin del
comportamiento dinmico.

Ev1

Adicionar alumno

ABIERTO

Cerrar
Curso

CERRADO

Cancelar Curso

CANCELADO

Super y sub estados


A

Super estados son los


estados mas generales, los
estados mas especifcos se
Ev2
llaman sub estados.
Un estado puede
descomponerse en varios sub
estados disyuntivos (estados
anidados).
Los sub estados heredan
caractersticas de su super
estado, en particular las
variables de estado y las
transiciones externas. Sub Estado

Ev1

Ev2
C

Super Estado
A

Ev1
Ev2
C

Estados anidados con Historia


ABIERTA

El uso de la caracterstica de
historia H seala que al
retornar un objeto a un super
estado, este ingresar al
ltimo estado en el que
estuvo dentro del super
estado.
Si la caracterstica de historia
no es utilizada siempre el sub
estado inicial del super
estado ser asignado al
objeto retornante.

MAXIMIZADA

CUSTOMIZADA
H

MINIMIZADA
Ev2

Estados para los objetos de la clase


Ventana cuyo estado ABIERTA tiene historia

Agregacin de Estados
La agregacin de
estados es la
composicin de un
estado a partir de otros
varios estados
independientes.
La composicin es de
tipo conjuntiva lo que
implica que el objeto
debe estar
simultneamente en
todos los estados que
componen la
agregacin de estados

ESTADO AGREGADO

Ev1
X

Ev3

B
Ev4

Ev1

C
Ev2

[en C]

Los Guardas

Un guarda es una
condicin booleana
que valida o no el
desencadenamiento
de una transicin a
partir de la
ocurrencia de un
evento.

Ev1[condicion]

Guarda

ABIERTO

Un objeto Secc MAT I de la


clase CURSO pasar del
estado ABIERTO a
CERRADO si :

CerrarInscripcin [numInscrit =30]

CERRADO

Acciones de la Transicin
Cada transicin puede ir
acompaada del nombre de
una accin a ejecutar cuando
la transicin es
desencadenada por un evento.
La accin corresponde a una
de las operaciones declaradas
en la clase del objeto
destinatario del evento.
Estas acciones son
operaciones asociadas a la
transicin de un estado a otro:

Toma una cantidad insignificante


de tiempo completarla.
Considerada ininterrumplible
El evento que produce la
transicin puede generar el
envo de otro evento.

Accin

Abrir Inscripcin/ Inicializar numInscrit to 0

CREADO
Adicionar
alumno

ABIERTO

Cancelar
curso

CANCELADO
CerrarCurso [numInscrit =30]
^ReporteCurso.CreateReporte

CERRADO

Acciones de Estado
Los estados pueden contener
tambin acciones que se ejecutan
al entrar o salir del estado,
mientras esta en el estado o al
ocurrir un evento mientras el
objeto est en ese estado.
La accin de entrada (entry:)
se ejecuta de manera
instantnea y atmica al entrar
en el estado.
La accin de estado (do:) se
ejecuta mientras se encuentra
en el estado.
La accin de salida (exit:) se
ejecuta al salir del estado.
La accin sobre el evento
interno (on:) se ejecuta al
ocurrir un evento que no
conduce a otro estado.

CREADO

Asignar
do: inicializarCursoSeccin profesor

Abrir
Inscripciones

PROGRAMADO
do: asignar Profesor Curso
Adicionar
alumno

ABIERTO
entry: inscribir Alumno

Cerrar
registro

CERRADO
do: reportar Curso Cerrado

Puntos de ejecucin de las


Operaciones
Existen seis puntos, cuyo orden
es :
La accin asociada a la transicin
de entrada (Op1)
La accin de entrada de estado
(Op2)
La actividad en el estado (Op3)
La accin de salida del estado (Op4)
La accin asociada a los eventos
internos (Op5)
La accin asociada a la transicin
de salida del estado (Op6)

/ Op1
Un estado
entry: Op2
Do: Op3
exit : Op4
On UnEvento : Op5

/ Op6

Asignar
profesor

CREADO

PROGRAMADO

Adicionar Alumno
/nroInscritos=nroInscritos+1
Abrir inscripcin
/nroInscritos=0

do: Inicializar CursoSeccindo: Asignar Profesor Curso

ABIERTO
entry: inscribir un alumno

Cancelar
curso
Cancelar curso
[nroInscritos <5]

CANCELADO
do: reportar cancelacin curso Cancelar curso

Cancelar
curso

CERRADO
do: reportar CursoSeccin cerrado

Cerrar
Registro
[nroInscritos=30]

Diagrama de
Estados
para los
objetos de la
Clase
EJEMPLAR

En Proceso

constructor( )

exponer( )

retirar( )

En Circulacin

Disponible

EJEMPLAR
Codigo : integer
Cantidad : integer
Estado : integer
exponer ( )
reservar ( )

reservar( )
borrarReserva( )

Reservado

borrarReserva ( )
prestar ( )
devolver ( )
retirar ( )
reponer ( )

destructor( )

prestar( )

prestar( )

devolver( )

Prestado

Diagrama de Componentes

Componente
Un componente es una unidad autnoma
reemplazable de un sistema
Los componentes indican los interfaces pblicos
para que otros componentes los usen (relacin de
realizacin)
Los componentes pueden indicar los interfaces
requeridos en otros componentes (relacin de uso)

Componente
Describen los elementos fsicos y sus relaciones
en el entorno de realizacin.
Muestran las dependencias del compilador y del
runtime entre los componentes del software; por
ejemplo, los archivos del cdigo fuente y los DLL.
Es un mdulo fsico de cdigo.
Los componentes pueden incluir librerias de
cdigo fuente y run time files (archivos exe,
DLLs y tareas).

En un mismo diagrama pueden aparecer


varios componentes conectados mediante
interfaces

Diagrama de Despliegue

Diagrama de Despliegue
Muestra la disposicin fsica de los distintos
dispositivos (nodos) que entran en la composicin
de un sistema y el reparto de los programas
ejecutables sobre estos nodos.
Muestra la configuracin de los nodos de
procesamiento run time y los componentes que
residen sobre ellos.

Nodos
Cada dispositivo o recurso se
representa por un cubo que
evoca la presencia fsica del
equipo en el sistema. Todo
sistema se describe por un
pequeo nmero de
diagramas de despliegue; a
menudo basta con un slo
diagrama.
Los diagramas de despliegue
pueden mostrar clases de
nodos o instancias de nodos.

NODO
Representacin grfica de los nodos.

MODEM
<<Dispositivo>>

PC
<<Procesador>>

DISCO
<<Memoria>>

Estereotipos de nodo

En general ..
Muestra las partes
fsicas del sistema
PCs, Servidores
Impresoras, scanners
PDAs, mviles

Que estn conectadas


por lneas de
comunicacin
Internet, LAN, USB,
Bluethoot

Componentes y Nodos

Otros Diagramas .

SIGEAC
El Sistema de Gestin Acadmica (SIGEAC) es una
solucin Web integrada de gestin administrativa,
acadmica y pedaggica, diseada a partir de un
anlisis de benchmarking de un grupo de las soluciones
ms reconocidas en el mercado internacional para el
sector educativo . Esta solucin tiene por objetivo cubrir
efectivamente los procesos y servicios requeridos para
la gestin educativa y su diseo le permite integrarse
fcilmente a instituciones de todos los niveles de
enseanza.

Mdulos integrantes de SIGEAC

Sub Sistemas

Subsistema Seguridad: Encargado de brindar los mecanismos de seguridad que


permitan una correcta autenticacin y autorizacin de los usuarios de SIGEAC.
Subsistema Administracin de Notas: Encargado de la calificacin de todo tipo de
evaluaciones.
Subsistema Programacin de Actividades: Encargado del control de la programacin
de las actividades y la asignacin apropiada de los recursos.
Subsistema Matrcula: Encargado de la administracin de la matrcula de los
alumnos.
Subsistema Administracin del Sistema: Encargado de la administracin general de
SIGEAC.
Subsistema Diseo Instruccional: Encargado de definir las caractersticas de las
evaluaciones.
Subsistema Facturacin: Encargado del registro de pagos de los postulantes y
alumnos.
Subsistema Registro Institucional del Educando: Encargado del registro de la
informacin acadmica y extraacadmica de los educandos.

Interaccin entre el Subsistema de Admisin y subsistemas


miembros de SIGEAC

Arquitectura del Sub Sistema de Admisin

Capas del Sub sistema de Admisin

La arquitectura del Subsistema de Admisin, como la de todos los miembros de SIGEAC, se ha


basado en esta propuesta a fin de obtener un producto escalable, de fcil mantenimiento y seguro;
separando as las lgicas destinadas a la presentacin, reglas del negocio y datos.
Capa Presentacin: Expone una interfaz permitiendo al usuario u otro mdulo externo interactuar con
el subsistema.
Capa Lgica del Negocio: Rene las reglas propias del negocio. Adems, contiene la lgica que le
permite atender los requerimientos de servicios de otros subsistemas.
Capa Datos: Permite consumir y modificar la informacin de la base de datos. Tambin permite
consumir informacin expuesta por otros subsistemas.
Adems, el subsistema de Admisin contar con una serie de capas de apoyo, las mismas que se
describen a continuacin:
Capa de Seguridad: Brinda los mecanismos para garantizar la seguridad de la aplicacin.
Capa de Estructura de Datos: Brinda las estructuras que permiten el transporte de los datos a travs
de las diferentes capas de la solucin.
Capa de Administracin de Parmetros: Permite la configuracin de los parmetros utilizados por la
aplicacin.
Capa de Administracin de Excepciones: Permite registrar las excepciones y mensajes de auditora
de la aplicacin en un archivo de Log.
Capa de Encriptacin: Brinda los mecanismos que garantizan la confidencialidad de la informacin
sensitiva de la aplicacin.

Subsistema de programacin de
actividades

Objetivo General
Desarrollar un producto software que sirva de soporte y apoyo para la
programacin de actividades acadmicas, extraacadmicas o extracurriculares y
administrativas en una institucin de educacin bsica (inicial, primaria y
secundaria) y superior (tcnico y universitario).

Objetivos Especficos

Aperturar perodos acadmicos en la institucin educativa; indicando las fechas de duracin del perodo.
Establecer los das no laborables que van a haber a lo largo del perodo acadmico.
Programar productos de estudio y ciclos acadmicos que van a estar vigentes a lo largo del perodo
acadmico.
Programar los cursos o asignaturas que se van a dictar a lo largo del perodo acadmico.
Programar las actividades que se van a desarrollar durante los procesos de admisin y matrcula por cada
perodo acadmico.
Programar las evaluaciones que van a rendir los alumnos a lo largo de un perodo acadmico.
Programar el calendario de actividades, es decir, las actividades que se van a desarrollar a lo largo del
perodo acadmico.
Integrarse con los subsistemas de Admisin, Asistencia, Matrcula y Administracin de Notas; brindndoles
servicios que muestre informacin ofrecida por el subsistema de Programacin de Actividades.

Componentes del Sistema

Web: Componente que permite la comunicacin entre el subsistema y el usuario final. En este componente se
exponen las funcionalidades del subsistema a travs de pginas Web.
ModelAdmision: Componente que brinda las estructuras de informacin que facilite el transporte de la data entre las
distintas capas.
BLLAdmision: Componente que contiene la lgica del negocio para atender cada requerimiento al subsistema, se
trate de usuarios o subsistemas externos.
WebServices: Componente que permite exponer los servicios del Subsistema de Admisin a travs de la interfaz
WS_Admision.
DALFactory: Componente que selecciona en tiempo de ejecucin el componente de acceso a datos configurado
(DAL) para que se conecte a la fuente de datos.
ADALAdmision: Componente que permite abstraer el acceso a los datos de manera que si se requiere cambiar la
fuente de datos slo se necesite cambiar el componente SqlServerDAL para especializarlo a dicha fuente.
AS_Admin: Componente conocido como Agente de Servicios que permite consumir los servicios expuestos por otros
subsistemas.
SQLServerDAL: Componente que contiene la lgica de acceso a la base de datos de Admisin (BD_Admision). Este
componente ha sido desarrollado para interactuar con una base de datos en Microsoft SQL Server 2000.
OracleServerDAL: Componente que contiene la lgica de acceso a la base de datos de Admisin implementada en
Oracle. Este componente no ha sido desarrollado en la presente versin del producto.
Microsoft Data Access Application Block: Componente distribudo por Microsoft que implementa un patrn de acceso
a datos, cuyo uso permite reutilizar cdigo y realizar un fcil mantenimiento.
Enterprise Library Cryptography Application Block: Componente con bloques de cdigo para realizar la encriptacin
de informacin confidencial.
ADMParams: Componente que permite la administracin de parmetros y mensajes de Admisin.
LogManager: Componente que permite la administracin de excepciones y auditora del subsistema.

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