Descripción del Diseño del Software - Trabajos de Grado...

29
Pontificia Universidad Javeriana Proyecto de trabajo de grado - Reciclatón DESCRIPCIÓN DEL DISEÑO DEL SOFTWARE Mónica Cristina Abreo Ariza – Juan Guillermo Cáceres Ruiz

Transcript of Descripción del Diseño del Software - Trabajos de Grado...

Pontificia Universidad Javeriana Proyecto de trabajo de grado - Reciclatón

DESCRIPCIÓN DEL DISEÑO DEL SOFTWARE Mónica Cristina Abreo Ariza – Juan Guillermo Cáceres Ruiz

1. Historial de Cambios

Versión Fecha del

Cambio

Secciones

Modificadas

Descripción del cambio Responsable

0.1 6/04/16 5, 7.2, 7.4 Se agregó la instrucción y los

detalles de presentación. Además,

de los diagramas de

comportamiento e interfaces.

Mónica Abreo

Juan Cáceres

0.2 12/04/16 6.3 Se agregaron los diagramas de

proceso

Mónica Abreo

Juan Cáceres

0.3 13/04/16 6.1, 6.2, 7.1 Diagrama de componentes,

despliegue y de clases

Mónica Abreo

Juan Cáceres

0.4 14/04/16 7.2 Se agregaron los diagramas de

secuencia

Mónica Abreo

Juan Cáceres

Tabla 1 Historial de Cambios

2. Tabla de Contenidos

Tabla de contenido 1. Historial de Cambios ............................................................................................................. 1

2. Tabla de Contenidos .............................................................................................................. 2

3. Lista de Figuras ..................................................................................................................... 4

4. Lista de Tablas ...................................................................................................................... 5

5. Introducción .......................................................................................................................... 6

5.1. Propósito ....................................................................................................................... 6

5.2. Contenido ...................................................................................................................... 6

6. Arquitectura ........................................................................................................................... 7

6.1. Vista de Componentes del Sistema ............................................................................... 7

Escenas .................................................................................................................................. 7

Lógica de negocio .................................................................................................................. 8

6.2. Vista Despliegue del Sistema ........................................................................................ 8

6.3. Vista de Procesos del Sistema ....................................................................................... 9

Registrar Usuario ................................................................................................................... 9

Ver instrucciones ................................................................................................................. 10

Pedir ayuda .......................................................................................................................... 10

Iniciar Nivel .......................................................................................................................... 11

Cambiar Escenario ................................................................................................................. 0

Manejar puntaje .................................................................................................................... 0

Controlar vidas ...................................................................................................................... 0

Ver controles ......................................................................................................................... 1

Ver créditos ........................................................................................................................... 1

Salir del juego ........................................................................................................................ 2

7. Diseño Detallado ................................................................................................................... 3

7.1. Estructura del Sistema ................................................................................................... 3

Interfaz Gráfica ...................................................................................................................... 3

Jugador .................................................................................................................................. 4

Escena .................................................................................................................................... 4

7.2. Comportamiento del Sistema ........................................................................................ 5

Registrar Usuario ................................................................................................................... 5

Iniciar Nivel ............................................................................................................................ 5

Ver instrucciones ................................................................................................................... 7

Controlar vida ........................................................................................................................ 7

Puntaje Clasificación ............................................................................................................. 9

Generar consejos................................................................................................................. 10

Ver controles ....................................................................................................................... 10

Ver créditos ......................................................................................................................... 11

Salir del Juego ...................................................................................................................... 11

7.3. Persistencia .................................................................................................................. 12

7.4. Interfaz de Usuario ...................................................................................................... 12

8. Referencias .......................................................................................................................... 13

3. Lista de Figuras Ilustración 1 Diagrama de componentes ___________________________________________________ 7

Ilustración 2 Diagrama de Despliegue _____________________________________________________ 9

Ilustración 3 Proceso Registrar Usuario ___________________________________________________ 10

Ilustración 4 Proceso ver instrucciones ____________________________________________________ 10

Ilustración 5 Proceso pedir ayuda ________________________________________________________ 11

Ilustración 6 Proceso Nivel 1 _____________________________________________________________ 0

Ilustración 7 Proceso Nivel 2 _____________________________________________________________ 1

Ilustración 8 Proceso Nivel 3 _____________________________________________________________ 2

Ilustración 9 Procesos cambiar de escenario ________________________________________________ 0

Ilustración 10 Proceso controlar vidas _____________________________________________________ 1

Ilustración 11 Proceso ver controles _______________________________________________________ 1

Ilustración 12 Proceso ver créditos ________________________________________________________ 2

Ilustración 13 Proceso salir del juego ______________________________________________________ 2

Ilustración 14 Diagrama de actividades ___________________________________________________ 12

4. Lista de Tablas Tabla 1 Historial de Cambios ____________________________________________________________ 1

5. Introducción

5.1. Propósito El propósito de este documento es representar el videojuego, por medio de diagramas. Estos darán

a conocer su arquitectura, procesos e interfaces. Los cuales ayudan a facilitar la implementación

del prototipo.

5.2. Contenido En este documento se verá representada la arquitectura del videojuego, por medio de la vista de

componentes, despliegue y las descripciones de los procesos más importantes del proyecto. Para

un mayor complemento, se especifica la estructura del sistema, su comportamiento e interfaces

del sistema, lo cuales hacen referencias a los escenarios planteados en el GDD. Este documento

va dirigido especialmente a los desarrolladores y stakeholders del proyecto.

6. Arquitectura

6.1. Vista de Componentes del Sistema1

Este diagrama representa los componentes de manera detallada del sistema. En cada uno de ellos,

se representa los niveles de acuerdo a las funcionalidades a ejecutar.

Ilustración 1 Diagrama de componentes

Escenas Este componente representa cada una de las pantallas con las que el usuario va a interactuar. Es

decir, es la carpeta de presentación la cual va a realizar los pedidos a la carpeta de lógica, y

representar las respuestas.

Prefabs

En esta carpeta es la integradora de lo realizado en las carpetas del componente de lógica de

negocio. En esta se muestra las representaciones de los objetos de cada una de las escenas. Sin

embargo, en esta se unifica las acciones que cada uno va a realizar y su forma visual, es decir, en

esta carpeta se encuentra el objeto total y terminado para agregarlo o asignarlo a la escena.

1 Referencias (Microsoft, 2015) (Fakhroutdinov, 2009) (Gommaa, 2011)

Lógica de negocio Este componente, es el soporte del videojuego. Dado que realiza todo el trabajo que el cliente que

no, es decir la lógica del videojuego. En este se realiza las acciones divididas en cada uno de las

carpetas, para que el componente Escena realice toda la unificación, es decir le presta un servicio.

Scripts

Esta carpeta representa las acciones en código, que cada uno de los objetos del videojuego va a

realizar. Se debe tener en cuenta que el algoritmo del videojuego no está representado en clase

propiamente dichas, sino que será una secuencia de comandos que activarán o determinarán las

acciones de los objetos y las reglas de negocio.

Models

En esta carpeta se encuentran todos los objetos, en sus respectivos movimientos en forma de

molde. Es decir, cada objeto es representado en “obra negra” y de cada uno se tiene la imagen de

las acciones que el efectuará. Por ejemplo, del personaje se tendría el modelo de él corriendo,

caminado, saltando, parado, etc. Se debe tener en cuenta que estos modelos, no contienen ningún

color, textura o forma que altere su original.

Materials

Esta carpeta representa la paleta de colores, texturas, trajes, formas adicionales, etc. Que

decorarán a los modelos de la carpeta Models. Con esta carpeta se decora cada uno los modelos

en blanco para convertirlos junto a los scripts en prefabs.

6.2. Vista Despliegue del Sistema

Este diagrama, representa donde irán alojados físicamente cada uno de los componentes del

sistema. Dado que la arquitectura que presenta el videojuego es Stand-alone, el único componente

que se representa o utiliza es el dispositivo del cliente. Se debe tener presente que el videojuego

no requiere que ningún sistema aparte o el uso de una base de datos.

Ilustración 2 Diagrama de Despliegue

6.3. Vista de Procesos del Sistema

El diagrama BPMN muestra una vista general de los diferentes procesos con los que el usuario

interactúa. Estos dan una idea de las acciones que el usuario puede tomar dentro del videojuego.

Sin embargo, las acciones plasmadas no muestras actividades de decisión sino el flujo general de

éste.

Registrar Usuario Este proceso se encarga de nombrar y elegir el personaje que interpretará al usuario a lo largo del

videojuego.

Ilustración 3 Proceso Registrar Usuario

Ver instrucciones Se muestra el proceso realizado, en el momento que el usuario da clic al botón de instrucciones.

Ilustración 4 Proceso ver instrucciones

Pedir ayuda Se muestra el proceso realizado, en el momento que el usuario da clic al botón de ayuda.

Ilustración 5 Proceso pedir ayuda

Iniciar Nivel En este se representa el proceso general que el jugador debe realizar en cada uno de los niveles

para completarlos satisfactoriamente. Para ver el flujo general se recomienda ver el diagrama de

estados, mostrado en la sección 7.4. Se debe tener en cuenta que le usuario no podrá realizar el

siguiente nivel sin haber terminado el anterior, dado que el cambio de nivel se realiza

automáticamente.

Nivel 1

En este proceso, se muestra la función general sin errores que realizaría el personaje. Este debe elegir un objeto en un escenario predeterminado y clasificarlo.

El sistema debe detectar cuando termina la actividad para cambiar de escenario o terminar el nivel; el cual debe dar inicio al siguiente.

Ilustración 6 Proceso Nivel 1

Nivel 2

En este proceso, se muestra el flujo general del nivel 2. En el cual paralelamente el camión y el personaje deben ir desplazándose por el camino predeterminado,

mientras el usuario esquiva obstáculos y recolecta los objetos para ser clasificados en la norma GTA- 24. Al terminar el camino y completar la actividad se debe

terminar el nivel e iniciar el siguiente.

Ilustración 7 Proceso Nivel 2

Nivel 3

En este proceso, se muestra el flujo general del nivel 3. En el cual el usuario debe esquivar objetos que no son necesarios para la construcción de la casa y elegir

los objeto requeridos para completarla.

Ilustración 8 Proceso Nivel 3

Cambiar Escenario Este proceso se activa en el momento que alguno de los niveles finalice. En este se evalúa el nivel

que termino, para determinar el siguiente y poder desplegarlo.

Ilustración 9 Procesos cambiar de escenario

Manejar puntaje Este proceso se encarga de manejar el puntaje del jugador. El puntaje cambia cada vez que el

jugador realiza una actividad correcta o incorrectamente.

Controlar vidas

En este proceso se muestras las diferentes actividades en la cuales se modifica las vidas de

usuario. Se debe tener en cuenta que este proceso se realiza cada vez que el usuario realiza una

actividad, así esta sea fallida.

Ilustración 10 Proceso controlar vidas

Ver controles Este proceso se realiza cada vez que el jugador desee ver lo controles necesarios para jugar el

nivel.

Ilustración 11 Proceso ver controles

Ver créditos Se muestra el proceso realizado, en el momento que el usuario da clic al botón de créditos.

Ilustración 12 Proceso ver créditos

Salir del juego Se muestra el proceso realizado, en el momento que el usuario da clic al botón de salir y termina

el juego.

Ilustración 13 Proceso salir del juego

7. Diseño Detallado A continuación, se muestran los detalles de bajo nivel del sistema.

7.1. Estructura del Sistema

Dado que el lenguaje de Unity no es un lenguaje orientado a objetos, no se presentan clases en el

código definidas. Por lo cual, se mostrar la realización entre las “clases” principales. Lo que se va

a representar a continuación, son las escenas del videojuego y su relación entre ellas y la interfaz

gráfica.

Ilustración 14 Diagrama de Clases Reciclatón

Interfaz Gráfica Representa la interfaz gráfica que interactúa directamente con el jugador. Esta ejecuta y muestra

las escenas.

Jugador Representa al personaje del jugador.

Niña

Es la representación femenina del personaje

Niño

Es la representación masculina del personaje.

Escena Representa la información básica que contendrá cada una de las escenas o pantallas del

videojuego. De ella heredan:

Menú

Contiene la información de la escena principal del videojuego, es decir la primera pantalla de este.

Nivel 1

Contiene todos los elementos necesarios para representar la escena del nivel 1.

Consejos Nivel 1

Son los consejos que se desplegarán a lo largo del primer nivel.

Nivel 2

Contiene todos los elementos necesarios para representar la escena del nivel 2.

Consejos Nivel 2

Son los consejos que se desplegarán a lo largo del segundo nivel.

Nivel 3

Contiene todos los elementos necesarios para representar la escena del nivel 3.

Consejos Nivel 3

Son los consejos que se desplegarán a lo largo del tercer nivel.

Créditos

Contiene la información que será desplegada cuando el usuario desee ver los créditos del

videojuego.

Controles

Contiene la información de los controles necesarios para jugar e interactuar con Reciclatón.

Ayuda

Contiene la información de ayuda de cada uno de los niveles, que se desplegará en el momento

que el usuario lo solicite.

7.2. Comportamiento del Sistema

En esta sección se agregan los diagramas de secuencia, para describir como se realiza la acción

de los procesos descritos en la sección 6.3.

Registrar Usuario

Ilustración 15 Registrar Usuario DS

Iniciar Nivel

Desplazar personaje

Ilustración 16 Desplazar personaje DS

Elegir Caja

Ilustración 17 Elegir Caja DS

Clasificar objeto

Ilustración 18 Clasificar objeto DS

Ver instrucciones

Ilustración 19 Ver Instrucciones DS

Controlar vida

Ilustración 20 Controlar vida DS

Ilustración 21 Perder vida por elemento toxico DS

Ilustración 22 Perder vida por cronometro DS

Puntaje Clasificación

Ilustración 23 Puntaje clasificación DS

Generar consejos

Ilustración 24 Generar Consejos DS

Ver controles

Ilustración 25 Ver controles DS

Ver créditos

Ilustración 26 Ver créditos DS

Salir del Juego

Ilustración 27 Salir del juego DS

7.3. Persistencia

Dado que el videojuego no va a utilizar, ninguna base de datos o dispositivo para realizar la

persistencia de los datos, no se es necesario el diagrama.

7.4. Interfaz de Usuario

Las interfaces de usuario están basadas en el diagrama de estados, mostrado a continuación. Este

representa las actividades más generales del videojuego y su flujo. Para ver las especificaciones

de las interfaces se recomienda ver el GDD, dado que en este documento solo se presentarán las

vistas generales y faltantes por especificar en el GDD.

Ilustración 28 Diagrama de actividades

8. Referencias

[1] ISO/IEC/IEEE 42010

[2] IEEE Std 1016-2009

[3] RUP. Software Architecture Document

http://www.ts.mah.se/RUP/RationalUnifiedProcess/webtmpl/templates/a_and_d/rup_sad.htm

[4] Philippe Kruchten, Architectural Blueprints—The “4+1” View Model of Software

Architecture. http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf

[5] Scott Ambler, UML Data Modeling Profile.

http://www.agiledata.org/essays/umlDataModelingProfile.html

[6] Scott Ambler, User Interface Flow Diagrms.

http://www.agilemodeling.com/artifacts/uiFlowDiagram.htm