sábado, 3 de diciembre de 2011

Diagrama de GANTT

Diagrama de Clases

   Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.

Diagrama de Clase del Control de Asistencia del Personal de la Escuela Técnica Industrial Robinsoniana “José de San Martin”

diagrama de clase de asistencia

Diagrama de Clase de Inscripción y Notas de los Alumnos de la Escuela Técnica Industrial Robinsoniana “José de San Martin”

diagrama de clase de inscripcion

Diccionario de Datos

     El diccionario de datos es un conjunto de metadatos, que son construido y definidos por el administrador de la base de datos. A través de esta herramienta se puede almacenar los datos y tener “(…) las descripciones interna, conceptual y externa de la base de datos, así como las reglas de correspondencia necesaria para pasar de un esquema a otro. Los descriptores de los campos, registro y referencias cruzadas entre los registros de varios ficheros. Los códigos de autorización y seguridad de los datos. Los esquemas externos que emplea cada aplicación, quienes son sus usuarios y que autorizaciones tienen”. Nevado (2010) p.29.

   A continuación se presentará en los siguientes cuadros la estructura del diccionario de datos del Sistema de Gestión Integral de Notas, Inscripción de los estudiantes y Asistencia del Personal de la Escuela Técnica Robinsoniana “José de San Martín”.

Asistencias

Comentarios de la tabla: Nombre asistencias, contiene los campos, código de asistencia, cedula, la fecha en que se registra la asistencia, hora de entrada, hora de salida y estatus esto indica si es asistencia o asistencia supervisada.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_asistencia

int(11)

No

     

cedula

Int(11)

No

     

fecha

date

No

     

hora_entrada

time

No

     

hora_salida

time

No

     

estatus

tinyint(4)

No

     

Cargos

Comentarios de la tabla: Nombre cargos, contiene los campos, código de cargo y descripción se refiere al tipo de cargo que tiene el personal que trabaja en la institución.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_cargo

tinyint(4)

No

     

descripcion

varchar(100)

No

     

Descuentos

Comentarios de la tabla: Nombre descuentos, contiene los campos, código de descuento, cedula, fecha, cantidad de horas y monto.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_descuento

int(11)

No

     

Cedula

Int(11)

No

     

fecha

datetime

No

     

cant_horas

tinyint(4)

No

     

monto

decimal(19,4)

No

     

Edos_civiles

Comentarios de la tabla: Nombre estados civiles, contiene los campos, código de estados civil y descripción.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_estadocivil

tinyint(4)

No

     

descripcion

varchar(20)

No

     

Estatus

Comentarios de la tabla: Nombre estatus, contiene los campos, código de estatus y descripción que se refiere si es activo o inactivo, inasistencia injustificada o asistencia justificada, asistencia o asistencia supervisada.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_estatus

tinyint(4)

No

     

descripcion

varchar(50)

No

     

Horarios

Comentarios de la tabla: Nombre horarios, contiene los campos, código de horario por docente, cedula, día que labora en la institución, hora de entrada, hora de salida, horas día este campo especifica cuantas horas tiene que cumplir el docente en la institución, ubicación.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_horariodocente

int(11)

No

     

Cedula

int(11)

No

     

dia

varchar(20)

No

     

hora_entrada

time

No

     

hora_salida

time

No

     

horas_dia

tinyint(4)

No

     

ubicacion

tinyint(4)

No

     

Inasistencias

Comentarios de la tabla: Nombre inasistencias, contiene los campos, código de inasistencias, cedula, fecha, estatus y hora totales.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_inasistencia

int(11)

No

     

Cedula

int(11)

No

     

fecha

date

No

     

estatus

tinyint(4)

No

     

horas_totales

time

No

     

Personal

Comentarios de la tabla: Nombre personal, contiene los campos, cedula, nombre sexo, dirección, teléfono, código de estado civil, tipo de personal, código de cargo, código de turno, sueldo, estatus.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cedula

int(11)

No

     

nombre

varchar(30)

No

     

sexo

varchar(1)

No

     

direccion

varchar(100)

Si

Null

   

telefono

bigint(15)

No

     

cod_estadocivil

tinyint(4)

No

     

tipo_personal

tinyint(4)

No

     

cod_cargo

tinyint(4)

No

     

cod_turno

tinyint(4)

No

     

sueldo

float

No

     

estatus

tinyint(4)

No

     

Sanciones

Comentarios de la tabla: Nombre sanciones, contiene los campos, código de sanciones, cedula, tipo de sanción que dice si es verbal o escrita, fecha y observación.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_sanciones

int(11)

No

     

Cedula

int(11)

No

     

tip_sancion

tinyint(4)

No

     

fecha

datetime

No

     

observacion

varchar(100)

Si

Null

   

Sexos

Comentarios de la tabla: Nombre sexo, contiene los campos, código de sexo, descripción.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_sexo

varchar(1)

No

     

descripcion

varchar(15)

No

     

Tipos_personal

Comentarios de la tabla: Nombre tipo de personal, contiene los campos, tipo de personal y descripción que dice el tipo de docente y si es administrativo, obrero o vigilante.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

tipo_personal

tinyint(4)

No

     

descripcion

varchar(30)

No

     

Tipos_sanciones

Comentarios de la tabla: Nombre tipo de sanciones, contiene los campos, tipo de sanción y descripción se refiere si es verbal o escrita

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

tip_sancion

tinyint(4)

No

     

descripcion

varchar(20)

No

     

Tipos_ubicaciones

Comentarios de la tabla: Nombre tipo de ubicaciones, contiene los campos, código de ubicación y descripción donde especifica la sesión donde se encuentra el docente

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_ubicacion

tinyint(4)

No

     

descripcion

varchar(50)

No

     

Turnos_personal

Comentarios de la tabla: Nombre turnos del personal, contiene los campos, código de turno y descripción.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

cod_turno

tinyint(4)

No

     

descripcion

varchar(50)

No

     

Usuarios

Comentarios de la tabla: Nombre usuarios, contiene los campos, login (usuario) y password (contraseña).

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

login

varchar(20)

No

     

password

varchar(50)

No

     

Inscripción

Comentario de la tabla: Código de la inscripción, cedula de identidad del alumno, código de la materia, código de la sección, código de la especialidad y año que cursa.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cod_inscripcion

tinyint(4)

No

     

Cedula_de_identidad

int(11)

No

     

Cod_materia

tinyint(4)

No

     

Cod_Sección

tinyint(4)

No

     

Cod_Especialidad

tinyint(4)

No

     

Año_que_cursa

date

No

     

Alumno

Comentario de la tabla: cedula de identidad del alumno, nombre del alumno, apellido del alumno, fecha de nacimiento del alumno, sexo del alumno, teléfono del alumno, estado civil del alumno, dirección del alumno (calle, ciudad, estado, municipio y parroquia) y código postal.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cedula_de_identidad

int(11)

No

     

Nombre

varchar(30)

No

     

Apellido

varchar(30)

No

     

Fecha_de_nacimiento

date

No

     

Cod_Sexo

varchar(1)

No

     

Teléfono

bigint(15

No

     

cod_estadocivil

tinyint(4)

No

     

Estado

varchar(100)

No

     

Ciudad

varchar(100)

No

     

Municipio

varchar(100)

No

     

Parroquia

varchar(100)

No

     

Calle

varchar(100)

No

     

Código_postal

tinyint(4)

No

     

Familiar

Comentario de la tabla: cedula de identidad del representante, nombre del representante, apellido del representante, sexo del representante, teléfono del representante, estado civil del representante, dirección del representante (calle, ciudad, estado, municipio y parroquia) y código postal.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cedula_de_identidad

int(11)

No

     

Nombre

varchar(30)

No

     

Apellido

varchar(30)

No

     

Cod_Sexo

varchar(1)

No

     

Teléfono

bigint(15

No

     

cod_estadocivil

tinyint(4)

No

     

Estado

varchar(100)

No

     

Ciudad

varchar(100)

No

     

Municipio

varchar(100)

No

     

Parroquia

varchar(100)

No

     

Calle

varchar(100)

No

     

Código_postal

tinyint(4)

No

     

Notas

Comentario de la tabla: código de nota, lapso que corresponde la nota, fecha en la que ingreso una nota, calificación del alumno y promedio del alumno.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cod_nota

tinyint(4)

No

     

Lapso

varchar(20)

No

     

Fecha

date

No

     

Calificación

tinyint(4)

No

     

promedio

tinyint(4)

No

     

Sección

Comentario de la tabla: código de la sección, capacidad de alumnos de una sección y docente guia de una sección.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cod_seccion

tinyint(4)

No

     

Capacidad_alumnos

tinyint(4

No

     

Docente_guia

Varchar(50)

No

     

Especialidad

Comentario de la tabla: código de la especialidad y descripción de la especialidad.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cod_especialidad

tinyint(4)

No

     

Descripcion

varchar(50)

No

     

Materia

Comentario de la tabla: código de la materia y descripción de la materia.

Campo

Tipo

Nulo

Predeterminado

Comentario

Mime

Cod_materia

tinyint(4)

No

     

Descripcion

varchar(50)

No

     

Arquitectura Utilizada para el Sistema

    La arquitectura para el Sistema de Gestión Integral de Notas e Inscripciones de los Estudiantes y Asistencia del Personal de la Escuela Técnica Industrial Robinsoniana “José de San Martin”, está comprendida en cuatros (04) capas, donde cada una de las capas son diferentes y tienen responsabilidades separadas, pero a la vez están interrelacionadas entre sí. Según el autor Cavero (2005) explica que

“esta arquitectura define, por tanto, una relación fuerte de dependencia de un nivel frente a su superior o inferior (si procede). También es una forma práctica de escalar en la tarea de modelado, ya que la capa superior sustenta todos los cambios o extensiones necesarios para cubrir nuevos requerimientos o visiones del mundo que no se hayan tenido en cuenta a la hora de especificar un modelo…” (p.102).


Es importante destacar que el estilo de la arquitectura del sistema de capas se basa en arquitectura cerrada donde los mensajes pueden enviarse a la capa inferior adyacente y minimiza la dependencia.


    Las capas de la arquitectura del sistema están distribuida de la siguiente forma: Interfaz de usuario, clase de dominio, lógica de aplicación y la base de datos. El estilo de la arquitectura de cuatros capas estará ubicada en un único servidor, donde la interfaz del usuario es generada por HTML, que es un lenguaje de marcado predominante para la elaboración de páginas web, por lo tanto es presentada en un navegador.


Para poder facilitar la interacción solicitada del cliente por parte de la interfaces de usuarios, se va a utilizar el programa (JavaScript). Es un programa que reconoce evento uno de ellos es onClick, que se refiere a que al pulsar con el cursor sobre la zona a la cual está asociado ese evento nos realiza una determinada acción), creados por el usuario, definiendo así un sistema interactivo. “Podemos por ello crear formularios, que verifiquen la validez de información e interpreten está en el mismo programa contenido en el documento HTML, sin necesidad de comunicación por la red. También se permite por medio de un código JavaScript realizar acciones particulares como ejecutar un archivo de audio, ejecutar un applet etc.” (Sánchez M, (2001, p.9).
Con respecto al paquete del sistema está divido en dos partes:

  • Un paquete donde el cliente juega como papel principal de administrador y gestor, es decir que coordina la interfaz de usuario.
  • El otro paquete está a la par del servidor (PHP) que se adapta la lógica del sistema, expresado en los casos de usos, interactuando a la vez con las clases de dominio.

    Es importante indicar, que para que estos dos paquetes tengan una óptima funcionalidad, tienen que comprender la estructura de las entidades de la base de datos, estas entidades son: (personal, alumno, familiar, materia, notas, especialidad, sección, personal, horario, asistencia, inasistencia, sanción y descuento).


    A continuación, se presentará los gráficos, de la arquitectura del sistema de cuatros (04) capas y la esquematización de las capas. A través de estos gráficos, el lector tendrá una mejor compresión y visualización sobre la interacción y el funcionamiento de las capas en el sistema.

Arquitectura N-Capas

 

arquitectura de capas

 

Esquematización de Capas

 


arquitectura de capa 1
 
    La función de la capa de interfaz del usuario en el sistema, esta orientada  a los aspectos del software, es decir, que tiene que ver con las interfaces y la interacción con los diferentes tipos de usuarios/clientes. Estos aspectos están integrados por el manejo de las ventanas, el formato de los reportes, menú,  entre otras. El autor  España (2003) expresa que “se denomina interfaz de usuario al conjunto de elementos (dispositivos, programas, etc.) que permite la comunicación entre un ordenador y la persona usuaria de los servicios que a través de este se ofrecen”. (p. 541). Efectivamente la importancia de la capa de interfaz de usuario, radica en que el usuario pueda acceder a los servicios que le ofrece el sistema desde un ordenador.


   Para la elaboración de la capa de interfaz de usuario  en el sistema se va utilizar  la programación Web, el HTML,  para el autor Pastor (2006) “significa Hiper Text Markup Lenguaje, es el lenguaje utilizado para crear documentos en los Word Wide Web, puede ser visualizado independientemente del sistema operativo que se utilice sin ningún tipo de incompatibilidad, esto quiere decir, que podemos crear una página web en un sistema Linux, alojarla en un servidor Unix, y visualizar la página con un sistema Windows.”(p. 10).


    Con el inicio de Internet y la programación web, se diferenciaron los diseños gráficos tradicionales, por el cual se comenzaron a diseñar interfaces específicas para este medio, investigando ficheros pequeños para prestar la carga de los mismos. La programación web se orientaba a un diseño muy cargado e interactuando con el usuario, mientras que al iniciar a competir con millones de web se ha preferido más por el diseño sencillo y de fácil comprensión.


    En cuanto a la capa de clase de dominio del sistema, se basa en definir las propiedades de cada una de las clases de nuestras aplicaciones, así como las restricciones de cada una de estas propiedades. Evidentemente, esta capa reúne todos los aspectos del software que tienen que automatizar o apoyar los procesos de negocio que llevan a cabo los usuarios. Estos aspectos típicamente incluyen las tareas que forman parte de los procesos, las reglas y restricciones que aplican.


    El funcionamiento de la capa de clase de dominio del sistema, se fundamenta en un servidor web, con hosting. Según el autor Lujan (2002) define el servido web, como “un programa que está esperando permanentemente las solicitudes de conexión mediante el protocolo HTTP por parte de los clientes web. En los sistemas Unix suele ser “demonio” y en los sistemas Microsoft Windows un servidor.” (p. 49).
Además es importante señalar que la parte servidor de las aplicaciones web esta formada por:

  • Paginas estáticas (documentos HTML) que siempre muestra el mismo contenido.
  • Recursos adicionales (multimedia, documentos adicionales, etc.) que se pueden emplear dentro de las paginas o estar disponibles para ser descargados y ejecutados (visualizados) en el cliente.
  • Programas o scripts que son ejecutados por el servidor web cuando el navegador del cliente solicita algunas paginas. La salida de este script suele ser una pagina HTML estándar que se envía al navegador del cliente.

    Cuando se plante el servidor web con hosting se “refiere a la contratación de un servicio y de servicios materiales, tecnológicos y humanos asociados para mantener la información de nuestra empresa. El servidor podría ser un servidor web y de correo electrónico, aunque lo más común es un servidor de aplicaciones o un servidor de base de datos”. (p.130.) Seoane (2005). Otro concepto relacionado con el hosting es el de housing o colacation, que se basa en alquilar espacio físico en un centro de datos, para colocar un servidor de nuestra propiedad, en el cual nosotros podemos instalar, administrar y mantener. Como se podrá observar la capa de interfaz del usuario en el sistema y la capa de clase de dominio del sistema, esta interrelacionada, aunque cada una tiene su esencia y particularidad dentro del funcionamiento del sistema. La primera capa permite la comunicación entre el ordenador y el usuario a través de interfaz y la segunda capa permite mostrar la información, solicitada por el usuario a través del servidor web.


   Con respecto, a la tercera capa, que es la lógica de aplicación del sistema, es la que se encarga de las operaciones como acceso a base de datos y validación de formularios, a través del lenguaje de programación PHP. Según Muñoz (2005) expresa “PHP es un lenguaje de programación. Con una sintaxis similar a los lenguajes C y Perl, que se interpreta por un servicio Web Apache y genera código HTML dinámico. Es decir nos permite crear un programa que se pueda ejecutar en el servidor de un programa visualizador de página web y dar respuesta en función a los datos que introduzca el usuario.” (p.123). Es importante indicar al lector que cuando se habla de un programa en el campo de la informática, se está haciendo referencia a un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. El conjunto de general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.


    Por último tenemos la cuarta capa, que es la Base de datos del sistema, en cual se basa en un conjunto de tablas o archivos relacionados entre sí para satisfacer las necesidades de procesamientos de un sistema computacional. Según el autor Espinoza (2001) define las bases de datos como un sistema formado por un conjunto de datos y un paquete software para gestión de dicho conjunto de datos de tal modo que: se controla el almacenamiento de los datos redundantes, los datos resultan independientes de los programa que los usas, se almacena las relaciones entre datos justo con estos, y se puede acceder a los datos de diversas formas.

Para poder comprender en qué consiste la base de datos dentro del sistema hay que considerar varios aspectos:

  • La forma en que los usuarios solicitan los datos.
  • La integridad de datos y la seguridad.
  • Las bases de datos necesitan proteger los datos del daño provocado por los usuarios, ya sean intencionados o no.
  • El componente de mantenimiento de la integridad de una base de datos asegura que las actualizaciones no violan las restricciones de integridad que hayan especificado sobre los datos.
  • El componente de seguridad de una base de datos incluye la autenticación de usuarios y el control de acceso para restringir las posibles acciones de cada usuario.

    El manejador de base de dato, en el cual se va aplicar en el sistema, es MySQL, que


“es un sistema de administración de base de datos relacionado rápido, sólido y flexible. Es ideal para crear base de datos con acceso desde pagina web dinámicas, para la creación de sistema de transacciones on–line o para cualquier otra solución profesional que implique almacenar datos, teniendo la posibilidad de realizar múltiples y rápidas consultas”.  (p.339) Cobo, (2005).


    A través de la aplicación de MySQL, se busca un mejor acceso a la base de datos del sistema, de ésta forma proporcionando, el respaldo de la data, la integridad de los datos, y por supuesto mayor rapidez, en el momento que el usuario desee consultar cualquiera información en el sistema. Efectivamente la función que representa las cuatros capas de la arquitectura del software, representa los pasos vital y fundamental para el buen funcionamiento del sistema, cada una cumple con sus respectiva funcione de formas separadas, pero a la vez están interrelacionadas entre sí.