wiki:SEPAIPropuestaDesarrollo

Propuesta de Desarrollo del Proyecto

Necesidades y/o problemas

Solución propuesta

La administración pública ha ido consolidando de forma eficiente los mecanismos requeridos para la formulación y planificación de la gestión de proyectos; sin embargo, no se cuenta con mecanismos adecuados que permitan realizar tareas de seguimiento y control a la fase de ejecución en el ciclo de gestión de los mismos. Esta situación implica que no se cuentan con herramientas que permitan garantizar que se utilizan adecuadamente los recursos asignados, y se desconoce cuan apegada es la ejecución respecto al plan de trabajo diseñado para cada proyecto. La creación de una herramienta informática permitiría sistematizar las tareas de seguimiento y control, y sobre todo garantizar el cumplimiento de las metas físicas y financieras en el transcurrir de la ejecución del proyecto.

Bajo este contexto, se plantea desarrollar una aplicación (software libre), que permita realizar tareas de seguimiento y control a los avances en las metas físicas y financieras de los proyectos que sea ejecutas por la administración pública nacional y los entes descentralizados.

Alcance del software propuesto

El sistema estará enfocado en la etapa de ejecución del ciclo general de gestión de los proyectos. En tal sentido, se debe entender que los proyectos deben estar completamente formulados y aprobados. Partiendo de esta situación, el sistema debe contemplar aspectos relacionado con la ejecución propiamente dicha como los avances físicos y financieros de los proyecto respecto al tiempo y los recursos utilizados, de tal manera que se puedan realizar tareas de seguimiento y control hasta que los mismos finalmente concluyan efectivamente.

Además, se conectará por medio de un servicio web con el Sistema Integral de Planificación Estratégica Situacional (SIPES), con el fin de calcular indicadores físicos y financieros acerca de las ejecución de los proyectos que han sido registrados por los entes de la APN.

Descripción general de la arquitectura del software

La arquitectura esta basada en una aplicación web, la cual cuenta con tres capas; estas son:

  1. Capa de presentación (parte en el usuario final "cliente" y parte en el servidor)

1.1. Recoge la información del usuario y la envía al servidor ("cliente")

1.2. Manda información a la capa de proceso para su procesado

1.3. Recibe los resultados de la capa de proceso

1.4. Generan la presentación

1.5. Visualizan la presentación al usuario ("cliente")

  1. Capa de proceso (servidor web)

2.1. Recibe la entrada de datos de la capa de presentación

2.2. Interactúa con la capa de datos para realizar operaciones

2.3. Manda los resultados procesados a la capa de presentación

  1. Capa de datos (servidor de datos)

3.1. Almacena los datos

3.2. Recupera datos

3.3. Mantiene los datos

3.4. Asegura la integridad de los datos

La potencia de los frameworks permite implementar estas capas. Django es el frameworks que hará posible montar la plataforma para el SEPAI. Django posee una arquitectura propia la cual permite levantar proyectos de manera sencilla.

La arquitectura con la que opera Django es la siguiente (MVT):

  1. Modelo: El modelo, conocido en el framework como models.py, define los datos en python e interactúa con esta. Aunque normalmente esta contenida en una base de datos relacional(MySQL, PostgreSQL, SQLite etc), otros mecanismos de almacenamiento de datos son posibles así como (XML, Text files, LDAP, etc)
  2. Vista: La vista, usualmente se encuentra en el archivo views.py, realiza las acciones solicitadas, que normalmente implica lectura y escritura a la base de datos. Puede incluir otras tareas.

3. Templates: las plantillas normalmente retorna una pagina HTML. El lenguaje de plantillas de Django ofrece a los autores de HTML una sintaxis sencilla de aprender y proporciona toda la potencia necesaria para la presentación lógica.

Como se aprecia Django trabaja bajo la arquitectura MVT, se deben considerar los siguientes elementos que hace posible la relación y armonía entre los elementos principales:

  1. URL: la Url despachador asigna el url solicitado a una función de visualización y lo llama. Si la caché está habilitada, la función de vista puede comprobar si existe una versión en caché de la página y omitir todos los pasos adicionales, devolviendo la versión almacenada en caché. Tenga en cuenta que este nivel de página de caché es sólo una opción de caché disponible en Django. Puede almacenar más en caché.
  2. Caching Framework: Después de realizar cualquier tarea solicitada, la vista devuelve un objeto de respuesta http al explorador web, opcionalmente, la vista puede guardar una versión del objeto de respuesta http en el sistema de almacenamiento en caché durante un período de tiempo especificado.

Metodología de desarrollo

Para el desarrollo del proyecto se utilizará la Metodología de Desarrollo Colaborativo de Software Libre V2, elaborada por el Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) nodo Mérida. Para mayor información acerca de esta metodología visite Metodología de Desarrollo Colaborativo de Software Libre

Está metodología se centra en el desarrollo de tres procesos, cada uno con una serie de actividades. A continuación se muestran los procesos con su respectivo flujograma:

Plataforma de operación

Sistema Operativo: GNU/Linux

Servidor WEB:

Plataforma de desarrollo

Sistema Operativo:

Sistema Operativo: GNU/Linux Debian squeeze 64 bits

Framework de desarrollo:

Lenguaje de Programación:

Lenguaje de Marcas:

Bibliotecas:

Gestor de Proyectos: Trac. Disponible en: https://miv.cenditel.gob.ve/mmcs

Control de Versiones: Git

Licencias de código y documentación

El software que se desarrollará se distribuirá bajo la licencia de Software versión 1.2, disponible en: Licencia de Software V. 1.3, .pdf El empleo de esta licencia, promoverá la apropiación y la articulación social para estimular el uso, desarrollo, distribución y modificación del software.

Por su parte, los documentos generados durante el desarrollo del proyecto estarán liberados bajo la Licencia de Contenidos Versión 1.0, disponible: Licencia de Contenido V. 1.0 .pdf

Una licencia libre, gratuita y no exclusiva, que permite compartir, exhibir, modificar, publicar y comunicar la obra para fines no comerciales, siempre y cuando se dé crédito a su(s) autor(es).

Last modified 7 años ago Modificado por última vez en fecha 23/05/2017 13:45:54