Tabla de Contenido
- Bienvenido a la wiki del Proyecto Murachí
- Metodología de Desarrollo de Software Libre (MDSL) Versión 2.0
- Análisis del Dominio
- Propuesta de Desarrollo del Proyecto
- Plan del Proyecto
- Estándares de Desarrollo del Proyecto
- Especificación de Requerimientos (Funcionalidades)
- 1. Casos de Uso General
- 1.1 Casos de Uso firmar electrónicamente un documento
- 1.2 Casos de Uso verificar la firma electrónica de un documento
- 1.3 Casos de Uso Descargar contenedor
- 1.4 Casos de Uso Descargar documento firmado electrónicamente
- Flujograma de actividades
- Diagrama de secuencia de proceso de firma
- Codificación
- Análisis y Diseño
- Pruebas
- Liberación
Plan del Proyecto
En el plan del proyecto se indica el número de iteraciones a realizar durante el desarrollo de la aplicación. A cada iteración se le asocia un número determinado de funcionalidades a desarrollar.
1. Priorización de funcionalidades del software según las necesidades de los usuarios
- Tabla 1. Priorización de funcionalidades por parte de los usuarios.
Funcionalidad Prioridad de la funcionalidad para los usuarios Enviar archivo al servidor (F1) 1 Guardar archivo en el servidor (F2) 1 Crear un contenedor BDOC (F3) 1 Abrir un contenedor BDOC (F4) 1 Eliminar un contenedor BDOC (F5) 1 Descargar contenedor BDOC desde el servidor (F6) 1 Agregar archivo al contenedor BDOC (F7) 1 Eliminar archivo de un contenedor BDOC (sólo será posible si el contenedor no está firmado electrónicamente) (F8) 1 Firmar electrónicamente un contenedor BDOC con clave privada protegida en hardware (uso de tarjeta inteligente) (F9) 1 Extraer información de atributos opcionales para firmar electrónica a un contenedor BDOC (lugar de aplicación de la firma, rol del firmante, entre otros) (F10) 1 Extraer información de archivo(s) dentro del contenedor BDOC (F11) 1 Aplicar firma electrónica sobre un contenedor BDOC previamente firmado (F12) 1 Eliminar firma electrónica de un contenedor BDOC (F13) 1 Verificar firma electrónica sobre contenedor BDOC (F14) 1 Verificar estampillado electrónico de tiempo (F15) 1 Visualizar información de firma electrónica sobre contenedor BDOC (F16) 1 Extraer documento de contenedor firmado electrónicamente (F17) 1 Guardar documento extraído de contenedor firmado electrónicamente (F18) 1 Enviar un documento PDF (F19) 1 Guardar un documento PDF en el servidor (F20) 1 Firmar electrónicamente un documento PDF con clave privada protegida en hardware (uso de tarjeta inteligente) (F21) 1 Agregar una firma a un documento PDF firmado (F22) 1 Leer atributos opcionales para firmar electrónica a un documento PDF firmado (F23) 1 Verificar firma electrónica sobre un documento PDF (F24) 1 Verificar estampillado electrónico de tiempo PDF (F25) 1 Visualizar información de firma electrónica sobre el documento PDF (F26) 1 Visualizar documento PDF firmado electrónicamente (F27) 1 Descargar el documento PDF firmado electrónicamente desde el servidor (F28) 1 Registrar eventos de firma electrónica (F29) 0.75 Registrar eventos de verificación de firma electrónica (F30) 0.75 Gestionar repositorio de certificados electrónicos de autoridades de certificación confiables (BDOC) (F31) 1 Gestionar repositorio de certificados electrónicos de autoridades de certificación confiables (PDF) (F32) 1
- Tabla 2.Dependencia entre funcionalidades del software.
Funcionalidad Dependencia entre funcionalidades F1 F2 F3 F4 F5 F6 F7 F4 F8 F4 F9 F4 F10 F4 F11 F4 F12 F4 F13 F4 F14 F4-F31 F15 F4-F31 F16 F4 F17 F4 F18 F4 F19 F20 F21 F22 F23 F24 F32 F25 F32 F26 F27 F28 F29 F30 F31
- Tabla 3.Estudio de riesgos de desarrollo.
Definición del riesgo Impacto Prioridad para abordar el riesgo Funcionalidades asociadas al riesgo 1. No hay disponibilidad de bibliotecas para manejo de firma electrónica para formato PDF y con licencia libre La no culminación de funcionalidad de firma electrónica para documentos PDF 0,25 F20-F21-F22-F23-F24-F25-F26-F27-F28-F32 2. No hay disponibilidad de un complemento (plugin) para navegador web que permita comunicación con el dispositivo criptográfico Retrasaría el desarrollo del proyecto 0,25 F1-F9-F12-F21-F22
- Tabla 4.Acciones preventivas para los riesgos
Riesgo Acciones preventivas 1. Realizar una investigación sobre librerías libres para la firma electrónica de documentos en formato PDF que soporten la firma en dos etapas. 2. Empaquetar el complemento (plugin) de firma en navegador web para varios sistemas operativos (Debian GNU/Linux, Canaima Linux)
- Tabla 5.Cálculo de priorización de desarrollo por funcionalidad
Funcionalidad (Fi) Prioridad de desarrollo (PDFj) F1 1,225 F2 1,225 F3 1,225 F4 1,225 F5 1,225 F6 1,225 F7 1,225 F8 1,225 F9 1,225 F10 1,225 F11 1,225 F12 1,225 F13 1,225 F14 1,225 F15 1,225 F16 1,225 F17 1,225 F18 1,225 F19 1,225 F20 1,225 F21 1,225 F22 1,225 F23 1,225 F24 1,225 F25 1,225 F26 1,225 F27 1,225 F28 1,225 F29 1,05 F30 1,05 F31 1,225
Para el cálculo de priorización de desarrollo para cada funcionalidad del software propuesto se tomaron los siguientes valores PF = 0,7 PR = 0,3 Sumatoria de riesgos de funcionalidad = 1,75
En la Tabla 5 se indica el cálculo de priorización de desarrollo para cada funcionalidad del software propuesto. Para realizar este cálculo se utilizan las siguientes formulas:
IFj= ( ∑i=1,...nVRi asociados a Fj ) * PR + VFj * PF
donde IFj representa la importancia de la funcionalidad “j” según la prioridad que le da el usuario y según la prioridad de los riesgos asociados a dicha funcionalidad; VRi representa el valor de prioridad para abordar el riego “i” asociado a la funcionalidad “j”; PR representa el peso asociado al factor riesgo; VFj representa el valor de prioridad asignado por los usuarios a la funcionalidad “j”; PF representa el peso asociado al factor funcionalidad.
El PR y el PF son factores utilizados para realizar el cálculo ponderado de priorización de desarrollo. A cada uno de estos factores se les debe asignar valores comprendidos entre 0 y 1. El valor asignado a cada factor dependerá de la importancia que adquieran estos para el desarrollo de la aplicación. La suma de ambos factores debe ser 1.
PDFj= IFj + ∑ IF correspondientes a las funcionalidades que se construyen a partir de Fj
donde PDFj representa la prioridad de desarrollo de la funcionalidad “j” ; IF representa la importancia de una funcionalidad que se construye a partir de la funcionalidad “j”.
El cálculo de la Prioridad de Desarrollo de las Funcionalidades (PDF) permite crear un orden de prioridad para la construcción de las funcionalidades del software. Las funcionalidades para las cuales se obtengan los valores más altos de PDF deben ser construidas en las primeras iteraciones del proyecto, dado que éstas corresponden a las funcionalidades de mayor prioridad para los usuarios, que tienen asociados riesgos de mayor prioridad para ser abordados, y a partir de las cuales se pueden construir otras funcionalidades del software. En este sentido, tales funcionalidades pueden ser consideradas como el núcleo de la aplicación a desarrollar.
- Tabla 6Cronograma de desarrollo del proyecto
Nº de iteración Funcionalidad Fecha de inicio Fecha de finalización 1. F19-F20-F21-F22-F23-F24-F25-F26-F27-F28-F32 04/05/2015 29/05/2015 2. F1-F2-F3-F4-F5-F6-F7-F8-F9-F10-F11-F12-F13-F14-F15-F16-F17-F18-F29-F30-F31 01/06/2015 27/11/2015