Está en la página 1de 53

Proyecto Final de Carrera

Aplicacin Web para supervisar la


asistencia a las sesiones de prcticas

Autor
Abel Llopis Granero
Director
Sergio Saez Barona
Titulacin
Ingeniera tcnica informtica de gestin
Fecha
16 de enero de 2012

1.

INTRODUCCIN

1.1.
1.2.
1.3.
2.

MOTIVACIN
SITUACIN GENERAL
OBJETIVOS
ESPECIFICACIN DE REQUISITOS

2.1
2.1.1
2.1.2
2.1.3
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
3.

INTRODUCCIN
OBJETIVO
MBITO DEL SISTEMA
DEFINICIONES, ACRNIMOS Y ABREVIACIONES
DESCRIPCIN GENERAL
PERSPECTIVA DE LA APLICACIN
FUNCIONES DE LA APLICACIN
CARACTERSTICAS DEL USUARIO
RESTRICCIONES GENERALES
REQUISITOS ESPECFICOS
REQUISITOS FUNCIONALES
REQUISITOS DE INTERFACES EXTERNAS
REQUISITOS DE EFICIENCIA
RESTRICCIONES DE DISEO
ATRIBUTOS
OTROS REQUISITOS

5
6
6
6
8
9
9
9
9
10
10
10
11
11
11
11
13
14
14
14
15

ANLISIS

16

3.1 CASOS DE USO


3.1.1 ACTORES
3.1.2 ESCENARIOS

17
17
18

4.

24

DISEO

4.1
4.1.1
4.1.2
4.1.3
5.

IMPLEMENTACIN

5.1
5.2
5.3
6.

TECNOLOGA
METODOLOGA
ESTRUCTURA DE LA APLICACIN
PRUEBAS DE USO

6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
7.
7.1
7.2
7.3

ARQUITECTURA SOFTWARE
CAPA DE PRESENTACIN
CAPA DE NEGOCIO O LGICA DE CONTROL
CAPA DE PERSISTENCIA

PRUEBAS REALIZADAS
PRUEBAS FUNCIONALES
PRUEBAS DE VISUALIZACIN
PRUEBAS DE TIEMPO DE EJECUCIN
PRUEBAS DE DUPLICIDAD DE CDIGO
PRUEBAS DE USO

CONCLUSIONES
OBJETIVOS CUMPLIDOS
AMPLIACIONES
CONCLUSIN PERSONAL

25
25
27
28
31
32
32
32
34
35
35
36
38
38
38
44
45
45
45

8.

BIBLIOGRAFA

8.1
8.2
9.

LIBROS
SITIOS WEB DE REFERENCIA
ANEXO A

9.1
9.2
9.2.1
9.2.2

INSTALACIN
CONFIGURACIN
AULAS
PRCTICAS

47
48
48
49
50
50
51
53

1. Introduccin
Describimos la motivacin para la realizacin del proyecto as
como la necesitad de su desarrollo y los objetivos generales que
este debe cumplir.
Comprenderemos la finalidad de la realizacin del proyecto y que
queremos conseguir con su desarrollo.

1.1. Motivacin
A medida que pasa el tiempo, la tecnologa avanza y para ello, la sociedad
debe de ir adaptndose a ella, es por esto que se intenta agilizar y optimizar los
procedimientos que pueden mejorarse para que se realicen de la forma ms
cmoda y rpida posible.
La motivacin principal para el desarrollo de una aplicacin web para la gestin
de la asistencia y evaluacin de las sesiones prcticas, es la posibilidad de
poder crear un sistema que permita controlar la presencia del alumno a las
prcticas de una manera cmoda, rpida y segura.

1.2. Situacin general


Actualmente el profesor debe pasar lista, leyendo uno a uno cada alumno para
comprobar que est en la sesin de prcticas a la que le corresponde y que no
hay ningn alumno que pertenece a otro grupo.
Esto hace que se consuma un tiempo de la sesin de prcticas para realizar el
control de los alumnos asistentes y reduce el tiempo que tienen los alumnos
para realizar los ejercicios de las prcticas.
Tambin tiene el inconveniente que si se desea conocer si un alumno realiz
una prctica hace unas semanas, debera buscar las hojas de las prcticas
entregadas para conocer si el alumno las present sus ejercicios y la nota que
este obtuvo.
En este ambiente, existe el riesgo que se puedan traspapelar las listas de
asistentes o las listas de las prcticas entregadas, es por ello que requiere una
organizacin por parte del profesor as como una planificacin para almacenar
la documentacin y que esta no se extrave.

1.3. Objetivos
El objetivo principal del proyecto es el desarrollo de una aplicacin web para
gestionar la asistencia y evaluar las sesiones de prcticas de una manera
rpida, fiable y con la que se pueda optimizar el tiempo de las sesiones.
De esta manera los alumnos dispondrn de la totalidad del tiempo para realizar
los ejercicios correspondientes a cada sesin, consultar si realizaron todas las
prcticas y que nota obtuvieron.
Por parte del profesor, podr evaluar a los alumnos asignando las prcticas
como entregadas o no y si asistieron a una sesin de prcticas concreta.
Con todo ello se intenta agilizar el control de las sesiones de prcticas. El
alumno puede conocer si realiz una prctica y conocer su estado. Esto le
6

ayudar a planificarse la evaluacin y conocer que prcticas le quedan y que le


queda por hacer.
En la parte que incumbe al profesor, la implantacin de este sistema podr
librarlo de varias tareas que aunque siendo tareas que deben realizar, con
simplemente acceder al men de la aplicacin podrn conocer quin ha
asistido a clase y que prcticas ha realizado, as como saber si algn alumno
no est en su aula correcta.

2. Especificacin de requisitos

En esta seccin detallamos los objetivos de la aplicacin, las


funciones que debe realizar y las necesidades que debe cubrir,
as como las restricciones que contiene.

2.1

Introduccin

El presente documento se elabora a los efectos de servir como punto de


referencia en cuanto a la especificacin de requisitos de la aplicacin y para
que forme parte de la documentacin de la aplicacin.

2.1.1 Objetivo
El objetivo principal de la especificacin de requisitos es definir, organizar y
documentar las funcionalidades que cubrir nuestro sistema, de manera que se
cumpla tanto las expectativas del cliente como la de los futuros usuarios.

2.1.2 mbito del sistema


La aplicacin web para la gestin de la asistencia y evaluacin de sesiones de
prcticas contendr las siguientes funcionalidades:
-

Registro de ingreso de los alumnos a la sesin de prcticas

Registro del profesor a la sesin de prcticas.

Registro de las prcticas entregadas por los alumnos.

Validacin de la entrega de las prcticas de los alumnos.

2.1.3 Definiciones, acrnimos y abreviaciones


Esta seccin pretende servir como punto de referencia a una persona no
vinculada al rea informtica y familiarizarlo con los trminos y conceptos
utilizados.
login
Es el momento de identificacin al ingresar en el sistema.
logout
Es el momento de cerrar la sesin en el sistema
HTML
HyperText Markup Language, Lenguaje de marcado de hipertexto, es el
lenguaje para la programacin de pginas web.
PHP
PHP Hypertext Pre-processor. Es el lenguaje de programacin para la
creacin de pginas web dinmicas.
MySQL
Es un sistema de gestin de bases de datos.

XML
Extensible Markup Language. Es un lenguaje basado en etiquetas para
compartir informacin de una manera segura, fiable y fcil.

2.2

Descripcin general

A continuacin se describirn todos aquellos factores que afectan a la


aplicacin y a sus requisitos.
Se detallaran las funciones de la aplicacin y que usuarios pueden realizarlas.

2.2.1 Perspectiva de la aplicacin


Ante la decisin de crear un registro de los alumnos que acuden y realizan las
sesiones de prcticas, se plantea la realizacin de una aplicacin web para la
gestin de la asistencia y evaluacin de sesiones de prcticas que permite la
comprobacin rpida y gil de los asistentes a una sesin.
La aplicacin funcionar bajo cualquiera de los sistemas operativos del
mercado, ya que la aplicacin se ejecuta sobre un navegador web por lo que el
nico requisito para funcionar es poseer un navegador web para ejecutar la
aplicacin.

2.2.2 Funciones de la aplicacin


Las funciones de la aplicacin se pueden separar en 2 bloques dependiendo
del usuario que acceda a ella.
a) Alumno:
o Login en el sistema
o Login en una prctica
o Consultar informacin personal
o Consultar prcticas realizadas
o Consultar prcticas entregadas
o Consultar histrico de sesiones
o Logout en el sistema
b) Profesor:
o Login en el sistema
o Establecer una prctica para la sesin actual
o Consultar informacin personal
o Consultar el mapa de la clase
10

o Consultar prcticas realizadas por cada alumno


o Marcar las prcticas de los alumnos como entregadas
o Consultar el histrico de sesiones
o Logout de un alumno, de un grupo o de todos los alumnos.
o Logout en el sistema

2.2.3 Caractersticas del usuario


Existen 2 tipos de usuarios:
-

Alumnos: Alumnos de la UPV registrados en el sistema


Profesores: Profesores de la UPV registrados en el sistema.

2.2.4 Restricciones generales


La aplicacin est destinada al uso en las aulas de prcticas de la UPV,
funciona con un navegador web por lo que es necesario que el sistema
operativo disponga de uno.

2.3

Requisitos Especficos

2.3.1 Requisitos funcionales


Definiremos las acciones que debe realizar el software, es decir, de qu forma
se procesan y aceptan un conjunto de entradas para producir una determinada
salida.
Login en el sistema por parte del alumno
Introduccin: Existe la necesidad de saber quien accede al sistema para
registrar la realizacin de las prcticas.
Entradas: Nombre de usuario, contrasea y prctica que se va a realizar.
Salida: Actualizacin de la base de datos con el registro del acceso a la sesin
de prcticas indicada.
Consultar informacin personal
Introduccin: Tenemos que conocer la informacin personal de cada usuario.
Entradas: Nombre de usuario del alumno o profesor.
Salida: Muestra la informacin referente al usuario como es el DNI, su nombre
completo, la prctica realizada y la fecha del acceso al sistema.

11

Consultar prcticas realizadas por parte del alumno


Introduccin: Debemos conocer las prcticas que hemos realizado y cuales
han sido entregadas
Entradas: Nombre de usuario del alumno.
Salida: Muestra la informacin referente a las prcticas que ha realizado y
entregado el alumno.
Consultar histrico de sesiones
Introduccin: Necesitamos saber todas la veces que un usuario ha accedido
al sistema.
Entradas: Nombre de usuario del alumno o profesor.
Salida: Muestra el registro de todas las veces que un usuario se ha conectado
al sistema, mostrando la fecha, la hora y la prctica seleccionada.
Logout del sistema por parte del alumno
Introduccin: Necesitamos cerrar la sesin del usuario.
Entradas: Nombre de usuario del alumno.
Salida: Actualiza el registro de conexin en la base de datos y cierra la sesin
de usuario impidiendo el acceso a la informacin.
Login en el sistema por parte del profesor
Introduccin: Existe la necesidad de saber quien accede al sistema para
registrar la realizacin de las prcticas.
Entradas: Nombre de usuario, contrasea y prctica que se va a realizar.
Salida: Actualizacin de la base de datos con el registro del acceso a la sesin
de prcticas indicada.
Consultar el mapa de la clase
Introduccin: Existe la necesidad de saber qu alumnos estn realizando las
practicas actualmente.
Entradas: Cdigo del aula.
Salida: Muestra la distribucin del aula as como los alumnos que estn
realizando la prctica y en qu puestos de trabajo la est realizando.
Consultar las prcticas que ha realizado cada alumno
Introduccin: El profesor necesita saber qu prcticas ha realizado cada
alumno.
Entradas: Nombre de usuario del alumno.
Salida: Muestra las prcticas que ha realizado cada alumno y cuales han sido
entregadas.

12

Marcar las prcticas de los alumnos como entregadas


Introduccin: El profesor debe tener la posibilidad de marcar una prctica de
un alumno como entregada.
Entradas: Nombre de usuario del alumno y la prctica.
Salida: Actualiza el registro de la base de datos correspondiente a la prctica
del alumno y la guarda como prctica entregada. La muestra al profesor y al
alumno como tal.
Logout de un alumno, de un grupo o de todos los alumnos
Introduccin: Necesitamos cerrar la sesin de un usuario concreto o de un
grupo de usuarios accediendo desde el mapa del aula.
Entradas: Nombre de usuario del alumno.
Salida: Actualiza el registro de conexin en la base de datos y cierra la sesin
de los usuarios seleccionados.
Logout del sistema por parte del profesor
Introduccin: Necesitamos cerrar la sesin del usuario y as conocer cuando
se ha finalizado la sesin de prcticas.
Entradas: Nombre de usuario del alumno.
Salida: Actualiza el registro de conexin en la base de datos y cierra la sesin
de profesor y de todos los alumnos que no haban sido cerradas.

2.3.2 Requisitos de interfaces externas


Interfaces de usuario
La aplicacin se visualizar en una pantalla mediante el navegador web, dnde
el usuario dispondr de un men para acceder a todos los servicios.
Mediante el teclado y el ratn podr interactuar con el sistema e introducir los
datos que el sistema le solicite.
Interfaces hardware
La aplicacin puede utilizarse en todos los dispositivos que dispongan de
navegador web.
No se necesitar ningn hardware especial y el dispositivo no tendr ningn
requisito mnimo a nivel de hardware para poder acceder a la aplicacin.
Interfaces software
La aplicacin puede utilizarse en cualquier sistema operativo mediante un
navegador web existente en todos los sistemas operativos o en los dispositivos
con acceso a Internet.

13

Interfaces de comunicacin
La aplicacin est diseada para que se utilice a travs de la red, la nica
restriccin es que el dispositivo desde que se accede a la aplicacin debe estar
configurado por la aplicacin como perteneciente al aula a la que se quiere
acceder.

2.3.3 Requisitos de eficiencia


La aplicacin esta desarrollada para cualquier sistema operativo y para
cualquier dispositivo que disponga de navegador web capaz de interpretar
archivos en PHP.
La aplicacin se instalar en un servidor web que tenga las herramientas
necesarias para interpretar el cdigo fuente en PHP y que sea capaz de poder
acceder a bases de datos en MySQL.

2.3.4 Restricciones de diseo


Estndares cumplidos
La aplicacin debe cumplir las reglas de los navegadores web para que estos
sean capaces de interpretar el cdigo que les enva el servidor web y puedan
mostrar correctamente todos los elementos que contiene la aplicacin para que
funcione correctamente.
Limitaciones hardware
Las limitaciones hardware de la aplicacin son las limitaciones que posee el
dispositivo desde el cul se ejecute esta.
No existe ninguna restriccin en cuanto a requisitos mnimos del sistema.

2.3.5 Atributos
Seguridad
Respetando los formatos de entrada del teclado y ratn en la aplicacin, nos
garantizaremos el buen funcionamiento de ella, tambin los errores en los
dispositivos dnde se ejecuta la aplicacin no deben afectar a esta porque se
ejecuta en un servidor web.
Para acceder al sistema se necesita un usuario y contrasea, con ello se
controla el acceso a la aplicacin.
La aplicacin contar con un sistema de seguridad que no permita el acceso al
sistema a usuarios no registrados o sin permisos para utilizar la aplicacin.
14

Un usuario que no est realizando la prctica en el aula donde se desarrolla la


sesin no podr acceder al sistema. Por lo tanto un usuario no puede
loguearse sino est en la aula correspondiente a su sesin de prcticas.
Mantenimiento
La aplicacin no necesita un mantenimiento. Su instalacin y actualizacin es
muy rpida ya que simplemente tenemos que copiar su contenido en un
servidor web y ejecutar las secuencias en la base de datos para crearla.

2.3.6 Otros requisitos


Bases de datos
Necesitaremos crear una base de datos para almacenar toda la informacin
que le facilitemos a la aplicacin.
En la base de datos se deber almacenar los usuarios, ya sean alumnos o
profesores que tienen permisos para acceder al sistema.
Se almacenarn los registros de entrada y salida a las sesiones de prcticas de
cada alumno, as como las sesiones a las que ha asistido cada profesor.
Para almacenar todos los datos se utilizar una base de datos MySQL que
estar en un servidor dnde se ofrezca dicho servicio.

15

3. Anlisis

Contiene la descripcin de los conocimientos que deber poseer


cada usuario para poder utilizar la aplicacin.
Contiene todos los escenarios posibles, describiendo los
comportamientos de la aplicacin en las situaciones ms
relevantes.
Se muestran los diagramas de secuencia en cada escenario.

16

3.1

Casos de uso

3.1.1 Actores
En esta seccin se describirn las caractersticas de los usuarios que usarn la
aplicacin.
Existen dos tipos de actores que participan en la aplicacin, los alumnos y los
profesores.
Para la utilizacin del sistema, debern estar dados de alta en la base de
datos, loguearse en la aplicacin como alumno o profesor y estar fisicamente
en el aula que les pertenece, en caso contrario, se mostrar un error y no
podrn utilizarla.
Cualquier otro usuario no puede utilizar la aplicacin.
En el diagrama 1, se muestra una vista general del entorno del sistema.
Se detalla graficamente los actores que intervienen en el sistema, alumno y
profesor y se muestra el sistema que corresponde a la gestin de las sesiones
de prcticas.

17

En las tablas siguientes detallamos las caractersticas que debe poseer cada
actor:
Alumno registrado
Rol de usuario
Usuario
Experiencia tecnolgica
Bsico, que tenga conocimientos para navegar por Internet
Otras caractersticas
-

Debe ser alumno de la universidad para poder utilizar el sistema


Debe de estar dado de alta en la base de datos del sistema
Debe de estar fsicamente en el aula para poder loguearse

Profesor registrado
Rol de usuario
Administrador
Experiencia tecnolgica
Experto, capaz de poder editar xml
Otras caractersticas
-

Debe de estar fsicamente en el aula para poder loguearse


Debe ser profesor de la universidad para poder utilizar el sistema
Debe tener un conocimiento de la aplicacin para poder editar los archivos de la
configuracin
Debe tener permisos para cambiar archivos en el sistema operativo.
Debe de estar dado de alta en la base de datos del sistema

3.1.2 Escenarios
Los escenarios son secuencias de sucesos que se producen en el sistema.
En este apartado, detallaremos los escenarios que pertenecen a la aplicacin,
indicando el estado inicial del sistema, su flujo normal de eventos, las posibles
situaciones de error y las posibles acciones a realizar.
Para cada escenario se definir un diagrama de secuencias y una tabla
describiendo el escenario.

18

La tabla consta de:


Nombre del escenario: Identifica el escenario.
Actores: Son los usuarios que aparecen en el escenario.
Descripcin: Describe que funcin se realizar en el escenario.
Escenario principal: Describe los pasos que el actor va realizando.
Extensiones: Los posibles errores que puedan aparecer.
A continuacin, mostramos todos los escenarios:
Registro de los alumnos a las sesiones de prcticas

Registro de los alumnos a la sesin de prcticas


Actores
Alumno
Descripcin
El sistema permite al alumno registrarse para empezar la sesin de prcticas
Escenario principal
1. El alumno introduce sus datos de conexin en el sistema.
2. El sistema comprueba que los datos de conexin son correctos.
3. El sistema comprueba que el alumno pertenece a la sesin de prcticas a la que
quiere acceder.
Extensiones
2a. Los datos de conexin son errneos
2a1, El sistema informa al alumno que los datos son incorrectos y le vuelve a solicitar los
datos, vuelve al paso 1.
3a. El alumno no est accediendo desde un puesto de trabajo perteneciente a la sesin
de prcticas, el sistema le informa al alumno de la situacin actual.

19

Registro de los profesores a las sesiones de prcticas

Registro del profesor a la sesin de prcticas


Actores
Profesor
Descripcin
El sistema permite al profesor registrarse para empezar la sesin de prcticas
Escenario principal
1. El profesor introduce sus datos de conexin en el sistema.
2. El sistema comprueba que los datos de conexin son correctos.
3. El sistema comprueba que el profesor est accediendo desde un puesto de trabajo
como profesor y en el aula a la que pertenece la sesin de prcticas
Extensiones
2a. Los datos de conexin son errneos
2a1, El sistema informa al profesor que los datos son incorrectos y le vuelve a solicitar
los datos, vuelve al paso 1.
3a. El profesor no est en un puesto de trabajo perteneciente a la sesin de prcticas y
la aplicacin le informa de ello.

20

Consultar distribucin del aula

Consultar distribucin aula


Actores
Profesor
Descripcin
El sistema permite al profesor visualizar dnde estn sentados todos los alumnos en
clase y las prcticas que est realizando cada uno
Precondicin
El profesor debe estar registrado en el sistema
Escenario principal
1. El profesor indica al sistema que desea visualizar un mapa.
2. El sistema muestra las aulas disponibles
3. El profesor selecciona de entre todas las aulas, la aula de la cual quiere obtener su
distribucin
4. El sistema recupera la informacin del aula y la muestra por pantalla.

21

Modificar el estado de una prctica

Modificar estado de una prctica


Actores
Profesor
Descripcin
El sistema permite al profesor modificar el estado de una prctica
Precondicin
El profesor y el alumno a modificar deben estar registrado en el sistema
Escenario principal
1. El profesor indica al sistema que desea visualizar un mapa.
2. El sistema muestra las aulas disponibles
3. El profesor selecciona de entre todas las aulas, la aula de la cual quiere obtener su
distribucin
4. El sistema recupera la informacin del aula y la muestra por pantalla.
5. El profesor presiona sobre el nombre del alumno mostrado en la distribucin del aula.
6. El sistema recupera el listado de las prcticas realizadas por el alumno seleccionado.
7. El profesor presiona sobre la prctica a la que desea cambiar su estado.
8. El sistema almacena el cambio en la base de datos.

22

Logout profesor

Logout profesor
Actores
Profesor
Descripcin
El sistema permite al profesor cerrar su sesin y la de todos los alumnos conectados.
Precondicin
El profesor debe estar registrado en el sistema
Escenario principal
1. El profesor indica al sistema que quiere cerrar la sesin.
2. El sistema cierra la sesin del profesor y de todos los alumnos conectados en ese
momento.

23

4. Diseo

Contiene una introduccin sobre la arquitectura de software


utilizada, describiendo la estructura del servidor en tres capas:
Presentacin, lgica de control o negocio y persistencia.
Se describe la estructura de la base de datos explicando todos
los campos que la componen.

24

4.1

Arquitectura software

La arquitectura de software es el diseo de ms alto nivel de la estructura de


un sistema o aplicacin dnde se definen sus mdulos principales y que
responsabilidades va a tener cada mdulo, as como la interaccin entre ellos.
As podramos definir a la arquitectura de software como la organizacin
fundamental de un sistema formada por sus componentes, las relaciones entre
ellos y el contexto en el que se implantarn, y los principios que orientan su
diseo y evolucin.
Una de las arquitectura de software ms utilizada es la de arquitectura
separada por 3 capas, que consiste en separar por partes la programacin de
una aplicacin, es decir, separar la parte visible de la parte de almacenamiento
o persistencia de datos.
Una de las principales ventajas de este tipo de desarrollo es que si hay que
realizar un cambio slo se debe realizar en la capa a la que afecta sin
necesidad de revisar el resto del cdigo de las otras capas.
Otra ventaja es la distribucin de trabajo por equipos, ya que unas personas
pueden estar desarrollando la capa de presentacin, mientras otro equipo
puede estar desarrollando la capa de negocio.

Como hemos comentado anteriormente, hemos decidido utilizar una


arquitectura de 3 capas en el que nuestro proyecto est alojado en un servidor
web y dispone de un servido de bases de datos phpmyadmin.

4.1.1 Capa de presentacin


Es la capa visible por parte del usuario, encarga de presentar y capturar la
informacin por parte del usuario. Esta capa se comunica nicamente con la
capa de negocio o lgica de control.

25

En nuestra aplicacin, la capa de presentacin consiste en la visualizacin de


una pgina web, encargada de mostrar toda la informacin que el usuario
solicita as como enviar y almacenar los datos que le son introducidos.
La aplicacin interacta con el usuario, por lo que es necesario que est le
muestre informacin y deba obtener informacin de la persona que la utiliza.
Para obtener la informacin del usuario, la aplicacin cuenta con las
herramientas web que ofrecen los estndares de los navegadores.
En este ejemplo, existen campos de texto y desplegables dnde la aplicacin
puede obtener informacin por parte del usuario para almacenarla en la base
de datos.

Tambin es capaz de mostrar informacin que la aplicacin tiene almacenada


en la base de datos, como vemos en el siguiente ejemplo:

26

En este caso, la aplicacin recupera de la base de datos la informacin


referente a un alumno, una vez ha obtenido los datos oportunos, la capa de
negocio que veremos en el apartado siguiente, se encarga de procesar los
datos y en la capa de presentacin se muestran en el formato correcto para
que sea fcil de comprender y de interpretar por parte del usuario.

4.1.2 Capa de negocio o lgica de control


La capa de negocio es donde reside la aplicacin y se ejecuta. Recibe las
peticiones del usuario y se envan las respuestas tras el proceso.
Esta capa se comunica con la capa de presentacin para poder recibir las
solicitudes por parte del usuario y presentar los resultados.
Tambin se comunica con la capa de datos para solicitar al gestor de la base
de datos para almacenar y recuperar los datos de la base de datos.
El servidor dnde est alojado nuestro proyecto se encarga de atender las
peticiones del usuario y nuestra aplicacin ejecuta las funciones necesarias
para mostrarle al usuario la informacin que necesita o realizar las llamadas
para que se realicen las consultas a la base de datos en la capa de
persistencia.
Para visualizar la informacin referente a un profesor, en la capa de negocio o
lgica de control se ha recuperado los datos del profesor de la base de datos
comprobando que los datos que necesitaba para obtener la informacin eran
correctos.

27

Una vez recuperada la informacin que ha obtenido de la base de datos, los ha


tratado para que no haya errores y en la capa de presentacin han sido
formateados para que se muestren correctamente.
Con el siguiente diagrama de secuencia podemos observar las funciones que
podemos realizar con la aplicacin.

4.1.3 Capa de persistencia


La capa de persistencia es dnde residen los datos y se encarga de acceder a

28

ellos. Est formado por un gestor de bases de datos que realiza la lectura y
almacenamiento de datos.
En nuestro proyecto, es una base de datos phpmyadmin alojada en nuestro
servidor. Contiene toda la informacin que el usuario transfiere a la aplicacin o
que la propia aplicacin va almacenando segn las acciones del usuario.
Consiste en 3 tablas:
-

LOGALU: Contiene la informacin del usuario, como sus datos


personales y tipo de usuario.

LOGASI: Se almacenan los datos referentes a la asistencia a las


prcticas por parte del usuario, cuando acude a las prcticas, cuando
abandona la sesin y qu prcticas ha realizado.

LOGPRA: Contiene el estado de las prcticas para cada usuario.

29

LOGALU
usuini: Dni del usuario
usuusu: Nombre de usuario
usucon: Contrasea
usunom: Nombre real del usuario
usutip: Tipo de usuario (A: Alumno o P: Profesor)
LOGASI
logcod: Cdigo numrico
logusu: Nombre de usuario
logpue: Ip del puesto de trabajo
logfee: Fecha de entrada
loghoe: Hora de entrada
logfes: Fecha de salida
loghos: Hora de salida
logpra: Prctica que ha realizado
LOGPRA
prausu: Nombre de usuario
pracod: Cdigo de la prctica
praest: Estado de la prctica

30

5. Implementacin

En este apartado describimos cmo ha sido programada la


aplicacin y la tecnologa utilizada, as cmo la estructura que
contiene y la explicacin del contenido de cada fichero que lo
forma.

31

5.1

Tecnologa

Uno de los requisitos para la realizacin del proyecto es que la aplicacin deba
desarrollarse en PHP, por lo que la tecnologa elegida para desarrollar el
proyecto es PHP.
Todo el cdigo del proyecto se ha realizado con PHP utilizando las funciones
de la versin 5.3, para la realizacin de la captura de datos, su tratamiento y
almacenamiento.
Para el almacenamiento de los datos se ha utilizado phpmyadmin que se
integra perfectamente con PHP.
La programacin de la parte visual del proyecto, es decir, la visualizacin del
proyecto se ha utilizado HTML que es el lenguaje estndar para mostrar
contenidos en las pginas web.
Los estilos de la pgina web se han realizado con CSS, el cual se combina con
el HTML para lograr una correcta visualizacin de la aplicacin y que esta sea
accesible por parte del usuario.
Tambin se ha utilizado Javascript para realizar funciones especficas, como la
ocultacin de divs al presionar un botn o mostrarlo cuando se vuelve a
presionar.
La programacin del cdigo del proyecto se ha utilizado la aplicacin Eclispe
en su versin Galileo que incorpora las libreras de PHP y Javascript.
Para la realizacin de la estructura de la base de datos se ha utilizada SQL
Editor, aplicacin que funciona en Mac Osx para generar y construir diagramas
y bases de datos.
El sistema dnde se ha programado la totalidad del proyecto ha sido en un
Macbook con Snow Leopard.
El proyecto est alojado en un servidor de la compaa OVH que nos ofrece el
servicio de alojamiento y la base de datos.

5.2

Metodologa

No se utiliza ningn framework para la realizacin del proyecto por lo que todo
se ha realizado partiendo desde cero. Antes de la realizacin de la aplicacin
se ha dedicado un tiempo para el estudio de la distribucin de los ficheros del
proyecto as como la nomenclatura a utilizar.

5.3

Estructura de la aplicacin

En la aplicacin existen 3 directorios principales: 0fun, 0ima, 1htm.

32

La eleccin de los nombres es para que haya una ordenacin en el directorio,


ya que 0fun contiene las funciones que se utilizan en la aplicacin, 0ima
contiene las imgenes y 1htm contiene todo los archivos PHP de la aplicacin.
- /0fun
o funbda01.php
Contiene todas las funciones que utiliza la aplicacin que acceden
a la base de datos
o funhtm.php
Contiene todas las funciones que muestras componentes HTML
o funjvs01.js
Contiene todas las funciones javascript que utiliza la aplicacin.
-

/0ima
Contiene todas las imgenes que muestra la aplicacin.

/1htm
o /xml: Contiene archivos xml
aulas.xml
Contiene la distribucin del aula
practicas.xml
Contiene las prcticas del aula
o
o
o
o
o
o
o

ctlhtm.php: Controlador de los archivos


htma1.php: Login alumno
htma2.php: Validacin alumno
htma4.php: Informacin alumno
htma5.php: Informacin prcticas alumno
htma6.php: Informacin histrico alumno
htma7.php: Logout alumno

o
o
o
o
o
o
o
o
o
o

htmb1.php: Login profesor


htmb2.php: Validacin profesor
htmb3.php: Informacin profesor
htmb5.php: Formulario del aula
htmb6.php: Distribucin de las aulas
htmb7.php: Histrico profesor
htmb8.php: Logout profesor
htmb9.php: Estado prcticas alumnos
htmb10.php: Cambiar estado prcticas alumnos
htmb11.php: Logout alumnos

index.php: Pgina inicial


gensty01.css: Hoja estilos para el html

33

6. Pruebas de uso

Describimos las pruebas que se han realizado para el buen


comportamiento de la aplicacin.
Mostramos los resultados obtenidos y que hemos aplicado para
realizar la mejora de resultados.

34

6.1

Pruebas realizadas

A medida que se iba desarrollando la aplicacin se fueron realizando pruebas


con los requisitos y especificacin detalladas anteriormente. Se han desarrollo
diferentes tipos de pruebas:

6.1.1 Pruebas funcionales


Las pruebas funcionales han consistido en la comprobacin de cada una de las
funciones que realiza la aplicacin. Una vez programadas se mostraba por
pantalla el resultado de la funcin, por lo que cada funcin ha sido comprobada
unitariamente.
Se ha sometido a la aplicacin a la introduccin de datos errneos para
comprobar como responde as como acta frente a este tipo de errores. Uno de
los pocos casos en los que se le pueden pasar datos errneos a la aplicacin
en el sistema de login, ya que en los dems apartados, se selecciona la
informacin mediante una lista desplegable por lo que es imposible que se le
pueda introducir datos errneos a la aplicacin.
Para el caso de login, se ha diseado la funcin para que no permita la
introduccin de inyecciones SQL. Estas inyecciones consisten en la
introduccin de un cdigo intruso que se vale de los errores en la programacin
a nivel de validacin para que el texto introducido genere una consulta
maliciosa en la base de datos.
Una de las inyecciones ms utilizadas es introducir en el nombre de usuario
cualquier texto y en la contrasea el siguiente texto ' OR 'x' = 'x con ello
intentando engaar a la base de datos.
Hemos introducido las inyecciones SQL ms comunes y el resultado de las
mismas es el siguiente:

35

6.1.2 Pruebas de visualizacin


Las pruebas de visualizacin han sido las encargas de comprobar que la
aplicacin se visualizaba correctamente en los navegadores que existen en el
mercado y en la mayora de los dispositivos capaces de mostrar una aplicacin
web.
Firefox

36

Safari

Iphone

37

6.1.3 Pruebas de tiempo de ejecucin


Las pruebas de tiempo de ejecucin has consistido en comprobar si el tiempo
de clculo de las funciones no ha excedido de lo habitual y no retrasa el
funcionamiento o la ejecucin de toda la aplicacin.
Para realizar la medicin del tiempo de ejecucin en las funciones de PHP se
han utilizado herramientas que ya dispone el propio lenguaje de programacin,
estas funciones consisten en la introduccin de un cdigo fuente en las
funciones ms relevantes de la aplicacin o en las funciones que podran
retrasar el tiempo de ejecucin comprobando el tiempo que tardan en finalizar.
Para ello, al comienzo de la funcin introducimos una funcin de PHP que
contiene la hora UNIX en una variable y al finalizar nuestra funcin restamos la
hora final con la hora inicial y con esta operacin podemos calcular el tiempo
de ejecucin de la funcin.
No ponemos los tiempos de las funciones ya que son despreciables, el tiempo
de ejecucin de las funciones es mnimo aunque en el apartado siguiente
podremos observar el tiempo de carga de la aplicacin.

6.1.4 Pruebas de duplicidad de cdigo


En las pruebas de duplicidad de cdigo se comprueba que no hay cdigo
duplicado y en caso de encontrar lneas de cdigo que realizan las mismas
funciones, se ha factorizado para conseguir la optimizacin del cdigo,
eliminando cdigo repetido y mejorando su compresin y ejecucin.

6.1.5 Pruebas de uso


Se han realizado pruebas de uso de la aplicacin, con ello conseguimos
mejorarla para que sea accesible, con una rpida respuesta de las acciones a
realizar, eficiente y que el usuario comprenda correctamente el contenido de la
misma.
Estas pruebas se han basado en 4 aspectos:
Accesibilidad:
La aplicacin es de fcil acceso, los controles son simples y es muy fcil
acceder a cualquier contenido de la misma. A continuacin, podemos observar
unas capturas de la aplicacin para comprobar su simpleza y optimizacin de
contenidos.

38

Login

Este apartado es el login del usuario, cada usuario deber tener un nombre de
usuario y una clave.
Para acceder a la aplicacin basta con introducir su usuario y clave y presionar
en Enviar.
Si ha introducido correctamente los datos, acceder al sistema, en caso
contrario, se le mostrar un mensaje de error informndole de lo que ha
ocurrido.
Informacin de usuario

39

Al acceder a la aplicacin se le mostrar la informacin correspondiente a su


perfil, en el caso de la captura se muestra la informacin del profesor pero para
el alumno es exactamente igual.
Contiene el DNI del usuario, su nombre y la prctica que est realizando en el
caso del alumno y si el usuario que est logueado es un profesor se mostrar
la prctica que ha elegido en el login como la prctica que corresponde a la
sesin que se est realizando.
Historial

Con el historial podremos observar nuestra actividad, las prcticas a las que
hemos ido y cuando hemos entrado y salido de las aulas.
Nos permite tener un control de nuestra asistencia a las prcticas y conocer
rpidamente que prcticas nos faltan por realizar.
Cuando la fecha de salida no sea rellenada significa que la prctica la estamos
haciendo en ese momento en caso contrario, la fecha de salida se almacena
una vez cerramos la sesin de prcticas.

40

Distribucin de las aulas

Este apartado solamente es visible por el profesor, ya que puedes ver todos lo
alumnos conectados en cada ordenador y la prctica que est realizando.
Por ltimo, en la pestaa de Logout simplemente al acceder a ella, se cierra la
sesin de la aplicacin y se da por finalizada la sesin de prcticas.

41

Rapidez de respuesta
El contenido de la aplicacin es simple y la carga de las imgenes es muy
liviana por lo que al realizar las llamadas a una pgina especfica de la
aplicacin el tiempo de respuesta es mnimo as como la carga y visualizacin
de su contenido.
Se han optimizado las imgenes para una correcta y rpida visualizacin, ya
que su peso es mnimo y facilita la carga rpida.
Para comprobar el tiempo de carga, hemos recurrido a las utilidades que nos
ofrece el navegador Google Chrome, en su apartado de Network podemos
observar el tiempo de carga de una pgina web.
Antes de realizar este proceso, hemos eliminado la cache del navegador, ya
que la aplicacin se queda cacheada al estar usndose habitualmente y esto
hace que los tiempos an sean ms reducidos.
En nuestro caso, para la versin en cache, el tiempo total de carga de la web
es de 304 milisegundos:

Para la ejecucin por primera vez de la aplicacin, el tiempo se incrementa a


1,05 segundos:

Si estudiamos con detalle los tiempos de carga, llegamos a la conclusin de


que estos tiempos no son relevantes para la carga y ejecucin de la aplicacin
ya que la pgina es muy liviana y esto hace que el tiempo de carga sea
mnimo.

42

Eficiencia
Consiste en realizar los mnimos pasos para realizar una accin. Se ha
estudiado todas las acciones que se deben realizar en la aplicacin y se ha
optimizado al mximo para que el usuario pueda realizar todas las acciones
con los mnimos clicks posibles.
Como se puede observar en la imagen, se ha aadido un men en la parte
superior dnde puede consultar todas las acciones de la aplicacin.

Comprensin
Las funcionalidades a realizar por parte del usuario han sido optimizadas para
que sea de fcil compresin para el usuario.
Se ha realizado un estudio del vocabulario mostrado en ella para que el usuario
comprenda correctamente qu es lo que va a realizar cuando presione sobre
un botn o accin.
El vocabulario de la aplicacin no es tcnico para su fcil comprensin.

43

7. Conclusiones

Descripcin de los objetivos cumplidos con la realizacin de


proyecto, conclusiones finales y de las posibles ampliaciones del
mismo.

44

7.1

Objetivos cumplidos

A la terminacin del proyecto, se puede analizar los objetivos planteados


inicialmente y comprobar si se han cumplido.
Una vez se implemente la aplicacin se podr comprobar que realizar la
evaluacin de la asistencia a las sesiones de prcticas es ms eficaz y eficiente
que nombrar uno a uno cada alumno.
Ahora se puede conocer qu prctica est realizando cada alumno y en cada
puesto de trabajo por lo que facilita la tarea al responsable de la sesin de
prcticas.
Tambin se puede comprobar qu prcticas han sido entregadas y si un
alumno se present a la sesin con anterioridad.

7.2

Ampliaciones

Llegados a este punto, la aplicacin permite su posible ampliacin, ya que est


realizada para una sola aula de prcticas pero esta podra permitir la
implementacin de varias aulas y en varios horarios.
Tambin se podra conectar la aplicacin con la base de datos de alumnos de
la Universidad Politcnica de Valencia para mejorar el sistema de login y as
unificar registros de usuarios, con un solo usuario y contrasea se pueden
acceder a todos los servicios, ya que actualmente la base de datos est
implementada en un Phpmyadmin.

7.3

Conclusin personal

Realizar el proyecto final de carrera y ponerlo en funcionamiento me ha servido


para conocer y practicar la programacin PHP y MySQL
La realizacin de la memoria del proyecto y explicacin de todo lo que se ha
realizado me sirve para enfrentarme al problema de describir todo lo que he
desarrollado y lo que no se ha podido desarrollar.
Esta tarea ha sido la ms costosa y complicada para mi, ya que no estoy
acostumbrado a redactar y detallar los pasos seguidos para la realizacin de un
proyecto, por ello ha sido ms fcil desarrollar la aplicacin que redactar toda la
memoria.
He intentado realizar una memoria clara y amena para que el lector comprenda
cmo se ha realizado el proyecto.
Exponiendo todo lo que se ha realizado e intentando plasmar con capturas de
pantalla de la aplicacin.

45

La conclusin final es que la realizacin del proyecto me ha aportado cosas


muy positivas as como la experiencia de enfrentarte a los problemas de
desarrollar una aplicacin, teniendo que crear la base de datos y todas las
funciones para cumplir los objetivos de la aplicacin.
He mejorado mi nivel de programacin en PHP as como la realizacin de
consultas a una base de datos MySQL.
Tambin he puesto en prctica mis conocimientos en HTML y CSS para que
las pginas se muestren correctamente en todos los navegadores, incluyendo
los dispositivos mviles como telfonos o tablets.

46

8. Bibliografa

Detalle de todos los libros o sitios web dnde se ha obtenido la


informacin para poder realizar el proyecto o que han servido de
ayuda para poder desarrollarlo.

47

8.1

Libros

Sommerville, I. Ingeniera del Software. (6a ed.).


Addison-Wesley, 2002

Desarrollo Web con PHP 6, Apache y Mysql.


Anaya Multimedia, 2009

CSS, Hoja de estilo en cascada para diseo Web


Anaya Multimedia, 2006

CSS Prctico
Anaya Multimedia, 2006

IEEE Recommended Practice for Software Requirements Specifications

Apuntes asignatura Ingeniera del Software de Gestin

8.2

Sitios Web de referencia

Manual PHP
http://es.php.net/

Wikipedia
http://es.wikipedia.org

Wamp Server
http://www.wampserver.com/en/

48

9. Anexo A
Contiene un manual para la instalacin y configuracin de la
aplicacin, as como un manual de uso.

49

9.1

Instalacin

Existen varias posibilidades para la instalacin de la aplicacin dependiendo de


dnde se quiera instalar.
La primera opcin es contratar un servicio de alojamiento en Internet que
admita la tecnologa PHP y la posibilidad de creacin de bases de datos en
MySQL.
Slo deberemos subir el contenido de las carpetas de la aplicacin en la raz de
las carpetas del servidor.
Tambin deberemos crear la base de datos, para ello nos dirigimos al panel de
control que nos ofrecer nuestro proveedor de alojamiento dnde podremos
configurar las bases de datos que necesitamos.
En la raz de la aplicacin existe un archivo que se llama localhost.sql desde
el cul se puede crear la base de datos y todas sus tablas con los contenidos
necesarios para la ejecucin de la aplicacin. Deberemos ir a la seccin de
SQL dentro del phpmyadmin que habremos accedido desde el panel de control
de nuestro proveedor de alojamiento. Ah deberemos ejecutar las sentencias
SQL para la creacin de la base de datos y todas sus tablas.
La segunda opcin para la instalacin es realizarla en un ordenador desde el
cul se pueda utilizar como un servidor de Internet, para ello deberemos
instalar un programa que haga actuar a este ordenador como un servidor de
alojamiento de Internet, en caso de ser un ordenador con Windows
recomendaremos la instalacin de Wamp, que lleva todos los paquetes
necesarios para la ejecucin de nuestra aplicacin. En caso de ser Linux
recomendamos una versin para Linux llamada Lampp.
Una vez instalada y ejecutada la aplicacin Wamp o Lampp, deberemos copiar
en la carpeta www nuestro proyecto.
Para la creacin de la base de datos deberemos escribir en nuestro navegador
web la direccin http://localhost/phpmyadmin/ con la que podremos acceder a
la gestin de las bases de datos.
En este punto deberemos acceder a la seccin SQL que nos permitir copiar
las sentencias SQL que tenemos en el archivo localhost en la raz de nuestro
proyecto. Con ello obtendremos la base de datos y todas las tablas necesarias
para la ejecucin de nuestra aplicacin.

9.2

Configuracin

La configuracin de la aplicacin es muy fcil y cmoda ya que simplemente


deberemos cambiar los archivos xml que existen en la carpeta 1htm/xml.
Existen 2 ficheros que deberemos configurar dependiendo del aula dnde
vamos a ejecutar la aplicacin y las prctica que se van a realizar a lo largo del
curso.
50

9.2.1 AULAS
Para la configuracin de la distribucin de las aulas se deber editar el fichero
aulas.xml que se encuentra en la carpeta xml dentro de 1htm.
Estructura
La estructura del fichero es la siguiente:
<aulas>
<clase>

<nombre>B1</nombre>
<distribucion>MMHMMMRMMHMMMRMMHMMMRMMHMMMRHHHHMMRP</distribucion>
<puesto>
<ip>158.42.181.22</ip>
<maquina>acomp22</maquina>
<tipo>A</tipo>
</puesto>
<puesto>
<ip>158.42.181.21</ip>
<maquina>acomp21</maquina>
<tipo>A</tipo>
</puesto>
.
.
.
</clase>
</aulas>

Est organizado por etiquetas y simplemente hay que cambiar el contenido de


cada etiqueta para configurar el aula.
Significado de las etiquetas
Para cambiar la configuracin de las aulas, hay que sustituir el contenido de
cada etiqueta por el que queremos mostrar, para ello deberemos conocer que
significa cada etiqueta.
<aulas>
Contiene todas las clases disponibles en la aplicacin. Actualmente la
aplicacin slo est preparada para una clase, pero con unas pequeas
modificaciones del cdigo se podra conseguir adaptar la aplicacin para varias
clases.
<clase>
Contiene todas las caractersticas de las clases.
<nombre>
Aqu podemos cambiar el nombre de la clase, el nombre se visualizar en el
listado de clases de la aplicacin.
<distribucion>
51

En esta etiqueta podemos modificar la distribucin de la clase. Para ello


necesitamos incluiremos la cadena de caracteres correspondiente a la clase.
Cada carcter tiene un significado para la aplicacin y dependiendo del que
introduzcamos se mostrar una distribucin u otra.
M -> MESA
H -> HUECO ENTRE MESAS
R -> FIN DE FILA
P -> MESA DEL PROFESOR
<puesto>
Contiene la configuracin a cada puesto de trabajo.
<ip>
Cada puesto de trabajo tiene una ip nica, por lo que deberemos insertar la ip
de cada puesto de trabajo conocer a que ip corresponde cada mquina.
<maquina>
Cada puesto de trabajo tambin tiene un nombre nico, tambin deberemos
escribir el nombre de cada mquina.
<tipo>
Define el tipo de mquina, slo existen 2 posibilidades:
P -> PROFESOR
A -> ALUMNO
Con unos simples cambios podremos configurar los puestos de trabajo del aula
y ver reflejados los cambios en la aplicacin.
Cualquier carcter o cambio de etiqueta en el fichero podra dejar sin
funcionamiento de la aplicacin, por lo que es aconsejable que la edicin del
fichero sea realizada por el administrador de la aplicacin o persona con
conocimientos de informtica.

52

9.2.2 PRCTICAS
Para la configuracin de las prcticas que se realizarn durante todo el curso,
se deber editar el fichero practicas.xml que contiene el listado de las
prcticas que se quiere evaluar su asistencia y presentacin.
Estructura
La estructura del fichero es la siguiente:
<temario>
<practica>
<codigo>1</codigo>
<titulo>Practica 1</titulo>
</practica>
<practica>
<codigo>2</codigo>
<titulo>Practica 2</titulo>
</practica>
.
.
.
</temario>

Significado de las etiquetas


Para cambiar la configuracin de las prcticas, hay que sustituir el contenido de
cada etiqueta por el que queremos mostrar, para ello deberemos conocer que
significa cada etiqueta.
<temario>
Contiene todas prcticas que se van a realizar durante todo el curso y estas se
mostrarn en la aplicacin.
<practica>
Contiene todas las caractersticas de las prcticas.
<codigo>
A cada prctica se le deber asignar un cdigo numrico, correlativo y nico
para que se pueda identificar con facilidad.
<titulo>
En esta etiqueta escribiremos el ttulo de la prctica.

53

También podría gustarte