SISTEMA DE SEGUIMIENTO DE PROYECTOS

59
ISC-2003-1-31 Sistema de seguimiento de proyectos Andrés Mora Echeverry Juan Carlos Uribe Silva 1 SISTEMA DE SEGUIMIENTO DE PROYECTOS JUAN CARLOS URIBE SILVA ANDRÉS MORA ECHEVERRY UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN BOGOTA D.C. 2003

Transcript of SISTEMA DE SEGUIMIENTO DE PROYECTOS

Page 1: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

1

SISTEMA DE SEGUIMIENTO DE PROYECTOS

JUAN CARLOS URIBE SILVAANDRÉS MORA ECHEVERRY

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

BOGOTA D.C.

2003

Page 2: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

2

SISTEMA DE SEGUIMIENTO DE PROYECTOS

JUAN CARLOS URIBE SILVAANDRÉS MORA ECHEVERRY

Proyecto dirigido para optar al título deIngeniero de Sistemas y Computación

AsesorJUAN PABLO QUIROGA GONZALEZ

Ingeniero de Sistemas

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

BOGOTA D.C.

2003

Page 3: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

3

CONTENIDO

INTRODUCCIÓN.............................................................................................................................................................. 4

OBJETIVOS........................................................................................................................................................................ 5

MARCO TEORICO.......................................................................................................................................................... 7

DESCRIPCIÓN DE LA APLICACIÓN....................................................................................................................17

CONCLUSIONES............................................................................................................................................................46

ANEXOS.............................................................................................................................................................................48

BIBLIOGRAFIA..............................................................................................................................................................58

Page 4: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

4

INTRODUCCIÓN

En el campo del software para el seguimiento de proyectos, se evidencia una escasez de

aplicaciones computacionales, que vayan más allá de funciones básicas y difíciles de usar;

y que representen una utilidad real, que pueda ser aprovechada por profesores y gerentes de

proyectos. Las herramientas para el seguimiento de proyectos, aunque usadas, no son

aprovechadas por la dificultad en su uso y la poca interacción con el usuario.

Apoyándonos en el amplio uso de las redes de computadores y basados en la necesidad de

la creación de un software que permitiera administrar y monitorear proyectos de Ingeniería

de software, es decir administrar los grupos de trabajo, las fases y los entregables de cada

una de ellas; y tener un control sobre los documentos entregados, de manera sencilla y

amable para los usuarios del software, este proyecto propone una metodología que apoya

el monitoreo de proyectos, que soporte el control y seguimiento eficaz de los documentos

que componen a estos.

El resultado final, se validará con la instalación del software en un ambiente real, en este

caso la red de la Universidad de los Andes. Se desarrollará una aplicación multiplataforma,

en el lenguaje de programación PHP 1, soportado sobre XML-RPC2, y usando como base de

datos MySQL3, todos de distribución y uso libre, para satisfacer las necesidades educativas.

El documento está organizado con las siguientes temáticas:

Marco teórico sobre la tecnología y herramientas usadas para el desarrollo de la aplicación;

y sobre el software que existe actualmente en el mercado, posteriormente la presentación

del análisis, diseño e implementación de la aplicación y finalmente las conclusiones de la

metodología y los manuales respectivos, para el buen uso de la herramienta.

1 PHP: ( Hypertext Preprocessor) es un lenguaje "open source" interpretado de alto nivel embebido en páginasHTML y ejecutado en el servidor.2 XML-RPC: (Extensible Markup Language - Remote Procedure Call) es una especificación eimplementación que permite a una aplicación invocar procesos remotos sobre internet.3 MySQL: Base de datos.

Page 5: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

5

OBJETIVOS

Objetivo General

Desarrollar una aplicación para el seguimiento de proyectos universitarios, fácil de manejar

y con una interfaz sobre Internet, de fácil aprendizaje para los usuarios, que además permita

a los estudiantes delegar funciones a los demás integrantes del grupo dependiendo de los

roles. Por otro lado el software debe permitir enviar documentos al profesor o monitor, con

el fin de que este los revise y analice; y luego se genere un proceso de retroalimentación

hacia los estudiantes, enviándoles comentarios y correcciones, para que mejoren los

entregables de cada fase. Usando el software, mediante un navegador estándar de web, el

administrador de la aplicación puede crear proyectos, con sus respectivas fases, al igual que

adicionar estudiantes estos, definiendo los roles y la distribución de estos en el conjunto

total del curso.

Objetivos específicos

Desarrollar una aplicación para el seguimiento y monitoreo de proyectos.

Proveer de una plataforma gratuita, para el uso universitario, y en general para fines

educativos; para lo cual vamos a usar herramientas de libre uso, como: php y MySql.

Mantener un ambiente seguro, para el envío de documentos, anticipándonos a posibles

ataques y huecos de seguridad; para este fin, usamos sockets seguros y manejamos números

de sesión, cada vez que un usuario ingresa al sistema.

Facilitar la interacción profesor – estudiante, apoyándonos en el uso de la Internet; que es

de fácil acceso para los dos usuarios de la aplicación, y permite enviar los documentos en

formato digital, y obtener un feedback de manera ágil y pronta, para mantener los

cronogramas de desarrollo al día y evitar retrasos.

Crear una aplicación que sirva como repositorio de mensajes, y que por medio de la

Internet se pueda acceder a todas las correcciones y comentarios que se hagan, durante el

Page 6: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

6

proceso de desarrollo de software; permitiendo a los estudiantes y al profesor hacer un

seguimiento de cada una de las fases que tienen los proyectos.

Ofrecer al profesor y a los estudiantes, una interfaz fácil de aprender y sencilla de utilizar,

con el fin de que se genere un canal de comunicación entre los dos usuarios del sistema.

Page 7: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

7

MARCO TEORICO

Introducción

El marco teórico tiene como objetivo aclarar y explicar los términos referentes a un Web

service XML-RPC y explicar el funcionamiento de de este, de una manera general,

viéndolo como una herramienta para realizar procedimientos remotos a través de una red.

Además durante este capitulo se estudiaremos la arquitectura del web service y un detallado

análisis a lo que es XML-RPC como protocolo para procedimientos remotos.

Por último se analizarán las ventajas como las desventajas de la herramienta Bugzilla, la

cual tiene como objetivo el seguimiento y corrección de errores en proyectos, la cual fue

utilizada como base para esta aplicación.

Web service

WEB SERVICE es hoy en día uno de los grandes avances en desarrollo de software que

existe; ya que esta basado en estándares de Internet y permite ser distribuido por los mas

conocidos sistemas operativos. Un web service, es un programa que permite realizar acceso

remoto a procedimientos a través de una red, este es independiente del lenguaje en que esta

escrito y el sistema operativo en que este funcionando, teniendo como sistema de

comunicación (protocolo de comunicación) especificaciones basadas en XML, tales como

XML-RPC o SOAP4. Este tipo de aplicaciones son auto-descriptivas y pueden determinar

que funciones están activas y como se debe acceder a ellas.

Las características más llamativas de estas aplicaciones son su capacidad de integrar varios

sistemas, su bajo costo, facilidad y orientación a herramientas tipo web; lo que se convierte

en una gran ventaja cuando se tiene software empresarial, ya que cumple dos de los grandes

objetivos empresariales, bajo costo e integración.. Hoy en día las empresas optan por este

tipo de desarrollo orientado a solucionar requerimientos internos, integración entre

aplicaciones, programas para socios de ventas y desarrollos en las cadenas de proveedores,

4 SOAP: (Simple Object Access Protocol), es un protocolo basado en XML para el acceso remoto de objetossobre una red.

Page 8: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

8

aprovechando desarrollos anteriores estables y funcionales, por más viejos que estos sean.

La importancia de los web services, dentro de estos desarrollos radica en la disminución de

costos, ya que se convierten en una solución barata, segura y estable, para creación de

aplicaciones de envío de información.

Basados en lo anterior, los web services son vistos como una importante herramienta en el

portafolio de negocios que se tiene para las empresas de hoy en día, aunque se discute

todavía el problema de que los protocolos basados en XML consumen demasiados recursos

en el envío y generan bajos tiempos de respuesta con respecto a protocolos planos que

tienen sus propios estándares menos pesados.

A continuación describiremos la arquitectura que tiene los web service, y las características

que los rodean:

• Capacidad de intercambiar mensajes.

• Autodescripción del web service.

• Implementación de las descripciones de cada web service.

Esta arquitectura define la interacción de tres agentes: el proveedor del servicio, la agencia

de descubrimiento del servicio y el solicitante del servicio, la interacción involucra las

operaciones de publicación, descubrimiento y enlace.

Los componentes de esta arquitectura son:

• El servicio: Es un módulo del software desplegado en una plataforma cualquiera

que debe ser accesible por la red y proporcionado por el proveedor de servicio,

existe para ser invocado o para interactuar con un solicitante del servicio, puede

también funcionar como un solicitante, usando otros servicios en su puesta en

práctica.

Page 9: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

9

• La descripción del servicio: Contiene detalles de la interface y la implementación

del servicio, esto incluye tipo de datos, operaciones, información de enlace y

localización en red. La descripción del servicio puede ser publicada al solicitante

del servicio directamente o a través de una agencia de descubrimiento del servicio.

Los roles que interactúan en esta arquitectura:

• El proveedor del servicio: Desde la perspectiva de negocios, este es el dueño del

servicio, desde la arquitectura es la plataforma que tiene el acceso del servicio. En el

rol cliente-servidor de intercambio de mensajes seria el servidor.

• El solicitante del servicio: Desde la perspectiva de negocios, este seria el negocio

que requiere una función para satisfacer una necesidad y desde el punto de vista de

arquitectura es la aplicación que esta buscando invocar o interactuar con un

servicio. Este rol puede ser interpretado por una persona o por un programa sin

interfaz de usuario (otro web service). En el rol cliente-servidor de intercambio de

mensajes seria el cliente.

• Agencia de descubrimiento del servicio: Este es un conjunto de descripciones del

servicio, que se pueden encontrar fácilmente en la red y son publicados por el

proveedor del servicio. Pueden ser centralizados o distribuidos.

Las operaciones que tiene esta arquitectura:

• Publicación: Para poder ser accesible, el servicio necesita publicar su descripción de

servicios con el fin de que el solicitante del servicio pueda utilizar el web service.

• Búsqueda: El solicitante del servicio requiere la descripción del servicio

directamente o busca en la agencia de descubrimiento del servicio los servicios

disponibles para su uso.

Page 10: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

10

• Interacción: Eventualmente el servicio necesita ser invocado en la interacción con el

solicitante del servicio, necesita invocar o iniciar una interacción con el servicio.

ARQUITECTURA ORIENTADA A SERVICIO

Figura 1.[Los rectángulos significan equipos o computadores, los óvalos significan una aplicación y las flechas significan acciones]

Page 11: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

11

La idea es que es proveedor del servicio defina la descripción de los servicios y la publique

en la agencia de descubrimiento del servicio, el solicitante del servicio busca las funciones

dentro de la agencia de descubrimiento del servicio y se enlaza con la implementación del

proveedor del servicio, invocando o interactuando con el, esto con ayuda de la descripción

del servicio encontrada en el registro o repositorio de la agencia de descubrimiento del

servicio.

XML-RPC

XML-RPC es un protocolo que permite realizar llamados de procedimientos remotos

(Remote Procedure Calling) usando HTTP como transporte y XML como codificación.

Este puede ser usado por varios lenguajes tales como PHP, C, C++, Perl, Java, Python y

otros. Existen implementaciones sobre sistemas operativos tan diversos como Windows,

Unix y Macintosh.

Este protocolo fue creado por Dave Winer , después de salir del proyecto de SOAP en el

cual estaba trabajando con Don Box , Bob Atkinson y Mohsen Al-Ghosein en Microsoft,

esto sucedió ha comienzos de 1998 y esta es la razón por la cual los dos protocolos son en

cierta medida muy parecidos y tienen los mismos objetivos.

XML-RPC tiene como característica principal la implementación de los mínimos

requerimientos, para realizar un llamado remoto a un procedimiento; ya que es claro que el

uso de XML tiene un costo en el desempeño de la red, adicional a su facilidad de

implementación y sencillez.

Esta implementación tiene ciertas limitaciones, entre ellas, que no se puede pasar objetos

por los parámetros, de los llamados a las funciones; no se puede especificar cual porción

del mensaje se recibe; las estructuras de los arreglos son siempre anónimas, pero es claro

Page 12: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

12

que este es el costo que se tiene que pagar por lograr un protocolo que busca la sencillez y

facilidad de uso.

Pero miremos cuales son las ventajas y desventajas que se tiene sobre los otros protocolos

de llamados remotos, por ejemplo CORBA5 que este esta muy bien construido para las

aplicaciones orientadas a objetos y tiene un gran desarrollo en aplicaciones empresariales,

las cuales han demostrado ser estables, pero es muy complejo y su curva de aprendizaje es

alta, adicionalmente se necesita un gran esfuerzo de implementación, al contrario de XML-

RPC que es muy fácil y sencillo de usar.

Si se mira el protocolo DCOM6 de Microsoft que nació como respuesta a CORBA, el cual

tiene un buen desempeño a través de los componentes COM7, pero que tiene como clara

desventaja la incompatibilidad con sistemas NO- Microsoft.

Y Por ultimo tenemos SOAP el cual es muy parecido a XML-RPC pero con muchas mas

características ya que maneja XML Schemas, enumerations, híbrido entre

structuras_arreglos, y tipos personalizados. Pero actualmente muchos aspectos de este

protocolo están por definir.

ESPECIFICACION TECNICA

Cada mensaje de XML-RPC es un mensaje de petición en HTTP-POST, en el cual el

cuerpo del mensaje esta en XML, para luego de ser procesado, el llamado remoto del

servidor retorna también un mensaje en formato XML. (Ver anexo 3).

5 CORBA: son las siglas para “Common Object Request Broker Architecture” y en la practica es unaarquitectura y infraestructura que permite la integración de diferentes aplicaciones sobre una red en común.6 DCOM: (Distributed Component Object Model) es un protocolo que permite que los componentes de lasaplicaciones se comuniquen.7 COM: (Component Object Model) es una arquitectura que permite a aplicaciones ser creadas desde basebinaria.

Page 13: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

13

Los tipos de datos que se pueden manejar a través de este protocolo son:

Nombre Tipo Ejemplo

<i4> or <int> Entero con signo de 4 bytes -12

<boolean> 0 (falso) or 1 (Verdadero) 1

<string> Cadena ASCII HOLA

<double> Numero flotante con doble

precisión y signo

-12.214

<dateTime.iso8601> Fecha/Tiempo 19980717T14:08:55

<base64> base64-encoded binario eW91IGNhbid0IHJlYWQgdGhpcyE=

Adicionalmente XML-RPC permite la creación de estructuras y arreglos con los anteriores

datos, su especificación es <struct> y <array> respectivamente. (Ver Anexo 3).

HERRAMIENTAS PARA EL MANEJO DE ERRRORES

Las herramientas para el manejo de errores sirven para reportar bugs y errores de software

y proyectos en los cuales están trabajando varias personas simultáneamente, con el fin de

tener un control sobre ellos, además de reportarlos ante la comunidad de desarrolladores,

para que puedan solucionarlos y tenerlos encuentra cuando uno de ellos los este afectando.

BUGZILLA

Bugzilla es un programa para el seguimiento de errores dentro de un sistema determinado,

este permite que un grupo de desarrolladores le sigan la pista a los errores que se generan

dentro de la elaboración de un proyecto determinado.

Page 14: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

14

Bugzilla fue creado por Terry Weissman y escrito en el lenguaje de programación TCL ,

con el propósito de remplazar la base de datos de errores (Bugs) usada internamente en

Netscape Communications. Luego este programa fue escrito por Weissman en Perl,

lenguaje de programación en el cual permanece escrito hoy.

Bugzilla es uno de los más conocidos y favoritos por los programadores a nivel mundial,

para el manejo de proyectos orientado al seguimiento de errores en el proyecto. Gracias a

que Bugzilla hace parte de la enorme cantidad de software libre, es ampliamente utilizado

para una gran variedad de proyectos. Adicionalmente se ha generado un proyecto de código

abierto Mozilla, en el cual la comunidad de software libre esta participando para mejorar y

ampliar el funcionamiento de Bugzilla. Para esto se creo www.mozilla.org en 1998, este es

hoy día manejado por Dave Miller.

Para dar un ejemplo sobre las capacidades del programa podemos mencionar las más

importantes características que tiene este:

• Integración de un esquema de seguridad.

• Dependencia entre los errores y entre las graficas de las dependencias.

• Capacidades avanzadas de reportes.

• Extensos modos de configurar el programa.

• Un claro y entendible protocolo para resolver los errores.

• APIs para email, XML, consola y HTTP

• Permite integración con programas como CVS 8 y Perforce.

Actualmente se esta trabajando para que el programa tenga una instalación mucho mas

fácil, soporte mas bases de datos y en mejorar las posibilidades de habilitar y deshabilitar

características del programa, esto como base del proyecto de Mozilla.

8 CVS:( Concurrent Versions System) es una aplicación diseñada para controlar versiones de aplicaciones.

Page 15: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

15

Pero para realizar estos cambios se tienen que mantener los principios del diseño que se

quiere tengan los programas realizados a través de Mozilla:

• Estos programas tiene que ser escritos en herramientas de software libre y su código

tendrá que ser abierto, con posibilidades de obtener fácilmente el código fuente del

programa.

• Se tendrá soporte para versiones comerciales de bases de datos, herramientas y

sistemas operativos.

• Se mantendrá a cualquier costo la velocidad y eficiencia

• Los llamados a la base de datos y los tipos de datos tiene que ser ANSI SQL9

• La interfaz grafica e interacción con el usuario será a través de HTML.

Problemas

Como es un programa realizado por la comunidad Mundial tiene una velocidad de

desarrollo lenta y aunque es una herramienta útil, tiene varios errores por corregir en el

manejo de interfaz ya que el número de dependencias en el árbol de errores es limitado y

algunas se pierden o no son claras, la búsqueda de errores en algunas ocasiones genera

problemas en la fecha, adicionalmente existen errores en la instalación, ya que el parser de

XML no se instala correctamente, y muchos mas errores de implementación que desvirtúan

un poco la utilidad de esta herramienta.

Pero bugzilla adicionalmente a que tiene errores en la implementación, tiene deficiencias en

su arquitectura ya que no es una herramienta que esta actualizada constantemente en los

cambios que existen dentro de la base de datos de errores, además no permite la creación

dinámica de reporte de errores, y no cuenta, hoy en día, con una instalación fácil y

amigable para el usuario.

En conclusión la herramienta está hecha para ingenieros de sistemas con un alto grado de

conocimientos técnicos y no para usuarios normales.

9 ANSI SQL: lenguaje de base de datos.

Page 16: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

16

Page 17: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

17

DESCRIPCIÓN DE LA APLICACIÓN

Esta es un aplicación que funciona sobre Internet, permitiendo acceder a ella con un

navegador estándar, y que su funcionalidad principal es la de facilitar a los usuarios, la

comunicación de correcciones y comentarios que se hagan, entre ellos; con el fin de agilizar

los procesos de envío de documentos, relacionados con un proyecto determinado, de esta

manera un estudiante puede recibir, las correcciones que se deban hacer, y dependiendo de

su rol en el grupo de trabajo, delegar la responsabilidad de arreglarlas a otro compañero de

su grupo. El profesor, en su rol de usuario, puede crear los grupos y los proyectos que crea

pertinentes y adicionar a estos lo estudiantes, de manera que el, al recibir un documento le

haga le haga los diferentes comentarios, e inmediatamente los estudiantes se enteren y lo

corrijan.

• Para entrar al sistema, el usuario debe registrarse, para verificar su identidad y los

permisos que tiene.

• Luego de ingresar al sistema dependiendo de los privilegios que tenga el usuario, es

decir si es profesor o estudiante, se muestra un menú.

Page 18: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

18

Ejemplo menu estudiante:

Ejemplo menú del profesor:

• El usuario puede escoger cualquiera de las opciones que se muestran, y

dependiendo de la que elija, el pantallaso tendrá diversas opciones.

Page 19: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

19

Análisis

Usuarios del sistema:

Administrador:

Page 20: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

20

Persona encargada de la creación y administración de los perfiles de los estudiantes en el

sistema.

Profesor:

Persona encargada de asignar los proyectos, y hacer anotaciones en los documentos

entregados.

Estudiante:

Persona que pertenece a un grupo, y que tiene un rol dentro de este, encargada de enviar

determinados documentos.

Diagrama de casos de uso

Crear Proyecto Eliminar Proyecto Modificar Proyecto

Ver Proyecto Ver Proyectos

Revisar documento

Profesor

Page 21: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

21

Agregar usuarios

Administrador

Buscar Usuario

Agregar usuarioModificar usuario

Eliminar usuario

Consultar usuarios

Cambiar claveAutenticar

Asignar documentos a corregir

Enviar documento Ver Proyecto

Estudiante

Requerimientos funcionales

Casos de uso:

ID del Caso cu1

Nombre Crear Proyecto

Nombre de los Autores

Fecha Octubre 30 de 2002

Page 22: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

22

Actores Profesor

Descripción Crear los proyectos, a los cuales van a pertenecer losestudiantes

Curso Básico de Eventos

Procedimiento 2.1. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de crear proyecto.

Ingreso de datos: El profesor ingresa los datos de losproyectos. Nombre y estado.

El sistema verifica que los datos coincidan con el tipo de labase de datos.

El sistema confirma la creación del proyecto.

Etapas en el Camino deExcepción

Procedimiento 2.2. Etapas en el Camino de Excepción

Los datos están incompletos

El profesor no ingresa los datos completos del proyecto

El tipo de los datos es erróneo

Al ingresar los datos, estos no coinciden con el tipo en la basede datos.

Puntos de extensiónProcedimiento 2.3. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

Page 23: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

23

ID del Caso cu2

Nombre Eliminar Proyecto

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Profesor

Descripción El profesor puede eliminar proyectos que ya no seannecesarios.

Curso Básico de Eventos

Procedimiento 2.4. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de eliminar proyecto.

El profesor digita el nombre del proyecto.

El sistema pregunta si realmente quiere eliminar este proyecto.

El profesor acepta el borrar el proyecto.

El sistema confirma la eliminación exitosa del proyecto.

Etapas en el Camino deExcepción

Procedimiento 2.5. Etapas en el Camino de Excepción

El proyecto no existe.

Al digitar el nombre del proyecto, este no existe en la base dedatos.

Puntos de extensiónProcedimiento 2.6. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Page 24: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

24

Prioridad alta

ID del Caso cu3

Nombre Modificar Proyecto

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Profesor

Descripción El profesor puede modificar proyectos para cambiarle el estadoo el nombre.

Curso Básico de Eventos

Procedimiento 2.7. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de modificar proyecto.

El profesor digita el nombre del proyecto.

El sistema muestra los campos que pueden ser modificados.

El profesor realiza los cambios necesarios y los envía.

El sistema confirma la las modificaciones hechas.

Etapas en el Camino deExcepción

Procedimiento 2.8. Etapas en el Camino de Excepción

El proyecto no existe.

Al digitar el nombre del proyecto, este no existe en la base dedatos.

Puntos de extensiónProcedimiento 2.9. Puntos de extensión

Precondición

Page 25: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

25

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso cu4

Nombre Ver Proyecto

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Profesor

Descripción El profesor puede ver los datos de determinado proyecto.

Curso Básico de Eventos

Procedimiento 2.10. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de ver proyecto.

El profesor digita el nombre del proyecto.

El sistema muestra todos los datos de este proyecto.

Etapas en el Camino deExcepción

Procedimiento 2.11. Etapas en el Camino de Excepción

El proyecto no existe.

Al digitar el nombre del proyecto, este no existe en la base dedatos.

Puntos de extensiónProcedimiento 2.12. Puntos de extensión

Precondición

Page 26: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

26

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso cu5

Nombre Ver Proyectos

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Profesor

Descripción El profesor puede ver los nombres y el ID de todos losproyectos.

Curso Básico de Eventos

Procedimiento 2.13. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de ver proyectos.

El sistema muestra un listado de todos los proyectos y sus ID.

Etapas en el Camino deExcepción

Procedimiento 2.14. Etapas en el Camino de Excepción

Ninguno.

Puntos de extensiónProcedimiento 2.15. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Page 27: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

27

Prioridad alta

ID del Caso cu6

Nombre Revisar Documento

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Profesor

Descripción El profesor puede revisar los documentos que le envían losestudiantes.

Curso Básico de Eventos

Procedimiento 2.16. Curso Básico de Eventos

Ingreso al sistema: El profesor se identifica ante el sistema, consu login y password.

El sistema muestra el menú con los privilegios y opciones delprofesor.

El profesor escoge la opción de revisar documento.

El sistema muestra los documentos pendientes por revisar y lafecha de ingreso del mismo.

El profesor escoge que documento quiere revisar.

El sistema descarga del documento en el PC del profesor.

El profesor revisa el documento y se los envía de nuevo al grupocon las anotaciones correspondientes.

Etapas en el Camino deExcepción

Procedimiento 2.17. Etapas en el Camino de Excepción

Ninguno.

Puntos de extensiónProcedimiento 2.18. Puntos de extensión

Precondición

Page 28: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

28

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso cu7

Nombre Ver proyecto

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Estudiante

Descripción El estudiante puede ver los datos del proyecto al cual pertenece.

Curso Básico de Eventos

Procedimiento 2.19. Curso Básico de Eventos

Ingreso al sistema: El estudiante se identifica ante el sistema, consu login y password.

El sistema muestra el menú con los privilegios y opciones delestudiante.

El estudiante escoge la opción de ver proyecto.

El sistema muestra los datos, fechas y fases de todos losproyectos a los cuales pertenece el estudiante.

Etapas en el Camino deExcepción

Procedimiento 2.20. Etapas en el Camino de Excepción

Ninguno.

Puntos de extensiónProcedimiento 2.21. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Page 29: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

29

Prioridad alta

ID del Caso cu8

Nombre Enviar documento

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Estudiante

Descripción El estudiante envía los documentos de cada fase, cada vez queestén listos.

Curso Básico de Eventos

Procedimiento 2.22. Curso Básico de Eventos

Ingreso al sistema: El estudiante se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delestudiante.

El estudiante escoge la opción de enviar documento proyecto.

El sistema muestra los proyectos a los cuales pertenece elestudiante.

El estudiante escoge el proyecto, al cual pertenece el documentoque va a enviar.

El sistema solicita el documento que se va a enviar.

El estudiante busca en su PC el documento que va a enviar yescoge la fase a la cual pertenece.

El sistema confirma que el envió del documento fue exitoso

Etapas en el Camino deExcepción

Procedimiento 2.23. Etapas en el Camino de Excepción

Error en el envió del documento.

Al intentar enviar el documento se produce un error en laconexión.

Page 30: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

30

Puntos de extensiónProcedimiento 2.24. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso cu9

Nombre Asignar documentos a corregir

Nombre de los Autores

Fecha Octubre 30 de 2002

Actores Estudiante

Descripción El estudiante asigna los documentos que tienen anotaciones alos demás integrantes del grupo.

Curso Básico de Eventos

Procedimiento 2.25. Curso Básico de Eventos

Ingreso al sistema: El estudiante se identifica ante el sistema,con su login y password.

El sistema muestra el menú con los privilegios y opciones delestudiante.

El estudiante escoge la opción de asignar documentos.

El sistema muestra los documentos que están pendientes decorregir.

El estudiante escoge alguno de estos documentos.

El sistema muestra los miembros del grupo a los que se lespuede asignar el documento.

El estudiante escoge a uno de los miembros del grupo y le

Page 31: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

31

asigna el documento.

El sistema confirma que la asignación fue exitosa.

Etapas en el Camino deExcepción

Procedimiento 2.26. Etapas en el Camino de Excepción

Ninguno.

Puntos de extensiónProcedimiento 2.27. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso cu10

Nombre Buscar Usuario

Nombre de los Autores

Fecha Septiembre 3 de 2002

Actores Administrador

Descripción Buscar un usuario por tres posibles opciones.

Curso Básico de Eventos

Procedimiento 2.1. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de buscar usuario.

El sistema muestra las opciones por las cuales puede buscar, queson login y nombre del usuario.

El administrador ingresa uno de los datos para hacer la

Page 32: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

32

búsqueda.

El sistema realiza la búsqueda en la base de datos.

Resultados: El sistema muestra el usuario encontrado con todossus datos.

Etapas en el Camino deExcepción

Procedimiento 2.2. Etapas en el Camino de Excepción

El usuario no esta en la base de datos

La búsqueda no arroja coincidencias de los datos

Puntos de extensiónProcedimiento 2.3. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu11

Nombre Agregar usuario

Nombre de los Autores

Fecha Septiembre 3 de 2002

Actores Administrador

Descripción Ingresar nuevos usuarios al sistema

Curso Básico de Eventos

Procedimiento 2.4. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de agregar usuario.

Page 33: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

33

El sistema muestra el formulario para llenar los datos (nombre,apellidos, login y password).

El administrador llena los datos y los envía

El sistema realiza el instert en la base de datos

El sistema notifica al administrador que el nuevo usuario fuecreado con éxito.

Etapas en el Camino deExcepción

Procedimiento 2.5. Etapas en el Camino de Excepción

Los datos están incompletos

El sistema detecta que faltan por llenar campos del formulario

Los datos no corresponden al tipo de datos esperados por la basede datos

El sistema compara los datos ingresados y detecta que el tipo esdistinto al esperado por la base de datos

Puntos de extensiónProcedimiento 2.6. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu12

Nombre Modificar Usuario

Nombre de los Autores

Fecha

Actores Administrador

Descripción Cambiar los datos de un usuario

Page 34: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

34

Curso Básico de Eventos

Procedimiento 2.7. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de modificar usuario.

El sistema muestra el formulario para llenar los datos.

El administrador modifica cualquiera de los datos del usuario(nombre, apellidos, login o password)

El sistema realiza el update en la base de datos

El sistema notifica al administrador que el cambio fue realizadocon éxito.

Etapas en el Camino deExcepción

Procedimiento 2.8. Etapas en el Camino de Excepción

Los datos no corresponden al tipo de datos esperados por la basede datos

El sistema compara los datos ingresados y detecta que el tipo esdistinto al esperado por la base de datos

Puntos de extensiónProcedimiento 2.9. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu13

Nombre Eliminar Usuario

Nombre de los Autores

Page 35: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

35

Fecha Septiembre 3 de 2002

Actores Administrador

Descripción Cambia el estado del usuario a inactivo

Curso Básico de Eventos

Procedimiento 2.10. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de eliminar usuario.

El sistema pide el login del usuario a eliminar.

El administrador ingresa el login

El sistema cambia el estado del usuario en la base de datos ainactivo

El sistema notifica al administrador que el usuario fueeliminado.

Etapas en el Camino deExcepción

Procedimiento 2.11. Etapas en el Camino de Excepción

El login no existe

El sistema busca en la base de datos al usuario y no loencuentra

Puntos de extensiónProcedimiento 2.12. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu14

Page 36: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

36

Nombre Consultar Usuarios

Nombre de los Autores

Fecha Septiembre 3 de 2002

Actores Administrador

Descripción Muestra la lista de usuarios activos en el sistema

Curso Básico de Eventos

Procedimiento 2.13. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de Consultar usuarios.

El sistema muestra el listado de usuarios activos.

Etapas en el Camino deExcepción

Procedimiento 2.14. Etapas en el Camino de Excepción

ninguno

Puntos de extensiónProcedimiento 2.15. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu15

Nombre Agregar Usuarios

Nombre de los Autores

Fecha Septiembre 3 de 2002

Page 37: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

37

Actores Administrador

Descripción Se insertan varios usuarios, cargados desde un archivo XML

Curso Básico de Eventos

Procedimiento 2.16. Curso Básico de Eventos

El administrador ingresa login y clave para entrar al sistema.

El sistema muestra el menú con las opciones y privilegios deladministrador.

El administrador escoge la opción de Agregar usuarios.

El sistema pide el archivo en XML.

El administrador busca el archivo en el computador y loenvía.

El sistema confirma que se ingresaron los usuarios.

Etapas en el Camino deExcepción

Procedimiento 2.17. Etapas en el Camino de Excepción

ninguno

Puntos de extensiónProcedimiento 2.18. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu16

Nombre Autenticar

Nombre de los Autores

Fecha Septiembre 3 de 2002

Page 38: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

38

Actores Estudiante

Descripción El usuario ingresa al sistema

Curso Básico de Eventos

Procedimiento 2.19. Curso Básico de Eventos

El estudiante ingresa al sistema.

El sistema pide el login y la clave.

El usuario ingresa la clave y el login.

El sistema verifica los datos en la base de datos.

El usuario ingresa al menú con sus opciones y privilegios.

Etapas en el Camino deExcepción

Procedimiento 2.20. Etapas en el Camino de Excepción

El login o la clave no son correctos

El sistema verifica en la base de datos y la clave y/o el loginno coinciden

Puntos de extensiónProcedimiento 2.21. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

ID del Caso Cu17

Nombre Cambiar clave

Nombre de los Autores

Fecha Septiembre 3 de 2002

Actores Estudiante

Page 39: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

39

Descripción El usuario cambia su clave

Curso Básico de Eventos

Procedimiento 2.22. Curso Básico de Eventos

El usuario ingresa al sistema con su login y password.

El sistema pide la clave antigua, la nueva y la confirmación de lanueva.

El usuario ingresa los datos que pide el sistema.

El sistema confirma el cambio de clave.

Etapas en el Camino deExcepción

Procedimiento 2.23. Etapas en el Camino de Excepción

La confirmación de la clave no coincide

El sistema compara la nueva clave y la confirmación y nocoinciden

La nueva clave no cumple con las especificaciones de clave

El campo de la clave debe cumplir ciertas especificaciones, si nolas cumple el sistema avisa al usuario

Puntos de extensiónProcedimiento 2.24. Puntos de extensión

Precondición

Poscondición

Frecuencia de Uso

Prioridad alta

Page 40: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

40

Requerimientos No Funcionales

Nombre Descripción Criterio de Aceptación Tipo Escritico?

Mysql

La base de datos sobre la quedebe correr el sistema debeser gratuita como: Mysql oPostgres

La respuesta a lasconsultas debe serrápida, 3 segundos.Máximo.

necesario si

Comunicación alservidor

El sistema debe usar unprotocolo de comunicaciónbasado en XML

La comunicación debeser rápida y segura necesario si

SeguridadEl envío de datos a través dela red, hacerse de manerasegura

La aplicación debe usarsockets seguros. necesario si

PHP

La aplicación debe serdesarrollada sobre PHP, yaque es un leguaje estable yde libre uso.

El lenguaje debepermitir que los socketssean seguros, es decirSSL

necesario si

Diseño

Diseño de la aplicación

Para la implementación de la aplicación el desarrollo lo dividimos en dos partes, una de

administración, mediante el cual se crean los proyectos y los estudiantes se ingresan al

sistema con sus respectivas claves; y la otra es la que tiene toda la funcionalidad del sistema

de seguimiento de proyectos, que incluye el envío de entregables, la revisión de los mismos

y la asignación de tareas a corregir por parte del líder y los demás integrantes de los grupos.

Con el fin de desarrollar una aplicación altamente escalable, creamos tres módulos: uno de

presentación, otro de comunicación y el último de base de datos.

Page 41: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

41

Módulo de presentación: Este módulo se encarga de la interacción con el usuario,

mostrando los distintos pantallazas de navegación y la información que el usuario solicita al

sistema.

Módulo de XML-RPC: Este módulo es el encargado de comunicar los módulos de

persentación y de Kernel, es decir envía la información al cliente para que sea mostrada a

los distintos usuarios, y cuando un usuario está haciendo uso de la aplicación, y solicita

datos o envía consultas, este módulo es el encargado de crear el mensaje y pasarlo al

módulo de Kernel.

Módulo de Kernel: Este módulo tiene como función hacer los llamados al módulo de base

de datos, para que este realice las consultas, solicitadas y devuelva la respuesta. Cuando la

base de datos responde a las solicitudes de información, el kernel, por medio del módulo de

comunicaón, envia al de presentación, para que este muestre el resultado al usuario.

Modulo de base datos: Este modulo es el encargado directo de conectarse y comunicarse

con la base de datos y responder al modulo de comunicación la consultas que este el envía,

para este modulo creamos una librería, que es la encargada de hacer las inserciones,

búsquedas y actualizaciones, en Mysql o en cualquier otro administrador de bases de datos,

16 en total: para lo cual creamos una consulta genérica, que dependiendo de la variable

base, realiza los cambios necesarios, adecuándola al lenguaje especializado de cada

administrador.

Cada vez que se hace el envío de un mensaje con un servicio requerido, entre los módulos,

el sistema para mantener la seguridad también para por parámetro un número de sesión que

se genera al ingresar al sistema con el login y password.

Page 42: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

42

A continuación la figura de los tres módulos:

El procedimiento normal que seguiría cualquier instrucción en el diseño que planteamos

para el funcionamiento de la aplicación, y basados en el modelo anterior seria el siguiente:

Presentación

XML-RPC

Kernel

Base de datos

Módulo desarrollado en HTML yPHP, que se encarga deinteractuar con el usuario

En este punto, se realiza lacreación de los mensajes xml-rpc,para enviarlos de un módulo a otro

El kernel hace el llamado alarchivo de BD, para que este hagalas consultas a la BD.

Este módulo contiene las consultasgenéricas, para cualquier base dedatos, y se conecta con la BD.

Page 43: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

43

Presentacion:

XML-RPC:

Kernel:

Base de datos:

BD:

Solicitud de Información Envío de mensaje xml-rpc Llamado a la consulta respectivaEnvio de Query

Respuesta

Respuesta en un String

Respuesta en mensaje xml-rpc

Información para mostrar

Diseño de la base de datos

Para la implementación de la aplicación a la cual hacemos referencia en este documento

utilizamos la base de datos Mysql; la cual escogimos por que es de libre uso para desarrollo

de herramientas. Para mantener la escalabilidad del sistema que desarrollamos, el software

fue desarrollado, de manera que se pueda utilizar varios tipos de administradores de bases

de datos, tales como Oracle, Sql, Postgres, etc., simplemente cambiando una variable global

del programa.

El diseño de la base de datos que utilizamos, para tener un rendimiento adecuado de la

aplicación, y para cumplir los requerimientos definidos, es el siguiente:

Page 44: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

44

Usuario

#loginnombreapellidospasswordestadopermisos

Grupo

#gruponombre

Proyecto

#idnombrenumero_fasesestado

Entregable

#idnombreultimo_plazofecha_entregaversion

1

1..*1

1..*

11..*

1

1..*1

1..*

Implementación

Para la implementación del software de seguimiento de proyectos, usamos como lenguaje

de programación base PHP, el cual es software libre, es hoy en día uno de los lenguajes

modernos mas utilizados y su estabilidad sobre la red es bastante confiable, además del

crecimiento exponencial que ha tenido el desarrollo sobre este lenguaje.

El lenguaje de comunicación es XML-RPC, que es una tecnología nueva, para web services

desarrollados sobre PHP; el cual maneja sockets seguros, apoyándose en el webserver

apache que en su ultima versión ya implementa esta funcionalidad de seguridad, la

escogencia de esta nueva tecnología, además nos inclinamos por este protocolo; por que

otros lenguajes como soap, aun su especificación no esta totalmente definida, las

especificaciones del mismo aun no están estandarizadas y el manejo de los datos es

complejo; ya que tiene implementados objetos, schemas y otros, que son estructuras que no

necesitamos para las necesidades de la aplicación.

La base de datos usada fue Mysql, la cual es gratuita, y tiene la capacidad necesaria para

soportar una gran cantidad de información, sin disminuir su rendimiento, lo cual se ajusta a

Page 45: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

45

los requerimientos universitarios, para lo cual fue diseñada la aplicación, agregando que su

instalación es sencilla, tanto en ambientes Windows como linux.

Page 46: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

46

CONCLUSIONES

Logramos establecer un protocolo de comunicación para web services, el cual no depende

de la plataforma sobre la que corre, por lo tanto funciona sobre windows y linux. También

se logro, que el lenguaje sobre el que esta escrita la aplicación, no afectara los servicios que

este tiene y que la base de datos fuera totalmente independiente del desarrollo, permitiendo

el uso de casi cualquier base de datos, incluyendo las mas conocidas y comerciales que hay

en el mercado.

Para fines educativos, creamos un producto totalmente libre, excepto por los derechos de

autor; ya que fue montado totalmente con herramientas de uso libre, como: php, mysql,

xml-rpc, montado sobre Internet, lo que demuestra que no es necesario grandes inversiones

de dinero, para la creación de software de calidad y de alta funcionalidad.

Exploramos en nuevas tecnologías, para la creación de web services, desarrollando un web

service en php, lo cual es un campo poco explorado, con muy pocas aplicaciones, que

tengan la documentación adecuada, avanzando en este campo de manera significativa,

dejando una base para futuras aplicaciones.

Basados en la actualidad que esta viviendo el mundo, la globalización y la era de la

información, creamos un producto que se adecua a las necesidades actuales, de estudiantes

y de profesores; el cual funciona sobre Internet, proporcionando inmensas facilidades de

uso y de acceso desde cualquier lugar del mundo, además de tener una interfaz grafica

amable, incursionando en nuevos campos de la programación basada en html, explotando

todas las funcionalidades que este medio y leguaje nos proporciona.

El desarrollo de nuevas aplicaciones implican un alto grado de escalabilidad, ya que

siempre es necesario dejar abierto el software a la posibilidad de agregar nuevas

funcionalidades, lo cual se logra mediante la creación de módulos y capas de desarrollo.

También es importante que esta escalabilidad sea tan poderosa, en caso de que las versiones

del lenguaje sobre el que esta creado cambie, es decir, si decidimos cambiar la versión del

interpretador de PHP de nuestro servidor, el cambio en el software no sea dramático, sino

Page 47: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

47

que la complejidad del mismo sea la de reemplazar una variable, lo cual aplica de igual

manera para el manejador de la base de datos o la base de datos en si.

Por ultimo es importante que el software que uno desarrolle se pueda integrar con otras

aplicaciones, con el fin de que varios ingenieros puedan trabajar en distintos módulos de

una aplicación grande, y luego la integración de estos no sea un procedimiento traumático,

incluyendo el caso en que estos estén desarrollados en lenguajes diferentes.

Para la aplicación que desarrollamos queda faltando la integración de otros módulos, como

el de envío de documentos, el cual puede ser adicionado facilmente, gracias al diseño de la

herramienta.

Page 48: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

48

ANEXOS

Anexo 1.

Manual de instalación

Prerrequisitos básicos para la instalación

Intel x86 procesador, 200 Mhz (o mas rápidos).

Sistema operativo windows 95 (o versiones avanzadas) o Linux Versión Red Hat 8.0 (o

mejor) o otras versiones con el mismo Kernel.

45 MB libres en disco duro.

Instalado el servidor de HTTP APACHE versión 2.0.42.

Instalado PHP versión 4.2.3.

Instalación de la base de datos MySQL versión 3.23.53

Instalación del programa SISPRO.

Instalación del programa SISPRO:

1. Copiar en la carpeta de /htdocs del apache (Windows) o www/html (linux) , la

carpeta del programa completo.

2. Antes de utilizar el programa SISPRO, el usuario debe tener en cuenta que tiene

que tener funcionado la base de datos y el apache para lograr acceder al programa

debidamente.

3. Asegurarse que el apache este configurado para correr como localhost , y luego

abrir en el explorador la siguiente pagina:

http://localhost/SISPRO/setup.php

En donde se creara la base de datos y sus datos iniciales, tales como el usuario

administrador. Si se quiere mirar cuales son los scripts que son necesarios para

correr dentro de la base de datos se puede mirar el archivo:

Page 49: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

49

Carpeta de htmls del apache/SISPRO/sql.sql

4. Abrir en el explorador de la pagina del proyecto, para utilizar el programa.

http://localhost/SISPRO1.0.9/cliente/main.php

para comodidad del usuario se le sugiere que esta pagina sea incluida en favoritos

para su mejor uso.

Instalación del servidor de HTTP APACHE versión 2.0.42

1. Lo primero es tener los instaladores de la aplicación que se puede acceder en la

dirección:

http://www.php.net/get_download.php?df=php-4.2.2-Win32.zip

2. Durante la instalación el programa preguntara por la información del servidor donde

se debe completar lo siguiente:

Server Name: localhost

3. Luego terminar la instalación normal del programa, teniendo en cuenta que para su

mínima instalación se requiere 28 MB en disco duro.

Instalación de PHP

1. Lo primero es tener los instaladores de la aplicación que se puede acceder en la

dirección:

http://www.php.net/get_download.php?df=php-4.2.3-Win32.zip

http://www.php.net/get_download.php?df=php-4.2.3-installer.exe

Page 50: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

50

2. Correr el instalador de la aplicación y tener en cuenta que se deben realizar cambios

en el php.ini, los cuales están explicados y documentados en el readme.txt de la

aplicación.

Instalación de MySQL

Lo primero es tener los instaladores de la aplicación que se puede acceder en la dirección:

http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.53-win.zip(13.3) MB

Y seguir todos los pasos de la instalación en el cual hay que tener en cuenta para luego

saber cuales son los cambios que son pertinentes en el php.ini, para que php puede utilizar

la base de datos.

PHPTRIAD

Una opción para instalar los programas adicionales que se requieren para que funcione

SISPRO, es instalar el programa phptriad versión 2.11 el cual instala y configura

automáticamente todas estas herramientas. Este programa se encuentra en la siguiente

dirección:

http://prdownloads.sourceforge.net/phptriad/phptriadsetup2-11.exe

Page 51: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

51

Anexo 2

Manual del usuario

La idea es separar en tres roles de usuario a los usuarios en general del programa, primero

hay un administrador el cual crea las cuentas que usaran los usuarios (Profesor y alumnos)

y este a su vez puede crear cuentas de administrador.

Para iniciar el programa se debe ejecutar en el explorador el siguiente URL en el cual se

entrara a la pagina principal de programa:

http://localhost/SISPRO1.0.9/cliente/main.php

NOTA: Para que el programa funciona se debe tener ejecutando el APACHE y MySQL.

El usuario que será el administrador debe entrar al sistema con los siguientes datos:

Usuario : admin

Password : admin

Crear las cuentas de todos los usuarios del programa y definir a cada uno el rol que tiene

como usuario para el sistema. Para realizar esta actividad el administrador cuenta con las

siguientes opciones:

• Agregar Usuario

• Eliminar Usuario

• Modificar Usuario

• Mostrar Usuario

• Buscar Usuario

• Cambiar Clave

Page 52: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

52

Es recomendable cambiar la clave del administrador por seguridad del sistema.

El usuario con el rol de profesor podrá ingresar con su a su cuenta y tendrá las opciones:

• Crear un proyecto

• Asignar grupo de trabajo a un proyecto

• Mostrar estado de proyecto

• Mostrar datos de un proyecto

• Realizar revisiones pendientes

Con las cuales podrá realizar el seguimiento de los proyecto que tiene a cargo.

El usuario con el rol de estudiante podrá ingresar con su cuenta y tendrá las siguientes

opciones:

• Ver datos del proyecto

• Mostrar estado del proyecto

• Realizar entrega de documento

Con las cuales podrá realizar el desarrollo de un proyecto, recibir las notificaciones y

comentarios a sus entregas realizadas. Adicionalmente si es director del proyecto tendrá la

opción de definir quien del grupo debe responder las correcciones determinas por el

profesor.

Page 53: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

53

Anexo 3.

Ejemplo XML-RPC:

Request

La siguiente descripción realiza un pedido por parte del cliente al web service “examples” y

cuya función requerida es “getStateName”, a la cual se le envía el parámetro entero 41.

Esto es solo un ejemplo sencillo sobre como se realiza un requerimiento a un web service a

una función especifica con parámetros, por medio del protocolo XML-RPC por parte del

cliente.

<i4> significa valor entero

POST /RPC2 HTTP/1.0

User-Agent: Frontier/5.1.2 (WinNT)

Host: betty.userland.com

Content-Type: text/xml

Content-length: 181

<?xml version="1.0"?> //**Versión de XML que se esta usando

<methodCall> //**Inicio del llamado

<methodName>examples.getStateName</methodName> //** Nombre del método

<params>

<param>

<value>

<i4>41</i4> //**Valor entero = 41

</value>

</param>

</params>

Page 54: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

54

</methodCall>

La primera línea puede ir vacía solo especificada por un slash, pero esto es solo cuando el

servidor únicamente esta manejando request en XML-RPC, lo cual se especifica cuando el

servidor esta configurado para manejar varios tipos de request.

Respuesta normal

HTTP/1.1 200 OK //**Respuesta del servidor normal

Connection: close

Content-Length: 158

Content-Type: text/xml

Date: Fri, 17 Jul 1998 19:55:08 GMT

Server: UserLand Frontier/5.1.2-WinNT

<?xml version="1.0"?>

<methodResponse> //**Inicio de la respuesta

<params>

<param>

<value><string>Valor ingresado correctamente</string></value>

</param>

</params>

</methodResponse>

Ha menos de que exista un error de bajo nivel simpre retornara HTTP/1.1 200 OK

Page 55: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

55

Respuesta anormal

HTTP/1.1 200 OK

Connection: close

Content-Length: 426

Content-Type: text/xml

Date: Fri, 17 Jul 1998 19:55:02 GMT

Server: UserLand Frontier/5.1.2-WinNT

<?xml version="1.0"?>

<methodResponse>

<fault> //** Inicio de la respuesta anormal del servidor

<value>

<struct>

<member>

<name>faultCode</name>

<value><int>4</int></value>

</member>

<member>

<name>faultString</name>

<value><string>Too many parameters.</string></value>

</member>

</struct>

</value>

</fault>

</methodResponse>

Page 56: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

56

Anexo 4.

Funcionamiento de la aplicación

La aplicación tiene como objetivo el seguimiento de proyectos en red, de manera que en la

primera etapa el profesor pueda crear proyectos y además adicionar las fases que este

tendrá, adicionalmente el profesor tiene que seleccionar o aceptar los estudiantes a trabajar

en el proyecto durante el semestre.

La aplicación después de su “configuración” permite dos funcionalidades básicas que son:

entregas de los documentos por parte de los estudiantes y entregas de las correcciones por

parte del profesor, por otro lado lleva un monitoreo de todas las actividades para mantener

un nivel de control y seguridad.

Uno de los puntos mas amigables para los usuarios de la aplicación es que cuando se

realizan entregas, la aplicación genera un mensaje por correo a los interesados sobre la

actividad que se realizó, y adicionalmente en la pagina principal de cada usuario son

publicadas las actividades por realizar y el estado del proyecto.

Anexo 5.

COMO SE PUBLICAN LOS SERVICIOS

La publicación de los servicios se realiza a través de la función xmlrpc_server de XML-

RPC y la cual es explicada a continuación:

Primero se genera una variable con la documentación del servicio que en el ejemplo es

autenticar:

• $autenticar_doc=' Autentica dentro del sistema a un usuario, teniendo como

parametros de entrada login , password y si son validos retorna un numero de

sesión';

Page 57: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

57

• Luego es generada la variable que contiene el arreglo de los servicios del web

service y en esta se especifica el nombre de la función dentro de la aplicación que

atenderá los requerimientos del servicio y la documentación del servicio en

particular:

o $map = array ("autenticar" => array( "function" => "autenticar", "docstring"

=> $autenticar_doc))

• Por ultimo se crea el web service con la función xmlrpc_server en donde entra como

parámetros el arreglo de los servicios del web service:

o $s=new xmlrpc_server( $map );

Page 58: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

58

BIBLIOGRAFIA

XML-RPC

XML-RPC.ORG. XML-RPC Specification. [en linea]. Tue, Jun 15, 1999; by Dave Winer. <http://www.xmlrpc.org/spec>

[Octubre 2002]

Dave Winer. XML-RPC for Newbies. [en linea]. Tue, Jul 14, 1998; by Dave Winer.

<http://davenet.userland.com/1998/07/14/xmlRpcForNewbies>. [Agosto 2002]

Eric Kidd. XML-RPC HOWTO. [en linea]. 2001 by Eric Kidd <http://xmlrpc-c.sourceforge.net/xmlrpc-howto/xmlrpc-

howto.html>. [Agosto 2002]

Kate Rhodes. XML-RPC vs. SOAP. [en linea]. 2001 by kate rhodes <http://weblog.masukomi.org/writings/xml-

rpc_vs_soap.htm>. [Septiembre 2002]

WEB SERVICE

W3C. Web Services Architecture. [en linea]. 14 November 2002. <http://www.w3.org/TR/2002/WD-ws-arch-

20021114/>. [Diciembre 2002]

W3C. Web Services Architecture. [en linea]. 14 November 2002. <http://www.w3.org/TR/2002/WD-ws-gloss-

20021114/>. [Diciembre 2002]

Sahil Gambhir and Michael W. Muchmore . Secret Services. [en linea]. November 13, 2001. PC Magazine.

<http://www.pcmag.com/article2/0,4149,154702,00.asp>. [Noviembre 2002]

Sarah L. Roberts-Witt. Web Services Warm Up [en linea]. June 30, 2002. PC Magazine.

<http://www.pcmag.com/article2/0,4149,22251,00.asp>. [Diciembre 2002]

BUGZILLA

Mozilla.org. What is Bugzilla?. [en linea]. Last modified Agosto, 2002

<http://www.mozilla.org/projects/bugzilla/about.html>. [Agosto 2002]

Mozilla.org. Bugzilla Development Roadmap. [en linea]. Agosto, 2002.

<http://www.mozilla.org/projects/bugzilla/roadmap.html>. [Septiembre 2002]

XML-RPC y PHP

Page 59: SISTEMA DE SEGUIMIENTO DE PROYECTOS

ISC-2003-1-31 Sistema de seguimiento de proyectos

Andrés Mora EcheverryJuan Carlos Uribe Silva

59

Vikram Vaswani, XML and PHP, 1st edition (July 15, 2002), Que .

Luis Argerich, Chris Lea, Ken Egervari, Matt Anton, Chris Hubbard , James Fuller, Charlie Killian, Professional PHP4XML, 1st edition (June 2002), Wrox Press Inc