viernes, 18 de junio de 2010

Introducción

Muchas de las organizaciones actuales de investigación reconocen el trabajo en equipo como una ventaja para alcanzar objetivos específicos en su empresa. UPPM Groupware (Unified Process Project Magnament) o Proceso Unificado de Gestión de Proyectos es una aplicación web con la que el trabajo colaborativo se hace más fácil soportando desde pequeños hasta proyectos de mediana escala. Esta aplicación es una herramienta pensada y desarrollada para ofrecer servicios útiles a aquellas personas que comparten uno o varios objetivos comunes.

Uppm Groupware es sinónimo de colaboración. El trabajo en equipo puede ser llevado a cabo compartiendo información, gestionando calendarios grupales o intercambiando datos.

El Proyecto UPPM permite la gestión de múltiples grupos, cada uno con su respectivo administrador, quien es el encargado de controlar la entrada de nuevos miembros al grupo. Todos los usuarios disponen de una libreta de direcciones o de contactos y pueden tener acceso al calendario compartido, la gestión de proyecto es clave en el proceso.

Todo proyecto en UPPM Groupware tiene una fecha de inicio y una fecha tentativa de finalización, también se le es asignado un nombre y una descripción por parte del Administrador. Permite la creación y asignación de tareas a miembros del grupo.

UPPM Groupware nace como proyecto de clase en la asignatura Ingeniería del Software 3 del programa de Ingeniería de Sistemas de la Universidad del Cauca. La idea inicial es desarrollada por los estudiantes Yeison Fernando Vega, Hanner Fabián Orejuela, Luis Fernando Carvajal y Alejandro Mosquera.

Artefactos De Desarrollo



PAUTAS DE PROTOTIPADO
 Evaluacion Heuristica

descargar de:

http://www.megaupload.com/?d=ZOZU9O02



Modelo de casos de uso



Modelo relacional de la base de datos


Historias de Usuario:

1. Gestion de usuarios

Tareas de ingenieria:

1.1

1.2

1.3

2. Libreta de Contactos

Tareas de ingenieria:

2.1

2.2

2.3

2.4

2.5

3. Calendario

Tareas de ingenieria:

3.1

3.2

3.3

4. Gestion de Miembros


Tareas de ingenieria:

4.1


4.2

5. Gestion de Proyectos:

Tareas de ingenieria:

5.1

5.2

5.3

5.4

5.5

Presentacion grafica de UPPM-Groupware

INFORME SOBRE LA EXPERIENCIA ADQUIRIDA AL GENERAR UN PROTOTIPO DEL PROYECTO FINAL
 

Inicialmente se decidió una plantilla con la cual generaríamos el entorno grafico del proyecto, dicha plantilla la tomamos de la lista vista en clase; después de escoger una que fuera sencilla pero elegante a la vez, procedimos a modificarla de acuerdo a nuestras necesidades; de esta manera llegamos a un prototipo no funcional de la página principal del proyecto.
Tras tener ya una vista de lo que sería nuestra página, procedimos a escoger el método de evaluación teniendo en cuenta el modelo de encuesta para las heurísticas visto en clase; los resultado fueron alentadores en unos aspectos pero también nos dimos cuenta que nos faltaba mucho para tener un modelo completo para mostrar a un público menos experto, la evaluación heurística la realizó el ingeniero Siler Amador Donado del programa de sistemas de la Universidad del Cauca, los resultados fueron los siguientes:
PAGINA PRINCIPAL:



LIBRETA DE CONTACTOS

Agregar Contacto

Eliminar Contacto

Modificar Contacto


Buscar Contacto

Listar Contacto


CALENDARIO

vista por horas del Dia

Vista por dias y horas de la semana

Vista por dias del Mes

Agregar un evento

Conclusiones:


• Según los datos recopilados en la entrevista pudimos encontrar una serie de errores que debemos corregir, por ejemplo la utilización de los enlaces y los iconos, es algo en lo que debemos enfatizar más.
• Además encontramos también que la distribución de la pagina no estaba tratada de la forma más adecuada, sin embargo, en el desarrollo de la vista no tuvimos más remedio que hacerla de esa manera, ya que la plantilla que escogimos no se prestaba para poner los datos de la manera que los usuarios están acostumbrados a encontrar, sin embargo gracias a la critica generada por las heurísticas encontramos que la plantilla no era la más adecuada, o que debemos asesorarnos mejor para modificarla de tal manera que la distribución sea mas adecuada.


Consideraciones de seguridad

En el Proyecto UPPM Groupware se considero tratar de evitar una técnica de violación llamada Inyección SQL.

Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el código "invasor" en la base de datos.

La inyección SQL es un problema de seguridad informática que debe ser tomado en cuenta por el programador para prevenirlo. Un programa hecho con descuido, displicencia, o con ignorancia sobre el problema, podrá ser vulnerable y la seguridad del sistema puede quedar ciertamente comprometida. Esto puede suceder tanto en programas ejecutándose en computadores de escritorio, como en paginas web, ya que éstas pueden funcionar mediante programas ejecutándose en el servidor que las aloja.

La vulnerabilidad puede ocurrir cuando un programa "arma" descuidadamente una sentencia SQL: con parámetros dados por el usuario, para luego hacer una consulta a una base de datos. Dentro de los parámetros dados por el usuario podría venir el código SQL inyectado.

Al ejecutarse esa consulta por la base de datos, el código SQL inyectado también se ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar código malicioso en el computador.

Asumiendo que el siguiente código está en una aplicación web y que existe un parámetro "nombreUsuario" que contiene el nombre de usuario que nosotros le demos, la inyección SQL es posible:

La inyección SQL consiste en la modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.

Este tipo de errores puede permitir a usuarios malintencionados acceder a datos a los que de otro modo no tendrían acceso y, en el peor de los casos, modificar el comportamiento de nuestras aplicaciones.

Para evitar este tipo de violación se consideró bloquear las comillas simples en los campos de texto con una función simple en Javascript

Referencia

http://www.maestrosdelweb.com/editorial/inyecsql/

http://es.wikipedia.org/wiki/Inyección_SQL