Pistas Educativas, No. 110, Agosto-Diciembre 2014. México, Instituto Tecnológico de Celaya.
Uso de herramientas CASE para la gestión de
proyectos de software
Juan Ignacio Cerca Vázquez
Instituto Tecnológico de Celaya
[email protected]
Luis Alberto López González
Instituto Tecnológico de Celaya
[email protected]
José Jesús Sánchez Farías
Instituto Tecnológico de Celaya
[email protected]
Oscar Grimaldo Aguayo
Instituto Tecnológico de Celaya
[email protected]
Ramón Eduardo Mendoza Méndez
Instituto Tecnológico de Celaya
[email protected]
Resumen
En consideración de la constante actualización de las tecnologías emergentes que la
práctica cotidiana requiere dentro de este campo, el presente trabajo presenta un
compendio que resume una muestra de aplicaciones de apoyo al desarrollo e ingeniería
de programas de cómputo, denominadas herramientas CASE, por sus siglas en inglés,
tomando en consideración también un enfoque didáctico y la contribución que estas
Pistas Educativas Año XXXV - ISSN 1405-1249
Certificado de Licitud de Título 6216; Certificado de Licitud de Contenido 4777; Expediente de Reserva 6 98 62
http://pistaseducativas.itc.mx
~265~
Pistas Educativas, No. 110, Agosto-Diciembre 2014. México, Instituto Tecnológico de Celaya.
brindan al gestor o líder de proyecto de desarrollo de sistemas, se han agrupado por
tipo de tecnología y en categorías de acuerdo a las distintas etapas que posee el ciclo
de vida de un software, así como su colaboración en la metodología a implementar.
Palabra(s) Clave(s): Desarrollo de software, metodología, ciclo de vida, CASE
Introducción
CASE es el acrónimo de Computer Aided Software Engineering, ó ingeniería de
software asistida por computadora, y se refiere al uso de programas de cómputo para
organizar y administrar el desarrollo de software, sobre todo en aquellos proyectos
donde se involucre una cantidad considerable de recursos y personal, tarea que para el
gestor de proyectos representa una inversión considerable de tiempo, por tal motivo
estas herramientas tienen como propósito el fungir como apoyo durante el ciclo de vida
de todo el proyecto incluyendo todos sus componentes. El uso de estas herramientas
también debe ser categorizado dentro del contexto del tipo de tecnología en la que se
encuentre disponible la herramienta, así como por el propósito de su uso, para este
trabajo considera la clasificación en función de la fase del ciclo de vida: Upper
(administradores de proyectos), middle (herramientas de diseño ) y Lower (generadores
de código, repositorios, reporteadores.
Pistas Educativas Año XXXV - ISSN 1405-1249
Certificado de Licitud de Título 6216; Certificado de Licitud de Contenido 4777; Expediente de Reserva 6 98 62
http://pistaseducativas.itc.mx
~266~
Pistas Educativas, No. 110, Agosto-Diciembre 2014. México, Instituto Tecnológico de Celaya.
Nivel 3: Lower
codificación, control de
versiones, pruebas
Desarrollo,
CICLO DE VIDA
DEL SOFTWARE
Análisis, Diseño,
Modelado,
metodología
Nivel 2: Middle
Nivel 1: Upper
Gestión del proyecto,
planificación de
recursos, análisis
preliminar
Fig. 1. Las herramientas case por su función en el ciclo de vida son agrupadas
como Middle, Upper y Lower
Es importante señalar que los niveles del ciclo de vida en este caso se refieren a las
etapas en las que el software se encuentra en desarrollo y que comprenden hasta las
pruebas e implementación.
Aunque las herramientas se agrupan por la etapa del ciclo de vida en la que son
utilizadas, es conveniente también, categorizarlas en base a otros aspectos que
permitirán identificar al gestor de proyectos de software las herramientas en base a su
tecnología y tipo de licencia ya que este es un factor fundamental para seleccionar
entre un conjunto de herramientas que son de niveles iguales, definiendo una
descripción para cada categoría:
Por su tecnología: Las tecnologías de información emergentes se encuentran en
constante evolución al paso del tiempo brindando cada vez servicios de mayor
movilidad y portabilidad, en la actualidad se encuentran herramientas locales u offline
que son las que se instalan en el equipo cliente y que son ejecutadas en el mismo lugar
donde son utilizadas, generalmente aplicaciones de funcionalidad compleja y alto
Pistas Educativas Año XXXV - ISSN 1405-1249
Certificado de Licitud de Título 6216; Certificado de Licitud de Contenido 4777; Expediente de Reserva 6 98 62
http://pistaseducativas.itc.mx
~267~
Pistas Educativas, No. 110, Agosto-Diciembre 2014. México, Instituto Tecnológico de Celaya.
consumo de recursos. Las herramientas cliente-servidor que son las que instalan una
pequeña instancia del software en el equipo del cliente, pero que requieren
comunicación constante con un equipo remoto servidor, estas generalmente tienen
funcionalidad asistida y es donde se ubican las aplicaciones móviles, y todas aquellas
que necesiten tener una interacción constante con sus servicios, Las herramientas en
línea o en internet que no requieren una instalación del cliente que son ejecutadas en el
equipo cliente pero físicamente ubicadas en un servicio en la nube (Cloud Computing)
[1], generalmente con funciones y características básicas y limitadas.
Por su Licencia: Antes de comenzar a operar una herramienta es importante
documentarse acerca del tipo de licencia (CLUF) del software que se va a utilizar, ya
que el software es una propiedad intelectual que está sujeta a un contrato de
arrendamiento que se realiza antes de instalarse o utilizarse, este convenio puede o no
requerir la cobertura de una cantidad económica por el pago de los derechos de uso,
instalación, edición del producto en cuestión [2]. así mismo esta variará en cuanto a si
el código fuente está abierto(GNU)[3] para su edición, evaluación y mejora por parte del
mismo usuario, o si está cerrado, es decir, si el código fuente del programa esta
restringido para uso privado y solo se puede conceder el uso del producto terminado,
Existen diversos acuerdos de licencia, esta será de acuerdo a la herramienta que se
esté considerando utilizar, para el caso de las que aquí se mencionan se encuentran:
La licencia o contrato para software comercial, que es el convenio para usar el producto
software a código cerrado, con los fines que el contrato establezcan, y por los que hay
que pagar una cantidad económica para poder tener acceso a las características de las
herramientas como uso, instalación, compartición, uso con fines de lucro. La licencia o
contrato para uso de software libre o de código abierto que faculta al usuario a tener
una copia del software y de su código fuente para poder evaluarlo, usarlo y en algún
momento de acuerdo al contrato poder modificarlo y adaptarlo a las nuevas
necesidades de una comunidad o grupo de usuarios, por tal motivo este software no
puede ser comercializado, ya que el propósito de esta licencia es el de ir agregando
nuevas funcionalidades, valiéndose de la experiencia de los mismos usuarios, en el
caso de las plataformas móviles o en línea el contrato de licencia permite el uso y
Pistas Educativas Año XXXV - ISSN 1405-1249
Certificado de Licitud de Título 6216; Certificado de Licitud de Contenido 4777; Expediente de Reserva 6 98 62
http://pistaseducativas.itc.mx
~268~
Pistas Educativas, No. 110, Agosto-Diciembre 2014. México, Instituto Tecnológico de Celaya.
acceso a una versión restringida y limitada del software poniendo las características
completas a disposición del cliente para su descarga e instalación o para su uso online
en la nube mediante el pago de un derecho o la suscripción a una membresía
proporcionada por el fabricante, y que permitirá el uso de la plataforma de manera
ilimitada.
Para el desarrollo del presente trabajo se considerarán algunas herramientas de
cualquiera de los tipos antes mencionados haciendo referencia en el impacto que
poseen en el proceso de gestión de proyectos de software.
Desarrollo
Como su nombre lo sugiere una herramienta debe de funcionar para potenciar la
práctica de una actividad, se comienza con el inicio del ciclo de vida que es la gestión
del proyecto y la planificación de recursos, para esta primera etapa que es el upper o
nivel uno las características deseables de una herramienta pudieran ser las siguientes:
Gestión de múltiples proyectos: gestionar múltiples proyectos desde una sola interfaz.
Cada proyecto puede tener una configuración totalmente diferente y el usuario tener un
rol distinto en cada uno. Dentro de cada proyecto pueden definirse varios subproyectos.
Personalización de proyectos: El proyecto debe ser totalmente personalizable, pudiendo
encontrar proyectos muy distintos entre sí según sus objetivos. Lo más importante son
los módulos que se pueden desactivar o activar para cada proyecto: peticiones, control
del tiempo, documentos, archivos.
Sistema flexible de seguimiento de tareas: Una de las mecánicas más útiles para el
desarrollo de un proyecto son las peticiones y su visualización. Estas peticiones se
pueden ser errores, tareas o soporte y deben poder asignarse a un miembro
Comentarios de: Uso de herramientas CASE para la gestión de proyectos de software (0)
No hay comentarios