View
223
Download
0
Category
Preview:
Citation preview
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
Recommended