sdd v2.0 (línea base) - pegasus.javeriana.edu.copegasus.javeriana.edu.co/~cis1310ng01/doc/sdd 2.0...

75
Natalia Bejarano Salcedo Documento Trabajo de Grado PROYECTO CAN CASA SOBRE LA ROCA PONTIFICIA UNIVERSIDAD JAVERIANA SDD V2.0 (Línea Base)

Upload: danghuong

Post on 02-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Natalia Bejarano Salcedo Documento Trabajo de Grado

P R O Y E C T O C A N C A S A S O B R E L A R O C A P O N T I F I C I A U N I V E R S I D A D J A V E R I A N A

SDD V2.0 (Línea Base)

1

TABLA DE CONTENIDO

LISTA DE TABLAS ................................................................................................. 3

LISTA DE ILUSTRACIONES ................................................................................... 4

1 INTRODUCCIÓN .............................................................................................. 6 1.1 DESCRIPCIÓN DEL SISTEMA ....................................................................... 6 1.2 MAPA DEL DISEÑO ..................................................................................... 8 1.3 REFERENCIAS Y DOCUMENTOS DE APOYO ................................................. 9 1.4 DEFINICIONES, ACRÓNIMOS Y ABREVIACIONES ................................................... 11

2 CONSIDERACIONES DE DISEÑO ................................................................... 14 2.1 SUPOSICIONES ........................................................................................ 14 2.2 RESTRICCIONES ....................................................................................... 15 2.3 METODOLOGÍA DE DISEÑO ....................................................................... 16 2.4 RIESGOS ................................................................................................... 17

3 ARQUITECTURA ............................................................................................ 19 3.1 APRECIACIÓN GLOBAL .............................................................................. 19 3.2 DIAGRAMA DE COMPONENTES ................................................................. 19

4 DISEÑO DE ALTO NIVEL ................................................................................ 21 4.1 DIAGRAMA DE DESPLIEGUE ...................................................................... 21 4.2 DIAGRAMA DE COMPORTAMIENTO E INTERACCIÓN .................................. 21

4.2.1 Diagramas de Actividad ......................................................................... 22 4.2.1 Diagrama de Secuencia ......................................................................... 33

5 DISEÑO DE BAJO NIVEL ................................................................................ 43 5.1.1 Diagrama de Clases del Sistema CAN ...................................................... 43

5.1 SUBSISTEMA USUARIO .................................................................................. 45 5.1.1 Componente Administrador .................................................................... 50 5.1.2 Componente Asistente ........................................................................... 55 5.1.3 Componente Cabeza de Ministerio .......................................................... 58 5.1.4 Componente Líder ................................................................................. 63

6 DISEÑO DE INTERFACES DE USUARIO ......................................................... 70 6.1 ÁRBOL DE NAVEGABILIDAD ............................................................................. 70

2

6.1.1 Asistentes ............................................................................................. 70 6.1.2 Árbol de Navegabilidad Administrador ..................................................... 71 6.1.3 Árbol de Navegabilidad Cabeza de Ministerio ........................................... 72 6.1.4 Árbol de Navegabilidad Líder .................................................................. 73

3

Lista de Tablas

Tabla 1. Documentación Diag. Clases Consultar Perfil .......................................... 46 Tabla 2. Documentación Diag. Clases Enviar Correo ............................................. 47 Tabla 3. Documentación Diag. Cambiar Clases Contraseña .................................. 48 Tabla 4. Documentación Diag. Cambiar Iniciar Sesión ......................................... 49 Tabla 5. Documentación Diag. Clase Administrador ............................................ 51 Tabla 6. Documentación Diag. Clases Registro .................................................... 52 Tabla 7. Documentación Diag. Clases Eliminar Usuario ....................................... 53 Tabla 8. Documentación Diag. Clases asignar Asistente ....................................... 54 Tabla 9. Documentación Diag. Clases registro Nuevo ........................................... 56 Tabla 10. Documentación Diag. Investigar Grupo ................................................. 57 Tabla 11. Documentación Diag. Enviar Solicitud .................................................. 57 Tabla 12. Documentación Diag. Clases Premiar Líder .......................................... 59 Tabla 13. Documentación Diag. Clases Creación Metas ....................................... 59 Tabla 14. Documentación Diag. Clases verificar rendimiento asistente ................ 60 Tabla 15. Documentación Diag. Clases verificar rendimiento líder ...................... 60 Tabla 16. Documentación Diag. Clases calificar líder .......................................... 61 Tabla 17. Documentación Diag. Clases actualizar perfil cabeza y líder ................ 62 Tabla 18. Documentación Diag. Clases actualizar perfil asistente ........................ 64 Tabla 19. Documentación Diag. Clases en que Momento Llego ............................ 64 Tabla 20. Documentación Diag. Clases Go Inside The Factory ............................. 65 Tabla 21. Documentación Diag. Clases Información del nuevo ............................. 65 Tabla 22. Documentación Diag. Clases Información académica ........................... 66 Tabla 23. Documentación Diag. Clases Asignado A ............................................. 66 Tabla 24. Documentación Diag. Clases infoIglesiaTmt ........................................ 67 Tabla 25. Documentación Diag. Clases cargar guía ............................................. 67 Tabla 26. Documentación Diag. Clases Crear Tarea ............................................. 68 Tabla 27. Documentación Diag. Clases Asignar Estrellas ...................................... 68 Tabla 28. Documentación Diag. Clases Grupo ...................................................... 69

4

Lista de Ilustraciones

Ilustración 1. Descripción Del Sistema ................................................................... 7 Ilustración 2. Mapa De Diseño[A1] ......................................................................... 8 Ilustración 3. DEFINICIONES Y ACRÓNIMOS ........................................................ 12 Ilustración 4. Suposiciones .................................................................................. 14 Ilustración 5. Restricciones .................................................................................. 16 Ilustración 6: Entorno del Sistema .............................. ¡Error! Marcador no definido. Ilustración 7. Metodología De Diseño ................................................................... 17 Ilustración 8. Diagrama Actividad (Loggin y Registro Nuevo Asistente) ................. 22 Ilustración 9. Diagrama de Actividad (Enviar Solicitud) ......................................... 23 Ilustración 10. Diagrama de Actividad (Registro Usuarios) ................................... 24 Ilustración 11. Diagrama Actividad (Acceso Redes Sociales) ................................. 25 Ilustración 12. Diagrama Actividad (Consultar Grupo) .......................................... 26 Ilustración 13. Diagrama Actividad (Construcción candidatos) ............................. 27 Ilustración 14. Diagrama Actividad (Elección Metas) ............................................ 28 Ilustración 15. Diagrama Actividad (Verificar Rendimiento Líder) ......................... 29 Ilustración 16. Diagrama Actividad (Actualizar Información Grupo) ...................... 30 Ilustración 17. Diagrama Actividad (Actualizar Información Asistentes) ................ 31 Ilustración 18. Diagrama Actividad (Crear Reuniondes de Discipulado) ................. 32 Ilustración 19. Diagrama de Secuencia (Loggin) ................................................... 33 Ilustración 20. Diagrama de Secuencia (Actualizar Perfil) ..................................... 34 Ilustración 21. Diagrama de Secuencia (Crear Tarea) ........................................... 35 Ilustración 22. Diagrama de Secuencia (Registro y Solicitud de Nuevos) ............... 36 Ilustración 23. Diagrama de Secuencia (Verificar Rendimiento Líder Grupo) ......... 37 Ilustración 25. Diagrama de Secuencia (Seguimiento Asistente) ........................... 39 Ilustración 26. Diagrama de Secuencia (Actualizar Información Asistente) ............ 40 Ilustración 27. Diagrama de Secuencia (Premiación Líder) ................................... 41 Ilustración 28. Diagrama de Secuencia (Actualizar Información Grupo) ................ 41 Ilustración 29. Diagrama de Clases (Sistema CAN) .............................................. 44 Ilustración 63. Diagrama de Navegabilidad para el asistente ................................ 70 Ilustración 64. Diagrama de Navegabilidad para el administrador ........................ 71 Ilustración 65. Diagrama de Navegabilidad para la Cabeza de Ministerio .............. 72 Ilustración 66. Diagrama de Navegabilidad para el líder ....................................... 73

5

INTRODUCCIÓN

6

1 INTRODUCCIÓN

1.1 DESCRIPCIÓN DEL SISTEMA

En este documento se presenta el diseño que el sistema CAN1 debe poseer, para ser una guía clara y sustancial a la hora de implementar el sistema. Se establecerá una arquitectura en capas y niveles, fundamentado en todas aquellas peticiones que el cliente le realizará al servidor. Este tipo de arquitectura nos ayudara a facilitar la gestión de la información de los procesos de discipulado y un acceso casi ilimitado de usuarios.

1 Nombre dado al sistema que se está desarrollando.

7

Ilustración 1. Descripción Del Sistema

•  En la arquitectura cliente-servidor los inversionistas encontrarán una gran oportunidad, puesto que este tipo de arquitecturas facilitará en gran manera la implementación, ya que es de uso común para los desarrolladores, lo cual permitirá que sea mucho más fácil la realización de este sistema.

• El cumplimiento de los requerimientos no funcionales va a permitir tener un continuo soporte del sistema, mayores oportunidades de mantebilidad, actualización y seguridad, logrando así la detección de intrusos. 

Oportunidades a los inversionistas

• Los usuarios finales tendrán grandes beneficios con esta aplicación, puesto que los ayudará eficazmente a llevar un proceso de gestión mucho más completo y fácil para el proceso del discipulado, tanto para la cabeza de ministerio como para los líderes. Así mismo se garantizará un fácil uso permitiendo la interoperabilidad del sistema, así mismo será un sistema que podrá ser actualizado constantemente lo que generará una satisfacción mucho mayor para nuestros usuarios.

Oportunidad para los usuarios finales

• Para el sistema de CAN se usara una arquitectura de cliente-servidor en capas, la cual estará conformada por varios módulos que se comunicarán entre sí; de este modo se garantizará una integración de los mismos para satisfacer el modelo vista-controlador

• Así mismo en el caso que sea para Casa Roca Colombia, estará montado en la nube.

Descripción general de la arquitectura

• Las restricciones se podrán apreciar en el documento SRS, aunque al ser un sistema con un mínimo de restricciones, esto facilitara el buen uso y funcionamiento del sistema CAN.

• Nuestros usuarios se comunicaran por medio de nuestro servidor, el cual facilitará un API para el soporte de multiples usuarios.

Restricciones generales del sistema

8

1.2 MAPA DEL DISEÑO

Para una mayor entendimiento del diseño del sistema CAN, se presentará está ilustración, mostrando todas aquellas especificaciones del modelo de diseño que contendra nuestro software, los cuales en mayor medida estará representados por diagramas. Así mismo se especificara que nuestro diseño está dividido en alto nivel, bajo nivel y GUI.

Ilustración 2. Mapa De Diseño[A1]

Diseño

Alto nivel

Arquitectura Diagrama de Despliegue

Diagrama de Componentes

Diagramas dinámicos

D. de actividad D. de secuencia

Bajo Nivel

Diagramas de clase y

documentación

Diagrama Entidad Relación

GUI

Árbol de navegabilida

d

Documentación de interfaces

gráficas

9

1.3 REFERENCIAS Y DOCUMENTOS DE APOYO

TIPO DE MATERIAL

N° REFERENCIA

Artículos, revistas y publicaciones

[A1] Plantilla Ironworks SDD. Pontificia Universidad Javeriana. Bogotá:2008

[A2] NINSUNASOLUTIONS. EchoStarz. Formato SPMP (Línea Base 3.2). Pontificia Universidad Javeriana. Bogotá: 2009

[A3] NINSUNASOLUTIONS. EchoStarz. Formato SRS (Línea Base 2.0). Pontificia Universidad Javeriana. Bogotá: 2009

[A4] Ing. Evans Balcázar Veizaga. Memoria Persistente. Universidad Autónoma Gabriel René Moreno

Libros y Monografías

[L1] Larman C. UML y patrones una introducción al análisis y diseño orientado a objetos. Madrid, España : Pearson Educación : Prentice Hall

[L2] Larman C. Applying UML and patterns. Tercera Edición. Prentice-Hall international edition, 2004

[L3] Sommerville I. Software Engieniering. Octava Edición. Ed. Addison-Wesley. Harlow: Pearson Education. S.A.; 2007.

[L4] Pressman R. Ingeniería del software en un enfoque práctico. México ; Bogotá : McGraw Hill/Interamericana Editores, 2005

[L5] Bruegge B. Ingeniería de Software Orientado a Objetos. Primera Edición. México: Pearson Educación. S.A., 2002.

[L6] Barcia, N.; Fernández, C.; Frutos, S; López, G.; Mengual, L.; Riano, F. J.; Yagüez, F. J. Redes de computadores y arquitecturas de comunicaciones. Prentice Hall. Madrid; 2006

[L7] Larman C. UML y patrones una introducción al análisis y diseño orientado a objetos. Madrid, España : Pearson Educación : Prentice Hall [pág. 169]

[L8] Larman C. UML y patrones una introducción al análisis y diseño orientado a objetos. Madrid, España : Pearson Educación : Prentice Hall

10

[pág. 189]

[L9] Larman C. UML y patrones una introducción al análisis y diseño orientado a objetos. Madrid, España : Pearson Educación : Prentice Hall [pág. 257]

[L10] Larman C. UML y patrones una introducción al análisis y diseño orientado a objetos. Madrid, España : Pearson Educación : Prentice Hall [pág. 276]

[L11] Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns. Elements of Reusable Object-Oriented Software. New York; Addison Wesley

Material Electrónico

[E1] Definición Arquitectura cliente – servidor, disponible en: http://www.csae.map.es/csi/silice/Global71.html

[E2] Definición esObject, ddisponible en: http://www.electro-server.com/documentation/docs/es4/as3/index.html

[E3] Descripción general de ElectroServer, disponible en: http://www.electro-server.com/overview.aspx

[E4] Definición GUI, disponible en: http://www.alegsa.com.ar/Dic/gui.php

[E5] Definición Interfaz Grafica, disponible en: http://www.babylon.com/definition/interfaz_gr%C3%A1fica_de_usuario/Spanish

[E6] Definición diagrama de componentes, disponible en: http://tvdi.det.uvigo.es/~avilas/UML/node49.html

[E7] Descripción y soportes de Microsoft Windows XP, disponible en: http://www.microsoft.com/windows/windows-xp/

[E8] Información y Manual de usuario JRE, disponible en: http://java.sun.com/products/archive/jdk/1.1.8_009/jre/index.html

[E9] Información general, soporte y descarga de JAVA, disponible en: información en: http://java.sun.com/products/archive/jdk/1.1.8_009/jre/index.html

[E10] Información y soporte técnico de Adobe Flash CS4, disponible en: http://www.adobe.com/products/flash/

[E11] Información y soporte técnico de ElectroServer 4.06, disponible en: http://www.electro-server.com/

[E12] Soporte técnico de Microsoft Internet Explorer 7, disponible en: http://www.microsoft.com/spain/windows/products/winfamily/ie/default.mspx

[E13] Modelo Vista-Controlador. Java y diseño de Software, disponible en: http://www.proactiva-calidad.com/java/patrones/mvc.html

11

1.4 Definiciones, Acrónimos y Abreviaciones

DEFINICIÓN SIGNIFICADO

Arquitectura Cliente/Servidor

La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. [L6]

API - (Aplication Programming Interface)

Interfaz de Programación de Aplicaciones, es un conjunto de especificaciones de comunicación entre componentes software.

Diagrama de Componentes

Muestra las organizaciones y dependencias lógicas entre componentes software, sean éstos componentes de código fuente, binarios o ejecutables. Desde el punto de vista del diagrama de componentes se tienen en consideración los requisitos relacionados con la facilidad de desarrollo, la gestión del software, la reutilización, y las restricciones impuestas por los lenguajes de programación y las herramientas utilizadas en el desarrollo.[E6]

Diagrama de paquetes de Arquitectura

Representan los agrupamientos lógicos de la arquitectura.[L10]

Diagramas de Clase

Describe gráficamente las especificaciones de las clases de software y de las interfaces en una aplicación [L9]

Diagramas de colaboración

Describen las interacciones entre los objetos en un formato de grafo o de red [L14].

Diagramas de interacción

Explica gráficamente las interacciones existentes entre las instancias (y las clases) del modelo.

Diagramas de secuencia

Describen las interacciones en una especie de formato de cerca o muro [L7].

ElectroServer ElectroServer 4 es un potente servidor de sockets-que facilita el desarrollo de juegos multijugador. [E3]

esObject esObject es un tipo de objeto utilizado para el intercambio de datos entre cliente y servidor. [E2]

ER Entidad Relación. Framework Estructura de soporte definida en la cual otro proyecto de software

puede ser organizado y desarrollado. Puede incluir soporte de programas, librerías y un lenguaje de scripting entre otros.

GUI En el contexto del proceso de interacción persona-ordenador, la

12

interfaz gráfica de usuario (IGU), provee una forma amigable de interacción con un sistema informático.

Interfaz Grafica Fuerte

Artefacto tecnológico que posibilita, a través del uso y la representación de un lenguaje visual multimedia de alto nivel, una interacción amigable con un sistema informático. [E5]

LAN Red de Área Local (Local Area Network, por sus siglas en Inglés). Paquetes Permiten describir la arquitectura de un sistema con la notación

UML. [L10] Patrones Descripción de un problema y su solución que recibe un nombre y

que puede emplearse en otros contextos; en teoría indica la manera de utilizarlo en circunstancias diversas [L8].

Persistencia Característica que le permite a un objeto existir más allá del tiempo de vida del programa que lo instancia [A4]

SDD Documento que describe el modelo de diseño del sistema UML Unified Modelling language, lenguaje de modelado de sistemas de

software. WLAN Es un sistema de comunicación de datos inalámbrico, utilizado como

alternativa a las redes de área local cableadas o como extensión de éstas. Utiliza tecnología de radiofrecuencia que permite mayor movilidad a los usuarios al minimizar las conexiones cableadas.

Ilustración 3. DEFINICIONES Y ACRÓNIMOS

13

CONSIDERACIONES DE DISEÑO

14

2 CONSIDERACIONES DE DISEÑO

2.1 SUPOSICIONES

A continuación se enumerarán las suposiciones que se tendran para el diseño del sistema, que se encuentra descrito en este documento. Se dividirán las suposiciones en estos grupos:

Ilustración 4. Suposiciones

El proyecto

• Para el desarrollo del proyecto se deben seguir todas las suposiciones que se encuentran establecidas en la planeación de proyecto (ver SPMP)

El subsistema de desarrollo

• Todas las personas a trabajar en el desarrollo de este proyecto, deben contar con las herramientas de software necesarias para la elaboración del mismo, así mismo de todas aquellas herramientas para la elaboración de documentos, diagramas de diseño y código fuente de la aplicación y herramientas de pruebas (ver SPMP)

Suposiciones

El proyecto

El subsistema

de desarrollo

Maquina Cliente

El usuario final

15

Maquina Cliente

• El cliente debe contar con las especificaciones mínimas de hardware y software con las que debe contar el equipo donde el cliente va a ejecutar nuestra aplicación (ver SRS sección 3.1.3– 3.1.8 )

El usuario final

• Los usuarios de CAN deben cumplir con las características de usuario (ver SRS), así mismo los usuarios como cabeza líder y liderazgo, deben haber sido designados con anterioridad por los Pastores en el caso de las cabezas de ministerio y por las cabezas de ministerio en el caso del liderazgo.

2.2 RESTRICCIONES

Para nuestro sistema se han definido una serie de restricciones las cuales podrían impedir que nuestro sistema alcance las metas propuestas. Las primcipales restricciones se encuentran en el documento SPMP. Las restricciones a evaluar para este documento son las siguientes.

16

Ilustración 5. Restricciones

2.3 METODOLOGÍA DE DISEÑO

Para el desarrollo de este proyecto la metodología que se usará es Orientada a Objetos basado en UML, cuyas etapas son:

1. Análisis de Requerimientos: La cual se encuentra descrita y documentada en la especificación de requerimientos de software. (ver SRS)

2. Diseño del Sistema: permitiendonos llegar a un diseño de alto nivel, correspondiente a las características del software. (ver SRS)

3. Diseño Detallado: Especifica todos aquellos objetivos que componen la aplicación(Ver Diagrama de Clases)

4. Etapa de Implementación y pruebas.

• Las especificaicones del hardware se encuentran descritas en el documento SRS

• Se debe contar con las licencias necesarias para el desarrollo del proyecto. Las restricciones del software se encuentran en el SRS

• En el caso que se llegue a la conclusión que el sistema pueda re-hacer ingeniería, se deben respetar los derechos de autor del sistema que se re-use.

• Tiempo para el desarrollo de está etapa del proyecto es de 3 meses.

• La contratación externa quedará a limitación del cliente

Generales Características de usuario

Hardware Software

17

Ilustración 6. Metodología De Diseño

2.4 RIESGOS

Todos los riesgos concernientes a la elaboración de nuestro producto CAN se encuentran documentados en el SPMP y en el SRS.

Análisis de requerimientos

• Identificación de Casos de uso • Elicitacion y especificación de requerimientos • Desarrollo de modelo de dominio • Validación de modelos

Diseño del sistema • Identificación de arquitectura

Diseño detallado

• Detalles de implementación al modelo de dominio • Desarrollo de modelo de interfaz • Desarrollo de modelos de control, persistencia y comunicaciones

Implementación y pruebas

• Codificación y pruebas unitarias

• Pruebas de módulos y de sistema

18

ARQUITECTURA

19

3 ARQUITECTURA

3.1 APRECIACIÓN GLOBAL

Para la selección de la arquitectura de la aplicación CAN, se definieron dos estilos arquitectónicos que según su definición y descripción podrían acoplarse muy bien a las necesidades del sistema CAN, desde un punto de vista técnico y desde un punto de vista de negocio. Como primera medida se trabajara una arquitectura en capas, ya que las ventajas ofrecidas por esta arquitectura favorecen las necesidades del sistema, como se mencionó anteriormente. De igual forma se enumeraran algunas de las ventajas ofrecidas por esta capa:

• Una reducción en el costo de la administración de los clientes. • Alta accesibilidad • Alta flexibilidad • Alta disponibilidad y tolerancia a fallos • Alta escalabilidad • Independencia con la base de datos • Mayor seguridad en los datos corporativos

Ahora bien la mejor forma de complementar la arquitectura en capas es la arquitectura en niveles; para generar un alto impacto en el rendimiento de las aplicaciones se busca separar las capas lógicas de la aplicación en niveles físicos, esto se debe a la latencia de las comunicaciones remotas entre los diversos niveles, lo cual beneficiara la escalabilidad a causa de la distribución de la carga en distintos servidores. Así mismo, existe una mejora en la segurida causado por la separación de los componentes mas sensibles del sistema a distintas redes.

Por otra parte es importante aclarar que se debe tener el número preciso de niveles, puesto que la adición de más niveles genera un incremento en la complejidad de los despliegues, impactando sobre el rendimiento.

3.2 DIAGRAMA DE COMPONENTES

Para detallar el diagrama de componentes por favor dirigirse al documento SAD, en la sección 4.0 Vista lógica

20

DISEÑO DE ALTO NIVEL

21

4 DISEÑO DE ALTO NIVEL

4.1 DIAGRAMA DE DESPLIEGUE

Para detallar el diagrama de despliegue por favor dirigirse al documento SAD, en la sección 6.1 Vista de Implementación

4.2 DIAGRAMA DE COMPORTAMIENTO E INTERACCIÓN

22

4.2.1 Diagramas de Actividad

Ilustración 7. Diagrama Actividad (Loggin y Registro Nuevo Asistente)

23

Ilustración 8. Diagrama de Actividad (Enviar Solicitud)

24

Ilustración 9. Diagrama de Actividad (Registro Usuarios)

25

Ilustración 10. Diagrama Actividad (Acceso Redes Sociales)

26

Seguimiento Liderazgo

Ilustración 11. Diagrama Actividad (Consultar Grupo)

27

Ilustración 12. Diagrama Actividad (Construcción candidatos)

28

Ilustración 13. Diagrama Actividad (Elección Metas)

29

Ilustración 14. Diagrama Actividad (Verificar Rendimiento Líder)

30

Seguimiento Asistentes

Ilustración 15. Diagrama Actividad (Actualizar Información Grupo)

31

Ilustración 16. Diagrama Actividad (Actualizar Información Asistentes)

32

Ilustración 17. Diagrama Actividad (Crear Reuniondes de Discipulado)

33

4.2.1 Diagrama de Secuencia

4.2.1.1 Diagrama de Secuencia Loggin

Ilustración 18. Diagrama de Secuencia (Loggin)

34

4.2.1.2 Diagrama de Secuencia Actualizar Perfil

Ilustración 19. Diagrama de Secuencia (Actualizar Perfil)

35

4.2.1.3 Diagrama de Secuencia Crear Tarea

Ilustración 20. Diagrama de Secuencia (Crear Tarea)

36

4.2.1.4 Diagrama de Secuencia Registro y Solicitud de Nuevos

Ilustración 21. Diagrama de Secuencia (Registro y Solicitud de Nuevos)

37

4.2.1.5 Diagrama de Secuencia Verificar Rendimiento Líder Grupo

Ilustración 22. Diagrama de Secuencia (Verificar Rendimiento Líder Grupo)

38

4.2.1.6 Diagrama de Secuencia Verificar Rendimiento Líder Tareas

Ilustración 23. Diagrama de Secuencia (Verificar Rendimiento Líder Tareas)

39

4.2.1.7 Diagrama de Secuencia Seguimiento Asistente

Ilustración 24. Diagrama de Secuencia (Seguimiento Asistente)

40

4.2.1.8 Diagrama de Secuencia Actualizar Información Asistente

Ilustración 25. Diagrama de Secuencia (Actualizar Información Asistente)

41

4.2.1.9 Diagrama de Secuencia Premiación Líder

Ilustración 26. Diagrama de Secuencia (Premiación Líder)

4.2.1.1 Diagrama de Secuencia Actualizar Información Grupo

Ilustración 27. Diagrama de Secuencia (Actualizar Información Grupo)

42

DISEÑO DE BAJO NIVEL

43

5 DISEÑO DE BAJO NIVEL

5.1.1 Diagrama de Clases del Sistema CAN

Atributos - Métodos

Clases - Documentación

Componentes

Subsistemas

Sistema CAN

Usuario

Cabeza de ministerio líder GUI User

Aplicación

Servidor DAO

ActualizacionesDAO

actualizarInformacionUsu

ario

ConsultasDAO

InsercionesDAO Conexion

NombreServidor

Base de datos

BD

44

Ilustración 28. Diagrama de Clases (Sistema CAN)

45

Ilustración 29. Diagrama Clases Usuario

5.1 Subsistema Usuario

46

Clase Consultar Perfil Descripción de la clase

Clase encargada de permitir la consulta del perfil por parte de los usuarios

Descripción de atributos

NombreAtributo Tipo Descripción Nombre String Nombre del usuario para poder realizar

la consulta del perfil Apellido String Apellido del usuario para poder realizar

la consulta del perfil ID int ID del usuario para poder realizar la

consulta del perfil Descripción de métodos

Nombre Descripcion Postcondicion Precondicion consultarPerfilRequest Request

para la solicitud de consultar el perfil

Respuesta del request

consultarPerfilSucces Consulta exitosa del perfil

Consulta exitosa del perfil

mostrarMsmError Mostrar mensaje de error si se presenta alguna dificultad

Mensaje de error

Notificación de error

validarDatos Valida datos para consultar el registro adecuado

Datos validados

Nombre, apellida y ID del solicitante

Tabla 1. Documentación Diag. Clases Consultar Perfil

47

Clase EnviarCorreo Descripción de la clase

Clase encargada de enviar los correos masivos a los usuarios

Descripción de atributos

NombreAtributo Tipo Descripción correoDestinatario String correo del usuario para poder enviar la

información correoOrigen String correo del usuario que envía el mensaje tema String Tema de la información a enviar

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

enviarCorreo Método que permite el envió del correo

Correo enviado

correoDestinatario, correoOrigen, tema.

consultarCorreoDestinatario

Consulta correo de los destinatarios

Consulta de correos

consultarCorreoOrigen

Consulta correo de origen

Consulta de correo

consultarTema Consulta tema del correo

Tema del correo

Tabla 2. Documentación Diag. Clases Enviar Correo

48

Clase cambiarContrasena Descripción de la clase

Clase encargada de cambiar la contraseña de los usuarios

Descripción de atributos

NombreAtributo Tipo Descripción contrasenaVieja String Contraseña antigua del usuario contrasenaNueva String Contraseña nueva del usuario contrasenaNueva2

String Confirmación de contraseña nueva del usuario

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

cambiarContrasena

Método que permite cambiar la contraseña del usuario

Contraseña del usuario modificada

contrasenaVieja, contrasenaNueva, contrasenaNueva2

requestCambiarContrasena

Método que permite la solicitud del cambio de la contraseña

Solicitud de cambio de contraseña

Notificación

CambiarContrasenaSucces

Método que muestra el cambio de la contraseña exitoso

Cambio de la contraseña exitoso

Notificación

validarDatos Valida datos para cambiar la contraseña

Datos validados

Contraseñas

Tabla 3. Documentación Diag. Cambiar Clases Contraseña

49

Clase iniciarSesion Descripción de la clase

Clase encargada de iniciar sesión de los usuarios

Descripción de atributos

NombreAtributo Tipo Descripción userName String userName del usuario en el sistema contrasena String Contraseña del usuario

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

enviarLoginRequest

Método que permite el envio del request del Loggin

Notificacion Notificacion

loggin Método que permite inciar sesión

Sesión iniciada

userName, contrasena

logginSucces Método que muestra el éxito de la entrada a la página

Éxito de la operación

Notificación sesión iniciada

Tabla 4. Documentación Diag. Cambiar Iniciar Sesión

50

Ilustración 30. Diagrama de clases de Administrador

5.1.1 Componente Administrador

51

Clase administrador Descripción de la clase

Clase encargada de tener toda la información del administrador

Descripción de atributos

NombreAtributo Tipo Descripción userName String userName del usuario en el sistema contrasena String Contraseña del usuario nombre String Nombre del administrador Apellido String Apellido del administrador ID Int ID del administrador Email String Email del administrador

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

getUserName Método que da el userName

userName Nombre, apellido, ID

getContrasena Método que da la contraseña

Contraseña userName, contrasena

getNombre Método que da la Nombre

Nombre userName,ID

getApellido Método que da la Apellido

Apellido userName,ID

getID Método que da el ID

ID Nombre, apellido

Sets () Método que modifica los atributos del administrador

Nombre, apellido, ID, userName, contraseña, email

Nombre, apellido, ID, userName, contraseña, email

Tabla 5. Documentación Diag. Clase Administrador

52

Clase resgistro Descripción de la clase

Clase encargada de hacer el registro de usuarios

Descripción de atributos

NombreAtributo Tipo Descripción userName String userName del usuario en el sistema contrasena String Contraseña del usuario Contrasena2 String Nombre del administrador Apellido String Apellido del administrador nombre Int ID del administrador

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

getUserName Método que da el userName

userName Nombre, apellido, ID

getContrasena Método que da la contraseña

Contraseña userName, contrasena

getNombre Método que da la Nombre

Nombre userName,ID

getApellido Método que da la Apellido

Apellido userName,ID

getContrasena2 Método que da la contraseña2

Contrasena2 Nombre, apellido

Sets () Método que modifica los atributos del registro

Nombre, apellido, userName, contraseña, email

Nombre, apellido, userName, contraseña, email

registroUsruario Método que realiza el registro

Usuario registrado

Nombre, apellido, userName, contraseña, email

Tabla 6. Documentación Diag. Clases Registro

53

Clase eliminarUsuario Descripción de la clase

Clase encargada de eliminiar Usuario

Descripción de atributos

NombreAtributo

Tipo Descripción

userName String userName del usuario en el sistema ID Int ID del usuario Apellido String Apellido del administrador nombre Int ID del administrador

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

eliminarUsuario Método que elimina el usuario

Nombre Nombre, apellido, userName, ID

validarDatos Valida datos para eliminar usuario

Notificacion de aceptación

Nombre, apellido, userName, ID

eliminarUsuarioSucces

Método que notifica la eliminación exitosa

Notificación Notificación

Tabla 7. Documentación Diag. Clases Eliminar Usuario

54

Clase asignarAsistentes Descripción de la clase

Clase encargada de asignar los asistentes a un líder

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreLiderGrupoM

String Nombre de la líder del asistente

nombreLiderGrupoH

String Nombre del líder del asistente

nombreSegmentoGrupo

String Nombre del segmento al que pertenece el grupo

nombre String Nombre del administrador Apellido String Apellido del administrador ID Int ID del administrador Email String Email del administrador

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

asignarLiderM Método que asigna la líder

Asistente asiganada a líder

Nombre, apellido, ID

asignarLiderH Método que asigna el líder

Contraseña Nombre, apellido, ID

consultarNombre

Método que consulta el Nombre

Nombre apellido, ID

consultarApellido

Método que consulta el Apellido

Apellido Nombre, ID

consultarID Método que consulta el ID

ID Nombre, apellido

consultarSegmentoGrupo ()

Método que consulta el segmento al que pertenece el grupo

Nombre del segmento

Nombre lideres

Tabla 8. Documentación Diag. Clases asignar Asistente

55

Ilustración 31. Diagrama de Clases Asistente

5.1.2 Componente Asistente

56

Clase resgistroNuevo Descripción de la clase

Clase encargada de hacer el registro del asistente

Descripción de atributos

NombreAtributo

Tipo Descripción

userName String userName del asistente contrasena String Contraseña del asistente Contrasena2 String Nombre del asistente Apellido String Apellido del asistente nombre String Nombre del asistente ID Int ID del asistente Email String Email del asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarUserName

Método que consulta el userName

userName Nombre, apellido, ID

consultarContrasena

Método que consulta la contraseña

Contraseña userName, contrasena

consultarNombre

Método que consulta el Nombre

Nombre userName,ID

consultarApellido

Método que consulta la Apellido

Apellido userName,ID

consultarContrasena2

Método que consulta la contraseña2

Contrasena2 Nombre, apellido

registroRequest Método que realiza el registro

Nombre, apellido, userName, contraseña, contrasena2 email

Nombre, apellido, userName, contraseña, contrasena2 email

registroUsruario Método que realiza el registro

Usuario registrado

Nombre, apellido, userName, contraseña, contrasena2 email

Tabla 9. Documentación Diag. Clases registro Nuevo

57

Clase investigarGrupo Descripción de la clase

Clase encargada de investigar el grupo al cual el asistente quiere pertenecer

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreSegmento String nombre del segmento al cual quiere pertenecer el asistente

nombreLideres String Nombre de líderes del grupo infoReuniones String Información de las reuniones del grupo

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

conocerGrupo Método que despliega la lista de grupos

Lista de grupos

Nombre líderes

conocerInformacionReunion

Método que muestra la información de los grupos

Información de grupos

Nombre lideres

Tabla 10. Documentación Diag. Investigar Grupo

Clase enviarSolicitud Descripción de la clase

Clase encargada de enviar la solicitud de asistencia al grupo escogido

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del asistente Apellido String apellido del asistente Celular Int Celular del asistente Email String Email del asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

enviarSolicitud Método que envía la solicitud

Solicitud enviada

Nombre, Apellido Celular Email

Tabla 11. Documentación Diag. Enviar Solicitud

58

Ilustración 32. Diagrama de Clases Cabeza de Ministerio

5.1.3 Componente Cabeza de Ministerio

Clase premiarLider Descripción de la clase

Clase encargada de premiar a los lideres

Descripción de atributos

NombreAtributo

Tipo Descripción

apellidoLider String Apellido del lider nombreLidere String Nombre de líderes del grupo Email String Email del líder

59

correoFacebook String Correo de Facebook del líder Premio String Premio otorgado al lider

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarApellido

Método que consulta el apellido

apellido correoFacebook

consultarNombre

Método que consulta el Nombre

Nombre userName,ID

consultarEmail Método que consulta el email

Email Nombre, apellido

consultarFacebook

Método que consulta el email de Facebook

Mail de Facebook

Nombre, apellido

otorgarPremio Metodo que otorga el premio al líder

Premio otorgado

Nombre, apellido, email

Tabla 12. Documentación Diag. Clases Premiar Líder

Clase creacionMetas Descripción de la clase

Clase encargada de crear las metas

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreMeta String Nombre de la meta objetivoMeta String Objetivo de la meta areaTratada String Área tratada por la meta

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

darNombreMeta Método que consulta el nombre de la meta

Nombre de la meta creada

darObjetivoMeta

Método que consulta el objetivo de la meta

Objetivo de la meta

darAreaTratada Método que consulta el área tratada

Email

crearMeta Método que crea la meta

Crear meta Datos de la meta

Tabla 13. Documentación Diag. Clases Creación Metas

60

Clase verificarRendimientoAsistente Descripción de la clase

Clase encargada de verificar el rendimiento del asistente

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del asistente Apellido String apellido del asistente ID Int ID del asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarApellido

Método que consulta el apellido

apellido

consultarNombre

Método que consulta el Nombre

Nombre

ConsultarEstadistica

Método que consulta las estadísticas del asistente

Nombre, apellido

Tabla 14. Documentación Diag. Clases verificar rendimiento asistente

Clase verificarRendimientoLider Descripción de la clase

Clase encargada de verificar el rendimiento del asistente

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del asistente Apellido String apellido del asistente ID Int ID del asistente estadisticaAsociada

Grafica de la estadística asociada al líder

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarApellido

Método que consulta el apellido

apellido

consultarNombre

Método que consulta el Nombre

Nombre

ConsultarEstadistica

Método que consulta las estadísticas del líder

Nombre, apellido

Tabla 15. Documentación Diag. Clases verificar rendimiento líder

61

Clase calificarLider Descripción de la clase

Clase encargada de calificar al líder

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del asistente Apellido String apellido del asistente ID Int ID del asistente Email String Email del lider correoFacebook String Correo de Facebook del líder Comentario String Comentario de calificación del líder

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarApellido

Método que consulta el apellido

apellido

consultarNombre

Método que consulta el Nombre

Nombre

consultarID Método que consulta el ID

ID

realizarCalificacion

Metodo que calidica al lider

Calificacione del lider

Tabla 16. Documentación Diag. Clases calificar líder

Clase ActualizarPerfilLiderCabeza Descripción de la clase

Clase encargada de actualizar el perfil de la cabeza de ministerio y el líder

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del usuario Apellido String apellido del usuario ID Int ID del usuario Email String Email del usuario correoFacebook String Correo de Facebook del usuario fechaDatos Date Fecha del día de ingreso de los datos Edad Int Edad del usuario fechaNacimiento Date Fecha de nacimiento del usuario Intereses String Intereses del usuario Consejero String Consejero del usuario

62

mesCumple String Mes de cumpleaños Genero Bool Genero del usuario

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

actualizarPerfil Método que actualiza el perfil

Perfil actualizado

Tabla 17. Documentación Diag. Clases actualizar perfil cabeza y líder

63

Ilustración 33. Diagrama de Clases de Lider

5.1.4 Componente Líder

64

Clase ActualizarPerfilAsistente Descripción de la clase

Clase encargada de actualizar el perfil del asistente

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del usuario Apellido String apellido del usuario Edad Int Edad del usuario fechaNacimiento Date Fecha de nacimiento del usuario Intereses String Intereses del usuario Consejero String Consejero del usuario mesCumple String Mes de cumpleaños Genero Bool Genero del usuario

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

actualizarPerfil Método que actualiza el perfil

Perfil actualizado

Tabla 18. Documentación Diag. Clases actualizar perfil asistente

Clase enQueMomentoLlego Descripción de la clase

Clase encargada de indicar en que momento llego el asistente

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String nombre del usuario Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 19. Documentación Diag. Clases en que Momento Llego

65

Clase goInsideTheFactory Descripción de la clase

Clase encargada de indicar la asistencia a los go inside the factory

Descripción de atributos

NombreAtributo

Tipo Descripción

Mes String Lista de los meses a los que ha asistido el asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 20. Documentación Diag. Clases Go Inside The Factory

Clase infoNuevo Descripción de la clase

Clase encargada de tener la información específica para el nuevo

Descripción de atributos

NombreAtributo

Tipo Descripción

numeroVecesContactado

Int Número de veces que ha sido contactado el líder

fechaUltimoContacto

Date Fecha de la última vez que fue contactado el asistente

ultimoMedioContacto

String Ultimo medio de contacto usado con el asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 21. Documentación Diag. Clases Información del nuevo

66

Clase infoAcademica Descripción de la clase

Clase encargada de contener la información académica

Descripción de atributos

NombreAtributo

Tipo Descripción

Colegio String Colegio del asistente Universidad String Universidad del asistente Ocupación String Ocupación del asistente

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 22. Documentación Diag. Clases Información académica

Clase asignadoA Descripción de la clase

Clase encargada de contener la información del líder asignado

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreLider String Nombre del lider apellidoLider String Apellido del Lider

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 23. Documentación Diag. Clases Asignado A

67

Clase infoIglesiaTmt Descripción de la clase

Clase encargada de contener la información de la iglesia

Descripción de atributos

NombreAtributo

Tipo Descripción

Bautizado Bool Información si el usuario esta bautizado vidaNueva bool Información si el usuario ha hecho vida

nueva iServe Bool Información si el usuario ha hecho iServe Ibli Bool Información si el usuario ha hecho IBLI

Factor Bool Información si el usuario ha hecho factor Tmtcampo2012 Bool Información si el usuario asistió al camp conectadoGIF Bool Información si el usuario está integrado

con algún GIF Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

Gets() Métodos que permiten consultar todos los atributos

Atributos consultados

Sets() Método que modificar todos los atributos

Atributos modificados

Tabla 24. Documentación Diag. Clases infoIglesiaTmt

Clase cargarGuia Descripción de la clase

Clase encargada de cargar la guia

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreGuia String Nombre de la guia Fecha Date Fecha en que la guía es cargada

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

cargaGuia() Métodos que permiten cargar la guia

Guía cargada nombreGuia, fecha

verGuia() Método que permite ver la guia

Ver guia

Guardar Método que almacena la guía en la base de datos

Guía guardada

Tabla 25. Documentación Diag. Clases cargar guía

68

Clase crearTarea Descripción de la clase

Clase encargada de crear la tarea

Descripción de atributos

NombreAtributo

Tipo Descripción

nombre String Nombre de la guia Fecha Date Fecha en que la guía es cargada

Objetivo String Objetivo de la tarea PlazoCumplimien

to Date Plazo del cumplimiento de la tarea

Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

crearTarea() Métodos que permiten crear la tarea

Tarea creada Todos los atributos

Guardar Método que almacena la guía en la base de datos

Guía guardada

Tabla 26. Documentación Diag. Clases Crear Tarea

Clase asignarEstrellas Descripción de la clase

Clase encargada de asignarEstrellas

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreAsignado String Nombre del asistente que se la otorgan Fecha Date Fecha en que la guía es cargada

Cantidad Int Cantidad de estrellas asignadas Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

asignarEstrella() Métodos que permiten asignar estrellas

Estrella asignada

Todos los atributos

Guardar Método que guarda la información

Información almacenada

Tabla 27. Documentación Diag. Clases Asignar Estrellas

69

Clase Grupo Descripción de la clase

Clase representativa del grupo

Descripción de atributos

NombreAtributo

Tipo Descripción

nombreAsistentes

String Nombre del asistente perteneciente al grupo

apellidoAsistente String apellido del asistente perteneciente al grupo

Cantidad Int Cantidad de estrellas asignadas Descripción de métodos

Nombre Descripcion Postcondicion

Precondicion

consultarGrupo ()

Métodos que permiten consultar el grupo

Información del grupo

Guardar Método que guarda la información

Información almacenada

Tabla 28. Documentación Diag. Clases Grupo

70

6 Diseño de Interfaces de Usuario

6.1 Árbol de navegabilidad

6.1.1 Asistentes

Ilustración 34. Diagrama de Navegabilidad para el asistente

71

6.1.2 Árbol de Navegabilidad Administrador

Ilustración 35. Diagrama de Navegabilidad para el administrador

72

6.1.3 Árbol de Navegabilidad Cabeza de Ministerio

Ilustración 36. Diagrama de Navegabilidad para la Cabeza de Ministerio

73

6.1.4 Árbol de Navegabilidad Líder

Ilustración 37. Diagrama de Navegabilidad para el líder

74