Diagrama de Clases - Karate

1 Actividad 1. Análisis de Clases Este documento tiene como finalidad describir la abstracción que se realiza a un diag

Views 172 Downloads 3 File size 303KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1

Actividad 1. Análisis de Clases Este documento tiene como finalidad describir la abstracción que se realiza a un diagrama de clases, teniendo como documento base, las normativas para la solicitud y realización de exámenes de la FMK. 1. Descripción de Clases

1.1. Usuario Es una clase abstracta y maestra, que tiene los atributos principales que debe llevar un usuario. Atributos Se establecen los atributos de la clase: -

apellido1: primer apellido del usuario.

-

apellido2: segundo apellido del usuario.

-

correoElectronico: correo electrónico del usuario.

-

direccion: la dirección del usuario.

-

estado: estado actual del usuario en la aplicación: [Inactivo, Activo].

-

fechaNacimiento: fecha en la que nació el usuario.

-

lugarNacimiento: lugar donde nació el usuario.

-

nombre1: primer nombre del usuario.

-

nombre2: segundo nombre del usuario.

-

numDocumento: número de documento.

-

password: contraseña establecida para ingresar.

-

telefono: teléfono del usuario.

-

tipoDocumento: tipo del documento del usuario.

Operaciones + IniciarSesion(numDocumento, password): inicia sesión del usuario, validando su número de documento y su contraseña.

2 + RecordarContrasenia(numDocumento): Envía un correo, con un link para realizar el proceso de recordar contraseña. + TerminarSesion(numDocumento): termina la sesión del usuario, a nivel de aplicación web.

1.2. UsrDepGrado Es la clase que contiene a los usuarios del Departamento de Grado. Hija de la clase Usuario, se pensó así, debido al mantenimiento y crecimiento del software. 1.3. UsrTribual Es la clase que contiene a los usuarios del Tribunal. Hija de la clase Usuario, se pensó así, debido al mantenimiento y crecimiento del software. 1.4. UsrJuez Es la clase que contiene a los usuarios que son Jueces. Hija de la clase Usuario, se pensó así, debido al mantenimiento y crecimiento del software. 1.5. UsrAspirante Es la clase que contiene a los usuarios que son Aspirantes o estudiantes. Hija de la clase Usuario, se pensó así, debido al mantenimiento y crecimiento del software.

1.6. Solicitud Es la clase que representa una solicitud realizada por un usuario tipo UsrAspirante. Atributos Se establecen los atributos de la clase: -

edadActual: edad actual del UsrAspirante, es obtenida por medio de la fecha de nacimiento del aspirante.

-

fotocopiaCarnetGrado: archivo de la fotocopia del carnet de grado.

3 -

fotocopiaDNI: archivo de la fotocopia del DNI.

-

fotocopiasLicencias: una lista de los archivos de licencias a validar.

-

licenciaAnioActual: archivo de la licencia actual.

1.7. EstadoSolicitud Esta clase contiene todos los estados de una solicitud, a manera de historial. El estado vigente o actual de la solicitud, será el más reciente en el atributo estadoFecha. Atributos Se establecen los atributos de la clase: -

causaRegEstado: Comentarios que sirven de soporte para el cambio de estado.

-

docRegEstado: Una lista de archivos de soporte que describe la causa del rechazo o aprobación de la solicitud.

-

estadoFecha: La fecha en la que crea un nuevo estado.

-

estadoSolicitud: Establece el estado de una solicitud: (0) Proceso, (1) Admitida, (2) Rechazada. El estado inicial es Proceso, y los estados Admitida y Rechazada son estados finales.

-

usrDocRegEstado: Documento del usuario que registra el nuevo estado.

1.8. PagoSolicitud Esta clase referencia el pago que se le realiza a una solicitud. Atributos Se establecen los atributos de la clase: -

asociaPagoExcento: relaciona el pago que el aspirante hizo en una solicitud anterior, y que no pudo presentar el examen de la solicitud anterior.

-

causaPago: comentarios del por qué se establece el tipo de pago en la solicitud.

-

porcentajePago: el porcentaje que se va a pagar. Porcentaje del cobro total del examen.

-

tipoPago: Establece el tipo de pago de la solicitud: (0) Exento, (1) Descuento, (2) Total.

4 Operaciones -

ValidarExencionPago (asocioPagoAnterior): Valida si se relaciona correctamente el pago que realizó un aspirante y que no pudo realizar el examen.

1.9. TipoSolicitud Esta clase tiene como función determinar los documentos que se deben establecer de acuerdo al tipo de solicitud que realiza el aspirante. Atributos -

extLicenciaAcreditacion: archivo de licencia que debe presentar un extranjero.

-

extPermanenciaFMK: archivo de permanencia en la FMK que debe presentar un extranjero.

-

extPlanesEstudios: lista de archivos de planes de estudio que debe presentar un extranjero.

-

extTitulosObtenidos: lista de archivos de títulos de estudio que debe presentar un extranjero.

-

nacAutoDispensaMedica:

archivo

que

debe

presentar

el

candidato

con

impedimento físico o psíquico, si desea presentar el examen de Cinturón Negro -

nacAvalEntrenador: archivo que debe presentar los candidatos menores o iguales a 3 DAN.

-

nacCurriculumDeportivo: archivo que debe presentar los candidatos mayores o iguales a 3 DAN y menores a 5 DAN.

-

nacTrabajoFisicoPsiquico: archivo que debe presentar los candidatos mayores o iguales a 3 DAN y menores a 5 DAN.

-

tipoSolicitud: quien establece el tipo de solicitud: 

0 - Nacional, = 4 DAN



2 - Nacional, >= 5 DAN



3 - Nacional, = CINTURON NEGRO CON IMPEDIMENTO



4 - Nacional, COMPETIDOR



5 - Nacional, TÉCNICO



6 - Extranjero

5 Operaciones + ObtenerDocAPresentar(tipoSolicitud): Desde el tipo de solicitud, devuelve los documentos que se deben establecer para que la solicitud sea aprobada. + VerificarDocPresentada(tipoSolicitud): verifica la documentación presentada, y devuelve un “OK”, en caso los documentos hayan sido cargados en su totalidad para el tipo de solicitud, o un String determinando el error de la verificación. 1.10. Grado Representa los grados establecidos por la F.M.K. Atributos Se establecen los atributos de la clase: -

edadMinima: Informa cual es la edad mínima que tiene que tener un UsrAspirante al examen de dicho grado.

-

nombreGrado: Nombre del grado (1 DAN, 2 DAN, etc.).

-

numeroLicenNoTecn: Informa sobre el número de licencias necesarias para los UsrAspirantes no técnicos.

-

ordenGrado: Establece el orden que debe llevar el grado.

-

tiempoPermaNoTecn: Informa sobre el tiempo de permanencia necesario para los UsrAspirantes no técnicos.

-

tiempoRequeridoTecn: Informa sobre el tiempo mínimo requerido para los UsrAspirantes técnicos.

1.11. Examen Esta clase referencia los exámenes que puede presentar un UsrAspirante. Atributos Se establecen los atributos de la clase: -

fechaInicial: fecha en la que se abre el examen, para estar disponible a realizar solicitudes.

-

fechaFinal: fecha en la que se cierra el examen, ya no estará disponible para realizar solicitudes a este.

6 -

nombreExamen: el nombre del examen.

-

valorExamen: el costo del examen para los UsrAspirantes.

1.12. FaseExamen Esta clase representa las fases que puede tener un examen. Atributos Se establecen los atributos de la clase: -

nombreFase: Nombre de la fase.

-

orden: Establece el orden que debe llevar el grado.

1.13. ExamenAspirante Cuando la solicitud es aprobada, el UsrAspirante ya puede realizar el examen al cual presentó la solicitud. Esta clase representa el examen que va a presentar el UsrAspirante. Atributos Se establecen los atributos de la clase: -

causaAplazamiento: Si el UsrAspirante decide aplazar el examen, debe dar causa de esto por medio de un archivo.

-

fechaAplazamiento: Fecha en la que el UsrAspirante aplaza el examen.

-

fechaFinal: Fecha en la que se da por terminado el examen del UsrAspirante.

-

fechaInicial: Fecha en la que inicia el examen del UsrAspirante.

1.14. EstadoExamen Esta clase contiene todos los estados de un examen que realiza un UsrAspirante, a manera de historial. El estado vigente o actual del examen, será el más reciente en el atributo estadoFecha. Atributos Se establecen los atributos de la clase:

7 -

aspiranteExamenEstado: Establece el estado de un examen: (0) Iniciado, (1) Proceso, (2) Aplazado, (3) Reprobado, (4) Aprobado. El estado inicial es Iniciado, y los estados Aplazado, Reprobado y Aprobado son estados finales.

-

comentario: Comentarios que sirven de soporte para el cambio de estado.

-

documentosSoporte: Una lista de archivos de soporte que describe la causa del aplazamiento, reprobación o aprobación del examen.

-

estadoFecha: La fecha en la que crea un nuevo estado.

-

usrDocRegEstado: Documento del usuario que registra el nuevo estado.

1.15. FaseExamenAspirante Cada examen tiene diferentes fases. Las fases para cada examen, que realiza un UsrAspirante, deben ser calificadas y ordenadas. Y esta clase se encarga de eso.. Atributos Se establecen los atributos de la clase: -

nombreFase: Nombre de la fase.

-

orden: Establece el orden que debe llevar el grado.

Operaciones + ObtenerFaseActual(): obtiene la fase actual en la que se encuentra el examen que está presentando el UsrAspirante. + ObtenerFaseSiguient(): obtiene la fase siguiente de la que se encuentra el examen que está presentando el UsrAspirante.

8 2. Tipología entre Clases

En este ítem, se van a agrupar las definiciones de cada relación usada entre las clases, por el tipo de relación. Para un mejor entendimiento, se adjunta con este documento, la imagen del diagrama de clases. 2.1. Herencia Clase Usuario y clases que heredan de Usuario Las clases UsrDepGrado, UsrTribual, UsrJuez, UsrAspirante heredan de la clase Usuario, por que son clases que representan a un Usuario en el sistema pero que son de diferente tipo. Por el momento todas tienen las mismas propiedades y todas se pueden representar solamente con la clase Usuario. Se precede que a futuro van a tener comportamientos diferentes, y por tanto, se han separado los tipos de usuario en las 4 clases nombradas anteriormente. Clase FaseExamen y las clases que heredan de FaseExamen Se establece la relación de Herencia entre FaseExamen (Padre) y FaseExamenAspirante (Hija) debido a que FaseExamenAspirante tiene el mismo concepto de FaseExamen, con la diferencia que FaseExamenAspirante, es dedicada a un examen en particular que realiza un UsrAspirante. 2.2. Composición Clase Solicitud y las clases que la componen La clase Solicitud tiene tres clases que la componen: (a) EstadoSolicitud, (b) PagoSolicitud y (c) TipoSolicitud. A continuación se define el por qué se realiza la relación de Composición en estas clases: 

EstadoSolicitud: Debido a que la clase EstadoSolicitud representa los registros de los estados por lo que pasa una Solicitud en el tiempo, un EstadoSolicitud no puede existir sin una solicitud, así que se establece la relación de Composición. Su relación es 1 (Solicitud) a 1…* (EstadoSolicitud), pues una solicitud debe tener al menos un estado, y varios a lo largo del tiempo, pero su estado actual será último registrado.

9 

PagoSolicitud: La clase PagoSolicitud representa el único pago que un UsrAspirante realiza a una Solicitud, por tanto su relación es 1 a 1. Este Pago no puede existir sin una Solicitud, así que se establece la relación de Composición.



TipoSolitud: La función principal de la clase TipoSolicitud es mantener, guardar y organizar los diferentes documentos que se deben entregar para realizar una Solicitud, por tanto, su relación es 1 a 1. Un TipoSolitud siempre debe ir relacionada a una Solicitud, sino, su función principal no tendría sentido. Debido a eso se establece una relación de Composición.

Clase Grado y las clases que la componen Se establece la relación de Composición entre Grado y Examen debido a que un examen es una parte del grado, un examen no puede existir si no tiene un grado. Si no existe el Grado, el Examen no podría existir. Dado que un Grado puede tener cero o muchos Examen, a lo largo del tiempo, y de que un Examen debe tener solo un Grado, se establece una relacion de 1 (Grado) a 0…* (Examen). Clase Examen y las clases que la componen Se establece la relación de Composición entre Examen y FaseExamen debido a que las fase de un examen es una parte del examen, una fase no puede existir si no tiene un examen. Si no existe el Examen, la FaseExamen no podría existir. Dado que un Examen puede tener, al menos, una o muchas FaseExamen, y de que una FaseExamen debe tener solo un Examen, se establece una relacion de 1 (Examen) a 1…* (FaseExamen). Clase ExamenAspirante y las clases que la componen La clase ExamenAspirante tiene dos clases que la componen: (a) FaseExamenAspirante y (b) EstadoExamenAspirante. A continuación se define el por qué se realiza la relación de Composición en estas clases: 

FaseExamenAspirante: Las clase FaseExamenAspirante es quien lleva los registro de las notas de cada fase que realiza un UsrAspirante en un examen. Por tanto si no existe un ExamenAspirante, la clase FaseExamenAspirante no podría existir, en consecuencia, se establece la relación de Composición. Su relación es 1 (ExamenAspirante) a 1…* (FaseExamenAspirante), por que el examen que esta realizando un aspirante debe tener al menos una fase, o muchas.

10 

EstadoExamenAspirante: La clase EstadoExamenAspirante representa los registros de los estados por lo que pasa el examen que está realizando el aspirante en el tiempo. En consecuencia, se puede notar que EstadoExamenAspirante no puede existir sin un ExamenAspirante, y de allí la relación de Composición. Su relación es 1 (ExamenAspirante) a 1…* (EstadoExamenAspirante), pues el examen que presenta el aspirante debe tener al menos un estado, y varios a lo largo del tiempo, pero su estado actual será último registrado.

2.3. Agregación Clase UsrAspirante y las clases que la agregan Se establece la relación de Agregación entre UsrAspirante y Solicitud, debido a que, aunque la solicitud es realizada por un UsrAspirante, dependa de este, la Solicitud no se puede dejar de existir si el UsrAspirante no existe, o está inhabilitado. La solicitud debe persistir, pues se debe mantener el registro de la misma. Dado que un UsrAspirante puede tener cero o muchas Solicitud, y de que una Solicitud debe tener solo un UsrAspirante, se establece una relacion de 1 (UsrAspirante) a 0…* (Solicitud). Clase Examen y las clases que la agregan Se establece la relación de Agregación entre Examen y Solicitud, debido a que, aunque la solicitud para realizar un examen, dependa de un examen, esta no se puede eliminar si el examen no existe, o no está accesible. La solicitud debe persistir, pues se debe mantener el registro de la misma. Dado que un Examen puede tener cero o muchas Solicitud, y de que una Solicitud debe tener solo un Examen, se establece una relacion de 1 (Examen) a 0…* (Solicitud). Clase Solicitud y las clases que la agregan Se establece la relación de Agregación entre Solicitud y ExamenAspirante. El examen que va a realizar el aspirante se ha logrado gracias a una solicitud que hizo el aspirante (Aprobada), sin embargo el examen del aspirante no puede dejar de existir, si la solicitud deja de existir (aunque esto jamás debería pasar). El examen del aspirante debe persistir, pues se debe mantener el registro de este. Como se dijo antes, desde una solicitud del aspirante se llega a un examen que va a realizar el aspirante, por tanto es una relación 1 a 1.

11