22

Click here to load reader

pegasus.javeriana.edu.copegasus.javeriana.edu.co/~CIS1410IS08/Final/Anexo 1...  · Web viewEl historial de cambios es una tabla que muestra la evolución y seguimiento del documento,

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