Grupo de trabajo en acción

Una parte importante en cualquier desarrollo es tener un ambiente apropiado.

Debates

Es natural que en un grupo de trabajo se presenten debates que muestren los diferentes puntos de vista de cada integrante.

Resultados

Durante cada reunión se programa una serie de actividades las cuales generan cosas como este modelo.

El usuario

El objetivo principal de este desarrollo es entender al usuario y cómo se puede lograr desarrollar una aplicación que sea de su agrado.

Trabajo en equipo

Logramos soluciones más viables a traves del aoprte de cada uno, pues cada cual tiene una forma de ver las cosas.

domingo, 15 de junio de 2014

Conclusiones finales

A lo largo del desarrollo de la aplicación hemos tenido muchos aciertos y problemas, cosas que mejorar y cosas que recordar para próximos desarrollos. A pesar de ser la primera vez que desarrollamos una aplicación web sentimos que el resultado fue bastante bueno, obviamente no somos profesionales pero por lo menos ya nos defendemos, como dicen por ahí.


En cuanto a problemas los más latentes surgieron por el hecho de estar cursando otras materias y no poderle dedicar más tiempo al desarrollo, sin embargo de una u otra forma solventamos esto y salimos adelante.

Nosotros usamos un Framework llamado Code Igniter, el cual nos presento un montón de funcionalidades que capacidades que desarrollar desde cero hubiera sido una pesadilla, es un framework muy cómodo y fácil de usar que en la actualidad ha tomado mucha popularidad y que usa lenguajes que son de uso libre.

Las jornadas de trabajo han sido largas y extenuantes, teniendo que usar muchas noches por falta de tiempo


y los resultados físicos saltan a la vista...




en algunas ocasiones el cansancio era mayor que la voluntad y terminábamos así:






y como herramienta para poder sobrevivir estuvo nuestro amigo, el café jejejeje







Estábamos acostumbrados a desarrollar aplicaciones de escritorio y al asumir este desarrollo pudimos vivir en carne propia el montón de cosas que tienen adicionales las aplicaciones web, como por ejemplo la parte de la integración, la cual solventamos reuniéndonos constantemente para poder realizar preguntas que sirvieran de apoyo y comunicar acciones que afectaran a todos.

Aprendimos un montón de cosas durante este desarrollo y nos sentimos contentos por haber asumido el reto, son cosas que nos quedaran de referencia para la posteridad y los invito a todos a desarrollar aplicaciones web, a que conozcan las diferentes tecnologías, las diferentes formas de hacer las cosas y a que se arriesguen a probar nuevas cosas.

Gracias por el apoyo prestado y por leer este blog :D .

Descarga en instalación de la aplicación

Después de una larga jornada de trabajo, hemos terminado con el desarrollo de la aplicación, he aquí como luce actualmente:








Ha sido el resultado de varias semanas de dedicación y espero les guste.

Para descargarla se pueden dirigir al siguiente link.

Para instalarla simplemente tiene que pegar la carpeta de la aplicación en la carpeta de publicación del servidor que estén usando, por ejemplo para el XAMPP la dirección sería C:\xampp\htdocs, pero de todas formas dentro de la carpeta de la aplicación se encuentra un archivo que se llama instalacion.txt en el que se encuentran las instrucciones.

Si desea descargar solo el documento de instalación puede hacerlo desde este link.

Seguridad en la aplicación

Las aplicaciones web son hoy en día de las aplicaciones más utilizadas, todo está tendiendo a convertirse en ese tipo de aplicaciones y como tales, son constantemente blanco de personas inescrupulosas que intentan aprovecharse de la exposición a la que se ven sometidas las mismas, por esto es que toda aplicación web debe prevenir lo mejor que se pueda estos ataques.

Entre los ataques más comunes se encuentran, la inyección sql:


y el Cross Site Scripting:





a veces los que hacen estos ataques lo hacen por diversión pero en muchos casos están comprometidos los datos de los usuarios y la aplicación como tal, así que en nuestra aplicación aplicamos ciertas técnicas para prevenir ser víctimas.

En cuanto a la inyección sql hemos hecho un filtro en los campos más críticos, de tal forma que palabras clave que forman una consulta sean identificadas antes y de esta forma no se ejecuten directamente en la base de datos; palabras como "select", "from", "=", "delete", "drop", "where", son filtrados inicialmente, pues son evidentemente malintencionados.

Respecto al Cross Site Scripting se hizo un filtro en los campos críticos para que caracteres como "<", ">", y palabras como "<script>" nos ayudarán a evitar estos ataques.

Otra forma en que podríamos tener problemas de seguridad es en cuanto a autorización, por ejemplo haciendo acciones indevidas siendo un usuario normal, para evitarlo cada usuario de la aplicación cuenta con un rol y este con ciertos permisos, de tal forma que si un usuario está autenticado como normal e inserta una URL de un administrador, este no podrá tener acceso a las acciones que el administrador puede realizar.

Es imposible que una aplicación este totalmente blindada contra cualquier ataque en la red, pero nosotros tratamos de hacer lo más basico por lograr complicarles la vida a aquellos que nos quieran atacar jejeje.

Aplicación de un nuevo test de usabilidad

Después de haber hecho un prototipo funcional el cual aplicara todo lo que habíamos planeado que tuviera decidimos aplicar un nuevo test de usabilidad que probara su efectividad y si habíamos hecho bien las cosas. El test de usabilidad aplicado fue el "método del conductor", en el cual le dábamos una pequeña guía al usuario para que el hiciera las acciones que se planearon pero ayudándole al mínimo posible.

El test fue aplicado con el ingeniero Carlos Ardila, el cual muy amablemente accedió a ayudarnos y a darnos ciertas indicaciones aparte de las que encontrara con el test.

Los errores encontrados fueron los siguientes:

1. Numerosos errores en ortografía

La solución: corregir los errores de ortografía :P


2. En la parte de búsqueda de productos, el letrero de "Opciones avanzadas"  no era el adecuado pues no era lo suficientemente claro qué era lo que hacía eso.


La solución: cambiar el letrero por uno mejor.


3. Las opciones de búsqueda avanzada y el campo de texto donde se pone una palabra para buscar productos estaban separados y por eso no se encontraban o usaban las demás opciones de búsqueda.


 La solución: simplificar la busqueda.


4. Las opciones de búsqueda avanzada no eran las más adecuadas.


La solución: cambiarlas.

5. En el menú principal de la aplicación aparece una opción que dice "Contacto", este nombre no es el más adecuado y debe ser reemplazado.


La solución: cambiarlo por un nombre más adecuado.

6. Ponerle puntos a los precios para no hayan confusiones en este sentido.


La solución: poner los puntos en los precios.


7. La pantalla de inicio debe verse en un solo pantallazo, si el usuario ve que tiene que hacer downscroll pensará que hay otras cosas interesantes que ver, en nuestro caso no era así.


La solución: hacer que se vea un solo pantallazo inicial.


8. En la sección de "Quiénes somos" al colocar el puntero sobre las opciones, este no cambiaba y el usuario no se daba cuenta de que algo pasaba con si le daba click al texto.


La solución: hacer que cambiara el puntero cuando estaba sobre una de esas opciones.



Esperamos que después de esto los errores en cuanto a usabilidad sean mínimos y que hayamos logrado obtener una aplicación con excelentes niveles de usabilidad.