Herramientas para la disciplina de Requerimientos en Proyectos Sociotecnológicos del PNFI


Aproximadamente a desde el inicio del Trimestre 1 y hasta inicio del Trimestre 2 del Trayecto III se deben corresponder a las Fases de Inicio y Elaboración de MeRinde. Entre las actividades más importantes de las fases  de Inicio y Elaboración de MeRinde están las relacionadas a la disciplina de requerimientos. Estas actividades comprenden la captura de los requerimientos, su clasificación, su priorización y  descripción detallada. En la medida que los requerimientos del sistema se definan con mayor exactitud el proyecto tendrá menos retrasos a futuro motivados por cambios en  los requerimientos  y sus reglas de implementación.

Parafraseando la guía de PMBOK, la capacidad de influir en las características finales del producto del proyecto, sin afectar significativamente el costo, es más alta al inicio del proyecto y va disminuyendo a medida que el proyecto avanza hacia su conclusión. Un  gráfico de la guía PMBOK ilustra la idea de que el costo de los cambios y de corregir errores suele aumentar sustancialmente según el proyecto se acerca a su fin.

Cambios y su impacto en los costos del proyecto

Recomiendo escribir una lista no muy extensa con los requerimientos más relevantes y darle valores a los siguientes criterios: Prioridad {Alta, Media, Baja}, Estado {En desarrollo, En Espera, Diferido} , Categoría {Funcional, Seguridad, Usabilidad}, fecha y repetir constantemente este ejercicio con los usuarios para abordar los requerimientos de mayor prioridad.

Posteriormente será necesario detallar los requerimientos de mayor prioridad, la forma de representar estos requerimientos (según las mejores prácticas de la Ingeniería de Software) es a través de escenarios de uso o “Casos de Uso”, los cuales son narrativas elaboradas conjuntamente con el usuario donde se explican, en lenguaje cotidiano, las acciones y/o operaciones que se podrán realizar en el software. Está descripción permite identificar los actores que intervienen en los procesos, las relaciones de precedencia de las tareas, los objetos de información y su persistencia, los detalles sobre los requisitos de calidad o no funcionales.

Estos casos de uso son muy importantes ya que a través de ellos el Arquitecto del Software, en primera instancia, tomará decisiones esenciales en la disciplina de Análisis y Diseño, y  posteriormente los programadores, en la disciplina de Implementación, codificarán tales reglas de funcionamiento.

Los casos de uso se diagraman con nomenclatura de UML, algunas herramientas de Software Libre recomendadas para estas tareas:

Editor de Diagramas Dia, StarUML, Umbrello y Modelio

Adicionalmente permiten la creación de otros diagramas cómo Diagrama de Clases, de Secuencia, de Actividades, de Estados necesarios en otras disciplinas. A continuación una captura de pantalla de la herramienta Modelio.

Modelador - Modelio

La lista de requerimientos elaborada con anterioridad debe convertirse directamente en una lista de Casos de Uso con su respectiva descripción. Los Casos de Uso se diagraman como se muestra en la siguiente captura de pantalla de Umbrello.

Diagrama-Caso-Uso

Una forma efectiva para validar los requerimientos de los usuarios es a través de los prototipos de pantallas, los cuales están relacionados a las descripciones de los Casos de Uso.  el Proyecto Pencil permite elaborar prototipos de pantallas de forma fácil y rápida. Dispone de varias plantillas para diversos tipos de software como aplicaciones web, formularios entre otros.   Mediante constantes sesiones de trabajo con los usuarios del Sistema se pueden diseñar y adaptar fácilmente las pantallas del sistema utilizando esta herramienta.

Proyecto Pencil

Finalmente, estas herramientas facilitan la gestión del proyecto, sin embargo su uso debe ir acompañado de una disciplinada planificación de  talleres de requerimientos con los usuarios e involucrados del proyecto. En buena parte de los Trimestres 1 y 2 de los Proyectos Sociotecnológicos de PNFI del Trayecto III se deben realizar talleres de requerimientos, y hacer seguimiento de aquellas  necesidades esenciales del sistema.

Muestra de Proyectos Sociotecnológicos PNFI en el Colegio Universitario de Caracas


Esta vez en mi faceta de profesor, quiero compartir algunos productos que resultaron de la Unidad Curricular “Proyecto Sociotecnológico III” del Programa Nacional de Formación en Informática en el Colegio Universitario de Caracas, entre los años 2011 y 2012. Estos videos fueron parte de las asignaciones del curso del Trayecto III y tenían el objeto de dejar un testimonio del trabajo realizado a lo largo del año, aprovechando las potencialidades de las redes sociales, específicamente la posibilidad de ampliar el alcance en la divulgación de estos valiosos trabajos.

Es importante acotar que estos Proyectos fueron desarrollados con herramientas de Software Libre para satisfacer  necesidades del entorno comunitario, es por ello que podemos observar herramientas para la gestión administrativa, software educativo, herramientas para la ingeniería de software y herramientas para la gestión comunitaria. Así mismo, en esta pequeña muestra se emplean diferentes lenguajes de programación, gestores de base de datos y arquitecturas de software. Los invito a conocer los siguientes proyectos.

Desarrollo de un Sistema de Información para el Censo Socioeconómico en los Consejos Comunales, Proyecto Komunal

Sitio web del proyecto http://komunal-cc.blogspot.com/

Proyecto Sofía: Herramienta para el modelado de datos

Sitio web del proyecto en Sourceforge: http://sourceforge.net/projects/sofiaproject/?source=directory

Desarrollo de un Software Educativo para reforzar el estudio de las normas viales en Venezuela

Sitio web del proyecto http://softwaredeeducacionvial.bligoo.es

Desarrollo de un Sistema de Información para la Gestión de la seccional del UETD Liceo Caracas

Sitio web del proyecto http://sistemagestionseccional.wordpress.com/