Está en la página 1de 53

BOGGLER

RinoSoft

DESCRIPCION DEL DISEO DE SOFTWARE


Abril 29 de 2008

Versin 1.0

Felipe Caicedo
Ricardo Andrs Lpez Pumarejo
Juan Alberto Vlez Casadiego
Eberto Burgos Mendoza

SDD: Boggler

Pagina de Firmas

El presente documento es aprobado por las personas referenciadas a continuacin:

__________________________________________
Firma Director de Proyecto y de Desarrollo.

__________________________________________
Firma Arquitecto.

__________________________________________
Firma Director de Calidad y Manejo De Riesgos.

__________________________________________
Firma Administrador de Configuracin y Documentacin.

SDD: Boggler

Historial de Cambios
Versi
n

Fecha

Seccin del
documento
modificada

Descripcin corta
de cambios

Responsable

0.1

05/04/08

Realizacin del inciso 1

Felipe Caicedo

0.1

07/04/08

Correccin del inciso 1

Todos

0.1.2

08/04/08

Define las
consideraciones del
sistema y la metodologa
de diseo

Juan Alberto Vlez

0.1.3

09/04/08

Se corrigi el inciso 2

Todos

0.2

09/04/08

Se determina la
arquitectura a realizar

Eberto Burgos

0.4

10/04/08

Se cambia la arquitectura

Eberto Burgos y Ricardo


Lpez

0.5

13/04/08

Se establece el diagrama
de componentes

Eberto Burgos Mendoza

0.6

14/04/08

Modificacin del
diagrama, se agregan
mas componentes

Eberto Burgos

0.65

15/04/08

Realizacin del diagrama


de despliegue

Eberto Burgos y Ricardo


Lpez

0.7

19/04/08

Documentacin del
diagrama de despliegue
con correcciones

Eberto Burgos y Felipe


Caicedo

0.75

20/04/08

Realizacin diagrama de
secuencia y actividades

Eberto Burgos , Ricardo


Lpez Felipe Caicedo

0.8

27/04/08

Se ingresa el javadoc al
documento

Ricardo Lpez

0.84

28/04/08

Se define las entradas y


salidas de las interfaces

Felipe Caicedo

0.85

28/04/08

Se define las entradas y


salidas de las interfaces

Felipe Caicedo

0.88

29/04/08

Correccin de los
diagramas de secuencia

Eberto Burgos y Ricardo


Lpez

1.0

29/04/08

Todos

Armar todo el documento

Felipe Caicedo

SDD: Boggler
Contenido

PAGINA DE FIRMAS.......................................................................2
HISTORIAL DE CAMBIOS................................................................3
CONTENIDO.................................................................................. 4
LISTA DE TABLAS..........................................................................6
LISTA DE ILUSTRACIONES..............................................................7
1. INTRODUCCIN.........................................................................9
1.1

Descripcin del Sistema............................................................................9

1.2

Mapa del diseo........................................................................................9

1.3

Referencias y Documentos de Apoyo........................................................10

1.4

Definiciones Acrnimos y Abreviaciones...................................................11

2.

CONSIDERACIONES DE DISEO.............................................13

2.1

Suposiciones........................................................................................... 13

2.2

Restricciones..........................................................................................14

2.3

Entorno del Sistema................................................................................15

2.4

Metodologa de Diseo............................................................................16

2.5

Riesgos...................................................................................................17

3.

ARQUITECTURA....................................................................18

3.1

Apreciacin Global..................................................................................18

3.2

Diagrama de Componentes......................................................................18

3.3

Estrategias de Diseo..............................................................................26

CONSIDERACIONES DE DISEO.............................................27

SDD: Boggler
4.1

Diagrama de Despliegue..........................................................................27

4.2

Diagrama de Comportamiento e Interaccin.............................................29

DISEO DE BAJO NIVEL.........................................................34

5.1

GUI......................................................................................................... 34

5.2

Lgica..................................................................................................... 35

5.3

Comunicacin..........................................................................................36

5.4

Paquetes................................................................................................ 37

5.5

Persistencia............................................................................................38

DISEO DE INTERFACES DE USUARIO.....................................39

6.1

Diseo general de la aplicacin................................................................39

6.2

rbol de Navegabilidad...........................................................................50

ANEXOS..............................................................................53

SDD: Boggler

Introduccin
1.1
Descripcin del Sistema
El sistema ha sido diseado en una arquitectura P2P pura o totalmente descentralizado.
Aunque existen otras arquitecturas que posiblemente seran optimas, se escogi para el
desarrollo de este producto sta arquitectura debido a: primero, tiene un alto desempeo en
cuanto a transferencia de datos en ambientes LAN y ya que el producto es diseado para
jugarse en lnea, es necesario que su rendimiento sea ptimo; segundo, brinda la posibilidad
de descentralizar el juego dando la pauta a todo jugador de ser cliente y servidor en el
momento que se desee en comn acuerdo con el resto de jugadores y tercero, combinada
con un diseo por componentes lo convierten en un diseo eficiente, con bajo acoplamiento,
especializado y posiblemente generador de versiones mejoradas por su facilidad de
actualizacin o correccin. Estas caractersticas de arquitectura hacen que no solo para el
cliente se ofrezcan mltiples ventajas , sino tambin para el inversionista a quien se
propone un Producto verstil, de fcil utilizacin, de alta calidad y muy importante, la
primera versin que, gracias a la buena planeacin del mismo promete tener mejoras,
correcciones y nuevas caractersticas. De la misma forma para el usuario final se presentan
ventajas de manejabilidad ya que se va a enfrentar a un ambiente eficiente, agradable,
verstil y simple. Sin embargo, existen ciertas restricciones tanto de hardware como de
software para su correcto desempeo, estas sern detalladas en el transcurso del la
presente descripcin.

1.2

Mapa del diseo

El presente documento se presentan los siguientes diagramas mediante los cuales se diseo
el sistema:

Diagramas de componentes (Seccin 3.2)

Diagramas de Actividad (Seccin 4.2.2)


Diagramas de Secuencia (Secciones 4.2.1,1, 4.2.1.2, 4.2.1.3
Diagrama de despliegue (Seccin 4.1)

SDD: Boggler
1.3

Referencias y Documentos de Apoyo

[1] Ironworks, SDDVersion1, Ironworks, 2007


[2]Metodologas y Diseo Orientadas a Objetos
http://www.chuidiang.com/ood/metodologia/

[3] Definicin de socket. Disponible en:


http://www.fismat.umich.mx/mn1/manual/node24.html

[4] Presentacin DEFINICION DE INGENIERIA DE SOFTWARE. Disponible en:


platea.pntic.mec.es/~jmarti2/materiales/temasIS.pptl
[5] SRS para desarrollo WEB, Margaret Florin y Mauricio Cabezas . 2005
Disponible en:http://eisc.univalle.edu.co/materias/tis/pdf/SRS_V1_1Florian-Cabezas.pdf
[6]IEEE( Institute of Electrical and Electronic Engineers), IEEE Standard for
Software Management Plans, IEEE Standards Board, 1998
[7] BRUEGGE, B y DUTOIT, A. Ingeniera de Software Orientado a
Objetos.Prentice Hall, 2002.
[8] SOMMERVILLE, I. Ingeniera de Software, Sexta Edicin, Addison Wesley,
Mxico, 2002.
[9]ISO (International Orgtanization for Standarization Martnez S, Gil, R y Plazas
L. Normas ISO y Calidad, 2006.
[10]Plantilla Volere James & Suzanne Robertson. Edicin 11Febrero 2006
Disponible en: http://www.volere.co.uk/

SDD: Boggler

1.4

Definiciones Acrnimos y Abreviaciones

802.11: El protocolo IEEE 802.11 o WI-FI es un estndar de protocolo de


comunicaciones de la IEEE que especifica las normas de funcionamiento en una WLAN.
[10]
C
Componente: Partes de un subsistema que cumplen una determinada funcin para el
funcionamiento del sistema en general
D
DBMS (DATA BASE MANAGEMENT SYSTEM: Sistema de administracin de bases de
datos ( Informtica y Computacin ). Software que controla la organizacin, el
almacenamiento, la recuperacin, la seguridad y la integridad de los datos en una base
de datos. Sistema organizado para la administracin de mucha informacin.[11]
G
GUI: En el contexto del proceso de interaccin persona-ordenador, la interfaz grfica
de usuario (IGU), provee una forma amigable de interaccin con un sistema
informtico.[12]
J
JVM (Java Virtual Machine): La Mquina virtual de Java es nicamente un elemento
del software de Java, especficamente utilizado para la interaccin en la Web, que se
incluye en la descarga del software de Java y que ayuda al JRE de Sun a ejecutar las
aplicaciones Java. [13]

L
LAN(Local Area Network): Red de rea local.[12]
R
Router: ruteador o encaminador es un dispositivo de hardware para interconexin de
redes de ordenadores[12]
S

SDD: Boggler
SDD: descripcin de la estructura global del sistema, especificacin de qu debe hacer
cada uno de los mdulos y de cmo se combinan [15]
SPMP: Documento que controla un proyecto de software. El SPMP define las
actividades, productos de trabajo, indicadores de avance y recursos asignados al
proyecto. En el SPMP tambin estn definidos los procedimientos administrativos y
convenciones aplicables al proyecto, como el reporte de estado, la administracin del
riesgo, y la administracin de contingencias
SRS: La especificacin de requisitos de software es la actividad en la cual se genera el
documento, con el mismo nombre, que contiene una descripcin completa de las
necesidades y funcionalidades del sistema que ser desarrollado; describe el alcance
del sistema y la forma en como har sus funciones, definiendo los requerimientos
funcionales y los no funcionales.[14]
Switch: Dispositivo de red que filtra, enva e inunda de frames en base a la direccin
de destino de cada frame. El switch opera en la capa de enlace de datos del modelo
OSI. 2.) Trmino general que se aplica a un dispositivo electrnico o mecnico que
permite establecer una conexin cuando resulte necesario y terminarla cuando ya no
hay sesin alguna que soportar. [12]

T
TCP/ IP: Modelo principal de protocolo en Internet[12]
U
UML- Unified Modelling Language: (Unifed Modeling Languaje) El lenguaje para
modelamiento unificado (UML), es un lenguaje para la especificacin, visualizacin,
construccin y documentacin de los artefactos de un proceso de sistema intensivo.
Fue originalmente concebido por la Corporacin Rational Software y tres de los ms
prominentes mtodologistas en la industria de la tecnologa y sistemas de informacin:
Grady Booch, James Rumbaugh, y Ivar Jacobson ("The Three Amigos"). El lenguaje ha
ganado un significante soporte de la industria de varias organizaciones va el consorcio
de socios de UML y ha sido presentado al Object Management Group (OMG) y aprobado
por ste como un estndar (noviembre 17 de 1997).[12]

SDD: Boggler
2. Consideraciones de Diseo

2.1 Suposiciones

El Equipo de Desarrollo: Con respecto al hardware que se estn utilizando para el


desarrollo de las interfaz, se estn utilizando tres maquinas las cuales son: Acer Extensa
5420-5687, AMD Turion 64 X2 1.9Ghz, 2Gb RAM, 160 GB DD - PC de Escritorio AMD Athlon
64 X2, 2Ghz, 1GB RAM, 160 GB DD y un PC de Escritorio, Pentium 4CPU 3Ghz, 1GB RAM, 120
DD. Ya que nos referimos al manejo de interfaz estas maquinas cuentan con tarjetas graficas
de alto desempeo respectivamente, como lo son: ATI Radeon Xpress 1250, Nvidia 7300GT y
Nvidia Geforce 6600.
Con respecto al software se est manejando la Maquina virtual de java (JVM), FlashPlayer,
Netbeans, Herramientas de Adove, tales como lo son: Flash (para la creacin de elementos
en el diseo como lo son animaciones y otros que ayudan a la parte visual del software que
es agradable para los usuarios), Photoshop, para el buen manejo de las imgenes que van a
ser tratadas en Flash. Y Fireworks que bsicamente hace la misma funcin que Photoshop
(Edicin de Imgenes).
No se mencionan muchos elemento en esta parte ya que fueron antes mencionadas en los
documentos SPMP y SRS en los incisos 1.1.2 (Suposiciones y Restricciones) del SPMP y el 2.6
(Suposiciones y Dependencias) del SRS. Dado que aqu solo enfatizamos en el segmento de
la interfaz.
El Equipo:
Debe contar con la Mquina virtual de java (JVM).
Debe contar con los requerimientos mnimos establecidos en el inciso 2.1.8
(Requerimientos de adaptacin del sitio) del SRS.

El Cliente: Los usuarios que van a utilizar la aplicacin son un mximo de 4 personas por
juego. Estos no tendrn mucha influencia en los cambios de los requerimientos del sistema
ya que los que tienen experticia en este tema son los desarrolladores.

10

SDD: Boggler

2.2 Restricciones

Restricciones Generales
Tiempo de entrega del proyecto es de mximo 4 meses,

llevarn a cabo 4

documentos que sern adjudicados al cliente en este intervalo de tiempo.


No se podr utilizar ms de un 20% de cdigo ajeno.
Se manejara una arquitectura Cliente/Servidor.
El nmero de integrantes del grupo de desarrollo es de 4 personas. No pueden
incorporarse nuevos miembros.
El presupuesto del grupo de trabajo es limitado y se encuentra detallado en el
inciso 1.1.4 del SPMP, junto con el documento de Planeado vs Ejecutado.
Caractersticas de Usuario
Conocimientos bsicos del juego: tales como: comportamiento con el rol de
administrador en el juego o como jugador normal, teniendo conocimiento de las
reglas y restricciones del juego.
Restricciones de Software
La aplicacin se desarrollara en lenguaje JAVA con la IDE Netbeans.
Se manipulara la persistencia mediante archivos planos.
Licencias de Software.
API de Java
Requerimientos plasmados en el inciso 2.1.8 del SRS.
Detalle de la Licencias de Software: Netbeans est liberada principalmente bajo
la licencia Common Development and Distribution License producida por Sun y
basada en la Mozilla Public License y el resto de componentes est bajo la licencia
GPL v2 la cual es muy popular entre las licencias de software libre y el estndar de
las licencias del software del proyecto GNU. Para el manejo de Adobe flash y otros
de la misma casa constructora requerimos de una licencia de uso la cual se
especifica

ms

fondo

en

la

http://www.adobe.com/es/products/eulas/players/flash/

direccin
Para

las

web:

licencias

de

herramientas de Microsoft, como los son editores de texto para el formalismo de


esta

aplicacin

otros

visitamos

la

siguiente

pgina

web:

http://www.microsoft.com/spain/licencias/introduccion/cual/default.mspx . Enterprise
Architect podemos encontrar a detalle informacin sobre su licencia visitando
http://sparxsystems.com.es/products/ea_license_info.html .
Restricciones de Hardware
La aplicacin debe de correr en los laboratorios la Facultad de Ingeniera.

11

SDD: Boggler
Las maquinas de la universidad deben contar con los requerimientos mnimos
para la adaptacin del sitio, establecidos en el inciso 2.1.8 (Requerimientos de
adaptacin del sitio) del SRS y en el inciso 2.4 (Restricciones) del SRS

12

SDD: Boggler

2.3 Entorno del Sistema

Con respecto al entorno del sistema, nuestro ambiente de desarrollo variara un poco al
tratar de cambiar nuestro entorno actual, que es el del manejo de herramientas altamente
calificadas para el desarrollo de la aplicacin con la presencia de los requerimientos del
sistema para su correcto desarrollo como las mencionamos en el inciso 2.1 de este mismo
documento.
Tal vez al intentar desarrollar nuestra aplicacin en otro entorno ya sea en la universidad con
sus equipos no avanzaramos de la misma forma. No por falta de requerimientos de
hardware sino por la falta de requerimientos de software atrasando de esta manera nuestro
constante progreso por la instalacin de software necesario enfatizando en esta parte del
formalismo en el diseo.
Con respecto al Hardware se necesitara la presencia de los siguientes dispositivos para el
manejo de la aplicacin y su correcto funcionamiento.

Computadora (2GB en RAM, 80GB DD, Procesador Intel Core 2 Duo 3

GHZ)
Dispositivos E/s
Tarjeta de Red
Tarjeta grafica (integrada o dedicada)
Router, Hub o Switch
Cables de Red (UTP)

Con respecto al Software se necesitara la presencia de los siguientes elementos para el


manejo del entorno donde se realizaran las pruebas de aceptacin del producto.

Maquina virtual Java


Navegador Web
Flashplayer

13

SDD: Boggler

2.4

Metodologa de Diseo

Figura 2.4: Metodologa del diseo

14

SDD: Boggler

2.5

Riesgos

Figura 2.4: Administracin de Riesgos

15

SDD: Boggler
3. Arquitectura
Arquitectura elegida: P2P (peer to peer).

3.1

Apreciacin Global

Se eligi para el desarrollo de la aplicacin fue la arquitectura p2p ya que esta brinda
mltiples ventajas frente a una arquitectura como el cliente servidor en el caso de este
software. Permite al usuario ser cliente y servidor en el caso que se necesite, permite la
distribucin de tareas en diferentes escenarios, brinda la posibilidad de descentralizar el
juego, de esta manera la falta o falla de alguno de los jugadores presentes no afectara el
desarrollo del juego. Adicional a esto, se pens en un entorno de juego en el que si un
solo usuario o jugador actuara como cliente, los dems dependeran en todos los casos
de que este estuviera conectado para poder jugar, lo cual condicionara su uso
drsticamente.

3.2Diagrama de Componentes
La figura (Figura 3.1) representa el diagrama de componentes del sistema, siguiente a
este se encuentra la documentacin de cada uno de los subsistemas y componentes que
posee. Como el juego puede jugarse de un solo jugador y de varios jugadores se detallo
en la tabla (Tabla 3.1) que subsistemas son necesarios para cada modo de juego.

16

SDD: Boggler

Figura 3.2: Diagrama de Componentes

Un solo jugador
Lgica
Persistencia
Gui

Multijugador
Lgica
Persistencia
Gui
Comunicacin
Paquetes
Tabla 3.1

17

SDD: Boggler

3.2.1 GUI
Propsito del subsistema

Composicin del
subsistema

Contiene las diferentes interfaces


graficas con que cuenta el
sistema.
GuiPrincipal
SwingWorker
Pnl_Chat
Pnl_ListaPalabras
Pnl_ListaJugadores
Pnl_Login
Pnl_Cronometro
Pnl_Tablero

Tabla 3.2.1: Subsistema GUI

3.2.1.1
Propsito del
componente
Dependencia

GuiPrincipal

Su funcin es realizar todas las ventanas o interfaces


graficas con que cuenta el juego.
Nombre componente Descripcin
Pnl_Chat
Maneja los elementos del chat
Pnl_ListaPalabras
Envia la lista de palabras
Pnl_ListaJugadores
Enva la lista de jugadores
Pnl_Login
Saber quin es el cliente o
servidor
Pnl_Cronometro
Envia el conteo del cronometro
Pnl_Tablero
Envia el tablero de letras
Tabla 3.2.1.1 : Componente GuiPrincipal

3.2.1.2 SwingWorker
Propsito del
componente
Dependencia

Permite manejar hilos mientras que se despliega informacin en la


interfaz grafica. Permite la actualizacin del cronometro en la interfaz
grafica.
Nombre del Componente
Descripcin
Tabla 3.2.1.2: Componente SwingWorker

3.2.1.3 Pnl_chat
Propsito
del
componente
Dependenci

Representa la sala de conversacin de los jugadores


Nombre del Componente
No aplica

Descripcin
No aplica

18

SDD: Boggler
a
Tabla 3.2.1.3: Componente Pnl_Chat

3.2.1.4 Pnl_ListaPalabras
Propsito
del
componente

Representa la lista de palabras que ha escogido un jugador.


Nombre del Componente

Descripcin

Dependenci
a
Tabla 3.2.1.4: Componente Pnl_ListaPalabras

3.2.1.5 Pnl_ListaJugadores
Propsito
del
componente
Dependenci
a

Representa los jugadores que se encuentran en la partida de juego


Nombre del componente
Pnl_Login

Descripcin
Manda los jugadores que ingresaron

Tabla 3.2.1.5: Componente Pnl_ListaJugadores

3.2.1.6 Pnl_Login
Propsito
del
componente
Dependenci
a

Representa la ventana donde el usuario ingresa al sistema de modo


cliente o servidor y donde ingresa su nombre de usuario y contrasea.
Nombre del componente

Descripcin

Tabla 3.2.1.6: Componente Pnl_Login

3.2.1.7 Pnl_Cronometro
Propsito
del
componente
Dependenci
a

Representa el contador de tiempo, que determina cuando el juego finaliza


Nombre del componente
Descripcin
SwingWorker
Maneja al cronometro mediante un hilo
Tabla 3.2.1.7: Componente Pnl_Cronomero

3.2.1.8 Pnl_Tablero
Propsito
del
componente
Dependenci
a

Se encarga de representar el tablero de letras de juego


Nombre del componente
Pnl_Cronometro

Descripcin
Decide cuando finaliza el juego

Tabla 3.2.1.8: Componente Pnl_Tablero

19

SDD: Boggler

20

SDD: Boggler

3.2.2 Lgica

Propsito del subsistema

Se encarga de las funciones


bsicas del juego, es decir las
reglas del juego boggler.
Composicin del subsistema

Boggle

Diccionario

Puntaje

SistemaBoggler
Tabla 3.2.2: Componente Subsistema Lgica

3.2.2.1 Boggle
Propsito
del
componente
Dependenci
a

Es la esencia del juego boggle es decir organizar el juego de acuerdo


parmetros establecidos por el usuario, la bsqueda de todas las
palabras del tablero, la comparacin de esas palabras y el permiso para
que el usuario pueda encontrarlas,
Nombre del componente
Descripcin
No aplica
No aplica
Tabla 3.2.2.1: Componente Boggle

3.2.2.2 Diccionario
Propsito
del
componente
Dependenci
a

Se encarga de realizar el llamado a la lectura del diccionario.


Nombre del componente
LeerDiccionario

Descripcin
Palabras ledas desde el archivo diccionario.

Tabla 3.2.2.2: Componente Diccionario

3.2.2.3 Puntaje
Propsito
del
componente
Dependenci
a

Determina el puntaje de cada jugador despus de haber finalizado la


partida de juego
Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.2.3: Componente Puntaje

21

SDD: Boggler

3.2.2.4 SistemaBoggler
Propsito
del
componente

Su funcin es administrar todos los parmetros que se realicen en sus


dependencias.
Nombre del componente
Boggle

Dependenci
a

Descripcin
Recibe las palabras del tablero, la
comparacin de cada una.
Puntaje
Recibe el puntaje
Diccionario
Se realiza la comparacin de palabras
Cliente
Recibe a un cliente especifico para controlar
sus parametros
Tabla 3.2.2.4: Componente SistemaBlogger

3.2.3 Comunicacin

Propsito del subsistema

Se tiene en cuenta en el modo


multijugador. Define la comunicacin
entre el servidor y cliente.
Composicin del subsistema

Servidor

Cliente

ListaSockets

ServidorThread

ServidorConexion

ChatCliente
Tabla 3.2.3: Subsistema Comunicacin

3.2.3.1 Servidor
Propsito
del
componente
Dependenci
a

Se encarga de atender las conexiones entrantes de los clientes.


Nombre del componente
ListaSockets
ServidorThread
ServidorConexion

Descripcin
Lista de clientes que se conectan
Para cada socket se crea un servidor
Se enva la solicitud de conexin para cada
cliente
Pnl_Login
Crea un servidor
Tabla 3.2.3.1: Componente Servidor

3.2.3.2 Cliente
Propsito
del
componente
Dependenci
a

Se encarga de realizar la conexin por parte del cliente


Nombre del componente
Jugador

Descripcin
Se enva la informacin del jugador que est
en estado cliente
tablero
Se recibe el tablero
Resultado
Se recibe el resultado
Jugada
Enva la jugada
Pnl_Login
Crea un cliente
Tabla 3.2.3.2: Componente Cliente

22

SDD: Boggler

3.2.3.3 ListaSockets
Propsito
del
componente
Dependenci
a

Almacena las conexiones entrantes de cada cliente.


Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.3.3: Componente ListaSockets

3.2.3.4 ServidorThread
Propsito
del
componente
Dependenci
a

Generar un hilo por cada conexin del servidor con el cliente.


Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.3.4: Componente ServidorThread

3.2.3.5 ServidorConexion
Propsito
del
componente
Dependenci
a

Generar una conexin con el cliente


Nombre del componente
Jugador

Descripcin
Recibe la informacin del jugador que est
en estado cliente
Tablero
Se enva el tablero
Resultado
Se enva el resultado
Jugada
Se recibe la jugada
Tabla 3.2.3.5: Componente ServidorConexion

3.2.3.4 ChatCliente
Propsito
del
componente
Dependenci
a

Realiza el envi y recibo de mensajes entre los diferentes usuarios que


conversan en el chat
Nombre del componente
Descripcin
Servidor
Envia/Recibe mensajes a los clientes
Cliente
Envia/Recibe mensajes
ServidorConexion
Maneja la conexion
Tabla 3.2.3.4: Componente ChatCliente

23

SDD: Boggler

3.2.4 Paquetes

Propsito del subsistema

La funcin es manejar los paquetes


que se envan por medio de los
sockets. Los paquetes estn
conformados por los siguientes
trminos mencionados en la
composicin del subsistema.
Composicin del subsistema

Jugador

Tablero

Jugada

Resultado
Tabla 3.2.4: Subsistema Paquetes

3.2.4.1 Jugador
Propsito
del
componente
Dependenci
a

Tiene la informacin de perfil del jugador que ingresa al juego.


Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.4.1: Componente Jugador

3.2.4.2 Partida
Propsito
del
componente
Dependenci
a

Hace referencia a la lista de palabras, el tamao del tablero, tiempo de la


jugada y una cola de los jugadores.
Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.4.2: Componente Partida

3.2.4.3 Jugada
Propsito
del
componente
Dependenci
a

Contener la lista de palabras del jugador y el nombre del mismo para su


identificacin.
Nombre del componente
No aplica

Descripcin
No aplica

Tabla 3.2.4.3: Componente Jugada

3.2.4.4 Resultado
Propsito
del
componente

Contener el resultado del jugador por la ronda y el resultado total.

24

SDD: Boggler

Dependenci
a

Nombre del componente


No aplica

Descripcin
No aplica

Tabla 3.2.4.4: Componente Resultado

3.3

Estrategias de Diseo

Estrategias de
diseo
Priorizacin por
funcionalidades.

Descripcin

Razn

Se irn implementando
las funcionalidades en
orden de mayor
prioridad a menor
prioridad.

Como las funciones de


mayor prioridad son las
que determinan la esencia
del juego, se tienen que ir
implementndolas por las
funciones que hagan que
el juego vaya obteniendo
funcionalidad.
Los objetos que dependen
de un algoritmo tendrn
que cambiar cuando el
algoritmo cambia. Por lo
tanto los algoritmos que
estn expuestos a dicho
cambio deberan ser
separados, permitiendo de
esta manera reutilizar
algoritmos para crear
diferentes
representaciones.
El usuario requiere que el
juego posea respuesta
rpida en el momento de
utilizar cada una de sus
opciones.

Patrn Builder

En el momento de
creacin de un jugador
se representaran
funciones que solo en
el modo servidor
podrn ser ejecutadas.

En busca del
rendimiento

Los algoritmos
realizados debern ser
eficientes en cuestin
de tiempo a la hora de
ejecutar la aplicacin.

Tabla 3.3: Estrategias de Diseo.

25

SDD: Boggler
4

4.1

Consideraciones de Diseo

Diagrama de Despliegue

El diagrama (Figura 4.1) muestra la interaccin en un entorno de varios


jugadores, en donde el PC1 es el que se asigna como servidor y recibe de 1 a 3
clientes. En el caso de este diagrama se muestra un solo cliente el PC2 pero
como se dijo anteriormente puede tener hasta 3 clientes.

Figura 4.1: Diagrama de despliegue

26

SDD: Boggler

4.1.1 Nodo 1
Nombre del nodo
Especificacin

Componentes
Lgica

GUI
Comunicacin_Servi
dor
Persistencia
Paquete
Comentarios
adicionales

Maquina PC1 de la sala B.D


Remitirse al inciso 2.3
Ubicacin
Laboratorio sala
Entorno del sistema,
Bases de datos,
para la especificacin
facultad de
del equipo
ingeniera
Descripcin
Realiza las funciones primarias que determinan la esencia del
juego, tales como ordenar el tablero de juego, cargar las
palabras, cronmetro, el ingreso de palabras, la evaluacin de
las palabras, entre otras definidas en los casos de usos.
Visualizacin en pantalla por medio de interfaces graficas tales
como la pantalla del juego, login, historial, entre otras.
Realizar las conexiones con los clientes entrantes
Se encarga de realizar consultas y escrituras en los archivos
planos.
Contiene informacin del juego como la jugada, partida y el
resultado por cada jugador.

Tabla 4.1.1: Nodo 1

4.1.2 Nodo 2
Nombre del nodo
Especificacin

Componentes
GUI
Comunicacin_Clien
te
Paquete

Maquina PC2 de la sala B.D


Remitirse al inciso
Ubicacin
Laboratorio sala
2.3 Entorno del
Bases de datos,
sistema, para la
facultad de
especificacin del
ingeniera.
equipo
Descripcin
Visualizacin en pantalla por medio de interfaces graficas tales
como la pantalla del juego, login, historial, entre otras.
Se encarga de conectarse al servidor, enviar y recibir paquetes
entre las dos partes (Cliente y servidor).
Contiene informacin del juego como la jugada, partida y el
resultado por cada jugador.

Comentarios
adicionales
Tabla 4.1.: Nodo 2

27

SDD: Boggler

4.1.3 Conector 1
Comunicacin
Protocolos y
Herramientas

TCP/IP/Sockets/ UTP
Nombre

Descripcin

TCP/IP

Medio
Comentarios
adicionales

Es la base del Internet que sirve para


enlazar computadores que utilizan
diferentes sistemas operativos
sockets
Los sockets proporcionan una
comunicacin de dos vas, punto a punto
entre dos procesos.[3]
Cable UTP, conectores RJ45
No se utilizan aplicaciones adicionales, la comunicacin es
mediante sockets que se encargan de transferir datos
Tabla 4.1.1: Conector 1

4.2

Diagrama de Comportamiento e Interaccin


4.2.1 Diagramas de Secuencia
4.2.1.1
Calcular Puntaje

Figura 4.2.1.1: Diagrama de Secuencia Calcular Puntaje

28

SDD: Boggler
4.2.1.2

Crear Partida

Figura 4.2.1.2: Diagrama de Secuencia Crear Patida

4.2.1.3

Nuevo Jugador

Figura 4.2.1.3: Diagrama de Secuencia Nuevo Jugador

29

SDD: Boggler

4.2.2 Diagrama de Actividad


4.2.2.1

Palabras Validas

Se realiza en el Servidor.

Figura 4.2.2.1: Diagrama de Actividad Palabras Validas

30

SDD: Boggler

4.2.2.2

Leer Diccionario

Se realiza en el Servidor.

Figura 4.2.2.2: Diagrama de Actividad Leer Diccionario

31

SDD: Boggler

4.2.2.3

Crear Tablero

Se realiza en el Servidor.

Figura 4.2.2.3: Diagrama de Actividad Crear Tablero

32

SDD: Boggler
5

5.1

Diseo de Bajo Nivel

GUI

5.1.1 Documentacin de los Componentes en Anexo CD


carpeta JavaDoc.

33

SDD: Boggler

5.2

Lgica

34

SDD: Boggler
5.2.1 Documentacin de los Componentes en Anexo CD
carpeta JavaDoc.
5.3

Comunicacin

5.3.1 Documentacin de los Componentes en Anexo CD


carpeta JavaDoc.

35

SDD: Boggler

5.4

Paquetes

5.4.1 Documentacin de los Componentes en Anexo CD


carpeta JavaDoc.

36

SDD: Boggler

5.5

Persistencia

5.5.1 Documentacin de los Componentes en Anexo CD


carpeta JavaDoc.

37

SDD: Boggler
6

Diseo de Interfaces de Usuario

6.1 Diseo general de la aplicacin


En el diseo de la aplicacin se han creado las siguientes interfaces:
LOGIN:
Es la interfaz mediante la cual los usuarios ingresan al sistema validando
su nombre de usuario, contrasea, indicando si se es un jugador, cliente
de un juego ya creado o servidor de un juego a iniciar. Adicional a esto
debe indicar si es un jugador nuevo o ya existente. Por ltimo se
encuentra un botn de ayuda el cual presenta un documento de apoyo al
usuario. Como medios utiliza el teclado, el Mouse y la pantalla para
ingresar datos y visualizar la interfaz, la imagen se muestra a
continuacin:

Ilustracin 1 Login Usuario

Las entradas y salidas de esta interfaz se definen a continuacin:

38

SDD: Boggler

ENTRADAS
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Rango
Validacin
Secuencia de
Entrada
Comentarios

Campo de Ingreso de Nombre de Usuario


Nombre Jugador
Jugador
NombreJugador
Permitir el ingreso de un nombre de usuario
Campo de Texto
Alfanumrico
1
115
Vacio
Todos los caracteres
Se muestra la interfaz de juego con el jugador
creado
1
Debe ser obligatorio su ingreso, es ingresado
mediante el teclado.

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Rango
Validacin
Secuencia de
Entrada
Comentarios

Campo de Ingreso de Contrasea


PasswordJugador
Contrasea
PasswordJugador
Permitir el ingreso de contrasea
Campo de contrasea
Alfanumrico
1
115
Vacio
Todos los caracteres
Se muestra la interfaz de juego sin mostrar errores
2

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato

Seleccin de tipo de Usuario


Servidor, Cliente, Un Jugador
Servidor, Cliente, Un Jugador
RadioServer, RadioClient,RadioSingle
Permitir la escogencia del tipo de Usuario
Botn
ActionEvent

Debe ser obligatorio su ingreso, es ingresado


mediante el teclado.

39

SDD: Boggler
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

1
1
No Seleccionado
Se muestra la interfaz de juego
3
Debe ser obligatorio su ingreso, es ingresado
mediante la seleccin con el Mouse.

Seleccionar Tipo de Jugador


Nuevo , Existente
Jugador Nuevo, Jugador, Existente
ButtonNew, ButtonExist
Seleccionar si el jugador ya existe dentro del
sistema o si es un nuevo jugador.
Boton
ActionEvent
1
1
No Seleccionado
Se muestra la interfaz de juego
4
Debe ser obligatorio su ingreso, seleccionado
mediante el ratn.

Botn de Ayuda
Ayuda
Ayuda
ButtonHelp
Brindar una ayuda al usuario en caso de necesitarla
Boton
ActionEvent
1
1
No Seleccionado
Se muestra en pantalla el men de ayuda
5
Su seleccin es opcional, esta para que el usuario
pueda acceder a la ayuda del software.

40

SDD: Boggler

SALIDAS
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Valor por defecto
Rango
Validacin
Secuencia de
Entrada
Comentarios

Interfaz Principal del Juego


Menu
Menu
GuiPrincipal
Mostrar al usuario el tablero de juego con el que va
a interactuar.
Al ingresar todos los datos en el Login, se validan y
esta interfaz es visualizada en pantalla.

Lista de Jugadores
Jugadores
Jugadores
PanelJugadores
Mostrar los jugadores que participan en la partida
Campo de Texto
Alfanumrisco
Vacio
Alfabticos, numricos y caracteres
Aparecen los nombres de los jugadores
2
Se muestra en la interfaz de juego que se proyecta
en la pantalla.

Nuevo Juego
Es la interfaz en la cual el servidor configura el tipo de juego a iniciar, su
visualizacin es a travs de la pantalla y el medio de seleccin de las
opciones es el ratn. En esta se escoge el tamao del tablero, tiempo de
juego, nmero mnimo de letras por palabra e idioma. La imagen se
muestra a continuacin:

41

SDD: Boggler

Ilustracin 2 Configurar Juego Nuevo

ENTRADAS
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

Seleccin de Tamao de Tablero


Tamao del Tablero
Tamao Tablero
ButtonAvanzado, ButtonClasico, ButtonAmateur
Elegir Tamao del tablero para jugar
Botn
ActionEvent
1
1
Juego 3x3
Se crea el tablero sin errores
1

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato

Seleccin de duracin de ronda de juego


Tiempo
Tiempo
Button1Min, Button3Min, Button2Min
Seleccionar la duracin de cada ronda
Botn
ActionEvent

Debe ser obligatorio su ingreso para poder generar


el tablero, es ingresado mediante la seleccin con
el ratn.

42

SDD: Boggler
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Secuencia de
Entrada
Comentarios

1
1
Si no se selecciona alguno de los campos, el
sistema no
3x3
2
Debe ser obligatorio su ingreso para poder generar
el tablero con un tiempo de duracin por ronda. Es
ingresado mediante la seleccin con el ratn.

Seleccin de Tamao de Palabra


Tamao de la Palabra
No. Mnimo de Letras
Button2Letras, Button3Letras, Button4Letras
Pautar el tamao de las palabras validas en el juego
Botn
ActionEvent
1
1
3 Letras
El sistema valida solo las palabras seleccionadas
con tamao igual o mayor al seleccionado en esta
interfaz.
3
Debe ser obligatorio su ingreso para poder validar
las palabras encontradas por los jugadores, es
ingresado mediante la seleccin con el ratn de
alguno de los botones.

Seleccin de Idioma del Diccionario


Idioma del diccionario
Idioma
ButtonIngles, ButtonEspaol
Seleccionar el idioma de Revisin de palabras
Botn
ActionEvent
1
1
Espaol
El sistema revisa las palabras encontradas.
4
Debe ser obligatorio su ingreso para poder validar
43

SDD: Boggler
las palabras encontradas por los jugadores
confrontndolas con el diccionario, es ingresado
mediante la seleccin con el ratn de alguno de los
botones.

SALIDAS
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Comentarios

Interfaz Principal del Juego


Menu
Menu
GuiPrincipal
Mostrar al usuario el tablero de juego ya
configurado para comenzar.
despus de crear el la partida con las opciones
deseadas, se retorna a la interfaz de juego para
comenzar la partida.

Ventana de Juego
Es la interfaz principal del juego, en ella se encuentra la lista de
jugadores, la lista de palabras encontradas, el tablero, Chat, men de
opciones y campo de agregacin de palabras. Como medios de acceso se
utilizan el teclado, raton y pantalla para visualizar e interactuar con el
juego.
La interfaz se muestra a continuacin

Ilustracin 3 interfaz de Juego

44

SDD: Boggler

Las entradas y salidas de esta interfaz se definen a continuacin:

ENTRADAS
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)

Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Longitud mxima
Valor por defecto
Validacin
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Valor por defecto
Validacin
Comentarios

TABLERO
Tablero
Tablero
(FLetra1, FLetra2,FLetra3, FLetra4, FLetra5,
FLetra6, FLetra7, FLetra8, FLetra9, FLetra10,
FLetra11, FLetra12, FLetra13, FLetra14,
FLetra15, FLetra16, FLetra17, FLetra18,
FLetra19, FLetra20, FLetra21, FLetra22,
FLetra23, FLetra24, FLetra25)
Generar el tablero para poder interactuar con el
juego
Boton
ActionEvent
1
1
No Seleccionado
Las letras seleccionadas aparecen en el campo de
agregacin de palabra.
Es importante seleccionar varios botones del
tablero para formar las palabras. La seleccin se
realiza mediante la seleccin con el ratn

Chat
Chat
Chat
CampoChat
Permitir una comunicacin mediante mensajes de
texto entre jugadores.
Campo de Texto
Alfanumrico y caracteres
1
Vaca
Los mensajes creados por el jugador se
observan en este campo.
Su uso no es obligatorio, es ms una herramienta
adicional. Todos los mensajes se ingresan a travs
del teclado.

45

SDD: Boggler
Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Entrada
Tipo de Dato
Longitud mnima
Valor por defecto
Validacin
Comentarios

Agregar Palabra
Agregar una Palabra
Agregar
ButtonAgregar
Permite agregar palabras formadas del tablero en la
lista.
Boton
ActionEvent
1
No seleccionado
Al oprimir este botn se debe visualizar en la
lista de palabras, la que se acabo de formar.
Su uso no es obligatorio, es ms una herramienta
adicional. Todos los mensajes se ingresan a travs
del teclado.

SALIDAS
Convencin
Nombre
Alias (Cdigo)
Propsito
Tipo de Dato
Longitud mnima
Valor por defecto
Validacin
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Dato
Valor por defecto
Rango

Palabra Formada
Palabra Ingresada
FieldPalabra
Permitir la visualizacin de la palabra antes de ser
ingresada a la lista.
Alfabetico
1
Vaca
Al oprimir una letra en el tablero, esta se
visualiza en este campo.
Su uso es obligatorio, en esta se valida que las
letras seleccionadas corresponden y forman la
palabra que el jugador encuentra. Los valores son
ingresados internamente pro el programa y son
visualizados en la interfaz de juego.

Chat
Chat
Chat
AreaChat
Permitir al usuario visualizar la conversacin
establecida con algn orto usuario.
Alfanumrico
Vaco
Todos los caracteres
46

SDD: Boggler
Validacin
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Dato
Valor por defecto
Rango
Validacin
Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Dato
Valor por defecto
Rango
Validacin

Comentarios

Convencin

Al escribir un mensaje, este se observa en el


JTextArea2
Su uso es opcional, se integra como objeto adicional
al juego para brindar ms herramientas al usuario.
Todos los mensajes se visualizan en la interfaz de
juego que a su vez se observa en la pantalla.

Lista de Jugadores
Lista de Jugadores
Jugadores
PanelJugadores
Visualizar quienes y cuantos son los jugadores que
ingresaron al juego. Verificar que si se pudo realizar
conexin
Alfanumrico
Vaco
Todos los caracteres
Si los usuarios ingresaron correctamente, aparecer
su nombre de usuario en la lista.
Su utilizacin es obligatoria, en esta se muestran
los jugadores existentes. El usuario no tiene
interaccin directa con esta. Su visualizacin es
mediante la pantalla y esta contenida en la interfaz
de juego.

Lista de Posiciones
Lista DE Posiciones
Posiciones
PanelsPosiciones
Mostrar los jugadores de acuerdo a victorias y
puntaje del mayor al menor
Alfanumrico
Vaco
Todos los caracteres
Si existe un ganador en una o ms rondas este
debe ser mostrado de primero y los demas
jugadores debajo
Su utilizacin es obligatoria, en esta se muestran el
escalafn de jugadores. El usuario no tiene
interaccin directa con esta. Su visualizacin es
mediante la pantalla y esta contenida en la interfaz
de juego.

Suma de puntaje por jugador


47

SDD: Boggler
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Dato
Valor por defecto
Rango
Validacin

Comentarios

Convencin
Nombre
Alias (Interfaz)
Alias (Cdigo)
Propsito
Tipo de Dato
Valor por defecto
Rango
Validacin
Secuencia de
Entrada
Comentarios

Puntaje total
Puntaje
LabelPuntaje
Mostrar el puntaje resultante luego de una ronda
para cada jugador de acuerdo a las palabras
formadas.
Numrico
Vaco
Todos los caracteres
Si existe un ganador en una o mas rondas este
debe ser mostrado de primero y los dems
jugadores debajo
Es un campo obligatorio de salida ya que en este so
puede observar el puntaje completado por cada
jugador, es visualizado mediante la pantalla dentro
de la interfaz de juego.

Lista de Palabras encontradas


Lista de Palabras del Jugador
AreaPalabras
Mostrar la lista de palabras encontradas por el
jugador
Alfabtico
Vaco
Todos los caracteres Alfabticos
Si se oprime el botn agregar y existe una palabra
en el campo palabra formada, debe aparecer en
esta lista

Es un campo obligatorio, en este se observan las


palabras formadas por el jugador. Se muestra
dentro de la interfaz de juego y se vizualiza en la
pantalla.

Acerca de
Esta interfaz muestra la informacin de creacin del juego, la versin y
creador. No contiene entradas ni salidas, es una interfaz de visualizacin,
no de interaccin. Se muestra a continuacin:

48

SDD: Boggler

Ilustracin 4 Interfaz Acerca de

6.2 rbol de Navegabilidad


A continuacin se muestran los posibles caminos en las interfaces
graficas existentes actualmente en el sistema. Se divide en 3
modelos, sin embargo el proceso se puede visualizar en tiempo real
en una sola ejecucin:

JUGADOR INGRESA PANTALLA DE JUEGO

Ilustracin 5 Proceso1 Arbol de Navegabilidad

49

SDD: Boggler

50

SDD: Boggler

JUGADOR INGRESA PANTALLA DE JUEGO NUEVO JUEGO

Ilustracin 6 Proceso 2 Arbol de Navegabilidad

51

SDD: Boggler

JUGADOR INGRESA PANTALLA DE JUEGO ACERCA DE

Ilustracin 7 Proceso 3 Arbol de Navegabilidad

52

SDD: Boggler
7

Anexos

CD con Informacin referente a este documento en Digital.

53

También podría gustarte