Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de Proyectos (S.G.O.A.P.)
1.
2. Historial de Revisiones
Fecha
Versión
Descripción
Autor
06/11/2012
0.1
Análisis de las herramientas a
utilizar en el proyecto.
Kiare Espinoza
Yessenia Martínez
Inicio del Documento
Kiare Espinoza
08/11/2012
0.5
Yessenia Martínez
19/11/2012
1.0
Corrección del Documento
Kiare Espinoza
Yessenia Martínez
23/11/2012
25/11/2012
27/11/2012
1.5
2.0
2.5
Actualización del documento con la
inclusión de las interfaces de
usuario.
Kiare Espinoza
Yessenia Martínez
Versión preliminar como propuesta
de desarrollo.
Kiare Espinoza
Yessenia Martínez
Versión revisada por el docente.
Kiare Espinoza
Yessenia Martínez
3. Tabla de Contenidos
1.
Introducción .............................................................................................................................................. 3
1.1
1.2
Alcance.............................................................................................................................................. 3
1.3
2.
Propósito ........................................................................................................................................... 3
Resumen ............................................................................................................................................ 3
Vista General del Proyecto ...................................................................................................................... 4
2.3
2.4
3.
Entregables del proyecto .................................................................................................................. 5
Evolución del Plan de Desarrollo del Software ................................................................................ 6
Organización del Proyecto ....................................................................................................................... 6
3.1
3.2
Interfaces Externas ........................................................................................................................... 7
3.3
4.
Participantes en el Proyecto ............................................................................................................. 6
Roles y Responsabilidades ................................................................................................................ 7
Gestión del Proceso................................................................................................................................... 8
4.1
Estimaciones del Proyecto ................................................................................................................ 8
4.1.1 Recurso Humano .......................................................................................................................... 8
4.1.2 Recurso tecnológico ....................................................................¡Error! Marcador no definido.
4.2
Plan del Proyecto.............................................................................................................................. 8
4.2.1 Plan de las Fases ........................................................................................................................... 8
4.2.2 Calendario del Proyecto .............................................................................................................. 11
4.3
Seguimiento y Control del Proyecto ............................................................................................... 17
5.
Referencias .............................................................................................................................................. 17
6.
Anexo 1 - Diseño de Interfaz de Usuario ............................................................................................. 17
4. Plan de Desarrollo del Software
1.
Introducción
Este Plan de Desarrollo del Software es una versión preliminar preparada para ser incluida
en la propuesta elaborada como respuesta al proyecto de prácticas de la asignatura de
Gerencia de Proyectos Informáticos
de la Facultad de Ingeniería en Sistemas
Computacionales de la Universidad Tecnológica de Panamá. Este documento provee una
visión global del enfoque de desarrollo propuesto.
El proyecto será desarrollado, basado en la problemática que puede existir con la gestión de
proyectos en una Universidad cualquiera, y así facilitarles la gestión a los usuarios, donde
se utilizaran tecnologías web para el desarrollo de la misma.
Se incluirá una versión preliminar de cada una de las fases que incluya el desarrollo de este
proyecto mostrando detalladamente cada paso a ejecutarse y mostraremos un esbozo de la
versión final que puede llegar a tener el programa.
1.1
Propósito
El propósito general del proyecto es el de argumentar cada uno de los pasos necesarios para
la elaboración del sistema web.
Los usuarios del Plan de Desarrollo del Software son:
El jefe del proyecto lo utilizará para organizar la agenda y necesidades de recursos,
y para realizar su seguimiento.
Los miembros del equipo de desarrollo lo utilizarán para entender lo qué deben
hacer, cuándo deben hacerlo y qué otras actividades dependen de ello.
1.2
Alcance
Se describe el plan para ser utilizado en el desarrollo del Sistema de Gestión, donde se
incluye el despliegue del producto y los detalles de cada iteración por la que pasará el
proyecto.
Cada uno de los planes presentados en este documento, están basados en los requisitos a
cumplir por parte del producto.
1.3
Resumen
El documento se encuentra dividido en las siguientes secciones:
Sección
Descripción
Vista General del Proyecto
Se describe el propósito general del
proyecto, sus características, entregables a
realizar, revisiones y modificaciones que se
realizarán a lo largo del proyecto.
Organización del Proyecto
Se describe quiénes serán los participantes
dentro del proyecto y sus respectivos roles.
5. Gestión del Proceso
2.
Se define el cronograma de actividades, y
las fases en las cuales se dividirá el
proyecto.
Vista General del Proyecto
2.1 Propósito, Alcance y Objetivos
2.1.1 Propósito del Proyecto:
En los últimos años en la Universidad X ha aumentado la población estudiantil de las
diferentes facultades. Debido a esto, la cantidad de proyectos presentados como trabajos de
fin de carrera crece considerablemente y su gestión es algo engorrosa ya que se realiza de
forma manual. Es por esto que se requiere tener un sistema que permita el control sobre
los proyectos informáticos y proyectos de fin de carrera que son ofertados y adjudicados,
específicamente de la Escuela Técnica Superior de Ingenierías Informática y de
Telecomunicaciones.
2.1.2 Alcance del Proyecto:
El proyecto abarcará el desarrollo de los siguientes módulos del sistema:
Gestión de Documentos.
Asignaciones de Ofertas y adjudicaciones de proyectos.
Generación de informes con proyectos adjudicados.
Manejo de base de datos de Usuarios.
2.1.3 Objetivo General:
Desarrollar un sistema que permita la gestión vía web del proceso de oferta y adjudicación
de proyectos informáticos y proyectos de fin de carrera en la Escuela Técnica Superior de
Ingenierías Informática y de Telecomunicación de la Universidad X.
2.2 Suposiciones y Restricciones
Las suposiciones y restricciones que se generan en base al análisis del problema, son los
siguientes:
Control de las solicitudes de proyectos.
El sistema debe validar el ingreso al sistema, solicitando un usuario y contraseña.
Generación de informes sobre los proyectos que han sido adjudicados.
Registro de nuevos estudiantes que deseen participar del proceso de adjudicación de
proyectos.
El sistema debe ser accedido tanto dentro como fuera del campus universitario.
No se conoce un tiempo específico para la entrega del proyecto.
Se desconoce el estado actual de los equipos informáticos disponibles para
implementar el sistema.
Las herramientas y lenguajes de programación a utilizar serán HTML, CSS, PHP y
como gestor de base de datos MySQL.
6. 2.3
Entregables del proyecto
A continuación se indican y describen cada uno de los artefactos que serán generados y
utilizados por el proyecto y que constituyen los entregables.
Es preciso destacar que de acuerdo a la filosofía de SCRUM (y de todo proceso iterativo e
incremental), los entregables generados a lo largo del proyecto son objeto de
modificaciones, por lo cual sólo al finalizar el proceso se podrá tener una versión definitiva
del entregable.
A continuación se indican y describen cada uno de los entregables que serán generados y
utilizados por el proyecto.
1)
Plan de Desarrollo del Software
Es el presente documento.
2)
Glosario
Es un documento que define los principales términos
Permite establecer una terminología consensuada.
3)
usados en el proyecto.
Modelo de Casos de Uso
El modelo de Casos de Uso presenta las funciones del sistema y los actores que
hacen uso de ellas. Se representa mediante Diagramas de Casos de Uso.
4)
Visión
Este documento define la visión del producto desde la perspectiva del cliente,
especificando las necesidades y características del producto. Constituye una base de
acuerdo en cuanto a los requisitos del sistema.
5)
Especificaciones Adicionales
Este documento capturará todos los requisitos que no han sido incluidos como parte
de los casos de uso y se refieren requisitos no-funcionales globales. Dichos
requisitos incluyen: requisitos legales o normas, aplicación de estándares, requisitos
de calidad del producto, tales como: confiabilidad, desempeño, etc., u otros
requisitos de ambiente, tales como: sistema operativo, requisitos de compatibilidad,
etc.
6)
Prototipos de Interfaces de Usuario
Se trata de prototipos que permiten al usuario hacerse una idea más o menos precisa
de las interfaces que proveerá el sistema y así, conseguir retroalimentación de su
parte respecto a los requisitos del sistema. Estos prototipos se realizarán como:
dibujos a mano en papel, dibujos con alguna herramienta gráfica o prototipos
ejecutables interactivos, siguiendo ese orden de acuerdo al avance del proyecto.
Sólo los de este último tipo serán entregados al final de la fase de Elaboración, los
otros serán desechados. Asimismo, este artefacto, será desechado en la fase de
Construcción en la medida que el resultado de las iteraciones vayan desarrollando el
producto final.
7. 7)
Lista de Riesgos
Este documento incluye una lista de los riesgos conocidos y vigentes en el proyecto,
ordenados en orden decreciente de importancia y con acciones específicas de
contingencia o para su mitigación.
8)
Manual de Instalación
Este documento incluye las instrucciones para realizar la instalación del producto.
9)
Material de Apoyo al Usuario Final
Corresponde a un conjunto de documentos y facilidades de uso del sistema,
incluyendo: Guías del Usuario, Guías de Operación, Guías de Mantenimiento y
Sistema de Ayuda en Línea
10)
Producto Final.
Los ficheros del producto empaquetados y almacenadas en un CD con los
mecanismos apropiados para facilitar su instalación. El producto, a partir de la
primera iteración de la fase de Construcción es desarrollado incremental e
iterativamente, obteniéndose una nueva release al final de cada iteración.
Los artefactos 8, 9 y 10 se generarán a partir de la fase de Construcción, con lo cual se han incluido
aquí sólo para dar una visión global de todos los artefactos que se generarán en el proceso de
desarrollo.
2.4
Evolución del Plan de Desarrollo del Software
El Plan de Desarrollo del Software se revisará semanalmente y se refinará antes del
comienzo de cada iteración.
3.
Organización del Proyecto
3.1
Participantes en el Proyecto
El personal que participará durante el desarrollo del proyecto se describe a continuación:
Jefe de Proyecto.
Encargado de la gestión y planificación del proyecto, asignación y coordinación de equipos
y realización de seguimiento de los avances del proyecto. Debe ser una persona con
dominio de la tecnología, capacidad para relacionarse con las personas y aptitud gestora.
Analista del sistema
Realiza las funciones de análisis de los requerimientos del sistema del cual se parte a
desarrollar la aplicación y organizar sus datos. La persona debe ser capaz de analizar
situaciones, manejo y organización de grupos, habilidad comunicativa, creatividad, orden,
método y técnica.
Programador
8. Su función es la de construir el código que dará lugar al producto resultante en base al
diseño técnico realizado por el analista. Igualmente se encarga de la realización de las
pruebas unitarias y participa en las pruebas de conjunto de la aplicación.Debe tener
conocimiento de los lenguajes de programación a utilizar, y manejo de base de datos.
Ingeniero de Software
Debe desarrollar, gestionar, controlar, evaluar, dirigir y llevar a cabo proyectos de software,
utilizando las herramientas y técnicas adecuadas, que garanticen eficacia y eficiencia de los
procesos, de los equipos y del servicio.
3.2
Interfaces Externas
Para el desarrollo de este proyecto, se definirá al encargado de la coordinación de la
facultad, a la secretaria y a un estudiante como los participantes del proyecto, quienes
proporcionarán los requisitos del sistema y serán los encargados de evaluar los avances del
proyecto.
3.3
Roles y Responsabilidades
A continuación se describen las principales responsabilidades de cada uno de los puestos en
el equipo de desarrollo durante las fases de Inicio y Elaboración, de acuerdo con los roles
que desempeñan en RUP.
Puesto
Responsabilidad
Jefe de Proyecto
El jefe de proyecto asigna los recursos, gestiona las prioridades,
coordina las interacciones con los clientes y usuarios, y mantiene al
equipo del proyecto enfocado en los objetivos. El jefe de proyecto
también establece un conjunto de prácticas que aseguran la
integridad y calidad de los artefactos del proyecto. Además, el jefe de
proyecto se encargará de supervisar el establecimiento de la
arquitectura del sistema. Gestión de riesgos. Planificación y control
del proyecto.
Captura, especificación y validación de requisitos, interactuando con
el cliente y los usuarios mediante entrevistas. Elaboración del
Analista del sistema
Modelo de Análisis y Diseño. Colaboración en la elaboración de las
pruebas funcionales y el modelo de datos.
Programador
Ingeniero
software
Construcción de prototipos. Colaboración en la elaboración de las
pruebas funcionales, modelo de datos y en las validaciones con el
usuario
de Gestión de requisitos, gestión de configuración y cambios,
elaboración del modelo de datos, preparación de las pruebas
funcionales, elaboración de la documentación. Elaborar modelos de
9. implementación y despliegue.
4.
Gestión del Proceso
4.1
Estimaciones del Proyecto
Presupuesto General del proyecto:
4.1.1
Recurso Humano
Recurso Tipo Recurso
Nº
1
Humano
2
Humano
3
Humano
4
Humano
5
Humano
4.1.2
Cantidad
Nombre Recurso
Cantidad
3
3
3
5
5
Horas Planificación
Horas Análisis
Horas Diseño
Horas Desarrollo
Horas Pruebas e implantación
40
56
64
224
312
Presupuesto
Recurso
Papelería
Computadoras
portátiles
Transporte
Servidor
Salarios (mensual, 3 meses)
Jefe del proyecto
Analista del sistema
Ingeniero de Software
Programadores
Capacitaciones (si se
requiere)
Imprevistos (10 %)
Cantidad
2
3
Costo Unitario (en
Balboas)
5.00
770.29
Costo Total (en
Balboas)
10.00
2310.87
4
1
2.80
1272.23
11.20
1272.23
1
1
1
2
1450.00
1300.00
1200.00
1000.00
5000.00
4350.00
3900.00
3600.00
6000.00
5000.00
2645.43
290099.73
Total
4.2
Plan del Proyecto
En esta sección se presenta la organización en fases e iteraciones y el calendario del
proyecto.
4.2.1
Plan de las Fases
El desarrollo se llevará a cabo en base a fases con una o más iteraciones en cada una de
ellas. La siguiente tabla muestra una la distribución de tiempos y el número de iteraciones
10. de cada fase (para las fases de Construcción y Transición es sólo una aproximación muy
preliminar)
Nro.
Fase
Duración
Iteraciones
Fase de Inicio
2
1 semana
Fase de Elaboración
2
3 semanas
Fase de Construcción
4
5 semanas
Fase de Transición
2
3 semanas
Los hitos que marcan el final de cada fase se describen en la siguiente tabla.
Descripción
Hito
Fase de Inicio
Se realiza una evaluación general de las necesidades de la
empresa con respecto a la creación del sistema, además, se
efectúa la identificación inicial de los riesgos que podrá
presentar el proyecto.
Se establecen las funciones del sistema para los diferentes
usuarios que interactuarán con el producto se hará un
refinamiento del Plan de Desarrollo del Proyecto y se planifica
la siguiente etapa. Se entregará el documento (objetivos del
desarrollo) generado en esta fase.
La aceptación del cliente /usuario del artefacto Visión y el Plan
de Desarrollo marcan el final de esta fase
Entregables: Plan de desarrollo generado en esta fase.
11. Fase de
Elaboración
Se especifica los requisitos y caso de uso del sistema y se trata
los riesgos identificados. Se establece una arquitectura del
sistema y se planifica la siguiente etapa. Al final de esta fase,
todos los casos de uso correspondientes a requisitos que serán
implementados en la primera release de la fase de Construcción
deben estar analizados y diseñados (en el Modelo de Análisis /
Diseño).
La entrega, revisión y aceptación de los casos de usos, diagrama
de la base de datos, y prototipo de la interfaz de usuario marca
el final de esta fase. La primera iteración tendrá como objetivo
la identificación y especificación de los principales casos de
uso, así como su realización preliminar en el Modelo de
Análisis / Diseño, también permitirá hacer una revisión general
del estado de los artefactos hasta este punto y ajustar si es
necesario la planificación para asegurar el cumplimiento de los
objetivos. Ambas iteraciones tendrán una duración de una
semana.
Entregables: Diagramas de caso de uso, modelo relacional de la
base de datos, bocetos de la interfaz de usuario, especificación
de la arquitectura del sistema.
Fase de
Construcción
Implementación de los casos de uso, diagramas creados en la
etapa anterior, mediante el uso de un lenguaje de
programación.
El producto se construye en base a 4 iteraciones, cada una
produciendo una release a la cual se le aplican las pruebas y
se valida con el cliente / usuario. Se comienza la elaboración
de material de apoyo al usuario.
El hito que marca el fin de esta fase es la creación de la
versión 1.0, con el fin de determinar si el sistema puede ser
implementado con éxito en la empresa y detectar posibles
errores. Además, se planea la siguiente etapa.
Entregables: Versión preliminar del sistema, documento con
las correcciones de errores, documento de validación
requerimientos.
12. Fase de
Transición
Se concluye con las últimas pruebas a la aplicación y se inicia
con la elaboración de la documentación del sistema
(manuales de usuario)
El hito que marca el fin de esta fase incluye, la entrega
toda la documentación del proyecto con los manuales
instalación y todo el material de apoyo al usuario,
finalización del entrenamiento de los usuarios y
empaquetamiento del producto.
4.2.2
de
de
la
el
Calendario del Proyecto
A continuación se presenta un calendario de las principales tareas del proyecto incluyendo
sólo las fases de Inicio, Elaboración, Construcción y transición.
14. Para este proyecto se ha establecido el siguiente calendario. La fecha de aprobación indica
cuándo el artefacto en cuestión tiene un estado de completitud suficiente para someterse a
revisión y aprobación, pero esto no quita la posibilidad de su posterior refinamiento y
cambios.
Disciplinas / Artefactos generados o modificados
Comienzo
Aprobación
durante la Fase de Inicio
Modelado del Negocio
Descripción de la situación actual de la
empresa.
Planificación del proyecto.
Evaluación de riesgos
27-Nov-2012
03-Dic-2012
Requerimientos
Entrevistas a los clientes y futuros
usuarios.
Elaboración del documento de Visión
Creación del glosario
04-Dic-2012 siguiente fase
Análisis del problema.
Definición de requisitos.
Selección de requisitos funcionales y no
funcionales.
Especificación de los casos de uso
Análisis/Diseño
Realización de los diagramas de la base
de datos.
13-Dic-2012 siguiente fase
Diseño de la interfaz de usuario.
Realización de los diagramas de entrada y
salida de datos.
Construcción
Estructurar el modelo de implementación.
Implementar los diseños realizados en la
27-Dic-2012 siguiente fase
fase de Análisis y Diseño.
Desarrollo de la base de datos.
Codificación del sistema.
Pruebas
Definir los tipos de pruebas a realizar.
02-Ene-2013 siguiente fase
Realizar pruebas de cada módulo del
sistema.
15. Despliegue
Creación de la documentación del
sistema.
21-Ene-2013 siguiente fase
Planificación de la implementación final
del sistema.
Gestión de Cambios y Configuración
Durante todo el proyecto
Gestión del proyecto
Plan de Desarrollo del Software en su versión
0.5 y planes de las Iteraciones
04-Dic-2012
Revisar
en
cada iteración
Durante todo el proyecto
Ambiente
Disciplinas / Artefactos generados o modificados
Comienzo
Aprobación
durante la Fase de Elaboración
Modelado del Negocio
Descripción de la situación actual de la
empresa.
Planificación del proyecto.
Evaluación de riesgos.
27-Nov-2012
Aprobado
Requerimientos
Entrevistas a los clientes y futuros
usuarios.
Elaboración del documento de Visión
Creación del glosario
04-Dic-2012
Análisis del problema.
Definición de requisitos.
Selección de requisitos funcionales y no
funcionales.
Especificación de los casos de uso
12-Dic-2012
Análisis/Diseño
Realización de los diagramas de la base
de datos.
13-Dic-2012
Diseño de la interfaz de usuario.
Realización de los diagramas de entrada y
salida de datos.
Construcción
26-Dic-2012
16. Estructurar el modelo de implementación.
Implementar los diseños realizados en la
27-Dic-2012
fase de Análisis y Diseño.
Desarrollo de la base de datos.
Codificación del sistema.
Revisar en
cada iteración
Definir los tipos de pruebas a realizar.
02-Ene-2013
Realizar pruebas de cada módulo del
sistema.
Revisar en
cada iteración
Creación de la documentación del
sistema.
21-Ene-2013
Planificación de la implementación final
del sistema.
Revisar en
cada iteración
Pruebas
Despliegue
Gestión de Cambios y Configuración
Durante todo el proyecto
Gestión del proyecto
Plan de Desarrollo del Software en su versión
1.0 y planes de las Iteraciones
Ambiente
27-Dic-2012
Revisar
en
cada iteración
Durante todo el proyecto
Disciplinas / Artefactos generados o modificados
Comienzo
Aprobación
27-Dic-2012
07-Ene-2013
Comienzo
Aprobación
08-Ene-2013
17-Ene-2013
Comienzo
Aprobación
durante la Fase de Construcción (Iteración 1)
Casos de Uso negociados para la Primera Release
Caso de uso escogido
Disciplinas / Artefactos generados o modificados
durante la Fase de Construcción (Iteración 2)
Casos de Uso negociados para la Primera Release
Caso de uso escogido
Disciplinas / Artefactos generados o modificados
17. durante la Fase de Construcción (Iteración 3)
Casos de Uso negociados para la Primera Release
Caso de uso escogido
18-Ene-2013
28-Ene-2013
Comienzo
Aprobación
29-Ene-2013
06-Feb-2013
Comienzo
Aprobación
Disciplinas / Artefactos generados o modificados
durante la Fase de Construcción (Iteración 4)
Casos de Uso negociados para la Primera Release
Caso de uso escogido
Disciplinas / Artefactos generados o modificados
durante la Fase de Transición
Cierre de Pruebas
Elaboración y verificación del Manual de usuario e
instalación de la aplicación.
4.3
21-Ene-2013 30-Ene-2013
31-Ene-2013
08-Feb-2012
Seguimiento y Control del Proyecto
Gestión de Requisitos
Cada uno de los requisitos que deberán cumplirse debe llevar un estado,
dependiendo de su importancia y de la iteración donde se implementará. En caso de
exista algún problema o cambio se deberá generar una solicitud para llevar el
control de cuando y quién lo modificó.
Control de Plazos
El jefe del proyecto se encargará de dar seguimiento semanalmente a las actividades
colocadas en el cronograma, evaluando el porcentaje de cumplimiento de la misma.
Control de Calidad
Se deberá vigilar el proceso de desarrollo de software para asegurar que se siguen
los procedimientos y estándares establecidos al inicio del proyecto, a fin de evitar
deficiencias en el producto. Como herramientas para el apoyo a la evaluación de la
calidad, se utilizarán las aplicaciones SONAR y Simian.
Gestión de Riesgos
Desde el inicio del proyecto, se debe generar una lista con todos los riesgos
18. asociados a el proyecto, junto con las diferentes acciones a seguir en caso de que las
amenazas se conviertan en realidad, con el fin de mitigar sus efectos negativos.
Gestión de Configuración
Para todas las solicitudes (cambios, solución de defectos, etc.) se deberá llevar un
registro e informar de cada una de estas a los interesados del proyecto.
5.
Referencias
Metodología SCRUM para desarrollo de software a medida.
http://www.softeng.es/es-es/empresa/metodologias-de-trabajo/metodologia-scrum.html
6.
Anexo 1 - Diseño de Interfaz de Usuario