Vous êtes sur la page 1sur 5

Herramientas para el Desarrollo de Software

Las Herramientas de Ayuda al Desarrollo de Sistemas de Informacin, surgieron para


intentar dar solucin a los problemas inherentes a los proyectos de generacin de
aplicaciones informticas: plazos y presupuestos incumplidos, insatisfaccin del
usuario, escasa productividad y baja calidad de los desarrollos. Algunas de estas
herramientas se dirigen principalmente a mejorar la calidad, como es el caso de las
herramientas CASE (Computer Aided Software Engineering-Ingeniera de Software
Asistida por Ordenador). Otras van dirigidas a mejorar la productividad durante la fase
de construccin, como es el caso de los lenguajes de cuarta generacin (4GL-Fourth
Generation Language).

Herramientas para disear software


Existe al menos 20 herramientas libres para disear software totalmente libres.
Todas utilizan la notacin UML
El nivel de avance entre una y otra es notable, casi todas ofrecen como funcionalidad:
Diagramas de caso de uso.
Diagramas de clases.
Diagramas de secuencia.
Generacin de cdigo en java, c++, python y php.
Algunas entidad-relacin (pero ninguna lo suficientemente avanzada)
Pocas herramientas permiten ingeniera reversa, y si lo hacen solo es de lenguajes tipo
java o c++.

Herramientas para modelar bases de datos


Algunas de las herramientas case libres permiten modelar bajo Entidad-Relacin, sin
embargo su funcionalidad es bastante limitada.
Bsicamente existen herramientas orientadas a una db en especifico y estas son MySql
y PostgreSQL, el de MySql (MySql WorkBench no es libre).
Permiten hacer ingeniera reversa de la db para las que fueron diseadas, algunas otras
soportan UnixODBC/Odbc segn sea el caso.
Existen algunos modeladores en lnea.
La documentacin que generan es bien bsica.

Gestin de la configuracin
Uno de los principales problemas en todos los proyectos de desarrollo de software es
el versionaje.
El versionaje nos permite llevar un control de los cambios en nuestro cdigo, quien y
cuando lo hizo, porque lo hizo, que cambio a razn de que.
Existe muchas alternativas libres en el mercado que unidos a otros productos permiten
tener incluso hasta los historiales, hacer comparaciones, manejar tickets, llevar mtricas,
etc.
Casi todas las opciones cuentan con soporte de GUI para administracin y/o soporte
Web lo que hace mucho mas cmodo trabajar en equipos de desarrollo distribuidos en
varios lugares.

Herramientas para Ingeniera de Software Asistida por Computadora


(CASE)
Son un conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del
ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de
sus fases.
El empleo de herramientas Case permiten integrar el proceso de ciclo de vida: Anlisis
de datos y procesos integrados mediante un repositorio.
Generacin de interfaces entre el anlisis y el diseo.
Generacin del cdigo a partir del diseo.
Control de mantenimiento.
Actualmente, la tendencia en el desarrollo de software est enfocada hacia las
microcomputadoras como plataformas de ingeniera de software, que se interconectan
mediante redes para que puedan comunicarse de forma efectiva. La base de datos del
proyecto (tambin denominada biblioteca del proyecto o depsito de software), est
disponible a travs de un servidor de archivos en red que es accesible desde todas las
estaciones de trabajo. Un sistema operativo que gestiona el hardware, la red y las
herramientas, mantiene todo el entorno unido.
La arquitectura de entorno, compuesta por la plataforma hardware y el soporte del
sistema operativo (incluida la red y la gestin de la base de datos), constituye la base del
CASE. Pero el entorno CASE, en s mismo, necesita otros componentes. Un conjunto
de servicios de portabilidad constituyen un puente entre las herramientas CASE y su
marco de integracin y la arquitectura de entorno. El marco de integracin es un
conjunto de programas especializados que permite a cada herramienta CASE
comunicarse con las dems, para crear una base de datos de proyectos y mostrar una
apariencia homognea al usuario final (el ingeniero de software). Los servicios de
portabilidad permiten que las herramientas CASE y su marco de integracin puedan
migrar a travs de diferentes plataformas hardware y sistemas operativos, sin grandes
esfuerzos de adaptacin.
Case se define tambin como
Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de
vida del desarrollo de sistemas de informacin, completamente o en alguna de sus
fases.v
La sigla genrica para una serie de programas y una filosofa de desarrollo de software
que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
Una innovacin en la organizacin, un concepto avanzado en la evolucin de
tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al CASE
como la unin de las herramientas automticas de software y las metodologas de
desarrollo de software formales.

Importancia de las herramientas CASE


La mejor razn para la creacin de estas herramientas fue el incremento en la velocidad
de desarrollo de los sistemas. Por esto, las compaas pudieron desarrollar sistemas sin
encarar el problema detener cambios en las necesidades del negocio, antes de finalizar
el proceso de desarrollo.
Tambin permite a las compaas competir ms efectivamente usando estos sistemas
desarrollados nuevamente para compararlos con sus necesidades de negocio actuales.

En un mercado altamente competitivo, esto puede hacer la diferencia entre el xito y el


fracaso. Las herramientas CASE tambin permiten a los analistas tener ms tiempo para
el anlisis y diseo y minimizar el tiempo para codificar y probar. La introduccin de
CASE integradas est comenzando a tener un impacto significativo en los negocios y
sistemas de informacin de las organizaciones.
Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de
mejor calidad para soportar procesos crticos del negocio y asistir en el desarrollo y
promocin intensiva de la informacin de productos y servicios.
La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la
calidad de los desarrollos realizados y, en segundo trmino, el aumento de la
productividad. Para conseguir estos dos objetivos es conveniente contar con una
organizacin y una metodologa de trabajo, adems de la propia herramienta.

Evolucin de las herramientas CASE


A inicios de los 80s: Ayuda en la documentacin por computadora. Diagramacin
asistida por computadora. Herramientas de anlisis y diseo.
A mediados delos 80s: Diseo automtico de anlisis y pruebas. Repositorios
automticos de informacin de sistemas.
Al final delos 80s: Generacin automtica de cdigo desde especificaciones de diseo
A inicios delos 90s: Metodologa Inteligente. Interface de Usuario reusable como una
metodologa desarrollo.

Objetivos de las Herramientas CASE


Mejorar la productividad en el desarrollo y mantenimiento del software.
Aumentar la calidad del software.
Reducir el tiempo y coste 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.

Clasificacin de las herramientas CASE


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil
incluirlas en una clase determinada. Podran clasificarse atendiendo a:
Las plataformas que soportan.
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
La arquitectura de las aplicaciones que producen.
Su funcionalidad.
Clasificacin de las herramientas CASE, en funcin de las fases del ciclo de vida
del desarrollo abarcadas

1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado), abarcan todas


las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE
workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE CASE superior) o front-end,
orientadas a la automatizacin y soporte de las actividades desarrolladas durante las
primeras fases del desarrollo: anlisis y diseo.
3. Herramientas de bajo nivel, L-CASE (Lower CASE CASE inferior) o back-end,
dirigidas a las ltimas fases del desarrollo: construccin e implantacin.
4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE.
Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las
herramientas de reingeniera, orientadas a la fase de mantenimiento.
Clasificacin de las herramientas CASE, utilizando la funcionalidad como criterio
principal
Herramientas de planificacin de sistemas de gestin

Sirven para modelizar los requisitos de informacin estratgica de una organizacin.


Proporcionan un "metamodelo" del cual se pueden obtener sistemas de informacin
especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la
informacin entre las distintas unidades organizativas. Estas herramientas proporcionan
una ayuda importante cuando se disean nuevas estrategias para los sistemas de
informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de
la organizacin.
Herramientas de anlisis y diseo

Permiten al desarrollador crear un modelo del sistema que se va a construir y tambin la


evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de
confianza en la representacin del anlisis y ayudan a eliminar errores con anticipacin.
Se tienen:
Herramientas de anlisis y diseo (Modelamiento).
Herramientas de creacin de prototipos y de simulacin.
Herramientas para el diseo y desarrollo de interfaces.
Mquinas de anlisis y diseo (Modelamiento).
Herramientas de programacin. Se engloban aqu los compiladores, los editores y los
depuradores de los lenguajes de programacin convencionales. Ejemplos de estas
herramientas son:
Herramientas de codificacin convencionales.
Herramientas de codificacin de cuarta generacin.
Herramientas de programacin orientadas a los objetos.
Herramientas de integracin y prueba

Sirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos


desarrollados. Entre las ms utilizadas estn:
Herramientas de anlisis esttico.
Herramientas de codificacin de cuarta generacin.
Herramientas de programacin orientadas a los objetos.
Herramientas de gestin de prototipos

Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la


evaluacin de especificaciones de un sistema de informacin, o para un mejor

entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los


objetivos perseguidos.
Herramientas de mantenimiento

La categora de herramientas de mantenimiento se puede subdividir en:


Herramientas de ingeniera inversa.
Herramientas de restructuracin y anlisis de cdigo.
Herramientas de reingeniera.
Herramientas de gestin de proyectos

La mayora de las herramientas CASE de gestin de proyectos, se centran en un


elemento especfico de la gestin del proyecto, en lugar de proporcionar un soporte
global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas
se puede: realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento
continuo del proyecto, estimar la productividad y la calidad, etc. Existen tambin
herramientas que permiten al comprador del desarrollo de un sistema, hacer un
seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial,
hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se
incluyen dentro de las herramientas de control de proyectos las siguientes:
Herramientas de planificacin de proyectos.
Herramientas de seguimiento de requisitos.
Herramientas de gestin y medida.
Herramientas de soporte. Se engloban en esta categora las herramientas que recogen
las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a
continuacin:
1. Herramientas de documentacin.
2. Herramientas para software de sistemas.
3. Herramientas de control de calidad.
4. Herramientas de bases de datos.

Vous aimerez peut-être aussi