Вы находитесь на странице: 1из 20

Planeador de Torneos y Competencias: PLATYCO

Documentación de
la Arquitectura de
Software

Daniel Santiago Vásquez Acero


22/08/2014
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

1
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

2
5. Vista Lógica ................................................................................................................................ 17
6. Vista de Implementación .......................................................................................................... 18
7. Vista Física ................................................................................................................................. 19

3
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.

4
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.

5
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.

6
Permitir Serialización
Orientada a Objetos
Automatica

Fácil Implementación de
Patrones de Diseño
Plataforma de Software
• Concurrencia
Libre.
• Distribución
• Persistencia

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).

7
3.4.1 Legales

3.4.1.1 Licencias LGPL


Parte del escenario Posibles valores

Por el bajo presupuesto del


Fuente proyecto, se requiere verificar
las licencias del proyecto.

Verificar que los desarrollos


Estimulo asociados al proyecto estén bajo
licencia LGPL

Artefacto Código Fuente proyecto

Entorno Ejecución normal

El código fuente se encuentra


Respuesta bajo licencia y es un sistema
legal
El dueño del proyecto verifica
Medición de la respuesta que cada desarrollo este bajo
LGPL

3.4.1.2 Licencias de Software


Parte del escenario Posibles valores

Por el bajo presupuesto del


Fuente proyecto, se requiere verificar
las licencias del proyecto.

Verificar que los componentes


Estimulo del sistema estén desarrollados
sobre software libre

Componentes que forman el


Artefacto
proyecto
Entorno Ejecución normal

Cada componente se encuentra


Respuesta desarrollado y utiliza software
libre para su ejecución.

8
El dueño del proyecto verifica
Medición de la respuesta 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
El desarrollador implementa
Fuente código a partir de un estándar
definido.

Verificar y validar que el código


Estimulo fuente este especificado bajo un
estándar.

Artefacto Código fuente del proyecto


Entorno Ejecución normal

El código fuente implementado,


Respuesta se encuentra especificado
formalmente.

Se analiza la cantidad de ítems


Medición de la respuesta del código fuente que no
cumplen con el estándar.

3.4.2.2 Código en Ingles


Parte del escenario Posibles valores
El desarrollador implementa
Fuente código a partir de un estándar
definido.

Verificar y validar que el código


Estimulo
fuente este en ingles.

Artefacto Código fuente del proyecto


Entorno Ejecución normal

El código fuente implementado


Respuesta
debe encontrarse en ingles.

9
Se analiza la cantidad de ítems
Medición de la respuesta 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
El desarrollador genera
Fuente documentación en línea para el
código fuente.
Verificar que exista
documentación del código
Estimulo
fuente en los formatos javadoc o
doxygen.
Artefacto Código fuente del proyecto
Entorno Ejecución normal

El código fuente implementado


debe tener su respectiva
Respuesta
documentación en formato
javadoc o doxygen.

Se analiza la cantidad de código


Medición de la respuesta fuente que no esta
documentado en línea.

3.4.3 Persistencia

3.4.6.1 Información espacial


Parte del escenario Posibles valores
El sistema desea importar datos
Fuente del sistema de información
geográfica.

El sistema desea registrar un


Estimulo
sitio.

Artefacto Puntos en el mapa

Entorno Ejecución normal


El sistema logra interactuar con
Respuesta
mapas.

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

3.4.4 Seguridad

3.4.2.4 Autenticación a Parse


Parte del escenario Posibles valores
El usuario necesita conectarse
Fuente
con la aplicación

El usuario quiere hacer uso de la


Estimulo
aplicación

Artefacto La aplicación

Entorno Ejecución normal


El sistema da brinda las llaves de
Respuesta
acceso a Parse

El sistema crea un registro en el


Medición de la respuesta
Log de Accesos de Autorizados

3.4.2.5 Autenticación de Usuarios del Sistema


Parte del escenario Posibles valores
Un usuario se conecta al sistema
Fuente a través de registro tradicional o
a través de redes sociales

El usuario quiere hacer uso de la


Estimulo
aplicación

Acceso a los servicios de la


Artefacto
aplicación
Entorno Ejecución normal

Respuesta El sistema da acceso al usuario.

El sistema crea un registro en el


Medición de la respuesta Log de Accesos de Autorizados y
permisos.

11
3.4.5 Rendimiento

3.4.8.1 Soporte de 30 usuarios concurrentes


Parte del escenario Posibles valores
Fuente Usuarios
Varios usuarios ingresan a la
Estimulo
aplicación de forma concurrente
Artefacto Sistema

Ejecución normal con 30


Entorno
usuarios registrados

Aumento del acceso a Parse


Respuesta
(pago)
Las respuestas de acceso se
Medición de la respuesta 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
El usuario quiere ingresar a la
Estimulo
aplicación
Artefacto Sistema

Entorno Ejecución normal

Debe autenticar y actualizar los


Respuesta datos de la aplicación en menos
de 10 segundos
Las respuestas de acceso se
Medición de la respuesta 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

12
El sistema actualiza la
Respuesta
visualización del mapa

La animación se ejecuta mínimo


Medición de la respuesta
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
El usuario ingresa a la aplicación
Estimulo en cualquier momento del día y
este falla.
Artefacto Sistema
Entorno Ejecución normal
El sistema intentara ejecutarse
pero este no estará disponible,
Respuesta entonces devolverá un mensaje
de tiempo de espera mientras se
recupera.
El tiempo en que el sistema se
Medición de la respuesta 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
El usuario realiza una
Estimulo transacción sobre el modelo
virtual
Artefacto Sistema
Entorno Ejecución normal
El sistema deberá responder a la
transacción con normalidad y sin
Respuesta
ningún fallo. El administrador
debe solicitar el aumento.
El tiempo que se demora en
Medición de la respuesta resolver la transacción cuando el
sistema se encuentra el un

13
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
Se introduce al usuario en la
Estimulo
aplicación.
Artefacto Personal de entrenamiento
Entorno Ejecución normal
El usuario entra en confianza con
la aplicación y es capaz de
Respuesta
realizar diferentes transacciones
en esta.
El usuario aprende a utilizar las
funcionalidades principales de la
Medición de la respuesta 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
El componente solicita
Estimulo comunicación con un sistema
externo.
Artefacto Protocolos de Comunicación
Entorno Ejecución normal
La conexión transmite el
mensaje de conexión y el
Respuesta
componente es conectado al
sistema.

El tiempo de espera entre


Medición de la respuesta
componentes que se comunican.

14
3.4.13. Pruebas

3.4.13.1 . Numero de errores


Parte del escenario Posibles valores
Fuente Ejecutor de preubas
Ejecución de una prueba unitaria
Estimulo
sobre un componente.
Artefacto Componente del sistema
Entorno Etapa de pruebas
El componente responde a los
Respuesta eventos solicitados y muestra las
salidas correctas
Tiempo de realización de la
Medición de la respuesta prueba por componente no
mayo a 2 horas.

15
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.

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

Ilustración 6: Diagrama vista lógica

17
6. Vista de Implementación

Ilustración 7: Diagrama de paquetes

18
7. Vista Física

Ilustración 8: Diagrama físico

19

Вам также может понравиться