documentación de la arquitectura de software -...

20
Planeador de Torneos y Competencias: PLATYCO Documentación de la Arquitectura de Software Daniel Santiago Vásquez Acero 22/08/2014

Upload: hadang

Post on 13-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Planeador de Torneos y Competencias: PLATYCO

Documentación de la Arquitectura de Software

Daniel Santiago Vásquez Acero 22/08/2014

1

Tabla de figuras Ilustración 1: Modelo "4+1"[1] ............................................................................................................ 4

Ilustración 2: Servicio en la nube Parse .............................................................................................. 5

Ilustración 3: Arquitectura general del Proyecto PLATYCO ................................................................ 6

Ilustración 4: Restricciones para la plataforma de desarrollo ............................................................ 7

Ilustración 5: Diagrama casos de uso ................................................................................................ 16

Ilustración 6: Diagrama vista lógica................................................................................................... 17

Ilustración 7: Diagrama de paquetes ................................................................................................ 18

Ilustración 8: Diagrama físico ............................................................................................................ 19

2

Tabla de Contenidos

HISTORIAL DE CAMBIOS ....................................................................... ¡Error! Marcador no definido.

Tabla de figuras ................................................................................................................................... 1

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

1. Introducción ................................................................................................................................ 4

1.1. Propósito ............................................................................................................................. 4

1.2. Alcance ................................................................................................................................ 4

1.3. Definiciones, Acrónimos y Abreviaturas ............................................................................. 4

1.4. Referencias .......................................................................................................................... 4

2. Representación de la arquitectura .............................................................................................. 5

3. Objetivos de la Arquitectura y Restricciones .............................................................................. 6

3.1. Restricciones Técnicas ......................................................................................................... 6

3.2. Atributos de Calidad ............................................................................................................ 7

3.4.1 Legales ......................................................................................................................... 8

3.4.1.1 Licencias LGPL .............................................................................................................. 8

3.4.1.2 Licencias de Software .................................................................................................. 8

3.4.2 Calidad de Código ........................................................................................................ 9

3.4.3 Persistencia ............................................................................................................... 10

3.4.4 Seguridad ................................................................................................................... 11

3.4.5 Rendimiento .............................................................................................................. 12

3.4.9. Disponibilidad ...................................................................................................................... 13

3.4.9.1. Disponible 24 X7 .................................................................................................... 13

3.4.10. Escalabilidad ...................................................................................................................... 13

3.4.10.1. Manejo de transacciones de 30 conexiones simultáneas ..................................... 13

3.4.11. Usabilidad .......................................................................................................................... 14

3.4.12. Integración ........................................................................................................................ 14

3.4.13. Pruebas .............................................................................................................................. 15

4. Vista de los Casos de Uso .......................................................................................................... 16

3

5. Vista Lógica ................................................................................................................................ 17

6. Vista de Implementación .......................................................................................................... 18

7. Vista Física ................................................................................................................................. 19

4

1. Introducción El proyecto PLATYCO (Planeador de Torneos y Competencias) es un proyecto desarrollado para

dispositivos móviles que permite a los usuarios entrar a un mundo deportivo donde podrán

encontrar, compartir y competir con personas de sus mismos gustos. El gran reto arquitectural de

la aplicación es siempre al usuario datos actualizados y coherentes a todos los usuarios.

1.1. Propósito

El propósito del documento es proveer una visión en conjunto de la arquitectura del proyecto

PLATYCO.

En orden a desarrollar la arquitectura es la propuesta del modelo “4 + 1” de Philippe Kruchten [1]

determinando las siguientes vistas:

Ilustración 1: Modelo "4+1"[1]

Estas vistas son descritas en el transcurso del documento.

1.2. Alcance

El alcance del proyecto es brindar una vista general y arquitectural del proyecto PLATYCO.

1.3. Definiciones, Acrónimos y Abreviaturas

1.4. Referencias

[1] P. Kruchten, “Architectural Blueprints — The ‘ 4 + 1 ’ View Model of Software Architecture,” vol. 12, no. November, pp. 42–50, 1995.

[2] Parse.com, “Parse.com.” Montain View, CA, 2014.

[3] Android, “Android Development Tools.” 2014.

5

2. Representación de la arquitectura El proyecto PLATYCO tiene un requerimiento arquitecturalmente significante el cual es tener la

capacidad de presentar al usuario datos congruentes y actualizados de la actividad en la

aplicación. Para ello, se utilizará la plataforma Parse[2], proveedora de base de datos y servicios

web que facilitan la comunicación entre el dispositivo móvil con el servidor.

Parse brinda varias herramientas que son importantes para el rendimiento de la aplicación,

presentadas a continuación:

Parse Core[2]: Este es un framework multiplataforma que proporciona los servicios

necesarios para una aplicación móvil como una base de datos en la nube, disponible 24/7,

adaptada para guardar posiciones en mapas o archivos binarios; además también puede

manejar una base de datos local que se integra con la base de datos en la nube sin ningún

costo. Esta también proporciona una interfaz de registro tradicional o a redes sociales, que

facilita la conexión y le da la oportunidad al usuario de usar estas dentro de la aplicación.

Ilustración 2: Servicio en la nube Parse

Parse Analytics[2]: Esta herramienta permite medir el uso de la aplicación y conocer el

número de transacciones, número de usuarios conectados y un sinfín de estadísticas que

apoyan a la toma de decisiones empresariales y arquitecturales de la aplicación.

6

La arquitectura de nuestro sistema sería así:

Ilustración 3: Arquitectura general del Proyecto PLATYCO

3. Objetivos de la Arquitectura y Restricciones En esta sección se describen los requerimientos de software y objetivos que tienen un impacto

arquitecturalmente significante sobre el proyecto PLATYCO.

3.1. Restricciones Técnicas

Para la implementación de la aplicación, se utilizará la plataforma de desarrollo Android

Development Tools[3] junto con el framework Parse y un servicio web propio de autorización en

PHP.

7

Ilustración 4: Restricciones para la plataforma de desarrollo

3.2. Atributos de Calidad

Se definieron los siguientes escenarios para los requerimientos no funcionales (Ver Anexo:

Requerimientos) que fueron seleccionados como arquitecturalmente significantes. La selección

de estos requerimientos se hizo a través de la metodología de priorización de Wiegers (Ver

Sección 3.1 Priorización de Requerimientos).

Orientada a Objetos Permitir Serialización

Automatica

Fácil Implementación de Patrones de Diseño

• Concurrencia

• Distribución

• Persistencia

Plataforma de Software Libre.

8

3.4.1 Legales

3.4.1.1 Licencias LGPL

Parte del escenario Posibles valores

Fuente Por el bajo presupuesto del proyecto, se requiere verificar las licencias del proyecto.

Estimulo Verificar que los desarrollos asociados al proyecto estén bajo licencia LGPL

Artefacto Código Fuente proyecto

Entorno Ejecución normal

Respuesta El código fuente se encuentra bajo licencia y es un sistema legal

Medición de la respuesta El dueño del proyecto verifica que cada desarrollo este bajo LGPL

3.4.1.2 Licencias de Software

Parte del escenario Posibles valores

Fuente Por el bajo presupuesto del proyecto, se requiere verificar las licencias del proyecto.

Estimulo Verificar que los componentes del sistema estén desarrollados sobre software libre

Artefacto Componentes que forman el proyecto

Entorno Ejecución normal

Respuesta Cada componente se encuentra desarrollado y utiliza software libre para su ejecución.

9

Medición de la respuesta El dueño del proyecto verifica que cada componente este bajo software libre.

3.4.2 Calidad de Código

3.4.2.1 Formalización Código

Parte del escenario Posibles valores

Fuente El desarrollador implementa código a partir de un estándar definido.

Estimulo Verificar y validar que el código fuente este especificado bajo un estándar.

Artefacto Código fuente del proyecto

Entorno Ejecución normal

Respuesta El código fuente implementado, se encuentra especificado formalmente.

Medición de la respuesta Se analiza la cantidad de ítems del código fuente que no cumplen con el estándar.

3.4.2.2 Código en Ingles

Parte del escenario Posibles valores

Fuente El desarrollador implementa código a partir de un estándar definido.

Estimulo Verificar y validar que el código fuente este en ingles.

Artefacto Código fuente del proyecto

Entorno Ejecución normal

Respuesta El código fuente implementado debe encontrarse en ingles.

10

Medición de la respuesta Se analiza la cantidad de ítems del código fuente que no cumplen con el estándar.

3.4.2.3 Documentación en Línea

Parte del escenario Posibles valores

Fuente El desarrollador genera documentación en línea para el código fuente.

Estimulo

Verificar que exista documentación del código fuente en los formatos javadoc o doxygen.

Artefacto Código fuente del proyecto

Entorno Ejecución normal

Respuesta

El código fuente implementado debe tener su respectiva documentación en formato javadoc o doxygen.

Medición de la respuesta Se analiza la cantidad de código fuente que no esta documentado en línea.

3.4.3 Persistencia

3.4.6.1 Información espacial

Parte del escenario Posibles valores

Fuente El sistema desea importar datos del sistema de información geográfica.

Estimulo El sistema desea registrar un sitio.

Artefacto Puntos en el mapa

Entorno Ejecución normal

Respuesta El sistema logra interactuar con mapas.

11

Medición de la respuesta El sistema crea un registro de los puntos del mapa

3.4.4 Seguridad

3.4.2.4 Autenticación a Parse

Parte del escenario Posibles valores

Fuente El usuario necesita conectarse con la aplicación

Estimulo El usuario quiere hacer uso de la aplicación

Artefacto La aplicación

Entorno Ejecución normal

Respuesta El sistema da brinda las llaves de acceso a Parse

Medición de la respuesta El sistema crea un registro en el Log de Accesos de Autorizados

3.4.2.5 Autenticación de Usuarios del Sistema

Parte del escenario Posibles valores

Fuente Un usuario se conecta al sistema a través de registro tradicional o a través de redes sociales

Estimulo El usuario quiere hacer uso de la aplicación

Artefacto Acceso a los servicios de la aplicación

Entorno Ejecución normal

Respuesta El sistema da acceso al usuario.

Medición de la respuesta El sistema crea un registro en el Log de Accesos de Autorizados y permisos.

12

3.4.5 Rendimiento

3.4.8.1 Soporte de 30 usuarios concurrentes

Parte del escenario Posibles valores

Fuente Usuarios

Estimulo Varios usuarios ingresan a la aplicación de forma concurrente

Artefacto Sistema

Entorno Ejecución normal con 30 usuarios registrados

Respuesta Aumento del acceso a Parse (pago)

Medición de la respuesta Las respuestas de acceso se ejecutan con una latencia de 30 segundos

3.4.8.2 Ingreso a la aplicación en menos de 10 segundos

Parte del escenario Posibles valores

Fuente Usuarios

Estimulo El usuario quiere ingresar a la aplicación

Artefacto Sistema

Entorno Ejecución normal

Respuesta Debe autenticar y actualizar los datos de la aplicación en menos de 10 segundos

Medición de la respuesta Las respuestas de acceso se ejecutan con una latencia de menos de 10 segundos

3.4.8.3 Actualización del mapa durante la visualización

Parte del escenario Posibles valores

Estimulo Visualiza el mapa y navega en él

Artefacto Sistema

Entorno Ejecución normal

13

Respuesta El sistema actualiza la visualización del mapa

Medición de la respuesta La animación se ejecuta mínimo a 30 y 60 cuadros por segundo

3.4.9. Disponibilidad

3.4.9.1. Disponible 24 X7

Parte del escenario Posibles valores

Fuente Usuario

Estimulo El usuario ingresa a la aplicación en cualquier momento del día y este falla.

Artefacto Sistema

Entorno Ejecución normal

Respuesta

El sistema intentara ejecutarse pero este no estará disponible, entonces devolverá un mensaje de tiempo de espera mientras se recupera.

Medición de la respuesta El tiempo en que el sistema se demora en recuperarse del fallo y volver a su ejecución normal.

3.4.10. Escalabilidad

3.4.10.1. Manejo de transacciones de 30 conexiones simultáneas

Parte del escenario Posibles valores

Fuente Usuario

Estimulo El usuario realiza una transacción sobre el modelo virtual

Artefacto Sistema

Entorno Ejecución normal

Respuesta

El sistema deberá responder a la transacción con normalidad y sin ningún fallo. El administrador debe solicitar el aumento.

Medición de la respuesta El tiempo que se demora en resolver la transacción cuando el sistema se encuentra el un

14

punto critico de conexiones concurrentes

3.4.11. Usabilidad

3.4.11.1. Interacción con la interfaz gráfica

Parte del escenario Posibles valores

Fuente Usuario

Estimulo Se introduce al usuario en la aplicación.

Artefacto Personal de entrenamiento

Entorno Ejecución normal

Respuesta

El usuario entra en confianza con la aplicación y es capaz de realizar diferentes transacciones en esta.

Medición de la respuesta

El usuario aprende a utilizar las funcionalidades principales de la aplicación en menos de 5 minutos sin consultar el manual de usuario.

3.4.12. Integración

3.4.12.1. Comunicación entre componentes

Parte del escenario Posibles valores

Fuente Componentes del sistema

Estimulo El componente solicita comunicación con un sistema externo.

Artefacto Protocolos de Comunicación

Entorno Ejecución normal

Respuesta

La conexión transmite el mensaje de conexión y el componente es conectado al sistema.

Medición de la respuesta El tiempo de espera entre componentes que se comunican.

15

3.4.13. Pruebas

3.4.13.1 . Numero de errores

Parte del escenario Posibles valores

Fuente Ejecutor de preubas

Estimulo Ejecución de una prueba unitaria sobre un componente.

Artefacto Componente del sistema

Entorno Etapa de pruebas

Respuesta El componente responde a los eventos solicitados y muestra las salidas correctas

Medición de la respuesta Tiempo de realización de la prueba por componente no mayo a 2 horas.

16

4. Vista de los Casos de Uso

Ilustración 5: Diagrama casos de uso

Para ver la especificación, diríjase a la especificación de casos de uso.

17

5. Vista Lógica A continuación se presenta la vista lógica para el sistema PLATYCO

Ilustración 6: Diagrama vista lógica

18

6. Vista de Implementación

Ilustración 7: Diagrama de paquetes

19

7. Vista Física

Ilustración 8: Diagrama físico