SoftdellaFunk_Documentacion_Implementacion

Anuncio
DOCUMENTACION DE IMPLEMENTACION
Ver 1.0
DOCUMENTACION DE IMPLEMENTACION
Triangle Funky Users
SOFTWARE DELLA FUNK
Triangle Funky Users
Página 1 de 9
DOCUMENTACION DE IMPLEMENTACION
Ver 1.0
Introducción
En el presente documento, se encuentran plasmados loas aspectos relacionados con la
implementación de cada uno de los aspectos definidos en la especificación del diseño de
la aplicación. Se tienen en cuenta los requerimientos funcionales definidos en su
respectivo documento y se desarrollaran cada uno de los módulos respectivos para la
consistencia en la operación de la aplicación.
OBJETIVO
DEL PROCESO
El objetivo principal del proceso de documentación de la implementación es realizar
una aproximación al modo de ejecución para el desarrollo de cada uno de los módulos
de la aplicación, de manera que cualquier miembro del grupo pueda informarse sobre el
estado de la implementación del proyecto, además del modo en que se desarrolla cada
aspecto del mismo. Los componentes que se construyan durante el proceso de
implementación, serán suficientemente independientes para ser desarrollados de manera
autónoma e integrados a través de un plan de pruebas de integración.
Triangle Funky Users
Página 2 de 9
DOCUMENTACION DE IMPLEMENTACION
Ver 1.0
Modelo de Datos
Siguiendo el diseño respectivo, del modelo entidad relación de la base de datos, se
pudo realizar el script de creación de la base de datos, el cual tiene en cuenta la
definición adecuada de cada uno de los campos, así como la implementación de las
restricciones respectivas:
Llaves Primarias:
Para cada una de las 4 tablas en la base de datos:
-
Rol: Id, de tipo Entero.
Usuario: Id de tipo Entero.
Registro: Username de tipo Varchar.
Downline: (Usuario, Downline) de Tipo Entero, representa la llave compuesta
por un usuario jefe y un usuario empleado.
Atributos Únicos:
Para 3 de las 4 tablas en la base de datos:
-
Rol: Rol, de tipo Varchar, evitando que se repita la definición de un rol.
Registro: Id de tipo Entero, evitando que se tenga más de un acceso por usuario.
Downline: Downline de tipo Entero, evitando que un usuario empleado tenga
más de un jefe.
Triangle Funky Users
Página 3 de 9
DOCUMENTACION DE IMPLEMENTACION
Triangle Funky Users
Ver 1.0
Página 4 de 9
DOCUMENTACION DE IMPLEMENTACION
Ver 1.0
Llaves Foráneas:
Para 3 de las 4 tablas en la base de datos:
-
Usuario: Rol de tipo Entero, referencia a un Id de un Rol.
Registro: Id de tipo Entero, referencia a un Id de un usuario.
Downline: (Usuario, Downline) de Tipo Entero, referencian a dos Id de usuarios
diferentes.
Se creó La base de datos con nombre tfudb, además se creó un usuario dellafunk, al cual
se concedieron permisos de lectura y escritura sobre las tablas previamente creadas
Módulo de Persistencia
Entrando en la fase de implementación, del módulo de persistencia, se llevaron a cabo
tres pasos principales: crear un servicio de conexión a base de datos desde el IDE
(Netbeans), la creación de las entidades a partir de la base de datos y la construcción de
cada una de las clases de acceso DAO.
Creación del Servicio
Es necesario especificar un conjunto de parámetros para crear el servicio de conexión:
-
Driver: En este caso utilizaremos el driver JDBC MySQL
Nombre de Usuario: dellafunk.
Password de Usuario.
URL de la Base de Datos: localhos:3306/tfudb.
Con esto ya se ha establecido la conexión a la base de datos, por medio de la cual se
podrá trabajar
Creación de Clases Entidad
Para poder Crear las Clases Entidad, se especifica que base de datos se utilizara, se debe
escoger la conexión creada, y luego de esto se pueden importar las tablas desde la base
de datos para la creación automática de las entidades:
-
Usuario
Registro
Triangle Funky Users
Página 5 de 9
DOCUMENTACION DE IMPLEMENTACION
-
Ver 1.0
Downline
Cada una de las clases estará compuesta por los mismos atributos, equivalentes a los
campo en las tablas de la base de datos, además de sus respectivos métodos de acceso.
Cada una de estas clases se definieron en el paquete entities del proyecto.
Construcción de Clases DAO
El ultimo componente del modulo de persistencia son las clases de acceso, que deben
cumplir con lo especificado en el documento de diseño; para este fin se vale del uso de
EntityManager que son clases con métodos especiales definidos, por medio de las
cuales se pueden realizar diferentes operaciones en la base de datos. Se definen ahora
los métodos implementados cada Clase DAO.
-
-
-
RolDAO:
 getById(), recibe un id de tipo Entero y retorna la Entidad Rol
asociada a ese id.
 select(), retorna una lista de Entidades Rol (todos los roles).
UsuarioDAO:
 save(), recibe una Entidad Usuario y realiza la inserción de esta
Entidad en la BD; retorna un dato booleano indicando el éxito o
fracaso de la operación.
 delete(), recibe una Entidad Usuario y realiza el borrado de esta
Entidad en la BD; retorna un dato booleano indicando el éxito o
fracaso de la operación.
 update(),recibe una Entidad Usuario y realiza la modificación de
esta Entidad en la BD; retorna un dato booleano indicando el
éxito o fracaso de la operación.
 getById(), recibe un id de tipo Entero y retorna la Entidad
Usuario asociada a ese id.
 getByRol(), recibe una entidad Rol y retorna una lista de
Entidades Usuario para el rol especificado.
RegistroDAO:
 save(), permite la inserción de una entidad Registro en la BD;
retorna un dato booleano indicando el éxito o fracaso de la
operación.
Triangle Funky Users
Página 6 de 9
DOCUMENTACION DE IMPLEMENTACION
-
Ver 1.0
 delete(),permite el borrado de una entidad Registro de la BD;
retorna un dato booleano indicando el éxito o fracaso de la
operación.
 getByAcc(), retorna la entidad Registro para un nombre de cuenta
específico.
DownlineDAO:
 save(), recibe una Entidad Downline y realiza la inserción de esta
Entidad en la BD; retorna un dato booleano indicando el éxito o
fracaso de la operación.
 delete(),recibe una Entidad Downline y realiza el borrado de esta
Entidad en la BD; retorna un dato booleano indicando el éxito o
fracaso de la operación.
 getByUser(), recibe una Entidad Usuario y retorna la entidad
Downline para el Usuario jefe especificado.
 getByDownline(), recibe una Entidad Usuario y retorna la entidad
Downline para el Usuario empleado especificado.
Cada una de estas clases se definieron en el paquete access del proyecto.
Módulo de Servicios
El módulo de servicios consta únicamente de una clase, la cual es encargada de recibir
las solicitudes de los usuarios y realizar las tareas requieridas.
Clase UserService
Métodos implementados:
-
-
-
logIn(),recibe dos parámetros de tipo String: cuenta y contraseña, realiza una
consulta por medio de un RegistroDAO, y verifica si los datos son correctos,
para el ingreso al sistema, retorna una Entidad Usuario correspondiente.
getUserById(), recibe un id de usuario y retorna una entidad Usuario
correspondiente a ese id si se encuentra en la base de datos, este método se llama
directamente del UsuarioDAO.
insertUser(), se encarga de insertar una Entidad Usuario en la base de datos. Al
realizar esta inserción, invoca al método insertDownline() pasando como
parámetros el usuario que realiza la inserción y la Entidad Usuario a ser
Triangle Funky Users
Página 7 de 9
DOCUMENTACION DE IMPLEMENTACION
-
-
-
-
Ver 1.0
insertada; además llama al método insertRegistro(), pasándole parámetros por
defecto para crear la cuenta y la contraseña, para que el nuevo usuario tenga
acceso al sistema; retorna un dato booleano indicando el éxito o fracaso de la
operación.
deleteUser(), recibe un id de usuario y realiza el borrado de la Entidad Usuario
en la base de datos asociada a ese id. Antes de realizar esta acción; esta función
invoca a los métodos de borrado para las tablas que hacen o podrían hacer
referencia al Usuario que se va a borrar (Downline y Registro) y realiza el
borrado respectivo; retorna un dato booleano indicando el éxito o fracaso de la
operación.
updateUser(), recibe una Entidad Usuario y realiza la modificación del Usuario
en la base de datos; retorna un dato booleano indicando el éxito o fracaso de la
operación.
getUpline(), recibe el id de un usuario, solicita un registro Downline donde ese
usuario sea el empleado y a continuación realiza la misma acción
recursivamente hasta llegar al tope de la jerarquía, conforma un alista de los
usuarios encontrados y la retorna como resultado.
getDownline(), recibe el id de un usuario, solicita todos los registros Downline
donde ese usuario sea el jefe, conforma un alista de los usuarios empleados
encontrados y la retorna como resultado.
La clase de servicios se definió en el paquete service del proyecto.
Módulo de Seguridad
El modulo de seguridad provee un medio por el cual se pueda almacenar la información
correspondiente a las contraseñas de las cuentas de un modo seguro, este proceso se
realizara por medio de la aplicación del algoritmo md5, con el cual se logra una
reducción criptográfica de los datos de contraseñas.
Clase MD5
Esta clase simplemente se encarga de recibir una cadena de caracteres (String) y
calcular su hash correspondiente, para lo cual se implementan 2 métodos:
-
md5.Update(), recibe como parámetro el String que quiere calcularse y lo asigna
al objeto md5,
Triangle Funky Users
Página 8 de 9
DOCUMENTACION DE IMPLEMENTACION
-
Ver 1.0
md5.asHex(), se encarga de realizar el cálculo del hash correspondiente y lo
retorna como un String.
La clase md5 se definirá en un paquete de seguridad, para su implementación en el resto
del proyecto.
Triangle Funky Users
Página 9 de 9
Descargar