Está en la página 1de 27

INTRODUCCIN

Como se sabe en la actualidad en los negocios siempre hay una gran necesidad por
contar con un sistema o herramienta que les facilite el almacenamiento, uso y
procesamiento de datos, sistemas de procesamiento de datos (SPDs), por eso es que
cada da se disean sistemas y herramientas con un mayor alcance en lo que se
refiere a base de datos, con el fin de optimizar el control y procesamiento de la data,
por lo que en esta ocasin nos vamos a concentrar en una de las muchas
herramientas case que existen en el mercado la cual va a ayudar a los negocios en el
control y mantenimiento de la data de posibles aplicaciones, sistemas o herramientas
que este desee disear como un adecuado control de las versiones que se van
diseando y creando, con el fin de tener un registro total de los xitos y errores que se
tuvo con anteriores versiones y hacer actualizaciones que resuelvan esos problemas,
y en caso de no resolverlos volver a la versin anterior y realizar nuevamente el
estudio para proceder con otra actualizacin.
Lo que se busca con este trabajo es brindar una alternativa de solucin al problema
que se da en la creacin de aplicaciones, sistemas, software, herramientas, entre
otros. En los cuales es primordial tener un buen registro de la data que se va creando
en conjunto con las versiones que se van creando de las aplicaciones y otros con el fin
de prevenir errores, realizar mejoras continuas, mantenimientos, disminuir tiempos y
costos.

Herramientas CASE
Qu es una herramienta CASE?
Las herramientas CASE son diversas aplicaciones informticas destinadas a
aumentar la productividad en el desarrollo de software reduciendo el costo de las
mismas en trminos de tiempo y de dinero. Estas herramientas pueden ayudar en
todos los aspectos del ciclo de vida de desarrollo del software en tareas como el
proceso de realizar un diseo del proyecto, clculo de costos, implementacin de
parte del cdigo automticamente con el diseo dado, compilacin automtica,
documentacin o deteccin de errores entre otras.

Objetivos de las herramientas case

Mejorar la productividad del software

Aumentar la calidad del software

Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas


informticos.

Mejorar la planificacin de un proyecto

Aumentar la biblioteca de conocimiento informtico de una empresa ayudando


a la bsqueda de soluciones para los requisitos.

Automatizar el desarrollo del software, la documentacin, la generacin de


cdigo, las pruebas de errores y la gestin del proyecto.

Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la


documentacin

Gestin global en todas las fases de desarrollo de software con una misma
herramienta.

Facilitar el uso de las distintas metodologas propias de la ingeniera del


software.

Ventajas y Desventajas
Ventajas

Estas herramientas pueden proveer muchos beneficios en todas las etapas del
proceso de desarrollo de software, algunas de ellas son:

Mejora en la productividad
Mejora en la eficacia
Mejora en la calidad del sistema de informacin
Disminucin de tiempo
Automatizacin de tareas tediosas
Garantizar la consistencia de los procedimientos
Verificar el uso de todos los elementos en el sistema diseado.
Automatizar el dibujo de diagramas.
Ayudar en la documentacin del sistema.
Ayudar en la creacin de relaciones en la Base de Datos.
Generar estructuras de cdigo.

Desventajas

Falta de niveles estndar para el soporte de la metodologa.


Conflictos en el uso de los diagramas.
Diagramas no utilizados.
Funcin limitada.
Costo de adquisicin.

Tipos de Herramientas CASE


Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se
pueden agrupar de la forma siguiente:
Herramientas integradas, I-CASE.
Herramientas de planificacin de sistemas de gestin.
Herramientas de anlisis y diseo.
Herramientas de programacin.
Herramientas de gestin de prototipos.
Herramientas de mantenimiento: La categora de herramientas de
mantenimiento se puede subdividir en:

Herramientas de ingeniera inversa.

Herramientas de reestructuracin y anlisis de cdigo.

Herramientas de reingeniera.

Control de Versiones
Qu es el control de versiones, y por qu debera importarte? El control de
versiones es un sistema que registra los cambios realizados sobre un archivo o
conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar
versiones especficas ms adelante. A pesar de que los ejemplos de este libro
muestran cdigo fuente como archivos bajo control de versiones, en realidad
cualquier tipo de archivo que encuentres en un ordenador puede ponerse bajo
control de versiones.
El control de versiones se realiza principalmente en la industria informtica para
controlar las distintas versiones del cdigo fuente dando lugar a los sistemas de
control de cdigo fuente o SCM (siglas del ingls Source Code Management). Sin
embargo, los mismos conceptos son aplicables a otros mbitos como documentos,
imgenes, sitios web, etc.

Beneficios de un adecuado control de versiones


Tener un control exacto sobre cul es la ltima versin del cdigo, y quin y
cundo la ha cargado.
Poder comparar versiones, viendo cuales han sido los cambios realizados.
Regresar atrs (a una versin anterior) cuando lo que hemos desarrollado no
nos ha dado los resultados esperados.

Crear distintas ramas del proyecto. Si llegado a un punto se hace necesario


hacer dos aplicaciones con distintas funcionalidades, pero con cosas en
comn, se pueden separar en dos ramas.

Sistemas de Control de Versiones


Es un sistema que registra los cambios realizados sobre un archivo o conjunto
de archivos a lo largo del tiempo, de modo que se pueda recuperar versiones
especficas en un futuro. A pesar de que es mucho ms usual hacer un control
de versiones sobre el cdigo fuente de algn aplicativo, en realidad cualquier
tipo de archivo que se encuentre en la computadora puede ponerse bajo
control de versiones.
Una ventaja de los sistemas de control de versiones es que permite revertir
archivos a un estado anterior, revertir el proyecto entero a un estado anterior,
comparar cambios a lo largo del tiempo, ver quin modific por ltima vez algo
que puede estar causando un problema, quin introdujo un error y cundo, y
mucho ms. Usar un SCV tambin significa generalmente que si se comete un
error o se pierde archivos, estos pueden ser recuperados fcilmente. Adems,
se obtiene todos estos beneficios a un coste muy bajo.

Tipos de Sistemas de Control de Versiones


Sistemas de control de versiones locales
Un mtodo de control de versiones usado por muchas personas es copiar los
archivos a otro directorio (quizs indicando la fecha y hora en que lo hicieron, si
son ms listos). Este enfoque es muy comn porque es muy simple, pero
tambin tremendamente propenso a errores. Es fcil olvidar en qu directorio te
encuentras, y guardar accidentalmente en el archivo equivocado o sobrescribir
archivos que no queras.
Para hacer frente a este problema, los programadores desarrollaron hace
tiempo SCVs locales que contenan una simple base de datos en la que se
llevaba registro de todos los cambios realizados sobre los archivos

Figura 1: Diagrama de
control de versiones
local

Sistemas de control de versiones centralizados


El siguiente gran problema con la que se encuentran las personas es que
necesitan colaborar con desarrolladores en otros sistemas. Para solventar este
problema, se desarrollaron los sistemas de control de versiones centralizados
(Centralized Version Control Systems o CVCSs en ingls). Estos sistemas,
como CVS, Subversion, y Perforce, tienen un nico servidor que contiene todos
los archivos versionados, y varios clientes que descargan los archivos desde
ese lugar central. Durante muchos aos ste ha sido el estndar para el control
de versiones

Figura 2: Diagrama de control de versiones centralizadas

Esta configuracin ofrece muchas ventajas, especialmente frente a VCSs


locales. Por ejemplo, todo el mundo puede saber (hasta cierto punto) en qu
estn trabajando los otros colaboradores del proyecto. Los administradores
tienen control detallado de qu puede hacer cada uno; y es mucho ms fcil
administrar un CVCS que tener que lidiar con bases de datos locales en cada
cliente.

Sin embargo, esta configuracin tambin tiene serias desventajas. La ms


obvia es el punto nico de fallo que representa el servidor centralizado. Si ese
servidor se cae durante una hora, entonces durante esa hora nadie puede
colaborar o guardar cambios versionados de aquello en que estn trabajando.
Si el disco duro en el que se encuentra la base de datos central se corrompe, y
no se han llevado copias de seguridad adecuadamente, se podra perder
absolutamente todo; toda la historia del proyecto salvo aquellas instantneas
que las personas relacionadas puedan tener en sus mquinas locales. Los
VCSs locales sufren de este mismo problema; cuando tienes toda la historia del
proyecto en un nico lugar, te arriesgas a perderlo todo.

Sistemas de control de versiones distribuidos


Es aqu donde entran los sistemas de control de versiones distribuidos
(Distributed Version Control Systems o DVCSs en ingls). En un DVCS (como
Git, Mercurial, Bazaar o Darcs), los clientes no slo descargan la ltima
instantnea de los archivos: replican completamente el repositorio. As, si un
servidor muere, y estos sistemas estaban colaborando a travs de l,
cualquiera de los repositorios de los clientes puede copiarse en el servidor para
restaurarlo. Cada vez que se descarga una instantnea, en realidad se hace
una copia de seguridad completa de todos los datos

Figura 3: Diagrama de control de versiones distribuido

Presentacin del Problema


Dentro de las empresas o negocios van a existir situaciones en las que es necesario
cambiar el cdigo, pero muchas otras en las que se debe cambiar la forma en que se
maneja este activo en las diferentes etapas del ciclo de vida del software.
Muchas de las razones por las cuales se debe cambiar el cdigo tienen que ver con
los requerimientos del cliente, por tanto existe una alta frecuencia de cambio por
situaciones en las que los requerimientos no fueron capturados adecuadamente. Esto
es conocido como un error funcional, ya que no cumple las necesidades del cliente.
Sin embargo tambin existen otro tipo de errores que tienen que ver con el desarrollo,
estos se originan por fallas en la ejecucin del cdigo, acceso a los datos o
compatibilidad con otro software/hardware.
Teniendo en cuenta estas razones de cambio, la siguiente grfica aproxima la
frecuencia de ocurrencia de estos para dar una idea de la distribucin que presentan:

Figura 4: Distribucin de los hechos que hacen necesario el cambio de cdigo

Por tanto, en una empresa como la nuestra es necesario tener en cuenta el control
que se tiene sobre los cambios realizados al software, as como a la documentacin
generada el este proceso, de otra manera podra afectar el desarrollo de nuestro
trabajo y las necesidades de nuestros clientes.

Situaciones de Riesgo
Teniendo en cuenta lo anterior, se ha recogido la siguiente problemtica que ocurre en
la ejecucin de nuestras actividades:

Control de accesos

En la actualidad, el desarrollo de cdigo se da en un ambiente compartido dentro del


rea de desarrollo, si bien es un rea aislada fsica y electrnicamente, no se controla
el acceso a los computadores dentro de la red, por lo que un usuario puede ver y
modificar cdigo que otra persona est construyendo, o en el peor de los casos
eliminarlo. Es necesaria la implementacin de un mecanismo que controle los accesos
a los documentos y fuentes de los proyectos en curso, por seguridad de la empresa y
las necesidades de los clientes.

Ambigedad en las etapas de un proyecto

Si bien el desarrollo de un aplicativo puede estar dividido en etapas de un proyecto, no


existe una relacin clara entre las versiones de una determinada fuente y la etapa a la
que pertenecen. Esto puede inducir al error, provocando demoras o daos irreparables
en el desarrollo del plan de un proyecto.
Es una mala prctica en la empresa, el no organizar los elementos de software
correctamente, por lo que es necesario una herramienta que permite la gestin de los
mismos a lo largo de las distintas etapas de un proyecto, sin que el usuario este
consciente de ello, ni que interfiera en sus actividades.

Historial de versiones

Este es un punto crtico en el desarrollo de las actividades, ya que no se puede hacer


seguimiento de los cambios que una persona o equipo realiza sobre el cdigo de un
aplicativo. En el ambiente compartido las versiones se reconocen por ndices (versin
x.x.x), sin embargo suele ocurrir que algunas versiones se pierden y, si existiese un
error, no se pueden revertir los cambios.
Se requiere una herramienta que permita el ingreso de datos de versionamiento segn
un estndar definido, para que la posterior auditoria o reversin de cambios sea una
tarea sencilla. Adems este estndar debe estar acorde con cada etapa del proceso
(anlisis, diseo, desarrollo, pruebas, QA, etc.)

Creacin de ramificaciones

Esto es una consecuencia de la falta de control de accesos y el control ligero de


versiones. Dos desarrolladores pueden partir de una versin especfica y producir
distintos resultados sin control de las variaciones que hayan hecho, esto demora la
entrega de un proyecto al tener que combinar o evaluar por separado las versiones.
La solucin debe contemplar este aspecto que sucede con frecuencia en el ambiente
de desarrollo, permitiendo un seguimiento constante de las actividades y acciones de
los participantes

Fundicin de cdigo

En los casos en los que dos o ms ramas de desarrollo se tuvieran que combinar, el
proceso se tiene que realizar manualmente, debido a que no existe una herramienta
que haga esa tarea, y menos an que la documente.
Como complemento del requerimiento anterior, se requiere una herramienta que tenga
funcionalidades de merging para facilitar la tarea de combinar versiones, sin que esto
sea una tarea ardua y lenta. Adems, que permita documentar las acciones tomadas
en las versiones finales.

Control de aprobaciones

En la actualidad, la aprobacin de versiones se da a travs de actas dirigidas al


encargado del proyecto. Sin embargo es un proceso tedioso y en algunas ocasiones
redundante. Adems se puede dar el caso de error y provocar una aprobacin
inadecuada.
Este proceso debe ser automtico; las notificaciones deben llegar al responsable
instantneamente y permitirle la revisin y aprobacin dentro de la herramienta, de tal
forma que sus observaciones queden documentadas de manera estandarizada.

Descentralizacin de la informacin

Acceder a una versin de una fuente o documento en un ambiente descentralizado


significa encontrarse con diversas versiones y, en caso aquella revisin no est dentro
del ambiente compartido se debe hacer una bsqueda entre los miembros del equipo.
Este procedimiento debe ser eliminado principalmente por el tiempo que demanda y la
incertidumbre que existe sobre la veracidad de la versin del elemento. La solucin

debe considerar un repositorio centralizado, al que los computadores consultan y


actualizan.

Auditoria de cambios

En el ambiente de desarrollo de la empresa, si se realiza algn cambio en una fuente


no se puede determinar el responsable de este, esto conlleva posibles malentendidos
o efectos en la entrega del producto al cliente.
Los cambios deben ser documentados en formularios estandarizados y dentro de una
herramienta que los organice, para efecto de evitar ambigedades.

Responsabilidades dentro de un proyecto

Actualmente no se controla los permisos que tiene cada desarrollador dentro del
ambiente de construccin, y junto a la ausencia de documentacin de auditoria,
pueden generar fallas no previstas.
Es necesario una herramienta en la que se pueda asignar perfiles y permisos a los
usuarios dentro de un determinado ambiente o etapa. Esto est relacionado con el
control de accesos y el control de aprobaciones.

Control de pruebas

La realizacin de pruebas solo se realiza en un ambiente local, por lo que la


recopilacin de datos se ve limitada. Es imposible realizar copias de un ambiente de
produccin para ejecutar pruebas en el mismo ambiente.
Se debe implementar un ambiente controlado en el cual se puedan realizar pruebas,
con la seguridad de que no afectar otros activos, y como complemento, que ofrezca
la documentacin de estos procedimientos.

CA Harvest (Porpuesta de solucin)


Debido a la problemtica existente en la empresa, el equipo encargado propone la
implementacin de un sistema de control de cambios, que permitir resolver los
distintos aspectos que dificultan el trabajo diario. El sistema propuesto es el CA
Harvest Software Change Manager, una herramienta verstil respecto a las
necesidades que presentamos actualmente.

Descripcin de la herramienta CASE


CA Harvest es una herramienta software para el control de revisiones de cdigo fuente
y otros archivos relacionados con el desarrollo de software. Est orientado a la gestin
de configuracin de software a lo largo de todo el ciclo de vida de este, por lo que est
preparado para manejar los siguientes elementos de configuracin de software:

Programas de computador (fuente o ejecutable)


Documentacin (documentacin de anlisis/diseo, manuales, etc.)
Estructuras de datos (diagramas)

Un ECS es un elemento que se crea a partir del proceso de ingeniera de software.


Los siguientes ECS son el objeto de las tcnicas de gestin de configuraciones y
forman un conjunto de lneas base:

Especificacin del sistema


Plan del proyecto software
Especificacin de requerimientos del software
o Prototipo ejecutable o en papel
Manual de usuario preliminar
Especificacin de diseo:
o Diseo preliminar
o Diseo detallado
Listados del cdigo fuente
Planificacin y procedimiento de prueba
o Casos de prueba y resultados registrados
Manuales de operacin y de instalacin
Programas ejecutables
Manual de usuario
Documentos de mantenimiento
o Informes de problemas del software
o Peticiones de mantenimiento
o rdenes de cambios de ingeniera
Estndares y procedimientos de ingeniera del software

La herramienta CA Harvest identifica y gestiona las distintas versionas de un ECS de


forma que se puedan introducir cambios eficientemente, as mantiene un registro de
las modificaciones. Adems asegura la correcta asignacin de responsabilidades de
aprobacin o priorizacin. Justo a un proceso de correcta estandarizacin, la
herramienta facilita la identificacin y relacin de distintos ECS que comparten un
mismo proyecto u objetivo.

Caractersticas del producto (CA Harvest)


Instalacin:

Se cuenta con manuales de instalacin y manuales de usuario.


La media se descarga desde el SITE del proveedor, a travs de un cdigo.
Derecho de descarga, actualizaciones, parches, documentacin, soporte
24x7

Requerimientos de hardware
REQUERIMIENTOS HARDWARE PARA ENTORNO WINDOWS
CLIENTE

SERVIDOR

Procesador Intel (dual-quad)

Procesador Intel (dual-quad)

Al menos 60MB de espacio en disco


para los archivos.
Al menos 2GB de RAM

Al menos 2GB de RAM


110MB de espacio en disco para uso
temporario durante instalacin.

Conexin de red con protocolo TCP/IP


a un servidor CA SCM (Software

Al menos 2GB de espacio en disco

Change Manager) corriendo Linux,

para los archivos del producto.

UNIX o Windows.
110MB de espacio en disco para uso
temporario durante instalacin.

Una base de datos local o remota


corriendo una versin soportada de
ORACLE o SQL Server

Requerimientos de software
REQUERIMIENTOS SOFTWARE PARA ENTORNO WINDOWS

SISTEMAS OPERATIVOS

SISTEMAS OPERATIVOS (LINUX)

(WINDOWS)
Windows 200 server

Red Hat Enterprise Linux AS 3.0/4.0

Windows 200 Advanced

SUSE LINUX Enterprise Server 8

Server

and 9 for x86

Windows 200 Professional

Z/OS 1.4, 1.5, 1.6

Windows Server 2003

ISPF

Standar
SERVIDORES DE BD

RACF, Top Secret, ACF2


SERVIDOR DE APLICACIONES

Oracle 9.2, 10g, 11g

Microsoft IIS 5.0 o superior.

SQL Server 2000 o superior

Apache Tomcat 4.1.29 o superior.

Interfaz de usuario
La interfaz de usuario es muy similar al navegador de carpetas de Windows. Los
proyectos y etapas funcionan como contenedores, y dentro de estos existen
diversas carpetas donde se ubican los ECS. Se puede hacer una separacin por
tipo de elementos segn las necesidades del proyecto o etapa.

Figura 5: Interfaz grfica del CA Harvest

Estructura de trabajo
CA Harvest es un SCM de tipo centralizado, quiere decir que el repositorio y
herramientas de gestin de encuentran desplegadas en un solo servidor al cual se
puede acceder remotamente.
Harvest posee una estructura bsica de trabajo que permite modelar los procesos
segn las necesidades de la empresa, ofreciendo para cualquier configuracin, las
mismas caractersticas de seguridad y versatilidad. Esta estructura est compuesta
por los siguientes elementos:

Para la construccin de la estructura de trabajo en CA Harvest existen diversos objetos


que convierten a la herramienta en una muy verstil y capaz de abarcar diversos
procesos que se realizan en la empresa.
Existen elementos que sirven para construir espacios en Harvest. Son bastante
generales y sirven como contenedores de los dems elementos:

Proyecto

Tambin conocido como ambiente. Estos pueden ser adecuados a diversas


categoras como aplicaciones, organizaciones o reas de trabajo. Estos ofrecen un
marco de control que incluye:

Divisin de ramas, para desplegar cambios en ambiente aislado y

controlado.
Definicin de procesos y etapas por las que un determinado ECS debe

pasar a lo largo del ciclo de vida.


Control de accesos para las etapas y ECS.

Usuario

O grupo de usuarios. Son los perfiles de los usuarios que ingresan a la


herramienta. Sirven para registrar la actividad que realizan y para asignarles vista
a las determinadas etapas de un proyecto.

Repositorio

Es el espacio donde todos los elementos de configuracin de software se guardan.


Es un espacio centralizado, adems ofrece soporte para acceso remoto y
clusterizado.
Existen otros objetos de construccin en Harvest, pero estos son utilizados para
crear los ciclos de vida dentro de un proyecto. Estos objetos son los siguientes:

Etapas

Son reas especficas dentro de un proyecto, en la cual ciertas actividades toman


lugar y solo ciertos procesos pueden aplicados a los paquetes que estn dentro.
Tambin permiten delimitar espacios a los cuales se quiere que solo determinados
usuarios accedan.

Paquetes

Son la unidad bsica de trabajo. Representan solicitudes de cambio, por lo que


almacenan diversos tipos de elementos de configuracin. Dentro de un paquete
existe subespacios para la mejor ubicacin de los ECS: espacios para los cdigos,
documentacin y diagramas.
Los paquetes permiten que los elementos pasen a travs de las distintas etapas de
un proyecto como un conjunto, por lo cual la tarea de seguimiento es ms sencilla.
Los paquetes tambin se pueden agrupar en caso existan varios requerimientos o
la envergadura del proyecto sea mayor.

Vistas

Una vista dentro de un proyecto permite que los cambios sean aislados y mejor
administrados. Las vistas estn integradas al ciclo de vida, pues estn asociadas a
una o ms etapas. Varias etapas pueden compartir una misma vista, pero una
etapa no puede estar asociada a ms de una vista. De esta forma, las vistas
determinan que versiones son accesibles a los usuarios.

Ciclo de Vida
Estn compuestos por diversas etapas configurables, por las que los ECS deben
pasar. En cada una se puede controlar el acceso y aprobacin. Una vez definido el
ciclo, Harvest ofrece herramientas de auditoria para controlar la actividad dentro de
cada etapa de los ciclos de vida.
Un ciclo de vida describe el camino que los cambios toman mientras se lleva a cabo el
desarrollo, en trminos de etapas ordenadas. En cada etapa, los procesos definen una
serie de actividades que ocurren, esto quiere decir que existe un nico flujo de trabajo.
La aprobacin o rechazo tiene una importancia especial dentro del ciclo de vida ya que
estos determinan como estn relacionadas las etapas y como los elementos pueden
trasladarse. Las distintas opciones de vista permiten definir cules versiones estarn
disponibles para los usuarios.
Un ciclo de vida por ejemplo puede ser el siguiente: Requerimiento, desarrollo, testing,
QA y produccin. En el diagrama una flecha indica un proceso de promocin de un
paquete de una etapa a otra.

Figura 6: Diagrama del ciclo de vida de un software

Funcionalidades del CA Harvest


Atributos Internos de la herramienta
Control de versiones
-

Almacenar versiones de cualquier elemento o archivo.

Permitir un nmero limitado de versiones.

Bloqueo de archivos en el sistema, evitando que otros usuarios la editen.

Gestin del desarrollo


-

Facilitar el desarrollo de versiones por incrementos.

Permitir la creacin de versiones antiguas del sistema.

Gestin de procesos
-

Definir claramente las etapas de desarrollo.

Visualizar grficamente el modelo de procesos.

Gestin de datos
-

Proporcionar recursos para la recuperacin de datos.

Clasificar archivos relacionados en grupo de archivos.

Seguridad
-

Solicitar Autenticacin del usuario para ingresar al aplicativo.

Soportar un sistema de control para la auditoria de cambios a las versiones.

Atributos externos de la herramienta


Interoperabilidad con el equipamiento informtico Institucional
Las bases de datos de la empresa se encuentran bajo el soporte de
equipos informticos de diferente tecnologa informtica, el software debe
es compatible y puede operar sin restricciones, permitiendo la generacin
de respaldos y recuperaciones. Asimismo permite la integracin con las
diferentes herramientas de desarrollo utilizadas en la empresa.

Administracin de Usuarios, Roles y Perfiles


Permite fijar roles y responsabilidades para la administracin y seguimiento
del ciclo de vida, con distintos niveles de autorizacin a nivel de usuario o
de grupo de usuario.
Flexibilidad a los Estndares Informticos Existentes
Si bien el software se basa en estndares propios, permite flexibilidad y
versatilidad para la realizacin de operaciones con el estndar existente en
los sistemas de procesamiento de la empresa, as como servir de soporte al
estndar existente.

Atributos de uso de la herramienta


Entorno amigable
CA Harvest tiene un diseo intuitivo en la interface administrativa como en
la interface web beneficiando a usuarios nuevos y avanzados adems
reduce la cantidad de entrenamiento necesario para aprender cmo
navegar a travs de la funcionalidad de la herramienta.
Por otra parte, esta herramienta CASE permite visualizar grficamente el
histrico de versiones y el ciclo de vida de las aplicaciones; asimismo
comparar versiones, invocar procesos y administracin de preferencias.
Facilidad de uso
Permite la ejecucin de procesos definidos por el usuario (UDP),
mecanismo por el cual permite ejecutar cualquier tipo de script. Adems
permite volver atrs los cambios realizados de una manera eficaz y
controlada, en forma automtica, de acuerdo a como se definan los
ambientes de desarrollo, test, produccin, etc. Es por estas razones que
posee facilidades para la administracin de cambios y control de cdigo
fuente, permitiendo administrar en forma simple el crecimiento de las
aplicaciones. Otra facilidad que ofrece la herramienta es que automatiza la
elaboracin de informes proporcionando un conjunto predefinido de
informe, adems de los estandarizados.
Productividad y desempeo
Esta herramienta CASE soporta una arquitectura de mltiples capas para
lograr un alto nivel de escalabilidad dado que permite la configuracin de
mltiples servidores de la empresa para una mayor eficiencia. Por otra
parte ofrece tiempos cortos de respuesta para las funciones de salida y
registro; y tiempos de respuesta aceptable para informes histricos de las
migraciones. Asimismo, ofrece buen desempeo incluso cuando aumenta
el tamao y nmero de las aplicaciones. Otra ventaja es que minimiza tanto

la sobrecarga de almacenamiento para mltiples versiones de archivos,


como l sobrecarga necesaria para versiones paralelas de una aplicacin y
el trfico en la red a travs de la compresin de archivos.
Facilidad de Fusin
Una vez que est listo para ser integrado, el cdigo puede ser administrado
a travs de la fusin integrada de fusin (merge), permitindole visualizar y
resolver conflictos entre versiones. La facilidad integrada de fusin le
permite automatizar la fusin de algunos o todos los cambios de una
aplicacin dentro de un proceso de desarrollo subsiguiente, eliminando
fusiones manuales muy complicadas y conducentes a errores. Los
proyectos a corto y a largo plazo pueden ser desarrollados en paralelo sin
afectarse entre s.
Alertas y Notificaciones
Permite enviar notificaciones a usuarios o grupos de usuario cuando se
cumpla alguna etapa o bien cuando ocurra un problema. Para esto se
integra con los servicios de correo electrnico usados en la empresa.
Asimismo asocia migraciones a archivos especficos o grupo de archivos de
desarrollo y activa autnticamente notificaciones y/o aprobaciones.

Anlisis Comparativo Costo-Beneficio


Los costos asociados a esta herramienta CASE viene detalla en la siguiente tabla:
CA HARVEST SCM

PRECIO UNITARIO (POR CLIENTE)

Licencia del uso del Producto

18,561.40

Servicio Anual del Soporte y


Mantenimiento
TOTAL COSTO

35,233.00
53,794.40

Los beneficios de adquirir esta herramienta CASE son:

Controlar el ciclo de vida de las aplicaciones de software de la empresa, la


automatizacin de tareas y procesos de desarrollo, control de accesos y
seguridad de repositorio centralizado de fuentes de los diferentes objetos de
las aplicaciones.

Mantener el control, resguardo y seguridad en la administracin de las


versiones programadas, objetos y procedimientos de bases de datos, para

todas las aplicaciones existentes en la empresa.


Contribuir, a travs de la integracin de gestin de servicios existente, al
aumento de la eficiencia del proceso de mantenimiento, la productividad y la

capacidad de respuesta de operaciones de TI.


La facilidad integrada de fusin permitir automatizar la interrelacin de los
cambios de una aplicacin dentro de un proceso de desarrollo subsiguiente, los
cuales pueden ser desarrollados en paralelo sin afectarse entre s.

Por qu usar CA Harvest?

Entorno amigable y Facilidad de uso


Soporte amplio para plataformas
Productividad y desempeo
Facilidad de fusin
Alertas y Notificaciones
Control del ciclo de vida de las aplicaciones
Resguardo y seguridad es la administracin de la base de datos.
Estandariza procesos

Casos de Aplicacin
Claro
En el ao 2010, la empresa de telecomunicaciones Claro comenzaba a implementar
una arquitectura orientada a los servicios (SOA), debido a los beneficios que esta
significaba. Este tipo de arquitectura le permitira mantener mejor los sistemas y
convertirlos en escalables, un requisito necesario debido a la creciente demanda de
servicios de telecomunicacin. Esta forma de trabajar requiere que cada necesidad
funcional se codifique y convierta en un servicio, de esta forma sera accesible a otros
componentes y servira como pieza para los distintos procesos de negocio de la
empresa.

A partir de un inventario de servicios disponible, se forman composiciones de


estos para determinados procesos de negocio. La arquitectura orientada a
servicios pone a disposicin de la institucin elementos altamente reutilizables y
fciles de mantener en el tiempo.
El desarrollo de los servicios, traa consigo un conjunto de documentos, como son
los de anlisis y diseo, pruebas, manuales de instalacin y operacin, entre otros
elementos que surgan durante este proceso. La cantidad de documentacin
demandaba una gestin controlada, de forma que sea de fcil de acceso y
consultar en desarrollos posteriores. Los proveedores de Claro exigan acceso a
la informacin para cumplir con los requerimientos de Claro, y este ltimo,
requera que el acceso sea controlado y fcil de auditar. En un primer escenario,
se dispuso trabajar con un ECM como repositorio de versiones. El sistema elegido
fue Alfresco, sin embargo este no cumpla con las exigencias de seguridad que
eran requeridas.
Luego de varias propuestas, se decidi utilizar la herramienta CA Harvest, porque
ofreca un rpido despliegue y alineacin con los procesos y proyectos que se
realizaban en la empresa. Adems controlaba la seguridad de acceso, necesaria
para la informacin. De esta forma los proveedores podan acceder a la
documentacin de manera controlada y segura. Por ltimo, ofreca el adecuado
control de versiones para la cantidad de documentacin generada durante los
desarrollos.

En la actualidad, CA Harvest esta implementado en un clster, ya que el trfico interno


y externo son altos. CosapiData y Everis, dos de sus proveedores ms cercanos
acceden a la informacin de manera controlada, y est se documenta segn los
estndares de Claro.

BCRP
El software CA Harvest se utiliza para mantener actualizadas las versiones de los
productos software desarrollados por la Gerencia de Tecnologas de Informacin (GTI)
y para la administracin y registro de los programas, lo cual es necesario para la
salvaguarda de los Sistemas de Informacin.
Esta herramienta CASE:
Es utilizado en la gestin, administracin y almacenamiento de los programas y
objetos de los Sistemas del BCRP.
Permite el control del ciclo de vida de aplicaciones de software.
Permite el control de accesos y seguridad del repositorio centralizado de
fuentes de los diferentes objetos de las aplicaciones.
Este software viene usndose en el Banco desde el ao 2002, y por su carcter
imprescindible, dicho software se encuentra estandarizado.

Conclusiones y Recomendaciones
Entre las conclusiones que obtuvimos estn las siguientes:

Con la herramienta case CA Harvest se lograria un aumento de la


eficiencia del proceso de mantenimiento y control del uso y
procesamiento de datos.
Apoyaria en la automatizacin de la interrelacin de los cambios de
una aplicacin
Reduccin de los tiempos del ciclo del proyecto
Mnimizacin de errores dentro del proyecto con el registro y control
de versions
Reduccin de costos a largo plazo

Bibliografa
https://es.wikipedia.org/wiki/Herramienta_CASE
http://es.slideshare.net/guestf131a9/herramientas-case
http://paulchasiluisa.galeon.com/
http://tpsis324.blogspot.com/2008/09/4-ventajas-y-desventajas.html
http://www.reniec.gob.pe/Transparencia/intranet/imagenes/noticias/comunicado
/Informe_Tecnico_Change_Manager.pdf
http://www.ca.com/ar/devcenter/ca-harvest-software-change-manager.aspx
http://git-scm.com/book/es/v1/Empezando-Acerca-del-control-de-versiones