Click here to load reader
Upload
vuongcong
View
215
Download
0
Embed Size (px)
Citation preview
Software Project Management Plan
SOFTWARE PROJECT MANAGEMENT PLAN
HERRAMIENTA PARA LA ADMINISTRACIN DE REQUERIMIENTOS DE LOS PROYECTOS DE LAS ASIGNATURAS DE INGENIERA Y ARQUITECTURA DE SOFTWARE DE LA PONTIFICIA UNIVERSIDAD JAVERIANA.
CARLOS DAVID DUARTE ALFONSO
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERA
CARRERA DE INGENIERA DE SISTEMAS
BOGOT D.C
2014
Historial De Cambios
El historial de cambios es una tabla que muestra la evolucin y seguimiento del documento, todos los cambios realizados permiten elaborar, corregir y controlar la calidad del documento por parte del autor.
Versin
Fecha
Seccin del documento modificada
Descripcin de cambios
Responsable
V 0.1.0
16/02/2014
Lnea base SPMP
Estructura general del SPMP
Carlos Duarte
V 0.2.0
10/03/2014
Captulo 1
Elaboracin captulo 1
Carlos Duarte
V 0.3.0
11/03/2014
Captulo 4.1
Elaboracin captulo 4.1
Carlos Duarte
V 0.4.0
12/03/2014
Captulo 3
Elaboracin captulo 3
Carlos Duarte
V 0.5.0
17/03/2014
Captulo 4.2
Elaboracin captulo 4.2
Carlos Duarte
V 0.6.0
18/03/2014
Captulo 4.3
Elaboracin captulo 4.3
Carlos Duarte
V 0.7.0
19/03/2014
Captulo 4.4
Elaboracin captulo 4.4
Carlos Duarte
V 0.7.1
20/03/2014
SPMP
Revisin del documento (Ortografa, gramtica y coherencia).
Carlos Duarte
V 0.8.0
27/03/2014
Anexos
Eliminacin de este capitulo
Carlos Duarte
V 1.0.0
28/03/2014
SPMP
Entrega
Carlos Duarte
Tabla 1 Historial de Cambios
Tabla de Contenido
Historial De Cambios2ndice de Tablas51.Visin general del proyecto61.1.Resumen del proyecto61.1.1.Propsito61.1.2.Alcance61.1.3.Suposiciones y Restricciones61.1.4.Entregables del proyecto72.Referencias83.Definiciones y Acrnimos94.Plan de procesos de gestin104.1.Plan de trabajo104.1.1.Introduccin104.1.2.Objetivo104.1.3.Actividades de trabajo104.1.4.Elaboracin del documento SPMP114.1.5.Elaboracin del documento de casos de uso114.1.6.Elaboracin del documento SRS114.1.7.Elaboracin del documento SDD114.1.8.Plan de pruebas114.1.9.Elaboracin memoria de trabajo de grado114.1.10.Elaboracin del manual124.2.Plan de control de cronograma124.2.1.Introduccin124.2.2.Objetivo124.2.3.Puesta en marcha124.3.Plan de procesos tcnicos154.3.1.Introduccin154.3.2.Objetivo154.3.3.Lenguaje de programacin154.3.4.Herramientas154.4.Plan de administracin de la configuracin164.4.1.Introduccin164.4.2.Objetivo164.4.3.Alcance164.4.4.Puesta en marcha164.4.5.Control de versiones en documentos174.4.6.Control de versiones de software y cdigo fuente174.4.7.Gestin del cambio17
ndice de Tablas
Tabla 1 Historial de Cambios2
Tabla 2 Entregables del trabajo de grado7
Tabla 3 Definiciones y Acrnimos9
Tabla 4 Actividades de trabajo11
Tabla 5 Herramientas15
1. Visin general del proyecto1.1. Resumen del proyecto
Este proyecto consiste en continuar con el desarrollo de una herramienta de administracin de requerimientos (ERMT), para la cual es necesaria complementarla con nuevas funcionalidades que se explicaran de forma general en este documento. Este proyecto tiene como objetivo obtener el ttulo de ingeniero de sistemas de la pontificia universidad javeriana.
1.1.1. Propsito
El propsito de este documento, es de realizar una gestin y planificacin de todos los planes y procesos que permite realizar un diseo, desarrollo e implementacin para la elaboracin de un producto con calidad.
1.1.2. Alcance
El alcance de este proyecto es la incorporacin de nuevas funcionalidades en la herramienta ERMT, correspondientes a la administracin y gestin de los riegos en los requerimientos de un proyecto de software. Ver documentacin casos de uso.
1.1.3. Suposiciones y Restricciones
Suposiciones
El proyecto se planea con las siguientes suposiciones:
Todos los requerimientos que se obtengan, son necesarios para implementar la aplicacin.
El cdigo fuente de ERMT 1.0 este documentado y tenga buenas prcticas de programacin.
La arquitectura es coherente respecto al cdigo fuente de ERMT 1.0
ERMT 1.0 no tenga errores de compilacin y ejecucin.
Restricciones
El proyecto se planea con las siguientes restricciones:
Las nuevas funcionalidades se deben realizar bajo el lenguaje programacin JAVA.
Se debe utilizar MySQL como sistema de gestin de bases de datos para la aplicacin.
Se debe mantener la misma interfaz grfica de ERMT 1.0.
Las nuevas funcionalidades propuestas se deben integrar a ERMT 1.0.
1.1.4. Entregables del proyecto
Las entregas que se realizan a lo largo del semestre correspondiente al desarrollo del trabajo de grado son las siguientes:
Entregable
Descripcin general
Fecha de entrega
Formato
SPMP
En este documento se tiene toda la planeacin, que se realiza en el trabajo de grado durante el semestre.
22/03/2014
Digital
Documentacin casos de uso
En este documento se tienen los casos de uso que componen el software, con su correspondiente documentacin y diseo.
29/03/2014
Digital
SRS
En este documento se tiene la definicin precisa del software que se construye, mediante la especificacin de los requerimientos de software.
04/04/2014
Digital
SDD
En este documento se tiene la descripcin detallada del diseo de software.
25/04/2014
Digital
Software funcional
Es el prototipo funcional de la nueva versin de ERMT.
09/05/2014
Digital
Manuales de producto de software
En este documento se encuentra el correspondiente soporte para instalar y utilizar el software.
12/05/2014
Digital
Reporte de pruebas de software
En este documento se encuentran las correspondientes pruebas realizadas al software.
1605/2014
Digital
Memoria trabajo de grado
Contiene especificado el marco terico, justificacin, objetivos y procesos desarrollados a lo largo del trabajo de grado.
19/05/2014
Digital
Pgina web
Contiene almacenado todos los entregables del trabajo de grado en un servidor web.
23/05/2014
Digital
Tabla 2 Entregables del trabajo de grado
2. Referencias
[1] ERMT. [Online]. Available: http://pegasus.javeriana.edu.co/~CIS1010IS05/index.html.
[2] IEEE Recommended Practice for Software Design Descriptions,IEEE Std 1016-1998, p. i, 1998.
[3] Software Engineering Toolbox | Construx. [Online]. Available: http://www.construx.com/Resources/Techniques/Software_Engineering_Toolbox/.
[4] What is Scrum? | Scrum.org - The home of Scrum. [Online]. Available: https://www.scrum.org/resources/what-is-scrum/.
[5] I. Sommerville,Ingeniera del software. Pearson Educacin, 2005.
[6] Qu es Skype? Videollamadas por Internet, mensajes instantneos, chat mvil. [Online]. Available: http://www.skype.com/es/what-is-skype/.
[7] ComprarOffice365HogarPremium. [Online]. Available: http://office.microsoft.com/es-es/products/comprar-office-365-hogar-premium-FX102853961.aspx#SeeTopFeatures.
[8] Dropbox. [Online]. Available: https://www.dropbox.com/.
[9] MySQL: Why MySQL? [Online]. Available: http://www.mysql.com/why-mysql/.
[10] Navegador Chrome. [Online]. Available: https://www.google.com/intl/es-419/chrome/browser/features.html.
[11] NetBeans IDE - Overview. [Online]. Available: https://netbeans.org/features/.
[12] TortoiseSVN - About. [Online]. Available: http://tortoisesvn.net/about.html.
[13] S. Takats, Zotero 4.0 Launches,Zotero.
[14] Productos. [Online]. Available: http://www.bizagi.com/es/productos.
[15] VectorStudy.com, Administrative Management. [Online]. Available: http://www.vectorstudy.com/management_schools/administrative_management.htm.
[16] A. Silberschatz, H. F. Korth, Sudarshan, and Saenz Perez,Fundamentos de bases de datos. Madrid: McGraw-Hill, 2006.
[17] SPMP template. [Online]. Available:http://users.csc.calpoly.edu/~jdalbey/205/Mgmt/SPMP.html.
3. Definiciones y Acrnimos
En esta seccin se definen los trminos y acrnimos que se usan a lo largo de todo el documento:
Trmino
Acrnimo
Definicin/Descripcin
Caso de uso
CU
Un nico uso del sistema representado como una interaccin entre el usuario y el sistema. [3]
Easy Requirement Management Tool
ERMT
Es una herramienta para la administracin de requerimientos en un proyecto de software. [1]
Requerimiento
REQ
Una descripcin detallada de lo que el software tiene que hacer. [3]
SCRUM
Es un proceso que se aplican un conjunto de buenas prcticas para trabajar colaborativamente en un equipo, con el fin de desarrollar un producto. [4]
Sistema de gestin de bases de datos
SGBD
Es una serie de programas, que permite almacenar, modificar y extraer informacin de una base de datos. [16]
Software Design Document
SDD
Es una representacin de un sistema de software que se utiliza como un medio para comunicar la informacin de diseo de software. [4]
Software Project Management Plan
SPMP
Es la planificacin y gestin de proyectos de software.
Sprint
Es una iteracin que en SCRUM se denomina Sprint, que por lo general, dura entre 15 das a un mes. [4]
Sprint Backlog
Esta lista de tareas permite visualizar el estado actual de las actividades programadas en cada iteracin. [4]
Sprint Review
Es una actividad que permite realizar una entrega informal de los requerimientos ya terminados en una actividad al cliente. [4]
Stakeholder
Una persona, grupo u organizacin que participa activamente en un proyecto, se ve afectada por su resultado, o pueden influir en su resultado. [2]
System requirements specification
SRS
Es la especificacin de los requerimientos que tiene un proyecto de software y una descripcin general del comportamiento del sistema.
Tabla 3 Definiciones y Acrnimos
4. Plan de procesos de gestin
4.1. Plan de trabajo4.1.1. Introduccin
Este captulo contiene el plan de trabajo, el cual consiste en especificar los documentos que se entregan a los largo del desarrollo del trabajo de grado con sus respectivas actividades, adems de establecer un punto de partida y priorizar actividades.
4.1.2. Objetivo
El objetivo del plan de procesos de gestin es definir y especificar el plan de trabajo que se realiza durante todo el trabajo de grado, adems de establecer los entregables que se realizan en cada proceso con sus correspondientes actividades.
4.1.3. Actividades de trabajo
Documento
Actividades
SPMP
Definicin de entregables
Definicin cronograma
Definicin plan de trabajo
Definicin plan de configuracin
Plan de procesos tcnicos
Documentacin casos de uso
Obtencin de los casos de uso
Definicin de actores
Priorizacin de los casos de uso
Definicin de procesos
Flujo de informacin para cada caso de uso
SRS
Obtencin de requerimientos funcionales
Obtencin de requerimientos no funcionales
Priorizacin de requerimientos
Gestin de requerimientos
SDD
Diagrama de clases
Diagrama modelo de datos
Consideraciones de diseo
Vista lgica
Vista de despliegue
Vista de implementacin
Software funcional
Conocimiento cdigo fuente
Desarrollo nuevas funcionalidades
Manuales de producto de software
Instalacin software
Tutorial software
Reporte de pruebas de software
Pruebas unitarias
Pruebas de integracin
Pruebas de sistema
Memoria trabajo de grado
Descripcin del proyecto
Marco terico
Desarrollo del trabajo
Resultados del proyecto y reflexin
Tabla 4 Actividades de trabajo
4.1.4. Elaboracin del documento SPMP
Esta actividad tiene como propsito de elaborar el documento que permite gestionar, definir el cronograma de trabajo, las actividades y procesos que se llevan a lo largo de todo el proyecto.
4.1.5. Elaboracin del documento de casos de uso
Esta actividad se encarga de las tareas relacionadas con la elaboracin de los nuevos casos de uso, desde lecturas previas del tema, hasta la elaboracin de los correspondientes casos de uso y documentacin. Ver documentacin casos de uso.
4.1.6. Elaboracin del documento SRS
Esta actividad tiene como propsito la definicin, anlisis y especificacin de los nuevos requerimientos funcionales y no funcionales de ERMT 2.0. Ver documento SRS.
4.1.7. Elaboracin del documento SDD
Esta actividad se encarga de realizar el documento de diseo de software, la arquitectura de la aplicacin con base a los requerimientos previamente establecidos, adems de la descripcin detallada del diseo del software. Ver documento SDD.
4.1.8. Plan de pruebas
Esta actividad tiene como propsito elaborar el documento que se encarga de disear la estrategia y las herramientas necesarias poder validar y verificar el producto final. Ver documento plan de pruebas.
4.1.9. Elaboracin memoria de trabajo de grado
Esta actividad tiene como propsito elaborar el documento que contiene el marco terico, objetivos generales, objetivos especficos, resultados y conclusiones del trabajo de grado desarrollado a lo largo del semestre. Ver memoria de trabajo de grado.
4.1.10. Elaboracin del manual
Esta actividad tiene como propsito realizar el documento que se encarga de especificar, cmo se va a utilizar la aplicacin, permitiendo a los diferentes usuarios tener una interaccin adecuada con la herramienta. Ver documento manual de usuario.
4.2. Plan de control de cronograma4.2.1. Introduccin
Este plan consiste en gestionar y controlar las actividades programadas en el cronograma, con el propsito de llevar un control de las tareas a desarrollar y cumplir con las fechas establecidas.
4.2.2. Objetivo
El objetivo del plan de control de cronograma es de especificar las metodologas, actividades y entregables que se usan a largo del trabajo de grado.
4.2.3. Puesta en marcha
Para la realizacin de este trabajo de grado, se escogen dos fases metodologas que permiten cumplir los objetivos del proyecto. La primera fase metodolgica consiste en una exploracin y la segunda fase metodolgica es la ejecucin de SCRUM. [4]
Fase Metodolgica 1
La primera fase metodolgica consiste en una exploracin, debido a que el primer objetivo especfico tiene como propsito realizar un estudio y un anlisis acerca de ERMT, adems permite conocer ms en detalle la problemtica que se quiere afrontar, realizando as una investigacin ms completa.
Metodologa
La metodologa que se usa en esta fase, es la de realizar un estudio exploratorio sobre las herramientas existentes en el mercado, la herramienta ERMT y realizar un anlisis detallado de los estndares de calidad de requerimientos.
Actividades
Las actividades necesarias para realizar esta fase son las siguientes:
1. Investigar la mayor cantidad de herramientas para la administracin de requerimientos que existen en el mercado.
2. Conocer y entender las caractersticas y funcionalidades que ofrecen estas herramientas.
3. Comparar las funcionalidades de ERMT frente a las herramientas existentes en el mercado.
4. Investigar y analizar los diferentes estndares de calidad de requerimientos, para determinar que funcionalidades se le pueden agregar a la herramienta.
5. Definir qu funcionalidades le hacen falta a ERMT para complementarla, adems que estn dentro del alcance y sirvan para un entorno educativo.
6. Elaboracin del marco terico del tema.
7. Conocer y entender la arquitectura que tiene ERMT.
Entregables
Luego de realizar las actividades relacionadas con esta fase, el resultado es el documento de plan de gestin de proyectos de software y las nuevas adiciones para ERMT.
Fase Metodolgica 2
La segunda fase metodolgica consiste en la ejecucin de la metodologa SCRUM, que permite abarcar los restantes objetivos especficos, donde se modifica la arquitectura existente, para que esta a su vez, soporte las nuevas funcionalidades que se implementan, realizando sus respectivas pruebas de usabilidad del producto.
Metodologa
La metodologa a usar en esta fase metodolgica es SCRUM, ya que esta permite realizar una gestin en el desarrollo del software, adems est basada en un proceso iterativo e incremental, acoplndose de manera correcta a las actividades propuestas para esta fase ya que una actividad posterior depende de las actividades anteriores.
Actividades
Las actividades necesarias para realizar esta fase son las siguientes:
1. Elaboracin de los casos de uso.
2. Realizar la especificacin de requerimientos.
3. Elaborar el Documento de Requerimientos de Software (SRS).
4. Elaboracin de la arquitectura del sistema.
5. Elaboracin del diseo por componentes del sistema.
6. Elaboracin del Documento de Diseo del Sistema (SDD).
7. Desarrollo e implementacin de las nuevas funcionalidades.
8. Realizar las pruebas de usabilidad.
9. Analizar los resultados de las pruebas de usabilidad.
10. Elaboracin manual de usuario.
11. Elaboracin de memoria final del trabajo de grado.
12. Elaboracin de pgina web de trabajo de grado.
Para llevar de manera oportuna la metodologa SCRUM es necesario llevar a cabo las siguientes actividades:
Ejecucin de la iteracin (Sprint)
Cada vez que finalice una actividad propuesta, es necesario que se lleve una reunin con el director del trabajo de grado, para poder evaluar cada una de estas actividades ya realizadas, para luego realizar las correcciones necesarias.
Demostracin de requerimientos completados (Sprint Review)
Esta actividad que ofrece SCRUM, permite realizar una entrega informal de los requerimientos ya terminados en una actividad al cliente, que en este contexto es el director del trabajo de grado, la cual permite conocer si realmente se estn entendido lo que el cliente quiere, adems de realizar mejoras en esta entrega si es necesario y si cumple con sus expectativas.
Lista de tareas de la iteracin (Sprint Backlog)
Esta lista de tareas permite visualizar el estado actual de las actividades programadas en cada iteracin, la cual permite realizar una trazabilidad a estas, conocer si se han tenido problemas, retrasos, avance del proyecto y el esfuerzo en horas para la realizacin de cada una de las tareas.
Entregables
Luego de realizar las actividades relacionadas con esta fase, el resultado de esta fase son las siguientes:
1. El documento de requerimientos de software.
2. Documento de diseo del sistema.
3. Resultados pruebas de usabilidad.
4. Manual de usuario.
5. Memoria final.
6. Software funcional.
7. Pgina web del trabajo de grado.
4.3. Plan de procesos tcnicos4.3.1. Introduccin
En este trabajo de grado se utilizan las herramientas, mtodos y tcnicas para la ejecucin de cada uno de los procesos del proyecto, ya que este cuenta con muchos componentes.
4.3.2. Objetivo
El objetivo del plan de procesos tcnicos es dar a conocer las herramientas, mtodos y tcnicas que se utilizan durante el desarrollo del trabajo de grado.
4.3.3. Lenguaje de programacin
Para este trabajo de grado se utiliza el lenguaje de programacin JAVA, debido a que ERMT 1.0 est escrito en este lenguaje, adems est basado en el paradigma orientado a objetos, lo cual me facilita su uso, debido a que lo he usado constantemente durante la carrera y su sintaxis es sencilla. Tambin provee el desarrollo del componente visual y facilidad de conexin a una base de datos.
4.3.4. Herramientas
A continuacin se muestran las herramientas que se usan en el desarrollo del trabajo de grado con sus correspondientes funcionalidades.
Herramienta
Funcin
NetBeans IDE 7.4
Es un entorno de desarrollo libre y gratuito, el cual permite realizar la lgica, conexin e interfaz grfica de la aplicacin. [11]
MySQL
Es un sistema de gestin de bases de datos relacional, la cual permite llevar a cabo la persistencia de la aplicacin. [9]
Bizagi
Es una herramienta que permite realizar diagramas de BPMN. [14]
Google Chrome
Navegador de internet, el cual permite utilizar el plugin de Zotero que trabaja sobre este navegador. [10]
Dropbox
Es una plataforma que sirve de repositorio en la nube, la cual permite ser accedida desde cualquier lugar y momento. [8]
Microsoft Office
Microsoft Word: Permite la realizacin de documentos. [7]
Microsoft Excel: Permite la realizacin de plantillas. [7]
Microsoft Visio: Permite realizar diferentes tipos de diagramas arquitectnicos de la aplicacin. [7]
Microsoft Project: Permite realizar la calendarizacin del trabajo de grado. [7]
Zotero
Esta herramienta permite almacenar las referencias que se utilicen durante el desarrollo del trabajo de grado. [13]
TortoiseSVN
Es un programa que permite el control de versiones del software. [12]
Skype
Esta herramienta permite la comunicacin entre el profesor y el estudiante. [6]
Tabla 5 Herramientas
4.4. Plan de administracin de la configuracin4.4.1. Introduccin
El propsito de este captulo es describir el Plan de Administracin de la Configuracin. En esta seccin del documento se explica el mtodo para evaluar y aprobar un cambio que es necesario durante el transcurso del desarrollo del trabajo de grado.
4.4.2. Objetivo
EL objetivo de la administracin de la configuracin es definir y mantener la integridad de los diferentes documentos que se generan a lo largo del desarrollo de este trabajo de grado.
4.4.3. Alcance
Las actividades que se encuentran en el mbito de la administracin de la configuracin son las siguientes:
Identificacin de elementos de configuracin.
Descripcin de los tems de configuracin.
Establecimiento y administracin del repositorio.
Mantenimiento de la historia de los documentos.
Mantener un control sobre los cambios.
Mantener un control de versiones para el cdigo fuente.
4.4.4. Puesta en marcha
A continuacin se muestran los documentos que son versionados a lo largo del desarrollo del trabajo de grado, cuando se realice un cambio a estos:
SPMP
SRS
SDD
Documentacin casos de uso
Manuales de producto de software
Reporte de pruebas de software
4.4.5. Control de versiones en documentos
La metodologa para la administracin y gestin de configuracin para los documentos del proyecto se realiza en la siguiente herramienta en la nube:
Dropbox [8]
Esta herramienta es utilizada debido a la facilidad de su uso y acceso a archivos. Adems esta herramienta permite un adecuado control en los cambios de los documentos.
Para controlar la versin de los documentos, se utiliza la nomenclatura X.Y.Z. En esta enumeracin, X es un valor entero que representa un cambio de una gran magnitud (documento aprobado por el director del trabajo de grado), Y indica cambios de forma y fondo del documento (cambios en los captulos, eliminacin de captulos o uniones de captulos). Por ltimo el campo Z, tambin de valor entero, representa un cambio menor en los documentos (revisin de ortografa, fuente, tamao de la letra, gramtica). [17]
4.4.6. Control de versiones de software y cdigo fuente
Para el control de versiones del software y cdigo fuente, se hace uso de un repositorio SVN. Dicha Herramienta permite que editen los archivos de cdigo y se pueda llevar un control ante estas modificaciones. La herramienta escogida para llevar este control es TortoiseSVN.
Para la utilizacin del repositorio, este es divido en tres carpetas principales:
Raz: Esta carpeta contiene la versin inicial o la versin ms reciente y estable del cdigo fuente.
Nuevo: Esta carpeta contendr las nuevas funcionalidades de ERMT 2.0, sin ser integrada a ERMT 1.0.
Pruebas: Esta carpeta contiene las nuevas funcionalidades de ERMT 2.0, la cual tiene como objetivo realizar las correspondientes pruebas de integracin.
4.4.7. Gestin del cambio
Para la gestin de cambios se realiza un seguimiento a los planes establecidos a lo largo del proyecto, para mantener la consistencia entre los distintos archivos del proyecto. Estos cambios estn documentados en el historial de cambios en cada uno de los documentos especificados anteriormente, donde se reflejan los cambios que se han hecho en las diferentes partes del documento y tambin la persona responsable o quien realiza el cambio.
2