Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FASE I
ESPECIFICACIÓN DE REQUERIMIENTOS
Fase de Inicio.
1. Propósito
2. Alcance:
El sistema anteriormente mencionado tiene como objetivo el manejo eficiente
y eficaz de los datos, registros archivos, documentos, antecedentes,
referentes a la base de datos. Las funcionalidades del sistema están
basadas en: Registro de entrada y salida
69 de archivos y consulta de historias
clínica o documentos. Así mismo como el control que se le da al usuarios a
través de los roles que permiten la seguridad del acceso a los datos o
documentos
Actores Stakeholder
Coordinadora de IUTM Sede La Villa Ing. María Clemente
Estudiantes Comunidad estudiantil
5. Recolección de la información:
Cuadro 6. Entrevista a la Coordinadora de IUTM Sede La Villa
Código Actividad N°
EAF001 Entrevista a la Coordinadora y Secretaria del IUTM Sede 001
La Villa
Preguntas Abiertas:
¿Qué funciones cumples en el IUTM Sede La Villa respecto a los Proyectos
Socio Tecnológicos?
¿Quién es el encargado de registrar los proyectos socializados?
Explique detalladamente cómo efectúa el registro de los proyectos socio
socializados.
¿Qué datos deben registrar de los proyectos socializados?
¿Qué errores frecuentes se presentan al efectuar dichos registros?
¿Quién tiene acceso a los proyectos socializados?
¿Qué información suministran a los estudiantes que solicitan antecedentes para
sus investigaciones de los proyectos socializados?
Explique dónde y cómo guardan los proyectos presentados en la Sede La Villa.
73
Flujo Principal
a) La Coordinadora debe ingresar al sistema seleccionar del menú
principal la opción “Gestión” y elegir la sub opción “Proyecto”
b) El sistema mostrará la pantalla “Proyectos” solicitando los siguientes
datos:
- Fecha del Proyecto
- Título de Proyecto
- Comunidad
- Asesor
- Sede
- Período
- Carrera
- Clasificador
- Trayecto
- Turno
- Sección
- Asignar los participantes
- Cargar archivos PDF
c) Una vez llenado los campos en blanco debe hacer clic en el botón
“aceptar”.
d) El sistema verifica los datos si no hay excepciones registra la
persona. Si hay excepciones envía un mensaje invitando a corregir.
(Cont.)
(Cont. Cuadro 10.)
Flujo de Excepciones
E1 Campos en blancos
E2 Registro existente en la base de datos.
Id S21
Uso Consultas por Titulo
Descripción Breve A través de este caso de uso la Coordinadora puede
consultar proyecto por Título.
Id S22
Uso Consultas por Comunidad
Descripción Breve A través de este caso de uso la Coordinadora puede
consultar proyecto por Comunidad.
Id S23
Uso Consultas por Períodos
Descripción Breve A través de este caso de uso la Coordinadora puede
consultar proyecto por Período.
Id S24
Uso Consultas por Participantes
Descripción Breve A través de este caso de uso la Coordinadora puede
consultar proyecto por Participantes.
Id S25
Uso Consultas por Carreras
Descripción Breve A través de este caso de uso la Coordinadora puede
81
Id S37
Uso Seguridad Accesos
Descripción Breve A través de este caso de uso la Coordinadora puede
cambiar la clave.
Id S40
Uso Respaldar Base de datos
Descripción Breve A través de este caso de uso la Coordinadora puede
efectuar respaldo de la base de datos.
Id S40
Uso Restaurar Base de Datos
Descripción Breve A través de este caso de uso la Coordinadora puede
restaurar la base de datos.
Id S42
Uso Ayuda
Descripción Breve A través de este caso de uso la Coordinadora puede
ver el manual de usuario.
Id S43
Uso Acerca
Descripción Breve A través de este caso de uso la Coordinadora puede
obtener información del sistema como nombre de los
autores y en que institución lo hicieron.
Fuente: Báez, Martínez, Posada, Ramos, Sanz, Lugo y Medina
(2017).
83
- Título de Proyecto
- Comunidad
- Asesor
- Sede
- Período
- Carrera
- Clasificador
- Trayecto
- Turno
- Sección
- Asignar los participantes
Cargar archivos PDF
Salida Sí no hay excepciones el sistema mostrará el mensaje
“Registrado” sino mostrará un mensaje de error
invitando a corregirlo.
Excepciones E1. Campos en blancos.
E2. Usuario o clave incorrecta para ingresar al sistema
E3. Registro existente en la base de datos
Fuente: Báez, Martínez, Posada, Ramos, Sanz, Lugo y Medina
(2017).
85
Tipo Disponibilidad
Descripción Las consultas deben ser emitidos en un lapso no mayor de 10
segundos una vez activada la opción seleccionada.
Fuente: Báez, Martínez, Posada, Ramos y Sanz (2017).
7.6.3. Autorizaciones
Cuadro 14. Firmas de aprobación
Usuario Líder del Proyecto Equipo de Desarrollo
Nombre y Nombre y Apellido Nombre y Apellido
Apellido
Ing. María Jefry Posada Báez Henry, Martínez Ángel,
Clemente Medina Luís, Posada Jefry,
Ramos Joseph y Sanz Rafael
Firma Firma Firma
Fase de Elaboración:
1. Análisis y diseño
Modelo Entidad – Relación
88
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,
UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
USE `db_proyecto` ;
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_estados`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_estados` (
`id` INT NOT NULL ,
`denominacion` VARCHAR(50) NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_municipios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_municipios` (
`id` INT NOT NULL ,
`denominacion` VARCHAR(50) NULL ,
`id_estado` INT NULL ,
PRIMARY KEY (`id`) ,
INDEX `R1_idx` (`id_estado` ASC) ,
CONSTRAINT `R1`
FOREIGN KEY (`id_estado` )
REFERENCES `db_proyecto`.`t_estados` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_parroquias`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_parroquias` (
`id` INT NOT NULL ,
`denominacion` VARCHAR(50) NULL ,
`id_estado` INT NULL ,
`id_municipio` INT NULL ,
PRIMARY KEY (`id`) ,
INDEX `R2_idx` (`id_municipio` ASC) ,
CONSTRAINT `R2`
FOREIGN KEY (`id_municipio` )
REFERENCES `db_proyecto`.`t_municipios` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_comunidades`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_comunidades` (
`id` INT NOT NULL ,
92
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `R9`
FOREIGN KEY (`id_trayecto` )
REFERENCES `db_proyecto`.`t_trayectos` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `R10`
FOREIGN KEY (`id_turno` )
REFERENCES `db_proyecto`.`t_turnos` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `R11`
FOREIGN KEY (`id_seccion` )
REFERENCES `db_proyecto`.`t_secciones` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `R12`
FOREIGN KEY (`id_asesor` )
REFERENCES `db_proyecto`.`t_docentes` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `R13`
FOREIGN KEY (`id_tutor` )
REFERENCES `db_proyecto`.`t_docentes` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_participantes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_participantes` (
`id` INT NOT NULL ,
`cedula` INT NOT NULL ,
`apellidos` VARCHAR(50) NULL ,
`nombres` VARCHAR(50) NULL ,
`direccion` VARCHAR(100) NULL ,
`telefono` VARCHAR(15) NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `cedula_UNIQUE` (`cedula` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `db_proyecto`.
-- -----------------------------------------------------
96
-- -----------------------------------------------------
-- Table `db_proyecto`.`t_accesos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `db_proyecto`.`t_accesos` (
`id_rol` INT NOT NULL ,
`id_modulo` INT NOT NULL ,
PRIMARY KEY (`id_rol`, `id_modulo`) ,
INDEX `fk_t_roles_has_t_modulos_t_modulos1_idx` (`id_modulo` ASC) ,
INDEX `fk_t_roles_has_t_modulos_t_roles1_idx` (`id_rol` ASC) ,
CONSTRAINT `fk_t_roles_has_t_modulos_t_roles1`
FOREIGN KEY (`id_rol` )
REFERENCES `db_proyecto`.`t_roles` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_t_roles_has_t_modulos_t_modulos1`
FOREIGN KEY (`id_modulo` )
REFERENCES `db_proyecto`.`t_modulos` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SELECT*FROM `t_participantes`
SELECT*FROM `t_participantes_has_t_proyectos`
SELECT*FROM `t_proyecto_participante`
SELECT*FROM `t_archivos_pdf`
SELECT*FROM `t_roles`
SELECT*FROM `t_modulos`
SELECT*FROM `t_usuarios`
SELECT*FROM `db_proyecto`.``table1`
SELECT*FROM `db_proyecto`.``t_accesos`
4. Implantación:
Prototipo de la Interfaz de Usuario
Pantalla de Ingresar al Sistema
Pantalla de Comunidades
Pantalla de Docentes
101
Pantalla de Proyecto
Pantalla Acerca de
103
5. Pruebas y validación
Fase de Construcción
1. Códigos del sistema
package sacps;
import Clases.ConexionMySQL;
import Clases.Forms;
import java.sql.*;
import java.text.DecimalFormat;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
public frmParticipantes() {
105
initComponents();
Habilitar();
CargarTabla("");
TamañoTabla();
txtBuscar.requestFocus();
((JPanel)getContentPane()).setOpaque(false);
ImageIcon icon = new
ImageIcon(this.getClass().getResource("iconos/fondo.jpg"));
JLabel fondo = new JLabel();
fondo.setIcon(icon);
getLayeredPane().add(fondo, JLayeredPane.FRAME_CONTENT_LAYER);
fondo.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight());
}
}
private void Deshabilitar(){
btnNuevo.setEnabled(false);
btnGuardar.setEnabled(true);
btnEditar.setEnabled(false);
btnEliminar.setEnabled(false);
btnCancelar.setEnabled(true);
btnCerrar.setEnabled(false);
txtCodigo.setEditable(false);
txtCedula.setEnabled(true);
txtApellidos.setEnabled(true);
txtNombres.setEnabled(true);
txtDireccion.setEnabled(true);
txtTelefono.setEnabled(true);
tblDatos.setEnabled(false);
txtBuscar.setEnabled(false);
txtCedula.requestFocus();
}
String SQL = "select max(" + CODIGO + ") as clave from " + TABLA;
if (cn == null){
return 0;
}
try{
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(SQL);
rs.next();
return rs.getInt("clave") + 1;
}
catch (SQLException ex){
107
return 1;
}
}
private void PrimerRegistro(){
ConexionMySQL mysql = new ConexionMySQL();
Connection cn = mysql.Conectar();
String SQL = "";
SQL += "SELECT * ";
SQL += "FROM t_participantes ORDER BY " + CODIGO + " LIMIT 0,1";
try{
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(SQL);
if (rs.last()){
DecimalFormat formato = new DecimalFormat("00000000");
txtCodigo.setText(formato.format(rs.getInt(1)));
txtCedula.setText(rs.getString(2));
txtApellidos.setText(rs.getString(3));
txtNombres.setText(rs.getString(4));
txtDireccion.setText(rs.getString(5));
txtTelefono.setText(rs.getString(6));
ID_ACT = txtCodigo.getText();
}
}catch(Exception e){
JOptionPane.showMessageDialog(this, e.toString());
}
}
private void CargarTabla(String valor){
String [] titulos = {"Código", "Cédula", "Apellidos", "Nombres"};
String [] registros = new String [4];
ID_ACT = id;
txtCodigo.setText(ID_ACT);
txtCedula.setText(CED);
txtApellidos.setText(APE);
txtNombres.setText(NOM);
txtDireccion.setText(DIR);
txtTelefono.setText(TEL);
}
catch (SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
}
109
Fase de Transición
Durante esta fase el equipo desarrollador efectúo la capacitación de los
usuarios Coordinadora y Secretaria, quienes serán los encargados de
efectuar tanto el registro actualización, eliminación de los datos de los
proyectos socio tecnológicos; así como las consulta de los mismos. Cabe
resaltar que la capacitación fue efectuada a través de una inducción, durante
un período de tiempo de una semana. Posteriormente, fue efectuada la
instalación de las aplicaciones correspondientes para que el sistema pueda
operar, así como el sistema, haciéndose la entrega de la documentación
para el mantenimiento del sistema y el CD.
CONCLUSIONES
Machiques Sede La Villa, por lo cual plantea una serie de propósitos en los
cuales se concluyeron lo siguiente:
que su impacto sea positivo y pueda solventar el problema que presentan los
estudiantes con el prestamos de proyectos socializados. Además, hay que
destacar que el intercambio de saberes y la integración con la comunidad
abordada logro la creación de nuevos conocimientos que permiten al
estudiante adquirir experiencia laboral en el área de informática.
RECOMENDACIONES
REFERENCIAS BIBLIOGRÁFICAS