Anda di halaman 1dari 30

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

DESARROLLO DE UN SISTEMA WEB


DE EVALUACION AL DESEMPEO
DOCENTE APLICANDO LA
METODOLOGIA XP Y LA
ARQUITECTURA CLIENTE - SERVIDOR

INTEGRANTES:
ALARCN SNCHEZ JUAN JOS
CARRILLO CONTRERAS JAMES
GUEVARA RAMIREZ CRISTIAN
MERINO CRDOVA KATHERIN
PERALES CHUMAN RODRIGO

CURSO:
INGENIERA DE SOFTWARE

DOCENTE:
ING. SAMILLN AYALA ALBERTO

Lambayeque, 01 agosto del 2017


INGENIERIA DE SOFTWARE 1
Resumen

Nuestro proyecto se bas en el desarrollo de un sistema web de


evaluacin al desempeo docente en una universidad, utilizando la metodologa
gil de programacin extrema XP y la arquitectura cliente servidor.

Para esto se elabor el presente documento, donde se recopil toda la


informacin necesaria en relacin al problema planteado y la solucin que se
propone. Este documento se divide en tres partes:

La Primera parte es el Marco Terico, en el cual se realiza una


introduccin referente a las metodologas giles en particular la metodologa de
Programacin Extrema XP.

La segunda parte del documento, muestra la aplicacin de la metodologa


XP al desarrollo del sistema de evaluacin docente. En esta parte se incluye las
fases del proyecto.

En la ltima parte se refiere al ciclo de vida del sistema, el cual est


dividido en tres iteraciones, aqu se detalla el proceso de cada iteracin. Al final
del documento se darn las conclusiones de la experiencia que obtuvieron los
integrantes del grupo con la aplicacin de la metodologa de programacin
extrema.

INGENIERIA DE SOFTWARE 2
1. INTRODUCCION

En la Actualidad las TICs estn presentes en todos los mbitos: sociales,


laborales, educativos entre otros. Es por esta razn que las universidades tienen
la necesidad de innovar, brindando una oferta acadmica atractiva, de calidad,
que posibilite el desarrollo, todo esto a travs de las tecnologas actuales. Para
lograr estos objetivos, las universidades requieren no solo de las nuevas
tecnologas, sino tambin de metodologas, que les permita evaluarse para s
estar en constante mejora todo el tiempo.

Entre las metodologas que existen actualmente se encuentran las


metodologas tradicionales, iterativas/evolutivas, las metodologas basadas en
tecnologas web y las metodologas giles.

Las tendencias modernas en el desarrollo de software apuntan hacia el uso


de metodologas ms flexibles con un enfoque simple, donde el cliente est
presente en todo el proceso de avance, estas son las metodologas giles
mencionadas anteriormente.

Una de las principales es la metodologa de Programacin Extrema XP, la


cual garantiza constar con una herramienta accesible al usuario, sencilla y a la
misma vez dinmica. XP constituye un modelo de trabajo compartido, donde
existe la conexin entre el cliente y el desarrollador, lo que permite la
construccin de un sistema de acuerdo a los requerimientos establecidos por el
cliente al principio de llevar a cabo el proyecto.

Por lo tanto, en el presente proyecto se desarroll un sistema web empleando


la metodologa XP, con el objetivo de automatizar la evaluacin al desempeo
docente en una universidad. Para realizar esta evaluacin docente, se disearon
dos instrumentos: Una encuesta de estudiante y otra encuesta de
autoevaluacin. Se pretende que a travs del sistema web, cada semestre se
registre las dos encuestas, para los docentes y as ser evaluados desde
diferentes puntos de vista.

INGENIERIA DE SOFTWARE 3
2. JUSTIFICACION

Una de las herramientas que fue diseada para la evaluacin docente, es las
encuestas a los estudiantes, esto con el propsito de recolectar la informacin
necesaria e identificar las oportunidades de mejora del desempeo docente.
Aunque la realizacin de encuestas, es un mtodo prctico en la evaluacin
docente, el proceso se vuelve tedioso, pues se incurre en gastos varios como
papelera, transportes, viticos y principalmente prdida de tiempo.

Por esta razn, se propone la realizacin de las encuestas a la comunidad


estudiantil para evaluar al personal docente es haciendo uso de las TICs, pues
con su utilidad se simplifica el proceso. Para esto se desarroll un sistema web
que brinde la facilidad de obtener las opiniones tanto de alumnos como docentes
y procesar toda la informacin pertinente a travs de encuestas virtuales.

3. OBJETIVOS

3.1 General
Desarrollar un Sistema Web de Evaluacin al Desempeo Docente en una
universidad, empleando la Metodologa gil Programacin Extrema y la
Arquitectura Cliente Servidor.

3.2 Especficos

Comprender el proceso de desarrollo de software usando la metodologa


gil programacin extrema XP.
Disear una solucin a la problemtica que se presenta con el
levantamiento de encuestas en el proceso de evaluacin docente en la
universidad.
Determinar los beneficios y desventajas que se adquieren al emplear la
programacin extrema XP y la arquitectura Cliente - Servidor.
Fortalecer el proceso de evaluacin docente para una mejora continua de
la universidad por medio de las herramientas que brinda la programacin
extrema.

INGENIERIA DE SOFTWARE 4
4. MARCO TERICO

4.1 ORIGEN DE LAS METODOLOGAS AGILES DE DESARROLLO DE


SOFTWARE

En una reunin celebrada en febrero de 2001 en EEUU, nace el trmino gil


aplicado al desarrollo de software. En esta reunin participaron un grupo de 17
expertos de la industria del software, su objetivo fue proyectar los valores y
principios que deberan permitir a los equipos desarrollar software rpidamente
y respondiendo a los cambios que puedan surgir a lo largo del proyecto.

Este manifiesto gil comienza enumerando los principales valores del


desarrollo gil, como son:
Al Individuo y las iteraciones del equipo de desarrollo sobre el proceso y
las herramientas.
Desarrollar software que funciona ms que conseguir una buena
documentacin.
La colaboracin con el cliente ms que la negociacin de un contrato.
Responder a los cambios ms que seguir estrictamente un plan.

En la tabla 1 se observa la comparacin entre las metodologas giles y las


metodologas tradicionales, mediante esta se afirma que las metodologas giles
son ms orientadas a proceso de desarrollo de software con pocas semanas de
desarrollo y bajos niveles de formalizacin en la documentacin requerida.

Tabla 1.Comparacin entre metodologas giles y tradicionales

Metodologas giles Metodologas Tradicionales


Basadas en heursticas provenientes Basadas en normas provenientes de
de prcticas de produccin de cdigo. estndares seguidos por el entorno de
desarrollo.
Preparados para el cambio durante el Cierta resistencia a los cambios.
proyecto.
Reglas de trabajo impuestas Reglas de trabajo impuestas
internamente (Por equipos). externamente.
Proceso menos controlado, con pocos Procesos mucho ms controlados con
principios. numerosas polticas/ Normas.

INGENIERIA DE SOFTWARE 5
El Cliente es parte del desarrollo. El Cliente interacta con el equipo de
desarrollo mediante reuniones en
determinadas etapas del proceso.
Pocos Artefactos Ms Artefactos
Pocos Roles Ms Roles

4.2 METODOLOGA PROGRAMACIN EXTREMA (XP)

XP constituye un modelo de trabajo compartido, donde existe la conexin


entre el cliente y el desarrollador, lo que permite la construccin de un sistema
de acuerdo a los requerimientos establecidos por el cliente al principio de llevar
a cabo el proyecto.

Objetivos de XP:
La Satisfaccin del cliente.

Potenciar el trabajo en grupo.

Minimizar el riesgo actuando sobre las variables del proyecto: costo,


tiempo, calidad, alcance.

Caractersticas:

Metodologa basada en prueba y error para obtener un software que


funcione realmente.
Fundamentada en principios.
Est orientada hacia quien produce y usa software (el cliente participa
muy activamente).
Reduce el coste del cambio en todas las etapas del ciclo de vida del
sistema.
Combina las que han demostrado ser las mejores prcticas para
desarrollar software, y las lleva al extremo.
Cliente bien definido.
Los requisitos pueden cambiar.
Grupo pequeo y muy integrado (2-12 personas).
Equipo con formacin elevada y capacidad de aprender

INGENIERIA DE SOFTWARE 6
4.3 HERRAMIENTAS DE LA METODOLOGA XP

HISTORIAS DE USUARIO

Las Historias de Usuario representan una breve descripcin del


comportamiento del sistema, se realizan por cada caracterstica principal del
sistema y son utilizadas para cumplir estimaciones de tiempo y el plan de
lanzamientos, as mismo reemplazan un gran documento de requisitos y
presiden la creacin de las pruebas de aceptacin.

Cada historia de usuario debe ser lo suficientemente comprensible y


delimitada para que los programadores puedan implementarlas en semanas.

TAREAS DE INGENIERAS (TASK CARD)

Una Historia de Usuario se descompone en varias tareas de ingeniera, las


cuales describen las actividades que se realizarn en cada historia de usuario,
as mismo las tareas de ingeniera se vinculan ms al desarrollador, ya que
permite tener un acercamiento con el cdigo (Ferreira Escutia, 2013).

PRUEBAS DE ACEPTACIN

Segn (Chiluisa Pallo & Loarte Cajamarca, 2014) Las Pruebas de aceptacin
son de vital importancia para el xito de una iteracin y el comienzo de la
siguiente, con lo cual el cliente puede conocer el avance en el desarrollo del
sistema y a los programadores lo que les resta por hacer. Adems permite una
retroalimentacin para el desarrollo de las prximas historias de usuarios a ser
entregadas. Estas son comnmente llamadas pruebas del cliente, por lo que son
realizadas por el encargado de verificar si las historias de usuarios de cada
iteracin cumplen con la funcionalidad esperada.

TARJETAS CRC ( CLASE RESPONSABILIDADES


COLABORADORES)

Las Tarjetas CRC (Clase-Responsabilidades-Colaboradores), permiten


conocer que clases componen el sistema y cuales interactan entre s. Se
dividen en tres secciones: Nombre de la Clase, Responsabilidades y
Colaboradores. (Chiluisa Pallo & Loarte Cajamarca, 2014)

INGENIERIA DE SOFTWARE 7
4.4 ROLES DE LA METODOLOGA XP
En (Erlijman Piwen & Goyen Fros, 2001) la propuesta original de Beck incluye
los siguientes roles:

PROGRAMADOR: Es el Responsable de implementar las historias de


usuario por el cliente. Adems, estima el tiempo de
desarrollo de cada historia de usuario, disea y ejecuta los
test del cdigo que ha implementado o modificado.

CLIENTE: Determina la funcionalidad que se pretende en


cada iteracin y define las prioridades de implementacin
segn el valor de negocio que aporta cada historia.

ENCARGADO DE PRUEBAS (TESTER): Es el Encargado de ejecutar


las pruebas regularmente, difunde los resultados dentro del equipo y es
tambin el responsable de las herramientas de soporte para pruebas.

ENCARGADO DE SEGUIMIENTO (TRACKER): Sigue la evolucin de


las estimaciones realizadas por los programadores y compararlas con el
tiempo real de desarrollo.

ENTRENADOR (COACH): Es Responsable del


proceso en general. Se encarga de iniciar y de guiar a
las personas del equipo en poner en marcha cada una
de las prcticas de la metodologa XP.

CONSULTOR: Es un Miembro externo del equipo con un conocimiento


especfico en algn tema necesario para el proyecto. Gua al equipo para
resolver un problema especfico.

GESTOR (BIG BOSS): Es el vnculo entre el cliente y


programadores. Experto en tecnologa y labores de
gestin. Su labor fundamental es de coordinacin.

INGENIERIA DE SOFTWARE 8
4.5 FASES DE LA PROGRAMACIN EXTREMA

PLANEACIN:

La Metodologa XP plantea la planificacin como un dilogo continuo entre


las partes involucradas en el proyecto, incluyendo al cliente, a los programadores
y a los coordinadores. El proyecto comienza recopilando las historias de
usuarios, las que constituyen a los tradicionales casos de uso. Una vez obtenidas
estas historias de usuarios, los programadores evalan rpidamente el tiempo
de desarrollo de cada una. Los Conceptos bsicos de la planificacin son:

Las Historias de Usuarios, las cuales son descritas por el cliente.


El Plan de Entregas (Release Plan).
Plan de Iteraciones (Iteration Plan).
Reuniones Diarias de Seguimiento (Stand Up Meeting).

DISEO:

En esta etapa se definir la arquitectura a seguir, se disearn las tarjetas


CRC, el diagrama de clases, los bosquejos y entre otros elementos que
conformarn la estructura del sistema. Los conceptos ms importantes de diseo
en esta metodologa son los siguientes:

INGENIERIA DE SOFTWARE 9
Simplicidad, diseo simple se implementa ms rpido que uno complejo.
Soluciones Spike, utilizar programas de prueba para explorar
diferentes soluciones a problemas detectados.
Recodificacin (Refactoring), escribir nuevamente parte del cdigo
de un programa, sin cambiar su funcionalidad.
Metforas, una manera sencilla de explicar el propsito del proyecto, as
como guiar la estructura del mismo.

CODIFICACIN:

Disponibilidad del Cliente, tener al cliente disponible durante todo el


proyecto, formando parte del grupo.
Uso de Estndares, para que el cdigo sea fcilmente entendible por
todo el equipo, y que facilite la re codificacin.
Programacin Dirigida por las Pruebas (Test-Driven Programming)
Programacin en Parejas.
Integraciones Permanentes, Todos los desarrolladores necesitan
trabajar siempre con la ltima versin.
Propiedad Colectiva del Cdigo, todo el equipo puede contribuir con
nuevas ideas que apliquen a cualquier parte del proyecto.
Ritmo Sostenido, mantener un ritmo constante y razonable, sin
sobrecargar al equipo.

PRUEBAS:

Pruebas Unitarias, Todos los mdulos deben de pasar las pruebas


unitarias antes de ser liberados o publicados.
Deteccin y Correccin de Errores, Cuando se encuentra un error
(Bug), ste debe ser corregido inmediatamente, y se deben tener
precauciones para que errores similares no vuelvan a ocurrir. Asimismo,
se generan nuevas pruebas para verificar que el error haya sido resuelto.
Pruebas de Aceptacin, Son creadas en base a las historias de usuarios,
El Cliente debe especificar uno o diversos escenarios para comprobar que
una historia de usuario ha sido correctamente implementada.

INGENIERIA DE SOFTWARE 10
5. APLICACIN DE XP AL DESARROLLO DEL SISTEMA DE
EVALUACIN AL DESEMPEO DOCENTE

LNEA DE TIEMPO:

POR QU SE ESCOGI LA METODOLOGA XP?

Se desarroll el sistema web utilizando la metodologa XP, ya que es un


proyecto de entregas rpidas y funcionales, se necesita que el sistema
brinde la facilidad de obtener en enorme escala la rpida recoleccin de
datos y procesar toda la informacin pertinente a travs de encuestas
virtuales, para as conseguir una mxima tasa de respuesta al menor
costo posible, esto lo logramos mediante las facilidades que nos brinda
esta metodologa.

Al ser XP una metodologa menos rgida que la RUP nos permite dividir
de una mejor manera el trabajo y llevar menos protocolos, lo que nos
permitir evitar la jerarquizacin del grupo de trabajo que desarrollar el
sistema.

INGENIERIA DE SOFTWARE 11
Otra razn es que XP nos ofrece la facilidad de iterar, y adaptarnos a los
requerimientos del cliente, necesitamos tener retroalimentacin constante
por parte de este. Para nuestro sistema se requiere saber los criterios que
se deben tener en cuenta al realizar las encuestas de cada tipo, el listado
de preguntas dentro de cada encuesta o hacia quien irn dirigidas.

Otra razn, es que el equipo que desarrollar este sistema de evaluacin


docente estar conformado por pocos miembros, teniendo cada uno de
estos la libertad para determinar la manera en cmo codificar, cmo
disear el sistema, y cmo implementarlo.

Constantemente se podrn hacer pruebas, cada vez que se itere, se


detectarn errores, se aplicarn testing para poder entregar al cliente lo
que requiere. Adems con las reuniones diarias, donde el cliente participa
activamente, se definirn que funcionalidades se agregarn al sistema, si
se deben aadir nuevos usuarios que evalen al docente, etc.

Las herramientas que nos proporciona XP son bastante dinmicas, lo que


permitir a los dirigentes de la universidad tomar las decisiones
pertinentes con el fin de aumentar la calidad de la educacin con respecto
a sus docentes.

5.1 PLANIFICACIN
Se quiere que el SEDD (Sistema de Evaluacin al Desempeo Docente),
mediante las encuestas, nos permita evaluar al cuerpo docente. Para la entrega
de este proyecto, el SEDD contar con los siguientes mdulos:

El en Mdulo Sesin, los usuarios tendrn un perfil o un usuario definido en


el sistema para poder acceder a las funcionalidades del mismo.
El en Mdulo de Encuestas, definimos los dos tipos de encuestas, las cuales
son para estudiantes y para docentes. As mismo se podr crear y editar la
informacin correspondiente a las encuestas.
El Mdulo Administracin, permitir gestionar a los usuarios, registrar los
docentes y registrar los estudiantes
El en Mdulo Reportes, estarn las estadsticas de las encuestas.

INGENIERIA DE SOFTWARE 12
HISTORIAS DE USUARIO:

Las Historias de Usuarios del SEDD son las siguientes:

Acceso al Sistema
Creacin de Permisos
Registro Alumnos
Registro Docentes
Registro de Preguntas
Encuesta de Alumnos
Encuesta de Autoevaluacin Docente
Crear Reportes

INGENIERIA DE SOFTWARE 13
INGENIERIA DE SOFTWARE 14
PLAN DE ENTREGA DEL PROYECTO:
Basndonos en las historias de usuario definidas para el desarrollo del
sistema web, se ha elaborado el siguiente plan de entrega, el cual muestra
las historias de usuario que se llevarn a cabo en cada iteracin. Se ha
tomado en cuenta la prioridad y el esfuerzo de cada historia de usuario.

Tabla 2. Plan de entrega del proyecto

ASIGNACIN DE ROLES DEL PROYECTO:

Tabla 3. Asignacin de roles del proyecto

PLAN DE ITERACIONES:

PRIMERA ITERACIN: MDULO SESIN Y ADMINISTRACIN


Para la primera iteracin se han desarrollado los mdulos Sesin,
Administracin, los cuales para lograr su progreso se ha utilizado y a la misma
vez aplicado cada una de las herramientas que se destacan en la metodologa
de programacin extrema XP.

INGENIERIA DE SOFTWARE 15
HISTORIAS DE
USUARIO:

TAREAS DE INGENIERA:

INGENIERIA DE SOFTWARE 16
SEGUNDA ITERACIN: MDULO ENCUESTAS
Para la siguiente iteracin se ha desarrollado el mdulo Encuestas el cual para
lograr su progreso se ha utilizado y a la misma vez aplicado cada una de las
herramientas que se destacan en la metodologa de programacin extrema XP.

HISTORIAS DE USUARIO:

TAREAS DE INGENIERA:

INGENIERIA DE SOFTWARE 17
TERCERA ITERACIN: MDULO REPORTES
Para la ltima iteracin se ha desarrollado el mdulo Reportes, el cual es
generado a partir de Encuestas, este se dise y codific mediante las
herramientas que brinda la metodologa XP.

HISTORIAS DE
USUARIO:

TAREAS DE
INGENIERA:

5.2 DISEO
ARQUITECTURA DEL SISTEMA: MODELO CLIENTE - SERVIDOR

INGENIERIA DE SOFTWARE 18
Cliente/Servidor basa su modelo en la reparticin de tareas, el
procesamiento cooperativo de los datos a travs de un conjunto de
procesadores, donde demandantes de recursos, denominados clientes,
solicitan a los servidores estos requerimientos.

Permite a los usuarios obtener acceso inmediato a los datos y puede ser
ejecutada en sistemas multiusuario a travs de redes, o tambin en un
nico ordenador.

La caracterstica ms fundamental y bsica en este tipo de arquitectura


es la definicin de Servicio, puesto que se trata de la unidad bsica de
diseo, donde el cliente es el que los demanda al servidor.

POR QU CLIENTE - SERVIDOR?

Debido a las distintas ventajas de utilizar esta arquitectura, tomamos en cuenta


los siguientes puntos para utilizar dicha arquitectura en nuestro ejemplo
aplicativo:

INGENIERIA DE SOFTWARE 19
Control: Necesitamos tener el control absoluto de la informacin, los
accesos por parte de los distintos usuarios como alumnos, profesores y
administrador y la integridad de los datos ya que estos no deben ser
manipulados por parte de ellos.

Escalabilidad: El aplicativo debe estar apto a cierto cambio de aumento


de cantidad de usuarios que van a acceder al sistema, es decir debe
soportar el aumento de clientes, para poder responder con facilidad a
todas las peticiones que estos hagan.

Disponibilidad: Debido a que tendremos muchos clientes, iremos


implementando nuevos servidores con el cual no tendremos problemas al
momento de ponerlos en funcionamiento, y si uno de estos falla, otro
responder, as los clientes siempre tendrn disponible a los servidores

Fcil Mantenimiento: Al estar distribuidas en 2 capas de trabajo (Cliente-


Servidor) ser fcil el mantenimiento cuando se quiera implementar algo
a la aplicacin, ejemplo: implementar nuevas o mejoradas vistas al
Cliente.

DIAGRAMA DE COMPONENTES DEL SISTEMA:

INGENIERIA DE SOFTWARE 20
DIAGRAMA DE CLASES:

TARJETAS CRC:

INGENIERIA DE SOFTWARE 21
BOSQUEJOS:

INGENIERIA DE SOFTWARE 22
5.3 CODIFICACIN

INGENIERIA DE SOFTWARE 23
5.4 PRUEBAS

INGENIERIA DE SOFTWARE 24
INGENIERIA DE SOFTWARE 25
6. CONCLUSIONES

INGENIERIA DE SOFTWARE 26
7. BIBLIOGRAFA

INGENIERIA DE SOFTWARE 27
ANEXOS
INGENIERIA DE SOFTWARE 28
INGENIERIA DE SOFTWARE 29