apéndice b diagramas uml - universidad de las américas
Post on 30-Oct-2021
19 Views
Preview:
TRANSCRIPT
Apéndice B Diagramas UML UML (Unified Modeling Lenguage) es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar componentes de un sistema de software. UML ofrece una notación estándar y semánticas esenciales para el modelado de un sistema orientado a objetos. Este apéndice presenta los diagramas UML de los sistemas implementados. B.1 Casos de uso Los casos de uso modelan el sistema desde el punto de vista del usuario. Se basan en los requerimientos del sistema mostrando las distintas operaciones que se esperan de una aplicación o sistema y cómo se relaciona con su entorno (usuario u otras aplicaciones). El caso de uso es un documento narrativo que describe la secuencia de eventos de un actor que utiliza un sistema para completar un proceso. Los casos de uso son historias o casos de utilización de un sistema; no son exactamente los requerimientos ni las especificaciones funcionales, sino que ejemplifican e incluyen tácticamente los requerimientos en las historias que narran. La figura B.1 presenta los casos de uso que modelan el sistema activo de tolerancia a fallas basados en los requerimientos del sistema.
Caso de uso: Inicio del sistema activo de tolerancia a fallas.
Actor: Usuario.
Propósito: Iniciar el sistema activo de tolerancia a fallas.
Resumen: Inicia el servidor del sistema activo de tolerancia a fallas e inicia el J2EE a través de la GUI que el administrador del sistema de tolerancia a fallas proporciona.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Ejecuta administrador del sistema.
2. Presenta GUI.
3. Presiona el botón de iniciar RMI Registry.
124 Diagramas UML
4. Presenta dialogo de obtención de
puerto. 5. Proporciona el número de puerto.
6. Verificación de puerto disponible.
7. Presiona el botón de iniciar sistema
8. Inicia el servidor del sistema y el J2EE.
Cursos alternos
Paso 4: El número de puerto está ocupado. Se notifica al usuario para que proporcione otro número de puerto.
Notas
Paso 2: La GUI que el administrador del sistema proporciona, presenta cuatro botones de activación secuencial para el inicio del sistema.
Caso de uso: Configuración del sistema activo de tolerancia a fallas.
Actor: Aplicación distribuida.
Propósito: Permitir que una aplicación distribuida configure el sistema activo de tolerancia a fallas.
Resumen: Una aplicación distribuida configura el sistema activo de tolerancia a fallas a través de la proporción de un archivo XML de definición de comunicación entre los servidores (entidades) que la conforman y el nivel de tolerancia requerido.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Creación del archivo XML de configuración que define el nivel de tolerancia requerido y la comunicación entre entidades de la aplicación.
2. Invoca de manera remota el método de configuración del sistema enviando el archivo XML de configuración.
3. Parsea el archivo XML de configuración.
4. Envía el nivel de tolerancia a fallas y la comunicación entre entidades al monitor.
Notas
Paso 1: La creación del archivo XML se realiza en base a la estructura definida por el sistema activo de tolerancia a fallas en el capítulo 5.
Paso 2: El archivo XML es empaquetado y enviado en bytes al sistema activo de tolerancia a fallas.
Caso de uso: Suscripción al sistema activo de tolerancia a fallas.
Diagramas UML 125
Actor: Módulo de la aplicación distribuida.
Propósito: Permitir que los módulos de la aplicación distribuida se suscriban al sistema activo de tolerancia a fallas.
Resumen: Los módulos de la aplicación distribuida se suscriben al sistema activo de tolerancia a fallas a través de la proporción de un archivo XML de definición de eventos a ser monitoreados y los parámetros que definen sus condiciones.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Creación del archivo XML de suscripción que define los eventos y los parámetros de la condición de las reglas.
2. Invoca de manera remota el método de suscripción del sistema enviando el archivo XML de suscripción.
3. Parsea el archivo XML de suscripción.
4. Envía la definición de tipos de evento y los parámetros al servidor de eventos.
5. El servidor de eventos crea el objeto escucha correspondiente al módulo de la aplicación suscrito y la cola de mensajes en el JMS.
Notas
Paso 1: La creación del archivo XML se realiza en base a la estructura definida por el sistema activo de tolerancia a fallas en el capítulo 5.
Paso 2: El archivo XML es empaquetado y enviado en bytes al sistema activo de tolerancia a fallas. El proceso de suscripción se realiza para la definición/actualización de los tipos de eventos de un módulo. Si el módulo ya está suscrito al sistema activo de tolerancia y desea conservar sus tipos de eventos, el proceso de suscripción no es necesario.
Caso de uso: Notificación de inicio al sistema activo de tolerancia a fallas.
Actor: Módulo de la aplicación distribuida.
Propósito: Permitir a los módulos de la aplicación distribuida notificar su inicio al sistema activo de tolerancia a fallas.
Resumen: Los módulos de la aplicación distribuida notifican su inicio al sistema activo de tolerancia para iniciar el monitoreo de sus eventos.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Notificación de inicio.
2. Informa del módulo iniciado al servidor de eventos. El servidor de
126 Diagramas UML
eventos activa el objeto escucha correspondiente al módulo para la recepción de sus mensajes.
3. Regresa la referencia del objeto escucha del módulo.
4. Obtiene la referencia de su objeto escucha.
Notas
Paso 1: El módulo de la aplicación no está suscrito al sistema activo de tolerancia a fallas. La suscripción del módulo al sistema es necesaria.
Caso de uso: Monitoreo de los eventos
Actor: Módulo de la aplicación
Propósito: Proporcionar el monitoreo de los eventos producidos por los módulos de la aplicación.
Resumen: Los módulos de la aplicación distribuida envían sus mensajes de acción de comunicación con otros módulos al JMS. El sistema activo de tolerancia a fallas consume los mensajes y monitorea los eventos producidos por el módulo.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Envía mensaje de ejecución de acción de comunicación al JMS.
2. El objeto escucha correspondiente al módulo de la aplicación consume el mensaje y lo verifica con respecto a los tipos de eventos definidos, creando un objeto Evento
3. El objeto evento es enviado al servidor de eventos. El servidor de eventos mantiene en un stack los eventos recibidos para enviarlos al monitor. Si el monitor está disponible, el servidor de eventos envía el evento correspondiente.
Notas
Paso 1: El mensaje enviado del módulo de la aplicación al JMS es un mensaje de tipo Metodo que incluye los objetos Parametro que conforman la acción de comunicación.
Paso 2: Si un mensaje recibido no verifica con respecto a los tipos de eventos definidos para el módulo, no es considerado como un evento.
Caso de uso: Diagnóstico de fallas
Actor:
Propósito: Diagnosticar las fallas ocurridas en un módulo de la aplicación.
Resumen: El monitor del sistema activo de tolerancia a fallas evalúa un evento
Diagramas UML 127
recibido en base a los eventos recibidos anteriormente, verificando que los eventos que conforman una petición hayan sido recibidos. La falta de uno de los eventos indica una falla en la aplicación.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. El monitor evalúa el evento recibido en base a los eventos recibidos anteriormente: verifica que el ciclo de una petición esté completo en un tiempo establecido. La falta de uno de los eventos diagnostica una falla en el sistema aplicativo.
2. Detecta el tipo de falla ocurrido a través de las condiciones de verificación de tipos de falla.
3. Envía la falla al ejecutor de reacciones.
Notas
Paso 1: La verificación de los eventos se realiza en procesos que se ejecutan de manera simultánea.
Caso de uso: Corrección de fallas
Actor:
Propósito: Corrección de las fallas ocurridas en la aplicación para que ésta cumpla con la especificación de su servicio.
Resumen: Dependiendo del nivel de tolerancia con que la aplicación configura el sistema, el sistema activo de tolerancia a fallas, a través del ejecutor de reacciones, lleva a cabo la acción correspondiente para la falla detectada.
Curso normal de los eventos
Actor Sistema
Paso Acción Paso Acción
1. Invoca de manera remota los métodos de los módulos de la aplicación, necesarios para la corrección de fallas (rehacer petición).
Notas
Paso 1: La acción de corrección es realizada dependiendo del nivel de tolerancia a fallas definido para la aplicación distribuida.
Figura B.1 Casos de uso
del sistema activo de tolerancia a fallas B.2 Diagramas de casos de uso
128 Diagramas UML
El UML incluye formalmente el concepto de casos de uso y sus diagramas. Un diagrama de casos de uso explica gráficamente un caso de uso de un sistema, los actores y la relación entre éstos y el caso de uso. La figura B.2 presenta los diagramas de casos de usos del sistema activo de tolerancia a fallas.
INICIA SISTEMA ACTIVO DE TOLERANCIA A FALLAS
USUARIO
SISTEMA ACTIVO DE TOLERANCIA A FALLAS
CONFIGURACIÓN
APLICACIÓN
SISTEMA ACTIVO DE TOLERANCIA A FALLAS
SUSCRIPCIÓN
MÓDULO PLICACIÓNA
JAVA MESSAGE SERVICE (JMS)
ENVÍO DE ACCIONES
MÓDULO APLICACIÓN
NOTIFICACIÓN DE INICIO
Diagramas UML 129
SISTEMA ACTIVO DE TOLERANCIA A FALLAS
CONSUMO DE MENSAJES
JMS
SISTEMA ACTIVO DE TOLERANCIA A FALLAS
MONITOREO EVENTOS
Figura B.2 Diagramas de casos de uso
del sistema activo de tolerancia a fallas (continuación) B.3 Diagramas de paquetes Cualquier sistema grande se debe dividir en unidades más pequeñas, de modo que las personas puedan trabajar con una cantidad de información limitada, a la vez y de modo que los equipos de trabajo no interfieran con el trabajo de los otros. Un paquete es una parte de un modelo. Cada parte del modelo debe pertenecer a un paquete. Pero para ser funcional, la asignación debe seguir un cierto principio racional, tal como funcionalidad común, implementación relacionada y punto de vista común. UML no impone una regla para componer los paquetes. Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado. Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema). Los paquetes son unidades de organización jerárquica de uso general de los modelos de UML. Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete.
APLICACIÓN DIAGNÓSTICO DE FALLAS
<< include >>
<< include >>
CORRECCIÓN DE FALLAS
130 Diagramas UML
Los paquetes contienen elementos del modelo al más alto nivel, tales como clases y sus relaciones, máquinas de estado, diagramas de casos de uso, interacciones y colaboraciones; atributos, operaciones, estados, líneas de vida y mensajes están contenidos en otros elementos y no aparecen como contenido directo de los paquetes. La figura B.3 presenta el diagrama de paquete STF del sistema activo de tolerancia a fallas.
STF
Figura B.3 Diagrama del paquete STF
La figura B.4 presenta el diagrama de paquete Transporte del sistema distribuido de transporte junto con los paquetes que incluye.
<< interface >> SistemaTFInterfaz
AdministradorSTF Dialogo NamingSevice
ParserXML
FileUnpacket
Monitor
Evaluador
Ejecutor Reacciones
Parametros
Metodo
Evento
ObjetoEscucha
ServidorEventos
SistemaTFImpl Terminal
Impresion
Comunicacion
Entidad
Condicion
Escritura
<< interface >> NamingService
MBean
LecturaSTF
Procesador
RMIRegistry
Diagramas UML 131
Transporte
Figura B.4 Diagrama del paquete Transporte
B.4 Diagramas de clases El diagrama de clases es el diagrama principal para el análisis y diseño. Describe gráficamente las especificaciones de las clases de software y de las interfaces en una aplicación. Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia. La definición de clase incluye definiciones para atributos y operaciones. La figura B.5 presenta los diagramas de clases implementadas del sistema activo de tolerancia a fallas.
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas
Administrador
SDT
Mapa
Accesorios
Chasis
Metal
Motor
Ruta Llantas
<< interface >> SistemaTFImpl SistemaTFInterfaz
+ configuracion(data : byte[]) + suscripción(idServidor : String, nombreArchivo : String, data : byte[]) + notificacionInicio(idServidor : String, referencia : String) : String
servidorEventos : ServidorEventos monitor : Monitor referenciasEntidades : Vector
+ SistemaTFImpl() + configuracion(data : byte[]) + suscripción(idServidor : String, nombreArchivo : String, data : byte[]) + notificacionInicio(idServidor : String, referencia : String) : String + main(args[] : String)
132 Diagramas UML
ServidorEventos ObjetoEscucha
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas (continuación)
+ ObjetoEscucha() + ObjetoEscucha(idObjetoEscucha : String, idServidor : String, eventos : Vector, servidorEventos : ServidorEventos) + run() + recepcionMensaje(msg : Metodo) + getIdObjetoEscucha() : String + getIdServidor() : String + getEventos() : Vector + setIdObjetoEscucha(idObjetoEscucha : String) + setIdServidor(idServidor : String) + setEventos(eventos : Vector)
- servidorEventos : ServidorEventos - idObjetoEscucha : String - idServidor : String - eventos : Vector
- objetoEscucha : ObjetoEscucha - idsObjetosEscucha: Vector - objetosEscucha : Vector - procesador : Procesador - monitor : Monitor - eventosStack : Stack
+ ServidorEventos() + verificaSuscripcion(idServidor : String) : String + generaIdObjetoEscucha() : String + obtencionIdObjetoEscucha(idServidor : String) : String + creaObjetoEscucha(idOE : String, idServidor : String, eventos : Vector) + recepcionEvento(evento : Evento) + actualizacionMonitor(monitor : Monitor) + ejecucionComando(comando : String)
Evento Evento
+ Evento() + Evento(idEvento : String, nombreEvento : String, entidad : Entidad, idPeticion: String, petición : Metodo) + getIdEvento() : String + getNombreEvento() : String + getEntidad() : Entidad + getIdPeticion() : String + getPeticion() : Metodo + setIdEvento(idEvento : String) + setNombreEvento(nombreEvento : String) + setEntidad(entidad : Entidad) + setIdPeticion(idPeticion : String) + setPeticion(petición : Metodo)
- idEvento: String - nombreEvento: String - entidad : Entidad - idPeticion: String - peticion: Metodo
- idServidor : String - nombreServidor : String
+ Entidad() + Entidad(idServidor : String, nombreServidor : String) + getIdServidor() : String + getNombreServidor() : String + setIdServidor(idServidor : String) + setNombreServidor(nombreServidor : String)
Parametros
- posicion : int - tipo : String - valor : String
+ Parametros() + Parametros(posición : int, tipo : String, valor : String) + getPosicion () : int + getTipo() : String + getValor () : String + setPosicion (posicion : int) + setTipo(tipo : String) + setValor(valor : String)
Diagramas UML 133
Metodo Comunicacion
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas (continuación)
+ Comunicacion() + Comunicacion(entidad : String, entidades: Vector) + getEntidad(): String + getEntidades() : Vector + setEntidad(entidad : String) + setEntidades(entidades : Vector)
- entidad : String - entidades : Vector
- ID : String - nombre : String - parametros : Parametros - entidadOrigen : String - entidadDestino : String - referencia : String
+ Metodo() + Metodo(ID : String, nombre : String, parametros : Parametros, entidadOrigen : String, entidadDestino : String, referencia : String) + getID() : String + getNombre() : String
Monitor + getParametros() : Parámetros + getEntidadOrigen() : String + getEntidadDestino() : String + getReferencia() : String + setID(ID : String) + setNombre(nombre : String) + setParametros(parametros : Parametros) + setEntidadOrigen(entidadOrigen : String) + setEntidadDestino(entidadDestino : String) + setReferencia(referencia : String)
Condicion
+ Condicion() + Condicion(limiteInferior: int, limiteSuperior : int, tiempoEspera : int) + getLimiteInferior(): int + getLimiteSuperior(): int + getTiempoEspera(): int + setLimiteInferior(limiteInferior: int) + setLimiteSuperior(limiteSuperior: int) + setTiempoEspera(tiempoEspera: int)
- limiteInferior : int - limiteSuperior : int - tiempoEspera : int
- nivelTF : String - condicion : Condicion - comunicacionEntidades : Vector - referenciasEntidades : Vector - monitorDisponible : boolean - grupoThread : ThreadGroup - thread : Thread - evaluador : Evaluador - contadorThreads : int
+ Monitor() + Monitor(nivelTF : String, condicion : Condicion, comunicacionEntidades : Vector) + verificacionEstado() : boolean + recepcionEvento(evento : Evento) + identificacionReferencia(metodo : Metodo) : Metodo + verificacionTolerancia(metodo : Metodo) : boolean + getNivelTF() : String + getCondicion() : Condicion + getComunicacionEntidades() : Vector + getReferenciasEntidades() : Vector + setNivelTF(nivelTF : String) + setCondicion(condicion : Condicion) + setComunicacionEntidades (comunicacacionEntidades : Vector) + setReferenciasEntidades (referenciasEntidades : Vector)
134 Diagramas UML
Evaluador EjecutorReacciones
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas (continuación)
+ reaccion(tipoFalla : String, evento : Evento)
- nivelTF : String
ParserXML
+ ParserXML() + ParserXML(archivo : String, opcion : String) + startDocument() + endDocument() + startElement(nameSpaceURI : String, localName : String, qName : String, attr : Attributes) + endElement(nameSpaceURI : String, localName : String, qName : String) + characters(ch : char[], start : int, length : int) +parseoEventos(archivo : String) +parseoConfiguracion(archivo : String) + obtieneTipoEventos() : Vector + obtieneNivel() : String + obtieneComunicacionEntidades() : Vector + obtieneCondicion() : Condicion
- tiposEventos : Vector - nivelTF : String - condicion : Condicion - entidadesV : Vector - opcion : String - contenido : CharArrayWriter
- E1 : Evento - E2 : Evento - E3 : Evento - E4 : Evento - verificacionReglaCompleta : boolean - lapso : long - timer : Timer - nombreThread : String - nivelTF : String - condicion : Condicion - esEspera : boolean - repeticiones : int
+ Evaluador() + Evaluador(grupoThread : ThreadGroup, nombreThread : String, lapso, long, timer : Timer, evento : Evento, verificacionReglaCompleta : boolean, nivelTF : String, condicion : Condicion) + run() + verificacionEvento(evento : Evento) : boolean + verificacionRegla() : boolean + espera (tiempoEspera : long) + getE1 () : Evento + getE2 () : Evento + getE3 () : Evento + getE4 () : Evento + getNivelTF() : String + getCondicion() : Condicion + setE1 (E1 : Evento) + setE2 (E1 : Evento) + setE3 (E1 : Evento) + setE4 (E1 : Evento) + setRegla(verificaciónReglaCompleta : boolean) + setLapso(lapso : long) + setNivelTF(nivelTF : String) + setCondicion(condicion : Condicion)
Diagramas UML 135
Procesador NamingService
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas (continuación)
+ Procesador() + Procesador(in : InputStream, out : OutputStream) + Procesador(commando : String) + run() + getFrame() : JInternalFrame + creaTerminal() + impression(impresion : String)
- terminal : Terminal - in : InputStream - out : OutputStream - contadorFrames : int - coordenadaX : int - coordenadaY : int - textArea : JTextArea - scrollPane : JScrollPane
Dialogo
+Dialogo(framePrincipal : JFrame, opcion : String) + dialogoRMI(framePrincipal : JFrame, inicio : boolean) : JDialog + dialogoAcercaDe(framePrincipal : JFrame) : JDialog + getNumeroPuerto() : String
- optionPane : JOptionPane - numeroPuerto : String
FileUnpacket
+ FileUnpacket() + writeTo(out : OutputStream, data : byte[])
Escritura
+ Escritura() + escribeArchivo(nombreArchivo : String, puerto : int)
- path : String
LecturaSTF
+ LecturaSTF() + obtieneServidorEjecucion(archivo : String) : String + obtieneNumeroPuerto (archivo : String) : int
- path : String
Impresion
+ Impresion(in : InputStream, textArea : JTextArea) + run() + impresion(impresion : String)
- in : InputStream - textArea : JTextArea
- mport : int - m_registry : Remote - m_running : boolean
+ NamingService() + NamingService(port : int) + setPort(port : int) + getPort() : int + isRunning() : boolean + start() + stop()
<< interface >> NamingServiceMBean
+ setPort(port : int) + getPort() : int + isRunning() : boolean + start() + stop()
136 Diagramas UML
AdministradorSTF Terminal
Figura B.5 Diagramas de clases del sistema activo de tolerancia a fallas (continuación)
+ Terminal(commando : String, desktop : JDesktopPane) + Terminal(in : InputStream, out : OutputStream) + run() + cierraTerminal()
- comando : String - desktop : JDesktopPane - in : InputStream - out : OutputStream - frame : JInternalFrame - openFrameCount : int - textArea : JTextArea - scrollPane : JScrollPane
RMIRegistry
+ RMIRegistry(Puerto : int, desktop : JDesktopPane) + cierraTerminal() + iniciarRMIRegistry() + detenerRMIRegistry() + verificacionPuerto() : boolean
- comando : String - desktop : JDesktopPane - in : InputStream - out : OutputStream - frame : JInternalFrame - openFrameCount : int - textArea : JTextArea - scrollPane : JScrollPane - rmiRegistry : NamingService - puertoEnUso : boolean - Puerto : int
- comando : String - dialogo : Dialogo - dialogoError : Dialogo - framePrincipal : JFrame - tabbed : JTabbedPane - desktop : JDesktopPane - antSTF : Terminal - j2ee : Terminal - j2eeStop : Terminal - rmiRegistry : RMIRegistry - iconActivarServer : ImageIcon - iconDesactivarServer : ImageIcon - iconExit : ImageIcon - iconInformacion : ImageIcon - iconOpenWindow : ImageIcon - iconCloseWindow : ImageIcon - iconActivarServer24 : ImageIcon - iconDesactivarServer24 : ImageIcon - iconExit24 : ImageIcon - iconInformacion24 : ImageIcon - iconOpenWindow24 : ImageIcon - iconCloseWindow24 : ImageIcon - buttonIniciarRMI : JButton - buttonCerrarRMI : JButton - buttonIniciarSTF : JButton - buttonCerrarSTF : JButton - menuItemIniciarRMI : JMenuItem - menuItemCerrarRMI : JMenuItem - menuItemIniciarSTF : JMenuItem - menuItemCerrarSTF : JMenuItem - menuItemSalir : JMenuItem - menuItemAcercaDe : JMenuItem - statusArea : JTextArea - split : JSplitPane - splitP : JSplitPane - newline : String - calendar : Calendar
+ AdministradorSTF() + makeMenuBar() : JMenuBar + makeSplitPane() : Component + makeSplitPanel() : Component + makeButtons() : Component + makeDesktopPane() : Component + makeStatusBar() : Component + actionPerformed(e : ActionEvent) + salir() + inicioRMIRegistry() + inicioJ2EE() + inicioSTF() + bajaRMIRegistry() + bajaJ2EE() + bajaSTF() + main(args[] : String)
Diagramas UML 137
La figura B.6 presenta los diagramas de clases implementadas del sistema distribuido de transporte.
<< interface >> AdministradorImpl AdministradorInterfaz
Figura B.6 Diagramas de clases del sistema distribuido de transporte
+ agregaAuto(auto : Auto) + quitaAuto(claveAuto : String) + obtieneListaAutos() : String + obtieneClaveAuto(nombreAuto : String) : String + verDetallesAuto(claveAuto : String) : Vector + obtieneListaPiezas(claveAuto : String) : Vector + creaEntidad(entidad : EntidadMovil) + eliminaEntidad(identidad : String) + eliminaEntidades() + obtieneIdEntidad() : int + obtieneProveedores() : Vector + obtieneListaProveedores() : Vector + obtieneNombreProv(idProveedor : String) : String + obtieneIdProv(nombreProveedor : String) : String + obtienePosProveedor(idProveedor : String) : int + obtienePosProv(nombreProveedor : String) : int + recibePeticion(claveAuto : String) + recibeSolicitud(idEntidad : String, listaRecolectadoEntidad : Vector) + ensamble() : boolean + requiereTolerancia(opcionTolerancia : boolean, opcionSuscripcion : boolean) + getReferencia() : String
- obj : AdministradorImpl - con : AdministradorConectaDB - proveedoresArchivo : Proveedores - idEntidades : Vector - listaPiezasRecolectadas : Vector - listaPiezasRequeridas : Vector - ensamblado : boolean - nombreServidor : String - idServidor : String - referencia : String - opcionTolerancia : boolean - opcionSuscripcion : boolean - idObjetoEscucha : String - enviadorMensajes : EnviadorMensajes - path : String
+ AdministradorImpl() + estableceProveedores() + agregaAuto(auto : Auto) + quitaAuto(claveAuto : String) + obtieneListaAutos() : String + obtieneClaveAuto(nombreAuto : String) : String + verDetallesAuto(claveAuto : String) : Vector + obtieneListaPiezas(claveAuto : String) : Vector + creaEntidad(entidad : EntidadMovil) + eliminaEntidad(identidad : String) + eliminaEntidades() + obtieneIdEntidad() : int + obtieneProveedores() : Vector + obtieneListaProveedores() : Vector + obtieneNombreProv(idProveedor : String) : String
AdministradorLectura + obtieneIdProv(nombreProveedor : String) : String + obtienePosProveedor(idProveedor : String) : int + obtienePosProv(nombreProveedor : String) : int + recibePeticion(claveAuto : String) + recibeSolicitud(idEntidad : String, listaRecolectadoEntidad : Vector) + ensamble() : boolean + requiereTolerancia(opcionTolerancia : boolean, opcionSuscripcion : boolean) + getReferencia() : String + getIdObjetoEscucha() : String + inicio() + main(args[] : String)
- path : String
+ AdministradorLectura() + getCaminos(archivo : String) : Vector + getNodos(archivo : String) : Vector + getProveedores(archivo: String) : Vector + getDependencias(archivo : String) : Vector + getFronteras(archivo : String) : Vector + obtieneServidorEjecucion(archivo : String) : String + obtieneNumeroPuerto (archivo : String) : int
138 Diagramas UML
AdministradorConectaDB Auto
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ AdministradorConectaDB() + query(s String) : ResultSet + ejecuta(e String) : boolean + cierraConexion() + agragaAuto(auto : Auto) + quitaAuto(idAuto : String) + obtieneListaAutos() : Vector + obtieneClaveAuto(nombreAuto : String) : String + verDetallesAuto(idAuto: String) : Vector + obtieneListaPiezas(idAuto : String) : Vector
- url : String - login : String - passwd : String - con : Connection - stmt : Statement
- idAuto : String - nombreAuto : String - marcaAuto : String - precioAuto : String - descripcion : String - piezas : Vector
+ Auto() + Auto(idAuto : String, nombreAuto : String, marcaAuto : String, precioAuto : String, descripcion : String, piezas : Vector) + getIdAuto() : String + getNombreAuto() : String + getMarcaAuto() : String + getPrecioAuto() : String + getDescripcion() : String + getPiezas() : Vector + setIdAuto(idAuto : String) + setNombreAuto(nombreAuto : String) + setMarcaAuto(marcaAuto : String) + setPrecioAuto(precioAuto : String)
+ setDescripcion(descripcion : String) Proveedor + setPiezas(piezas : Vector)
- idProveedor : String - nombreProveedor : String - posicion : int
+ Proveedor() Proveedores + Proveedor(idProveedor : String, nombreProveedor : String, posicion : int) + getIdProveedor() : String + getNombreProveedor() : String + getPosicion() : int + getIdProveedor(idProveedor : String) + getNombreProveedor(nombreProveedor : String) + getPosicion(psocion : int)
- proveedor : Proveedor - proveedores : Vector
+ Proveedores() + estableceProveedores() + getProveedores() : Vector
Diagramas UML 139
EntidadMovil (Administrador) AdministradorCliente
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ EntidadMovil() + EntidadMovil(idEntidad : String, origin : int, destino : int, ruta : Vector, listaPiezas : Vector, enviadorMensajes : EnviadorMensajes) + run() + realizaRecorrido() + obtieneRuta(int origen, int destino) : Vector + realizaRuta(ruta : Vector) + getIdEntidad() : String + getOrigen() : int + getDestino() : int + getRuta() : Vector + getListaPiezas() : Vector + getEnviadorMensajes() : EnviadorMensajes + setIdEntidad(idEntidad : String) + setOrigen(origen : int) + setDestino(destino : int) + setRuta(ruta : Vector) + setListaPiezas(listaPiezas : Vector) + setEnviadorMensajes(enviadorMensajes : EnviadorMensajes) + setServidor(administradorImpl : AdministradorImpl)
- administradorImpl : AdministradorImpl - mapaCliente : MapaCliente - motorCliente : MotorCliente - metalCliente : MetalCliente - chasisCliente : ChasisCliente - llantasCliente : LlantasCliente - accesoriosCliente : AccesoriosCliente - rutaCuadrante1Cliente : RutaCuadrante1Cliente - rutaCuadrante2Cliente : RutaCuadrante2Cliente - rutaCuadrante3Cliente : RutaCuadrante3Cliente - rutaCuadrante4Cliente : RutaCuadrante4Cliente - identidad : String - origen : int - destino : int - nodoOrigenInicial : int - ruta : Vector - listaPiezas : Vector - enviadorMensajes : EnviadorMensajes
- obj : AdministradorInterfaz
+ AdministradorCliente() + + agregaAuto(auto : Auto) + quitaAuto(claveAuto : String) + obtieneListaAutos() : String + obtieneClaveAuto(nombreAuto : String) : String + verDetallesAuto(claveAuto : String) : Vector + obtieneListaPiezas(claveAuto : String) : Vector + creaEntidad(entidad : EntidadMovil) + eliminaEntidad(identidad : String) + eliminaEntidades() + obtieneIdEntidad() : int + obtieneProveedores() : Vector + obtieneListaProveedores() : Vector + obtieneNombreProv(idProveedor : String) : String + obtieneIdProv(nombreProveedor : String) : String + obtienePosProveedor(idProveedor : String) : int + obtienePosProv(nombreProveedor : String) : int + recibePeticion(claveAuto : String) + recibeSolicitud(idEntidad : String, listaRecolectadoEntidad : Vector) + ensamble() : boolean + requiereTolerancia(opcionTolerancia : boolean, opcionSuscripcion : boolean) + getReferencia() : String
140 Diagramas UML
Metodo EnviadorMensajes
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ EnviadorMensajes(idObjetoEscucha : String) + envio(mensaje : Metodo)
- queueName : String - jndiContext : Context - queueConnectionFactory : QueueConnectionFactory - queueConnection : QueueConnection - queueSession : QueueSession - queue : Queue - queueSender : QueueSender - message : ObjectMessage
FilePacket
- nombre : String
+ FilePacket(nombre : String) + getName() : String + readIn() : byte[]
ParserXML
+ ParserXML() + ParserXML(archivo : String, opcion : String) + startDocument() + endDocument() + startElement(nameSpaceURI : String, localName : String, qName : String, attr : Attributes) + endElement(nameSpaceURI : String, localName : String, qName : String) + characters(ch : char[], start : int, length : int) +parseo(archivo : String) + obtieneOpcionTolerancia() : Vector
- tolerancia : String - suscripción : String - nombreEn : String - nombreAtributo : String - opcionTolerancia : Vector - contenido : CharArrayWriter
- ID : String - nombre : String - parametros : Parametros - entidadOrigen : String - entidadDestino : String - referencia : String
+ Metodo() + Metodo(ID : String, nombre : String, parametros : Parametros, entidadOrigen : String, entidadDestino : String, referencia : String) + getID() : String + getNombre() : String + getParametros() : Parámetros + getEntidadOrigen() : String + getEntidadDestino() : String + getReferencia() : String + setID(ID : String) + setNombre(nombre : String) + setParametros(parametros : Parametros) + setEntidadOrigen(entidadOrigen : String) + setEntidadDestino(entidadDestino : String) + setReferencia(referencia : String)
Parametros
- posicion : int - tipo : String - valor : String
+ Parametros() + Parametros(posición : int, tipo : String, valor : String) + getPosicion () : int + getTipo() : String + getValor () : String + setPosicion (posicion : int) + setTipo(tipo : String) + setValor(valor : String)
Diagramas UML 141
<< interface >> MapaImpl MapaInterfaz
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ creaMapa() + getCuadrante(idCuadrante : String) : Cuadrante + obtieneCuadrante(nodo : int) : String + obtieneProveedor(nodo : int) : String + perteneceA(idProveedor : String) : String + obtieneNodosFrontera(cuaranteOrigen : String, cuadranteDestino : String) : Vector + getReferencia() : String
- creacionMapa : CreacionMapa - referencia : String - idObjetoEscucha : String
+ MapaImpl() + creaMapa() + getCuadrante(idCuadrante : String) : Cuadrante + obtieneCuadrante(nodo : int) : String + obtieneProveedor(nodo : int) : String + perteneceA(idProveedor : String) : String + obtieneNodosFrontera(cuaranteOrigen : String, cuadranteDestino : String) : Vector
MapaLectura + getReferencia() : String + getIdObjetoEscucha() : String
- path : String
+ LlantasLectura() + getCaminos(archivo : String) : Vector
+ getNodos(archivo : String) : Vector Cuadrante + getProveedores(archivo : String) : Vector + getDeoendencias(archivo : String) : Vector + getFronteras(archivo : String) : Vector + obtieneServidorEjecucion(archivo : String) : String + obtieneNumeroPuerto (archivo : String) : int
CreacionMapa
+ CreacionMapa() + creacionMapa() + getFronteras() : Vector + getCuadrantes() : Vector
- cuadrante1 : Cuadrante - cuadrante2 : Cuadrante - cuadrante3 : Cuadrante - cuadrante4 : Cuadrante - fronteras : Vector - cuadrantes : Vector
- idCuadrante : String - caminos : Vector - proveedores : Vector
+ Cuadrante() + Cuadrate(idCuadrante : String, caminos : Vector, proveedores : Vector) + getIdCuadrante() : String + getCaminos() : Vector + getProveedores() : Vector + setIdCuadrante(idCuadrante : String)
MapaCliente + setCaminos(caminos : Vector) + setProveedores(proveedores : Vector)
- obj : MapaInterfaz
+ MapaCliente() + creaMapa() + getCuadrante(idCuadrante : String) : Cuadrante + obtieneCuadrante(nodo : int) : String + obtieneProveedor(nodo : int) : String + perteneceA(idProveedor : String) : String + obtieneNodosFrontera(cuaranteOrigen : String, cuadranteDestino : String) : Vector + getReferencia() : String + getIdObjetoEscucha() : String
142 Diagramas UML
<< interface >> RutaCuadrante#Impl RutaCuadrante#Interfaz
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ obtieneTopologia(idCuadrante : String) : Cuadrante + obtieneCosto(nodoOrigen : int, nodoFrontera : int) : int + calculaRuta(nodoOrigen : int, nodoDestino : int) : Vector + getReferencia() : String
- mapaCliente : MapaCliente - referencia : String - idObjetoEscucha : String
+ RutaCuadrante#Impl() + obtieneTopologia(idCuadrante : String) : Cuadrante + obtieneCosto(nodoOrigen : int, nodoFrontera : int) : int + calculaRuta(nodoOrigen : int, nodoDestino : int) : Vector
RutaLectura + getReferencia() : String + getIdObjetoEscucha() : String - path : String
+ RutaLectura() + getCaminos(archivo : String) : Vector
+ getNodos(archivo : String) : Vector Grafo + getProveedores(archivo : String) : Vector + getDeoendencias(archivo : String) : Vector + getFronteras(archivo : String) : Vector + obtieneServidorEjecucion(archivo : String) : String + obtieneNumeroPuerto (archivo : String) : int
Arista
- origen : int - destino : int - peso : int
- vertices : Vector - origen : Vertice
+Grafo() + getVertices() : Vector + insertarVertice(v : Vertice) + insertarArista(uno : Vertice, dos : Vertice) + insertarAristaNoDir(uno : Vertice, dos : Vertice) + getDistancia(origen : Vertice, destino : Vertice) : int + getRuta(origen : Vertice, destino : Vertice) : String + calcular(origen : Vertice) +
Nodo
Camino
- papa : int - hijo : int
- etiqueta : int - valorDijkstra : int
Diagramas UML 143
Dijkstra Vertice
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
+ estructuraNodo(nombre : int, valor : int) : Nodo + construccionGrafoAristas(caminos : Vector) + estructuraGrafo(grafo : Vector) + inicializaPesosVertices() + copiaGrafoOriginal() + buscaNodo(etiqueta : int) : Nodo + buscaVecinos(nodoTemporal : Nodo) : Vector + perteneceConjunto(nodo : Nodo) : int + buscaPeso(nodoUno : int, nodoDos : int) : int + buscaMinimo() : Nodo + caminos(hijo : Nodo, padre : Nodo) + existeArista(padre : int, hijo : int) : int + imprimeCamino() : Vector + Proceso() + ProcesoCosto() : int + obtieneCosto(nodoOrigen : int, nodoDestino : int, caminos : Vector) : int + calculaRuta(nodoOrigen : int, nodoDestino : int, caminos : Vector) : V
- grafoCompleto : Vector - grafoTemporal : Vector - camino : Vector - grafoAristas : Vector - nodoInicial : Nodo - nodoFinal : Nodo - nodoTemporal : Nodo - INFINITO : int
- int : distancia - anterior : Vertice - adyacentes : Vector - nombre : String
+ Vertice(nombre : String) + reset() + insertaArista(destino : Vertice) + getDistancia() : int + getAnterior() : Vértice + getAdyacentes() : Vector + setDistancia(distancia : int) + setAnterior(anterior : Vertice) + setAdyacentes(adyacentes : Vector)
RutaCuadrante#Cliente
- obj : MapaInterfaz
+ RutaCuadrante#Cliente() + + obtieneTopologia(idCuadrante : String) : Cuadrante + obtieneCosto(nodoOrigen : int, nodoFrontera : int) : int + calculaRuta(nodoOrigen : int, nodoDestino : int) : Vector + getReferencia() : String + getIdObjetoEscucha() : String
144 Diagramas UML
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
AccesoriosImpl
+ AccesoriosImpl() igen : String,
ducto :
il)
: String,
a :
<< interface >> AccesoriosInterfaz
+ compra( ducto :
il)
: String,
- con : AccesoriosConectaDB
String
olean
entidadOrigen : String,entidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
- administradorCliente : AdministradorCliente - nombrePiezaAEnsamblar : - identidades : Vector
s : Vector + creaEntidad(entidad : EntidadMov - listaPiezasRecolectada+ eliminaEntidad(identidad : String) - listaPiezasRequeridas : Vector + eliminaEntidades()
int - nombreServidor : String
+ obtieneIdEntidad() : - idServidor : String + recibeSolicitud(idEntidad - referencia : String listaRecolectadoEntidad : Vector) + getReferencia() : String
- ensamble : boolean- opcionTolerancia : bo
- opcionSuscripcion : boolean - idObjetoEscucha : String
orMensajes - enviadorMensajes : Enviad- path : String
+ compra(entidadOrentidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String) + creaEntidad(entidad : EntidadMov+ eliminaEntidad(identidad : String) + eliminaEntidades()
int + obtieneIdEntidad() :+ recibeSolicitud(idEntidad listaRecolectadoEntidad : Vector) + requiereTolerancia(opcionToleranciboolean, opcionSuscripcion : boolean) + getReferencia() : String
tring + getIdObjetoEscucha() : S+ inicio()
s[] : String) + main(arg
AccesoriosLectura
- path : String
AccesoriosConectaDB
- url : String
- login : String- passwd : String- con : Connection - stmt : Statement
+ AccesoriosConectaDB() + query(s String) : ResultSet
+ ejecuta(e String) : boolean + cierraConexion()
oducto : String, + compra(nombrePrcantidad : int, idProveedor : String) + ensamble(nombrePieza : String, idProveedor : String)
AccesoriosCliente
- obj : AccesoriosInterfaz - em : EnviadorMensajes
+ AccesoriosCliente() + AccesoriosLectura()
cion(archivo :
+ compra(idObjetoEscucha : String, o :
il :
+ obtieneServidorEjecuentidadOrigen : String, entidadDestinString, nombreProducto : String, cantidad: int, idProveedor : String) + ensamble(idObjetoEscucha : String,
String) : String + obtieneNumeroPuerto (archivo : String): int
entidadOrigen : String, entidadDestino : String, nombrePieza : String) + recibeSolicitud(idObjetoEscucha : String, entidadOrigen : String, entidadDestino : String, idEntidadMovString, listaRecolectadoEntidad : Vector)
Diagramas UML 145
ChasisImpl
+ ChasisImpl() dOrigen : String,
ducto :
il)
: String,
a :
<< interface >> ChasisInterfaz
+ compra(enducto :
il)
: String,
- con : ChasisConectaDB
String
olean
tidadOrigen : String, entidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
- administradorCliente : AdministradorCliente - nombrePiezaAEnsamblar : - identidades : Vector
s : Vector + creaEntidad(entidad : EntidadMov - listaPiezasRecolectada+ eliminaEntidad(identidad : String) - listaPiezasRequeridas : Vector + eliminaEntidades()
int - nombreServidor : String
+ obtieneIdEntidad() : - idServidor : String + recibeSolicitud(idEntidad - referencia : String listaRecolectadoEntidad : Vector) + getReferencia() : String
- ensamble : boolean- opcionTolerancia : bo
- opcionSuscripcion : boolean - idObjetoEscucha : String
orMensajes - enviadorMensajes : Enviad- path : String
ChasisLectura
+ compra(entida
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
entidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
+ ChasisLectura() + obtieneServidorEjecucion(archivo :
String) : String + obtieneNumeroPuerto (archivo : String)
+ creaEntidad(entidad : EntidadMov+ eliminaEntidad(identidad : String)
: int
- path : String
ChasisConectaDB
+ eliminaEntidades() int + obtieneIdEntidad() :
+ recibeSolicitud(idEntidad listaRecolectadoEntidad : Vector) + requiereTolerancia(opcionToleranciboolean, opcionSuscripcion : boolean) + getReferencia() : String
tring + getIdObjetoEscucha() : S- url : String
g
+ inicio() s[] : String) - login : String + main(arg
- passwd : Strin- con : Connection - stmt : Statement
ChasisCliente + ChasisConectaDB() ltSet + query(s String) : Resu
+ ejecuta(e String) : boolean + cierraConexion()
oducto : String, + AccesoriosCliente()
- obj : AccesoriosInterfaz - em : EnviadorMensajes
+ compra(nombrePr+ compra(idObjetoEscucha : String,
o :
il :
cantidad : int, idProveedor : String) + ensamble(nombrePieza : String, entidadOrigen : String, entidadDestin
String, nombreProducto : String, cantidad: int, idProveedor : String) + ensamble(idObjetoEscucha : String,
idProveedor : String)
entidadOrigen : String, entidadDestino : String, nombrePieza : String) + recibeSolicitud(idObjetoEscucha : String, entidadOrigen : String, entidadDestino : String, idEntidadMovString, listaRecolectadoEntidad : Vector)
146 Diagramas UML
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
LlantasImpl
+ LlantasImpl() Origen : String,
ducto :
il)
: String,
a :
<< interface >> LlantasInterfaz
+ compra(en g, ducto :
il)
: String,
- con : LlantasConectaDB
String
olean
tidadOrigen : StrinentidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
- administradorCliente : AdministradorCliente - nombrePiezaAEnsamblar : - identidades : Vector
s : Vector + creaEntidad(entidad : EntidadMov - listaPiezasRecolectada+ eliminaEntidad(identidad : String) - listaPiezasRequeridas : Vector + eliminaEntidades()
int - nombreServidor : String
+ obtieneIdEntidad() : - idServidor : String + recibeSolicitud(idEntidad - referencia : String listaRecolectadoEntidad : Vector) + getReferencia() : String
- ensamble : boolean- opcionTolerancia : bo
- opcionSuscripcion : boolean - idObjetoEscucha : String
orMensajes - enviadorMensajes : Enviad- path : String
LlantasLectura
+ compra(entidadentidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
+ LlantasLectura() + obtieneServidorEjecucion(archivo :
String) : String + obtieneNumeroPuerto (archivo : String)
+ creaEntidad(entidad : EntidadMov+ eliminaEntidad(identidad : String)
: int
- path : String
LlantasConectaDB
+ eliminaEntidades() int + obtieneIdEntidad() :
+ recibeSolicitud(idEntidad listaRecolectadoEntidad : Vector) + requiereTolerancia(opcionToleranciboolean, opcionSuscripcion : boolean) + getReferencia() : String
tring + getIdObjetoEscucha() : S- url : String
+ inicio() s[] : String) - login : String + main(arg
- passwd : String- con : Connection - stmt : Statement
LlantasCliente + LlantasConectaDB() ltSet + query(s String) : Resu
+ ejecuta(e String) : boolean + cierraConexion()
oducto : String, + AccesoriosCliente()
- obj : AccesoriosInterfaz - em : EnviadorMensajes
+ compra(nombrePr+ compra(idObjetoEscucha : String,
o :
il :
cantidad : int, idProveedor : String) + ensamble(nombrePieza : String, entidadOrigen : String, entidadDestin
String, nombreProducto : String, cantidad: int, idProveedor : String) + ensamble(idObjetoEscucha : String,
idProveedor : String)
entidadOrigen : String, entidadDestino : String, nombrePieza : String) + recibeSolicitud(idObjetoEscucha : String, entidadOrigen : String, entidadDestino : String, idEntidadMovString, listaRecolectadoEntidad : Vector)
Diagramas UML 147
MetalImpl
+ MetalImpl() adOrigen : String,
ducto :
il)
: String,
a :
<< interface >> MetalInterfaz
+ compra(ent ng, ducto :
il)
: String,
- con : MetalConectaDB
String
olean
idadOrigen : StrientidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
- administradorCliente : AdministradorCliente - nombrePiezaAEnsamblar : - identidades : Vector
s : Vector + creaEntidad(entidad : EntidadMov - listaPiezasRecolectada+ eliminaEntidad(identidad : String) - listaPiezasRequeridas : Vector + eliminaEntidades()
int - nombreServidor : String
+ obtieneIdEntidad() : - idServidor : String + recibeSolicitud(idEntidad - referencia : String listaRecolectadoEntidad : Vector) + getReferencia() : String
- ensamble : boolean- opcionTolerancia : bo
- opcionSuscripcion : boolean - idObjetoEscucha : String
orMensajes - enviadorMensajes : Enviad- path : String
MetalLectura
+ compra(entid
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
entidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
+ LlantasLectura() + obtieneServidorEjecucion(archivo :
String) : String + obtieneNumeroPuerto (archivo : String)
+ creaEntidad(entidad : EntidadMov+ eliminaEntidad(identidad : String)
: int
- path : String
MetalConectaDB
+ eliminaEntidades() int + obtieneIdEntidad() :
+ recibeSolicitud(idEntidad listaRecolectadoEntidad : Vector) + requiereTolerancia(opcionToleranciboolean, opcionSuscripcion : boolean) + getReferencia() : String
tring + getIdObjetoEscucha() : S- url : String
g
+ inicio() s[] : String) - login : String + main(arg
- passwd : Strin- con : Connection - stmt : Statement
MetalCliente + MetalConectaDB() sultSet + query(s String) : Re
+ ejecuta(e String) : boolean + cierraConexion()
oducto : String, + AccesoriosCliente()
- obj : AccesoriosInterfaz - em : EnviadorMensajes
+ compra(nombrePr+ compra(idObjetoEscucha : String,
o :
il :
cantidad : int, idProveedor : String) + ensamble(nombrePieza : String, entidadOrigen : String, entidadDestin
String, nombreProducto : String, cantidad: int, idProveedor : String) + ensamble(idObjetoEscucha : String,
idProveedor : String)
entidadOrigen : String, entidadDestino : String, nombrePieza : String) + recibeSolicitud(idObjetoEscucha : String, entidadOrigen : String, entidadDestino : String, idEntidadMovString, listaRecolectadoEntidad : Vector)
148 Diagramas UML
Figura B.6 Diagramas de clases del sistema distribuido de transporte (continuación)
MotorImpl
+ MotorImpl() adOrigen : String,
ducto :
il)
: String,
a :
<< interface >> MotorInterfaz
+ compra(ent ng, ducto :
il)
: String,
- con : MotorConectaDB
String
olean
idadOrigen : StrientidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
- administradorCliente : AdministradorCliente - nombrePiezaAEnsamblar : - identidades : Vector
s : Vector + creaEntidad(entidad : EntidadMov - listaPiezasRecolectada+ eliminaEntidad(identidad : String) - listaPiezasRequeridas : Vector + eliminaEntidades()
int - nombreServidor : String
+ obtieneIdEntidad() : - idServidor : String + recibeSolicitud(idEntidad - referencia : String listaRecolectadoEntidad : Vector) + getReferencia() : String
- ensamble : boolean- opcionTolerancia : bo
- opcionSuscripcion : boolean - idObjetoEscucha : String
orMensajes - enviadorMensajes : Enviad- path : String
MotorLectura
+ compra(entidentidadDestino : String, nombreProString, cantidad : int, idProveedor : String) + ensamble(nombrePieza : String)
+ MotorLectura() jecucion(archivo :
+ obtieneServidorEString) : String + obtieneNumeroPuerto (archivo : String)
+ creaEntidad(entidad : EntidadMov+ eliminaEntidad(identidad : String)
: int
- path : String
MotorConectaDB
+ eliminaEntidades() int + obtieneIdEntidad() :
+ recibeSolicitud(idEntidad listaRecolectadoEntidad : Vector) + requiereTolerancia(opcionToleranciboolean, opcionSuscripcion : boolean) + getReferencia() : String
tring + getIdObjetoEscucha() : S- url : String
+ inicio() s[] : String) - login : String + main(arg
- passwd : String- con : Connection - stmt : Statement
MotorCliente + MotorConectaDB() sultSet + query(s String) : Re
+ ejecuta(e String) : boolean + cierraConexion()
oducto : String, + AccesoriosCliente()
- obj : AccesoriosInterfaz - em : EnviadorMensajes
+ compra(nombrePr+ compra(idObjetoEscucha : String,
o :
il :
cantidad : int, idProveedor : String) + ensamble(nombrePieza : String, entidadOrigen : String, entidadDestin
String, nombreProducto : String, cantidad: int, idProveedor : String) + ensamble(idObjetoEscucha : String,
idProveedor : String)
entidadOrigen : String, entidadDestino : String, nombrePieza : String) + recibeSolicitud(idObjetoEscucha : String, entidadOrigen : String, entidadDestino : String, idEntidadMovString, listaRecolectadoEntidad : Vector)
top related