Ref: PRUEBA DE DOCUMENTACIÓN DEL PROYECTO FINAL 2019 PPSoft - Sistema de Gestión de Prácticas Profesionales Supervisadas. Este artículo presenta como fin de carrera de Ingeniería en Sistemas de Información una solución basada en la necesidad descubierta en las instituciones que incluyen las Prácticas Profesionales Supervisadas (PPE) en su plan de estudios. Permite realizar seguimiento a las propuestas de los estudiantes, verificar requisitos curriculares de los estudiantes, presentar puestos ofertados por las empresas, brindar la oportunidad de postular a los mismos, gestión de supervisores, juzgados y alertas sobre eventos relacionados con las Prácticas Profesionales Supervisadas.
Universidad Tecnológica Nacional Facultad Regional Mendoza
Año: 2019
Integrantes
Cuerpo Docente
Relevamiento general
El Ministerio de Empleo, Empleo y Seguridad Social controlará el cumplimiento de la citada ley en relación con las empresas y organizaciones, para que no cambie su objeto. Este convenio deberá implementarse de acuerdo con los lineamientos del convenio colectivo y la Ley 26.427 (Anexo N° 1: Ley Nacional 26.427 Sistema de pasantías educativas en el marco del sistema educativo nacional). El docente supervisa en nombre de la institución educativa y el supervisor en nombre de la organización o empresa.
La UTN ratifica su compromiso con el bienestar y la justicia social, su respeto a la ciencia y la cultura y la necesidad de su aporte al progreso de la Nación y las regiones que la integran. Es por esto que la Universidad Tecnológica Nacional establece el derecho de ingreso ilimitado y matrícula gratuita en sus carreras de pregrado. Es por esto que la Universidad Tecnológica Nacional establece el derecho de ingreso ilimitado y matrícula gratuita en sus carreras de pregrado.
- Relevamiento detallado y análisis del Sistema
En el sistema actual, el estudiante se registra en el PPS presentando el expediente correspondiente. Se identifica la necesidad de crear un historial, que pueda consultarse en línea. Haz clic en el ícono de Empleos en la parte superior derecha de la página de inicio de LinkedIn.
Principales módulos en Moodle
Diseño
Permite monitorear propuestas de estudiantes, verificar requisitos curriculares para pasantes, presentar posiciones ofertadas por empresas, brindar la oportunidad de postular a las mismas, gestión de supervisores, juzgados y alertas sobre eventos relacionados con Prácticas Profesionales Supervisadas. Permitir generar informes que permitan conocer el historial de propuestas/proyectos, consultar empresas con convenio vigente y obtener información sobre los estudiantes que han realizado la pasantía en el Tribunal y conocer el estado de las propuestas. Proteger la información confidencial de estudiantes, tribunales y profesores mediante el cifrado de datos y el manejo seguro de datos.
Precondición
Sistema solicita ingreso de usuario y password (Ref
Ingeniería en Sistemas de Información PROYECTO FINAL - 2019 Universidad Tecnológica Nacional - Facultad Regional de Mendoza. 2.3.2) Descripciones de casos de uso INICIO / SUSCRIPCIÓN A NEWSLETTER / REGISTRO.
Ingresar) 3. Usuario ingresa su nombre de Usuario,
- Leer nombre de Usuario y Password
- Buscar instancia de Usuario con nombreUsuario= al ingresado y password= valor ingresado
- Si se encuentra instancia de Usuario con los valores ingresados ir a paso 10, sino camino alternativo 1
- Por cada instancia de UsuarioEstado encontrada
- Leer nombreEstadoUsuario
- Leer instancias de AsignacionRol asociada a instancia de Usuario encontrada
- Leer codigoRol
- Mostrar pantalla Inicio con Opciones disponible para Rol con codigoRol = valor leído (Pantalla: Ref 5
- Fin de caso de Uso
- Usuario ingresa nombre de Usuario y selecciona "Enviar contraseña"
- Buscar instancia de Usuario con nombreUsuario = al ingresado
- Si no se encuentra instancia de Usuario con nombreUsuario = al ingresado, ir a camino alternativo
- Leer mailUsuario y password
- Crear paquete mail con valores Para: mailUsuario, Asunto: Restablecer contraseña, Mensaje: password
- Mostrar "Mail con Password enviado al mail asociado al Usuario"
- Fin de caso de uso
- Buscar instancia de Usuario con nombreUsuario=
Si no se encuentra ninguna instancia de Usuario con Nombre de usuario = al ingresado, vaya a la ruta alternativa Nombre de usuario = al ingresado, vaya a la ruta alternativa 1. Si la longitud del Apellido es mayor que la admitida por la base de datos, muestre "El nombre excede la longitud permitida". Si la longitud del nombre de usuario es mayor que la admitida por la base de datos, muestra "El nombre de usuario excede la longitud permitida".
Si la longitud de la contraseña es inferior a 8 caracteres, se muestra "La contraseña debe contener al menos 8 dígitos". Si la longitud de la contraseña es mayor que la admitida en la base de datos, se muestra "La contraseña excede la longitud permitida".
Camino Alternativo 1
Muestra mensaje "Usuario o password inválidos"
Sistema solicita ingreso de usuario y password (Ref Pantalla 2: Ingresar)
Ir a paso 3 camino principal Camino Alternativo 2
Muestra mensaje "Usuario bloqueado"
Fin de caso de Uso
Camino alternativo 3
Camino alternativo 4
Precondición: Usuario logueado como Alumno
Estado inicial
Estado final: Suscripción: Instancia de Usuario con atributo suscripto = True, Desuscripción
Instancia de Usuario con atributo suscripto = False
Usuario ingresa a sistema
Camino alternativo 1
ALUMNO
Precondición: Usuario logueado con Rol: Alumno
Instancia de Alumno creada asociada a Instancia de Carrera con nombreCarrera = ingresado
Vincular Tutor
Cree instancias de Tutor con TutorCode = generado incrementalmente por el sistema, TutorName = ingresado TutorName, TutorLastname = .
Estado inicial: Instancias de Carrera, TipoPublicación existentes
Estado inicial: Instancia de Tribunal existente
Estado final: Instancia de Propuesta asociada a instancia de HistoricoEstadoPropuesta creada
Estado inicial: Instancias de Carrera, Tribunal y Formulario existentes
StudentActivity.Activity.DescriptionActivity 12.2 Crear actividadDTO con código de actividadDTO = código de actividad leído, nombre de actividadDTO = nombre de actividad leído, descripción de actividadDTO = descripción de actividad leída y completadaDTO = lectura completada.
EMPRESA / PUBLICACIONES
Precondición: Usuario logueado con Rol: Empresa
Estado inicial: Instancias de Carrera y TipoPublicacion existentes
Estado final: Instancia de Publicacion creada asociada a instancia de Carrera, Empresa y TipoPublicacion
Usuario ingresa al sistema
El usuario ingresa el nombre de la carrera, el nombre del tipo de publicación, la propuesta, los requisitos del perfil, el área de desempeño y el cronograma. Si la longitud sugerida es mayor que la admitida por la base de datos, muestre "La longitud sugerida fue mayor que la longitud permitida". Si los requisitos del perfil son mayores que los admitidos por la base de datos, muestre "La sugerencia era la longitud máxima permitida".
Si la longitud del Área de rendimiento es mayor que la longitud admitida por la base de datos, muestre "El Área de rendimiento fue mayor que la longitud permitida". Si la duración del cronograma es mayor que lo admitido por la base de datos, muestre "el cronograma tenía la duración máxima permitida".
Precondición: Usuario logueado con Rol: Empresa Estado inicial: Instancia de Empresa existente
Estado final
Cree CompanyDTO con SocialReasonDTO = ReadSocialReason, DTOContactName = readContactName, DTOContactLastname = ContactLastName, DTOCompanyPhone = readCompanyPhone, DTOStreetName = readRreetName y DTONumber = readNumber.
GESTIÓN FORMULARIOS
Precondición: Usuario logueado con Rol: Coordinador Estado inicial: Instacia de Carrera existente
13 – Mostrar la pantalla Administrador de formularios (Ver Pantalla 8: Gestión de formularios – Editar formulario) 13 – Crear una instancia de ProposalForm 14 – Asigna el código de ProposalForm.
Camino alternativo 2
Precondición: Usuario logueado con Rol: Coordinador
Estado inicial: Instancia de Carrera y EstadoFormulario existente
SEGUIMIENTO DE PROPUESTA / GESTIÓN TUTORES
Precondición: Usuario logueado con Rol: Profesor
34;Cumplida"
Estado final: Instancia de Propuesta asociada instancia de HistorialEstadoPropuesta creada
Cree un paquete de correo con Remitente = usuario de correo leído, Destinatario = lectura de estudiante de correo, Asunto = "Propuesta completada", mensaje = "Propuesta completada".
Eliminar: Instancia de Tutor asociado a instancia de Estado Tutor con nombreEstadoTutor = Bloqueado
Buscar instancia de asignación de Tutor asociada con la instancia de propuesta encontrada y asociada con la instancia de Tutor con CUILTutor = CUIL ingresado. Si la longitud del nombre es mayor que la admitida por la base de datos, muestra "El nombre excede la longitud permitida". Si la longitud del correo es mayor que la admitida por la base de datos, muestra "El correo excede la longitud permitida".
Cree una instancia de Tutor con nombreTutor = miembro, apellidoTutor = miembro, CUIL = miembro, teléfonoTutor = miembro, mailTutor = miembro. Cree una instancia de Dirección con Nombre de la calle = Ingresado, Número = Ingresado, Piso = Ingresado, Departamento = Ingresado.
Estado inicial: Instancia de Tribunal y Profesor existentes
Verifique la condición (máximo 3 asignaciones) 26.1 Encuentre las instancias de ProposalAssignment asociadas con la instancia de Teacher encontrada.
Prioridad: Alta
Estado final: Instancias de propuesta asociadas con una instancia de ProposalStateHistory asociada con una instancia de ProposalState denominada ProposalState = "En espera de entrega".
Instancias de AlumnoActividad asociadas a instancia de Alumno, con atributo completo, observacion modificados
Descargar Propuesta
Busque la instancia de StudentActivity asociada con la instancia Activity.activitycode = la ingresada y asociada con la instancia StudentActivity.Student = leer archivo.
Informar Devolución
Cerrar Propuesta
REPORTES
Prioridad: Media
Precondición: Usuario logueado con Rol: Coordinador Estado inicial
Precondición: Usuario logueado con Rol: Profesor Estado inicial
Baja: Instancia de Tribunal Existente
Si la longitud de CourtDescription es mayor que la admitida por la base de datos, muestre "La CourtDescription superó la longitud permitida". Si la duración del año es mayor que la permitida en la base de datos, se muestra "El año excede la duración permitida". Mostrar "La fecha de presentación del informe final no puede ser inferior a la fecha de presentación del informe parcial."
Cree un caso judicial con código judicial = creación del sistema, descripción del tribunal = descripción del tribunal ingresada, año = año ingresado y semestre = semestre ingresado.
Precondición: Usuario logueado con Rol: Administrador Estado inicial
Baja: Instancia de EstadoMateria Existente
Estado final: Alta: Instancia de EstadoMateria creada
Baja: Instancia de EstadoMateria eliminada
Modificación: Instancia de EstadoMateria editada
Si la longitud de MatterStateName es mayor que la longitud admitida por la base de datos, muestre "The MatterStateName era mayor que la longitud permitida". Si la longitud de descripciónStateMatter es mayor que la longitud admitida por la base de datos, muestre "DescriptionStateMatter fue mayor que la longitud permitida".
Precondición: Usuario logueado con Rol: Administrador
Estado inicial:Instancia de Carrera, Materia y EstadoMateria existente
Baja: Instancia de Requisito Existente
Baja: Instancia de Requisito eliminada
Modificación: Instancia de Requisito editada asociada a instancia de EstadoMateria, asociada a instancia de Materia y asociada a instancia de Carrera
Estado final: Alto: Instancia de empresa creada asociada a la instancia CompanyStateHistory, asociada a la instancia CompanyState con CourtStateName = "Activo". Instancia de empresa asociada a la instancia de Dirección, asociada a la instancia de Localidad, asociada a la instancia de Provincia, asociada a la instancia de País.
Instancia de Empresa asociada a instancia de Domicilio, asociada a instancia de Localidad, asociada a instancia deProvincia, asociada a instancia de Pais
Cree la instancia de Compañía con CUIT = CUIT ingresado, SocialReason = SocialReason ingresado, CompanyPhone = CompanyPhone ingresado, ContactName = ContactName ingresado, ContactLastName = ContactLastName y ContactMail = ContactMail ingresado. Modifique el ejemplo de Compañía con CUIT = CUIT ingresado, SocialReason = SocialReason ingresado, CompanyPhone = SocialReason ingresado, ContactName = ContactName, ContactName = ContactName ingresado y ContactMail = ContactMail ingresado. Cambie el ejemplo de dirección con Nombre de calle = Nombre de calle, Número = Número ingresado, Piso = Piso ingresado y Departamento = Departamento ingresado.
Baja: Instancia de RolUsuario existente
Estado final: Alta: Instancia de RolUsuario creada
Edición: Instancia de RolUsuario editada
Baja: Instancia deRolUsuario eliminada
Solicitud de ingreso: CUIT, razón social, teléfono de la empresa, nombre de contacto, apellido de la persona de contacto, correo electrónico de contacto, calle, número, piso, departamento, nombre de la ciudad, nombre de la provincia, nombre del país. Si la longitud de UserRoleName es mayor que la admitida por la base de datos, muestre "UserRoleName excede la longitud permitida". Si la longitud de UserRoleDescription es mayor que la longitud permitida de la base de datos, muestra "UserRoleDescription excede la longitud permitida".
Cree una instancia de UserRole con userRolecode = generado por el sistema, userRoleName = ingresado UserRoleName y userRoleDescription = ingresado UserRoleDescription.
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Alta: Instancia de Universidad Existente
Edicion: Instancia de Carrera existente
Baja: Instancia de Carrera existente
Estado final: Alta: Instancia de Carrera creada asociada a instancia de Universidad
Baja: Instancia de Carrera eliminada
Modificación: Instancia de Carrera editada asociada a instancia de Universidad
Si la longitud del trazo es mayor que la admitida por la base de datos, muestre "El trazo excede la longitud permitida". Si la longitud de CareerDescription es mayor que la admitida por la base de datos, muestre "CareerDescription excede la longitud permitida". Cree una instancia de carrera con CareerCode = sistema generado, CareerName = CareerName ingresado, CareerDescription = CareerDescription ingresado.
Si el nombre de la carrera es más largo que el admitido por la base de datos, muestre "El nombre de la carrera excede la duración permitida".
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Edición: Instancia de Evento existente
Baja: Instancia de Evento existente
Estado final: Alta: Instancia de Evento creada
Edición: Instancia de Evento editada
Baja: Instancia de Evento eliminada
Si la longitud de la descripción del evento es mayor que la permitida por la base de datos, muestre "La descripción del evento excede la longitud permitida". Cree una instancia de evento con eventCode = sistema generado, eventName = ingresado EventName y EventDescription = ingresado EventDescription. Si la longitud de eventName es mayor que la longitud admitida por la base de datos, muestra "eventName excede la longitud permitida".
Baja: Instancia de TipoInforme existente
Estado final: Alta: Instancia de TipoInforme creada
Edición: Instancia de TipoInforme editada
Baja: Instancia de TipoInforme eliminada
Si la longitud de ReportTypeName es mayor que la admitida por la base de datos, muestre "ReportTypeName excede la longitud permitida". Si la longitud de ReportTypeDescription es mayor que la longitud permitida por la base de datos, muestre "ReportTypeDescription excede la longitud permitida". Cree una instancia de ReportType con ReportTypecode = sistema generado, ReportTypeName = enterReportTypeName, status = ingresó Estado y ReportTypeDescription = enterreportTypeDescription.
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Edición: Instancia de Universidad existente
Baja: Instancia de Universidad existente
Estado final: Alta: Instancia de Universidad creada
Edición: Instancia de Universidad editada
Baja: Instancia de Universidad eliminada
Si la longitud de UniversityName es mayor que la admitida por la base de datos, muestra "UniversityName excede la longitud permitida". Si la longitud de la descripción de la universidad es mayor que la permitida por la base de datos, muestra "la descripción de la universidad excede la longitud permitida". Si la longitud del nombre del contacto es mayor que la admitida por la base de datos, muestra "El nombre del contacto excede la longitud permitida".
Si la longitud de ContactLastName es mayor que la permitida por la base de datos, muestra "ContactLastName excede la longitud permitida". Si la longitud del número de teléfono es mayor que la permitida por la base de datos, muestre "el número de teléfono excede la longitud permitida". Cree una instancia universitaria con UniversityCode = sistema generado, UniversityName = UniversityName ingresado, UniversityDescription = UniversityDescription ingresada, ContactName = ContactName ingresado, ContactLastName = Contact LastName ingresado y ContactPhone = ContactPhone ingresado.
Edite la instancia de la universidad encontrada con nameUniversity = nameUniversityEntered, descripciónUniversity = descripciónUniversityEntered, contactName = contactNameEntered, lastNameContact = lastNameContactEntered y contactPhone = contactPhoneEntered.
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Edición: Instancia de Pais existente
Baja: Instancia de Pais existente
Estado final: Alta: Instancia de Pais creada
Edición: Instancia de Pais editada
Baja: Instancia de Pais eliminada
Si la longitud del nombre del país es mayor que la admitida por la base de datos, muestre "El nombre del país excede la longitud permitida".
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Edición: Instancia de Provincia existente
Baja: Instancia de Provincia existente
Estado final: Alta: Instancia de Provincia creada
Edición: Instancia de Provincia editada
Baja: Instancia de Provincia eliminada
Si la longitud de provinciaName es mayor que la admitida por la base de datos, muestra "provinceName excede la longitud permitida".
Precondición: Usuario logueado con Rol: Administrador Estado inicial:Edición: Instancia de Localidad existente
Baja: Instancia de Localidad existente
Estado final: Alta: Instancia de Localidad creada
Edición: Instancia de Localidad editada
Baja: Instancia de Localidad eliminada
Si la longitud de LocationName es mayor que la longitud admitida por la base de datos, muestre "LocationName excede la longitud permitida". Si la longitud del código postal es mayor que la longitud permitida en la base de datos, se mostrará "El código postal excede el límite de longitud".
PUBLICACIÓN NEWSLETTER
Caso de Uso 40: Gestión NewsLetter
Precondición: Usuario logueado con Rol: Coordinador Estado inicial:Edición: Instancia de Noticia existente
Baja: Instancia de Noticia existente
Estado final: Alta: Instancia de Noticia creada, asociada a instancia de Usuario
Edición: Instancia de Localidad editada, asociada a instancia de Usuario
Si la longitud del título de la noticia es mayor que la admitida por la base de datos, muestra "el título de la noticia excede la longitud permitida". Si la longitud de la descripción de la noticia es mayor que la admitida por la base de datos, muestra "la descripción de la noticia excede la longitud permitida". Crear instancia de Noticias con código de noticia = generado por el sistema, título de noticia = título de noticia ingresado, descripción de noticia = descripción de noticia ingresada, activo = Verdadero.
Cree DTOnoticias con códigoNoticiasDTO = códigoNoticias leídas, títuloNoticiasDTO = títuloNoticias leídas, descripciónNoticiasDTO = descripciónNoticias leídas, nombre de carreraDTO = nombre de carrera leído, nombreDTO = nombre leído y apellidoDTO = apellido leído. Editar una instancia de noticia con noticiacode = sistema generado, newtitle = título de noticia ingresado, descripción de noticia = descripción de noticia ingresada, activo = Verdadero.
PRESENTACIÓN DE INFORMES
Estado inicial: Instancia de Propuesta y TipoInforme existentes
Estado final: Alta: Instancia de Profesor asociada a instancia de Tribunal
PROFESOR
GESTION ALERTA
Precondición: Usuario logueado con Rol: Profesor Estado inicial: Instancia de Usuario y Evento existentes
Estado final:Instancia de Alerta asociada a instancia de Usuario e instancia de Evento
GESTIÓN ROLES
Estado final:Instancia de AsignacionRol creada asociada a instancias de Permiso seleccionadas
Cree una instancia de UserRole con userRolecode = generado incrementalmente por el sistema, userRoleName = ingresado RoleName y userRoleDescription = ingresado userRoleDescription. Cree una instancia de UserRole con userRolecode = generado incrementalmente por el sistema, userRoleName = ingresado RoleName y userRoleDescription = ingresado userRoleDescription.
PRUEBAS UNITARIAS
Crear FormularioPropuesta sin Tareas asignadas N° C.U 14 (Confeccionar Formulario)
PROPÓSITO
PRERREQUIS
PRUEBA
Crear RolUsuario con parámetros que superan la longitud permitida
DATOS DE PRUEBA
Postular a una Publicación para la cual ya existe una Postulación asociada
PRERREQUIS ITOS
Crear Noticia con campos nulos
Verifique la operación de validación no permitiendo la creación de una noticia con valores nulos en los campos requeridos de la base de datos.
Crear Usuarios con mismo CUIL N° C.U 3 (Registrar Usuario)
PRUEBAS DE CARGA
Presentar solicitud de inscripción por 300 usuarios simultáneamente
Obtenga referencia de tiempo y valide que la respuesta de la aplicación sea inferior a 60 segundos cuando se somete a una carga de 300 entradas concurrentes.
Carga de 300 informes finales de manera consecutiva
Inscripción de 300 Usuarios de manera simultáneamente
PRUEBAS DE SEGURIDAD
Ingresar a módulo Administrador con Rol distinto a Administrador
Ingresar al sistema con Usuario Empresa dado de baja
DATOS DE
Iniciar sesión con password incorrecto
PRUEBAS DE INTEGRACIÓN
Crear nueva Materia permitiendo ser seleccionada en la Gestión de Requisitos
Verifica la integración entre los módulos de Matter y Requirement Manager, crea un nuevo asunto y aparecerá como una opción al gestionar un nuevo requerimiento.
ITOS
Realizar Publicación y verificar Alerta
Verifique la integración del módulo de publicación y alerta, lo que debería confirmar que la creación de una publicación genera alertas.
Generar Publicación de puesto de trabajo, permitiendo la visualización de la misma
PREREQUISI TOS
Desarrollo e Implementación
La Figura 3 (Interfaz del entorno de desarrollo) muestra la interfaz del marco utilizado.
Motor de Base de Datos