Herramientas Case

26
HERRAMIENTAS CASE Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar, Análisis, Diseño, Implementación e Instalación Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales. La realización de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. La mejor razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo.

Transcript of Herramientas Case

Page 1: Herramientas Case

HERRAMIENTAS CASE

Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar, Análisis, Diseño, Implementación e InstalaciónUna innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.La realización de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. La mejor razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo.

TIPOS DE HERRAMIENTAS CASE

No existe una única clasificación de herramientas CASE, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:

Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que abarca. La arquitectura de las aplicaciones que produce. Su funcionalidad.

Page 2: Herramientas Case

Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente:

Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench.

Las herramientas I-CASE se basan en una metodología. Tienen un repositorio y aportan técnicas estructuradas para todas las fases del ciclo de vida. Estas son las características que les confieren su mayor ventaja: una mejora de la calidad de los desarrollos. Sin embargo, no todas ellas son modernas en el sentido de aprovechar la potencia de las estaciones de trabajo o la utilización de lenguajes de alto nivel o técnicas de prototipo.

Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño.Una estrategia posible es utilizar una U-CASE para análisis y diseño, combinada con otras herramientas más modernas para las fases de construcción y pruebas. En este caso, habría que vigilar cuidadosamente la integración entre las distintas herramientas.

Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las últimas fases del desarrollo: construcción e implantación.

Juegos de herramientas o toolkits, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.

HERRAMIENTAS DE GESTION DE PROYECTOS: La mayoría de herramientas CASE de gestión de proyectos, se centran en un elemento especifico de la gestión del proyecto, en lugar de proporcionar un soporte global para la actividad de

Page 3: Herramientas Case

gestión. Utilizando un conjunto seleccionado de la misma, se puede: realizar estimaciones de esfuerzo, costo y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad.

Existen también herramientas que permite al comprador del desarrollo de un sistema, hacer un seguimiento que va desde requisitos del pliego de condiciones técnicas inicial hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluye dentro de las herramientas de control de proyectos las siguientes:

Herramientas de planificación de proyectos: Las herramientas de esta categoría se concentran en dos áreas primordiales:

o Estimación de esfuerzos de proyecto y de costes de software:

Calculan el esfuerzo estimado, la duración del proyecto y el número recomendado de personas.

o Planificación de proyectos Capacitan al administrador para definir

todas las áreas del proyecto (la estructura de desglose de tareas), para crear una red de tareas (normalmente empleando una entrada gráfica), para representar las interdependencias entre tareas y para modelar la cantidad de paralelismo que sea posible para ese proyecto.

Herramientas de seguimiento de requisitos: Cuando se desarrollan grandes sistemas, el sistema proporcionado suele no satisfacer los requisitos especificados por el cliente. El objetivo de las herramientas de seguimiento de requisitos es proporcionar un enfoque sistemático para el aislamiento de requisitos, comenzando por las especificaciones del cliente. Las herramientas de trazado de requisitos típicos combinan una evaluación de textos por interacción humana, con un sistema de gestión de bases de datos que almacena y categoría todos y cada uno de los requisitos del sistema que se "analizan" a partir de las especificaciones originales.

Herramientas de gestión y métricas: Las métricas del software mejoran la capacidad del administrador para controlar y coordinar el proceso del software y la capacidad del ingeniero para mejorar la calidad del software que se produce. Las herramientas métricas actuales se centran en procesos, proyectos y características del producto. Las herramientas orientadas a la gestión capturan métricas especificas del proyecto (por ejemplo: LDC/personamos, defectos por punto de función) que proporcionan una indicación global de productividad o de calidad. Las herramientas orientadas técnicamente determinan métricas técnicas que proporcionan una mejor visión de la calidad del diseño o del código.

Page 4: Herramientas Case

Muchas de las herramientas métricas avanzadas mantienen una base de datos de medidas de medias de la industria.

Basándose en características de proyectos y de productos proporcionados por el usuario, estas herramientas califican los números locales frente a los valore medios de la industria (y frente al rendimiento local anterior) y sugieren estrategias para llegar a mejoras. Estas herramientas utilizan un sistema experto para sugerir el orden en el que se debe llevar a cabo un proyecto.

HERRAMIENTAS DE ANALISIS Y DISEÑO: Permiten al desarrollador crear un modelo del sistema que se va a construir y también la elaboración de la validez y constancia de este modelo. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Entre ellos podemos encontrar:

Herramientas de análisis y diseño (modelado): Las herramientas de análisis y diseño capacitan al ingeniero del software para crear modelos del sistema que haya que construir. Los modelos contienen una representación de los datos, de la función y del comportamiento (en el nivel de análisis), así como caracterizaciones del diseño de datos, arquitectura, procedimientos e interfaz. Al efectuar una comprobación de la consistencia y validez del modelo, las herramientas de análisis y diseño proporcionan al ingeniero del software un cierto grado de visión en lo tocante a la representación del análisis, y le ayudan a eliminar errores antes de que se propaguen al diseño, o lo que es peor, a la propia implementación.

Herramientas de creación de prototipos y simulación: Las herramientas PRO/SIM (de prototipos y simulación) proporcionan al ingeniero del software la capacidad de predecir el comportamiento de un sistema en tiempo real antes de llegar a construirlo. Además, capacitan al ingeniero del software para desarrollar simulaciones del sistema de tiempo real que permitirán al cliente obtener ideas acerca de su funcionamiento, comportamiento y respuesta antes de la verdadera implementación.

Herramientas para desarrollo y diseño de interfaces: Las herramientas de desarrollo y diseño de interfaz son en realidad un conjunto de primitivas de componente de programas tales como menús, botones, estructuras de ventanas, iconos, mecanismos de desplazamiento, controladores de dispositivos, etc., Sin embargo, estos conjuntos de herramientas se están viendo sustituidos por herramientas de generación de prototipos de interfaz que permiten una rápida creación en pantalla de sofisticadas interfaces de

Page 5: Herramientas Case

usuario, que se ajustan al estándar de interfaz que se haya adoptado para el software.

HERRAMIENTAS DE INTEGRACION Y PRUEBA: Sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados. Entre las más utilizadas esta:

Herramientas de análisis estático: Las herramientas de análisis estático prestan su asistencia al ingeniero del software a efectos de derivar casos prácticos. Se utilizan tres tipos distintos de herramientas estáticas de comprobación en la industria: herramientas de comprobación basadas en código, lenguajes de comprobación especializados, y herramientas de comprobación basadas en requisitos. Las herramientas de comprobación basadas en código admiten un código fuente (o PDL) como entrada y efectúan un cierto número de análisis que can lugar a la generación de casos de prueba. Los lenguajes de comprobación especializados (por ejemplo: ATLAS) capacitan al ingeniero del software para escribir detalladas especificaciones de comprobación que describirán todos los casos de prueba y la logística de su ejecución. Las herramientas de comprobación basadas en requisitos aíslan requisitos específicos del usuario y sugieren casos de prueba (o clases de comprobaciones) que ejerciten estos requisitos.

Herramientas de análisis dinámico: Las herramientas de análisis dinámico interactúan con un programa que se esté ejecutando, comprueban la cobertura de rutas, comprueban las afirmaciones acerca del valor de variables especificas y en general instrumentan el flujo de ejecución del programa. Las herramientas dinámicas pueden ser bien intrusivas, bien no intrusivas. Las herramientas intrusivas modifican el software que hay que comprobar mediante sondas que se insertan (instrucciones adicionales) y que efectúan las actividades mencionadas anteriormente. Las herramientas de comprobación no intrusivas utilizan un procesador hardware por separado que funciona en paralelo con el procesador que contenga el programa que se está comprobando.

Herramientas de gestión de comprobación: Las herramientas de gestión de comprobación se utilizan para comprobar y coordinar la comprobación de software para cada uno de los pasos principales de comprobación. Las herramientas de esta categoría administran y coordinan la comprobación de regresiones, efectúan comparaciones que determinan las diferencia s entre la salida real y la esperada, y efectúan comprobaciones por lotes de programas con interfaces interactivas entre hombre y maquina. Además de las funciones indicadas anteriormente, muchas herramientas de gestión de

Page 6: Herramientas Case

comprobaciones sirven también como controladores de comprobación genéricos. Un controlador de comprobación lee uno o más casos de prueba de algún archivo de pruebas, da formato a los datos de prueba para que se ajusten a las necesidades del software que se está probando, e invoca entonces al software que sea preciso comprobar.

Herramientas de comprobación clientes/servidor: El entorno C/S existe unas herramientas de comprobación especializadas que ejerciten la interfaz gráfica de usuario y los requisitos de comunicaciones en red para el cliente y el servidor.

Herramientas de reingeniería: La categoría de herramientas de reingeniería se pueden subdividir en las funciones siguientes:

o Herramientas de ingeniería inversa para producir

especificaciones: se toma el código fuente como entrada y se generan modelos gráficos de análisis y diseño estructurados, listos de utilización y otras informaciones de diseño.

o Herramientas de reestructuración y análisis de código: se

analiza la sintaxis del programa, se genera una gráfica de control de flujo y se genera automáticamente un programa estructurado.

o Herramientas de reingeniería para sistemas en línea: se utilizan

para modificar sistemas de bases de datos en línea (por ejemplo: para convertir archivos IDMS o DB2 traduciéndolos a un formato de entidades y relaciones).

Muchas de las herramientas anteriores están limitadas a lenguajes de programación específicos (aun cuando se abarcan la mayoría de los lenguajes principales) y requieren un cierto grado de interacción con un ingeniero del software.

Las herramientas de ingeniería inversa y progresiva de la próxima generación harán un uso mucho mayor de técnicas de inteligencia artificial, aplicando una base de conocimientos que se a especifica del dominio de la aplicación (esto es, un conjunto de reglas de descomposición que se aplicarían a todos los programas de una cierta zona de aplicación tal como el control de fabricación o la aviónica). El componente de inteligencia artificial asistirá en la descomposición y reconstrucción de los sistemas, pero seguirá requiriendo una interacción con un ingeniero de software a lo largo del ciclo de la reingeniería.

Page 7: Herramientas Case

HERRAMIENTAS DE SOPORTE: Se engloban en esta categoría las herramientas que recojan las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuación:

Herramientas de documentación: Las herramientas de producción de documentos y autoedición prestan su apoyo a casi todos los aspectos de la ingeniería del software, y representan una importante oportunidad de aprovechamiento para todos los desarrolladores del software. La mayor parte de las organizaciones dedicadas al desarrollo de software invierte una cantidad de tiempo considerable en el desarrollo de documentos, y en muchos casos el proceso de documentación en si resulta bastante deficiente. No es raro que una organización de desarrollo de software invierta hasta en un 20 o 30 pro ciento de su esfuerzo global de desarrollo de software en la documentación. Por esta razón, las herramientas de documentación suponen una oportunidad importante para mejorar la productividad.

Herramientas para software de sistemas: CASE es una tecnología de estaciones de trabajo. Por tanto, el entorno CASE debe adaptase a un software de sistema en redes de alta calidad, al correo electrónico, a los boletines electrónicos y a otras capacidades de comunicaciones.

Herramientas de control de Calidad: La mayor parte de las herramientas CASE que afirman que tiene como principal interés el control de calidad son en realidad herramientas métricas que hace una auditoria del código fuente para determinar si es justa o no a ciertos estándares del lenguaje. Otras herramientas extraen métricas técnicas como base para medir la calidad del software que se está construyendo.

Herramientas gestión de base de datos: El software de gestión de bases de datos sirve como fundamentos para establecer una base de datos CASE. Dado el énfasis acerca de los objetos de configuración, las herramientas de gestión de bases de datos para CASE pueden evolucionar a partir de los sistemas de gestión de bases de datos relacionales (SGBDR) para transformarse en sistemas de gestión de bases de datos orientadas a objetos (SGBDOO).

Ejemplos del uso de herramientas para planificación y control de proyectos, diseño de programas, diseño y construcción de pruebas, elaboración de documentación son:

Planificación y control de proyectos: La gestión de proyectos incluye la planificación, organización y gestión de los recursos para lograr la conclusión con éxito de los proyectos asignados. La lista de aplicaciones de

Page 8: Herramientas Case

gestión de los proyectos mencionados a continuación pueden ayudar a superar los problemas relacionados con la gestión de proyectos y su seguimiento.

o 5 p.m.: es una intuitiva herramienta de gestión de proyectos que le

permite gestionar todas las tareas y proyectos en un solo lugar. Funciona como una ubicación central para la gestión de proyectos y tareas, la colaboración en equipo, el tiempo de seguimiento, informes y más. Usted puede compartir sus notas y archivos con clientes y generar diversos informes, impresión o exportación a CSV.

o activeCollab: es una herramienta de gestión de proyectos y

colaboración que le permite crear un área de colaboración en su sitio web. Proporciona una plataforma para la planificación, el seguimiento del progreso y la comunicación con su equipo y los clientes hasta que se realicen los proyectos. Sus características incluyen la impresión y la exportación, seguimiento de tiempo, calendario, gestión de entradas y puntos de referencia.

o AgileTrack: es una herramienta para planificación y seguimiento de

proyectos, de interfaz sencillo. Para desarrollo de software en equipos reducidos con metodologías ágiles, especialmente eXtreme Programming.

o Clocking IT: es un gestor de proyectos y tareas, con  control de

tiempos, generador de informes, repositorio de ficheros, agenda, chat, notificaciones y RS.

o Gantt PV: es un programa gratuito, de apariencia sencilla y sin

grandes complicaciones, para planificación de proyectos, descomposición, representación y seguimiento de tareas sobre diagrama de Gantt.

o GanttProject: es una aplicación de escritorio con interfaz similar a

MSP permite programar y organizar las tareas y asignación de personas y recursos sobre una representación Gantt. Por supuesto es una herramienta mucho más ligera que MS Project, pero esto en el ámbito y dimensión de muchos proyectos es más una ventaja que un inconveniente. La exportación de informes en formato HTML está bastante lograda. Necesita Java Runtime Environment.

o Goplan: es una herramienta de gestión de proyectos le permite

gestionar múltiples proyectos a la vez. Usted puede seguir el progreso del proyecto a través de la gestión de tareas, calendario, el intercambio de notas y seguimiento de problemas. También te permite conectar con clientes y miembros del equipo usando la

Page 9: Herramientas Case

función de chat. Utilice los canales RSS y sincronizar el calendario Goplan con iCal, Outlook o su teléfono.

o Hola Excel para Scrum: es una hoja de cálculo para gestionar el

trabajo en cada sprint: tareas, asignación, estado y tiempos. Genera de forma automática los gráficos para el seguimiento de esfuerzo y tareas.

o Microsoft Project (MSP): es un software de administración de

proyectos, diseñado, desarrollado y comercializado por Microsoft para asistir a administradores de proyectos en el desarrollo de planes, asignación de recursos a tareas, dar seguimiento al progreso, administrar presupuesto y analizar cargas de trabajo. ofrece unas sólidas herramientas de administración de proyectos con la dosis adecuada de funcionalidad, potencial y flexibilidad, con el fin de administrar los proyectos con mayor eficacia y eficiencia.

o netOffice: es una herramienta para gestionar proyectos, control de

tareas, log de tiempos, diagramas de Gantt, etc. Tiene interface web i requiere PHP MySQL. Tiene una interesante funcionalidad, que es una intranet del proyecto, orientada a los clientes, donde pueden introducir bugs, comentarios, etc.

o No Kahuna: es una herramienta de gestión de proyectos simples y

de seguimiento de problemas. Es ideal para pequeñas y medianas empresas. Es una herramienta fácil dpara la gestión de proyectos básicos y de seguimiento de ticket que le permite configurar el proyecto, refinarlo, distribuir las tareas y hacer un seguimiento hasta su finalización. Sus características incluyen tareas y seguimiento de la actividad y herramientas de colaboración.

o OpenProj: es un programa de escritorio para la gestión de

proyectos: gratuito, open source, con versiones para Linux, Unix, Mac y Windows; compatible con ficheros MS Project y con todas las funcionalidades que ofrece Project (como aplicación de escritorio stand-alone)

o Planner: es una aplicación de escritorio para gestión y seguimiento

de proyectos, con descomposición en tareas y sub-tareas, dependencias, identificación de la ruta crítica, diagramas de Gantt. Inicialmente desarrollada para Linux, dispone de versión (beta) para Windows.

o Project Planning and Tracking System (PPTS): es una

herramienta de gestión ágil de proyectos para equipos que trabajan con Scrum y/o Extreme Programming. Es un sistema web, accesible

Page 10: Herramientas Case

con un navegador que puede instalarse sobre servidor Linux o Windows (con php y MySQL) y de uso libre, con licencia GNU (GPL).

o Project2Manage: es un sistema de gestión de proyectos en línea

que le permite mantenerse al día con sus tareas y conectarse con su equipo. Proporciona una lista enorme de características que incluyen mensajes, listas de tareas, recordatorios, gestión de archivos, etc. Tiene la posibilidad de agregar clientes y usuarios ilimitados a cada proyecto.

o Project360: es un instrumento útil de gestión de proyectos para

asignar tareas, establecer plazos, obtener actualizaciones, organizar reuniones, ver tu calendario, etc. Le permite trabajar con su equipo, comunicarse con clientes, enviar mensajes, compartir archivos, organizar grupos de trabajo, y más. Las características adicionales incluyen trackeo del tiempo, diagrama de Gantt, panel de discusión, y plantillas de proyecto.

o Proyectos de Zoho: es una herramienta de gestión de proyectos le

permite mantener sus proyectos organizados con hitos, establecer dependencias entre tareas y establecer prioridades. También ofrece el tiempo de seguimiento de proyectos y registro de tiempo invertido en el proyecto. Usted puede almacenar sus archivos y documentos en un solo lugar, etiquetar sus archivos y hacer un seguimiento de los cambios con el historial de versiones.

o Smartsheet: es una herramienta útil para la gestión de tareas en

línea para individuos y equipos. Le permite controlar y administrar el trabajo familiar y las vistas del calendario. Usted también puede subir archivos, generar debates y compartir con los compañeros de trabajo, clientes, contratistas, proveedores, etc. Se pueden establecer recordatorios y recibir notificaciones cuando cambian las cosas, generar informes y encontrar instantáneamente cualquier cosa usted está rastreando.

o Springloops: es una herramienta de gestión creada especialmente

para los equipos de desarrollo web. Le permite codificar en paralelo y compartir los cambios de código con sus compañeros de equipo. Posibilidad de volver desde un back-up a la versión anterior y dar vista previas instantáneas. También puede implementar sus proyectos web automáticamente después de cometer nuevos cambios o previa solicitud.

o TeamWork: es una herramienta de entorno web para registrar y

gestionar los tiempos de diferentes equipos de trabajo en sus respectivos proyectos. Gestión completa de informes de tiempos y

Page 11: Herramientas Case

costes. Combina gestión de documentos, de equipos y de proyectos.

o TeamworkPM: es una herramienta en línea para la gestión de

proyectos le ayuda en la gestión de sus proyectos, equipos y clientes al instante. También le permite colaborar con los clientes, mientras que el intercambio de ideas, información, notas, archivos y más. Con TeamworkPM también puede crear listas de tareas, calendario de hitos, agregar mensajes, cargar archivos y gestión de personas / clientes.

o ToDoList una herramienta gratuita muy simple y efectiva para la

gestión de proyectos en entornos ágiles. Escasamente ocupa 1 Mb, y al instalarla se puede indicar que emplee un fichero .ini para guardar la información de configuración,  de forma que no toca para nada el registro de Windows y se puede llevar incluso en una memoria USB.

o TRAC: es una plataforma web para comunicación, gestión y

seguimiento de proyectos, que integra un wiki, interfaz de subversión para la gestión de versiones, seguimiento de proyecto y sistema de tickets para gestionar y registrar tareas, bugs, etc.

o TUTOS: es una herramienta web de código abierto y uso gratuito

para la gestión de pequeños grupos de trabajo o departamentos. Incluye calendario, gestión de equipos, directorio de personas, gestión de incidencias, registros de tiempo, listas de seguimiento.

o X-Man (Extreme Manager): es una herramienta fácil para gestión y

seguimiento de proyectos ágile. Si trabajas con un formato ágil tipo XP o Scrum, merece la pena echarle un vistazo, porque además es un programa "limpio": Un fichero de 4 Mb que no necesita instalación. Basta grabarlo en una carpeta y ejecutarlo.

Diseño de Programa: las herramientas más importantes para diseños de sistemas y diseños web.

o Adobe Fireworks CS5: es una aplicación que le permite crear

gráficos expresivos y altamente optimizados para la Web o prácticamente cualquier otro dispositivo: desde teléfonos inteligentes a quioscos y pantallas incrustadas. Cree sitios web, interfaces de usuario y prototipos sofisticados que son editables tanto en modo vectorial como de mapa de bits.

o Advanced Gif Animator: Programa gráfico para crear gifs

animados. Pruebalo y nos cuentas en el foro.

Page 12: Herramientas Case

o Amaya: Amaya es más una curiosidad que una herramienta popular.

Está desarrollado por la W3C (World Wide Web Consortium), la asociación que se encarga de construir los estándares web. Es un navegador y un editor web, cuya peculiaridad es que permite editar directamente cualquier página web que se visualice, y que permite editar SVG y MathML, para codificar e integrar junto con HTML. Es bastante espartano y carece de asistentes, pero sus modos de vistas pueden resultar muy interesantes

o Aptana: Este editor está basado en Eclipse, e incluso puede usarse

como plugin en éste. Su asistente de código (HTML, CSS y Javascript) es único, mostrando documentación en línea de todos y cada uno de los elementos, como en qué navegadores está soportada una función de Javascript o un atributo CSS. Además muestra información en línea sobre las funciones Javascript propias. Viene con cliente FTP y depurador de Javascript. Pero lo mejor es verlo en funcionamiento .Es el editor web más completo del mercado y además es libre (gratuito y con código fuente abierto).

o Bitrix Site Manager: manejador de contenidos es un potente

Administrador de Contenidos Web (CMS) diseñado especialmente para cubrir las necesidades que la Administración de Contenidos Web  requiere. Cuenta con su propio marco de seguridad (PRO + PRO ™) que permite una implementación fácil y eficaz en un entorno seguro y de alto rendimiento. Nuestro software se vende con el código fuente, lo que le proporciona una sólida base tecnológica para una inmediata y personalizada presencia en línea, ya que la implementación se realiza en forma muy rápida y orientada a satisfacer necesidades muy puntuales y específicas.

o Borland Together: es una Plataforma de Modelado Visual de diseño especialmente creada para soportar Arquitectos, Diseñadores y Desarrolladores. Dicha herramienta también abarca el completo desarrollo de aplicaciones desde el Diseño UML 2.0 de aplicaciones, el desarrollo y el despliegue, para que los equipos tengan flexibilidad para planear, construir y distribuir sistemas robustos con costos efectivos, rápidamente y con resultados predecibles. Simplifique y acelere el resultado de sus aplicaciones de empresa mediante las tecnologías Together. Diseñada para simplificar y abreviar el ciclo de vida de las aplicaciones, las tecnologías Together aportan las más avanzadas funciones de diseño y análisis a su proceso de desarrollo. El resultado es la aceleración del ciclo de vida de desarrollo de las

Page 13: Herramientas Case

aplicaciones y la competitividad sobresaliente derivada de la creación más rápida de mejor software.

o CoffeeCup HTML Editor: Las principales características del

CoffeeCup HTML Editor son sus asistentes (inserción de imágenes, enlaces, menús DHTML, etc.) tratando a los elementos HTML como objetos con sus propiedades, resaltado de sintaxis (HTML, CSS, PHP, ASP…), editor de múltiples ficheros, cliente FTP, editor visual drag&drop (WYSIWYG), y poco más. Ha quedado un tanto desfasado, aunque sigue siendo muy válido como editor HTML.

o Dreamweaver: editores HTML, es la aplicación de este tipo más

usada en el sector de diseño y programación web. Posee, como toda la línea Macromedia/Adobe, excelentes funcionalidades e integración con otras herramientas. La aplicación permite crear sitios de forma totalmente gráfica, y dispone de funciones para acceder al código HTML generado. Permite la conexión a un servidor, a base de datos, soporte para programación en ASP, PHP, Javascript, cliente FTP integrado, etc.

o Drupal: Drupal es un sistema de gestión de contenidos (CMS)

basado en PHP y MySQL o PostgreSQL que permite la administración de usuarios, documentos, discusiones o noticias. Desde la página web del programa se pueden descargar muchos módulos para ampliar las capacidades de Drupal. Es soportado por los sistemas operativos Linux / Windows

o EasyCASE Profesional: una herramienta multi-usuario, es ideal

para aquellos que necesitan compartir datos y trabajar en un proyecto con otros departamentos. El equipo completo puede acceder proyectos localizados en el servidor de la red concurrentemente. Para asegurar la seguridad de los datos, existe el diagrama y diccionario de los datos que bloquean por niveles al registro, al archivo y al proyecto, y niveles de control de acceso.

o HomeSite: editor web, entre sus características más útiles consta

con un editor de estilos CSS, que permite definir estilos para toda una página o un sitio web. Posee tratamiento muy bueno de los archivos del sitio, con un panel a la izquierda que permite seleccionar cualquier archivo de sistema para editarlo. El mismo panel de archivos se puede convertir en un inspector de etiquetas, que permite modificar cualquier atributo casi instantáneamente y casi sin conocimientos de HTML, en una ayuda con temas diversos, en un mapa del sitio web, etc.

Page 14: Herramientas Case

o Joomla!: es un sistema de gestión de contenidos, y entre sus

principales virtudes está la de permitir editar el contenido de un sitio web de manera sencilla. Es una aplicación de código abierto programada mayoritariamente en PHP bajo una licencia GPL. Este administrador de contenidos puede trabajar en Internet o intranets y requiere de una base de datos MySQL, así como, preferiblemente, de un servidor HTTP Apache. Es soportado por los sistemas operativos Linux / windows

o Mambo: es un sistema de gestión de contenidos (CMS) basado en

Apache, PHP y MySQL. Desde la página web del programa se pueden descargar muchos módulos para ampliar las capacidades de Mambo. Es soportado por los sistemas operativos Linux / Windows

o Nvu v1.0 Final: Es un programa parecido al Dreamweaver pero

gratuito. Yo aún no lo he probado del todo, pero quizás algún día haga las lecciones enfocandome en ese programa, pues es más fácil de encontrar que el Dreamweaver y además gratuito.

o Open System Architect: es una aplicación que se utiliza para el

modelado de un sistema. OSA actualmente soporta el modelado de datos (físico y lógico) con UML en las obras. Lo único sobre OSA es que es un producto Open Source bajo licencia bajo la Licencia Pública General (GPL). El factor de libre OSA hace especialmente interesante para los estudiantes, pero la AOS es lo suficientemente potente como para comparar favorablemente con los productos que cuestan miles de dólares.

o Plone: Plone es un sistema de gestión de contenidos (CMS)

basado en Zope y en CMF (Content Management Framework). Puede utilizarse como servidor de intranet o extranet, como sistema de publicación de documentos, como portal y como herramienta de trabajo en grupo. Es soportado por los sistemas operativos Linux / Windows

o Power Designer 7: Esta herramienta de diseño está más orientada

al análisis y diseño de bases de datos relaciónales. Se puede crear el modelo físico y normalizar. Permite hacer ingeniería reversa (reverse engineer) para desarrollar los modelos físicos y conceptuales a partir de la información de la base de datos.

o Simple CSS1.2: Un programa que nospuede ayudar a trabajar con

hojas de estilo. Tampoco lo he probado pero puede ser útil. Ya me contareis en el foro que os parece.

Page 15: Herramientas Case

o Sothink DHTML Menu: creación de menús DHTML, se trata de un

programa muy interesante para crear menús DHTML avanzados, sin necesidad de dominar el HTML dinámico. El programa nos propone una lista interesante de opciones para configurar un menú, como pueden ser los distintos epígrafes, los sub-apartados de cada uno y los enlaces a los que se debe dirigir cada opción. Además nos permite configurar el estilo de presentación de los enlaces y la manera de desplegar el menú de opciones.

o System Architect: posee un repositorio único que integra todas las

herramientas, y metodologías usadas. En la elaboración delos diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados, comentarios,reglas de validaciones, normalización, etc. Posee control automático de diagramas y datos, normalizaciones y balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelode Datos y el Modelo Funcional.

o UltraEdit: potente editor de textos que incluye numerosas

funcionalidades avanzadas de gran utilidad para programadores y diseñadores de páginas web. La interfaz es excelente, con una barra de tareas personalizable, una ventana de archivos y la ventana de edición. Las funcionalidades que ofrece son muy amplias. En lo que concierne exclusivamente a la edición de textos, posee conversores y filtros para eliminar tabuladores y espacios, para convertir el texto a mayúsculas/minúsculas o para añadir retornos de carro a partir de cierta columna.

o Zend Studio: Más que un editor web, Zen Studio es todo un entorno de desarrollo para PHP. Tiene autocompletado de código HTML (no para Javascript y CSS) además de para PHP, y no es posible editar en modo WYSIWYG, aunque el resaltado de sintaxis les podría valer a los desarrolladores más expertos. Su punto fuerte está en su editor y depurador PHP, que a día de hoy no existe nada mejor. Su soporte para gestionar bases de datos (MySQL, MS SQL Server, Oracle, PostgreSQL, …), cliente FTP, y soporte de control de versiones integrado (CVS y Subversion), lo convierte en el mejor entorno de desarrollo web para PHP existente.

Diseño y construcción de pruebas y elaboración de documentación:

Page 16: Herramientas Case

o Enterprise Architect: es una plataforma de modelado, diseño y

administración basada en UML, es una herramienta ágil, intuitiva y extensible, con poderosas características para dominios específicos totalmente integradas; la cual beneficia al analista de sistemas ya que abarca el ciclo de vida del sistema (análisis, diseño, desarrollo, pruebas , mantenimiento, ¡ implantación y evaluación). Diseñada para ayudar a construir software robusto y fácil de mantener. Ofrece salida de documentación flexible y de alta calidad; permite la ingeniería de código directa e inversa, entre otros.

o Poseidon For UML: es una completa herramienta de UML, sin los

límites impuestos por las versiones de la comunidad de otras herramientas. Contiene 9 diagramas UML y todos los elementos del diagrama de aplicación. Puede crear y cargar proyectos, ver los modelos, los modelos de cambio, generar código Java, exportar diagramas a varios formatos, opciones de exportación, tales como la impresión y el ahorro están disponibles con un permiso de alquiler o alquiler de suscripción. La versión gratuita se puede utilizar para ver, crear y modificar modelos, pero las opciones de exportación no están disponibles.

o JDeveloper: cubre el ciclo de desarrollo completo desde el diseño

hasta la codificación, depuración y optimización de perfiles para la implementación. Con JDeveloper, Oracle ha tratado de simplificar el desarrollo de aplicaciones, centrándose en proporcionar un enfoque visual y declarativo para el desarrollo de aplicaciones, además de la construcción de una avanzada de codificación.

o BOUML: es una aplicación UML2 que permite definir y generar

código en C++, Java, Idl y PHP. Es compatible con Unix/Linux/Solaris, MacOS X y Windows, es muy rápido y no requiere mucha memoria para manejar varios miles de clases. Se le pueden añadir aplicaciones externas escritas en C++ o Java, siendo una de estas extensiones predefinidas la generación de código y la ingeniería inversa.

o Umbrello es una herramienta libre para crear y editar diagramas

UML, que ayuda en el proceso del desarrollo de software. Fue desarrollada por Paul Hensgen, y está diseñado principalmente para KDE, aunque funciona en otros entornos de escritorio. Umbrello maneja gran parte de los diagramas estándar UML pudiendo crearlos, además de manualmente, importándolos a partir de código en C++, Java, Python, IDL, Pascal/Delphi, Ada, o también Perl (haciendo uso de una aplicación externa). Así mismo, permite crear

Page 17: Herramientas Case

un diagrama y generar el código automáticamente en los lenguajes antes citados, entre otros. El formato de fichero que utiliza está basado en XMI.También permite la distribución de los modelos exportándolos en los formatos DocBook y XHTML, lo que facilita los proyectos colaborativos donde los desarrolladores no tienen acceso directo a Umbrello o donde los modelos van a ser publicados vía web.

o Dr.Explicación (Dr.Explain): Escriba la ayuda de los programas y la

documentación rápidamente y sin la agotadora tarea de formatear texto e imagen. Dr.Explain captura las ventanas de una aplicación que se está ejecutando, hace la toma y automáticamente agrega las referencias a todos los controles: botones, campos de edición, botones de selección, listas desplegables y otros ítems. Sólo agregue algunas descripciones. Exporta el proyecto de una vez a archivos de ayuda RTF, CHM o HTML, con tomas de pantallas, llamadas (callouts) en color, menús y página de índice.

o Apex SQL Doc: es una poderosa herramienta para documentar

bases de datos de SQL Server en formato HTML y archivos de ayuda formato CHM. La documentación incluye el estilo de Visual Studio 2005 y soporte para HTML versión 2.0. El asistente de Apex SQL Doc te lleva a una serie de pasos que te permite configurar opciones y por otra parte personalizar tu archivo de documentación. Con soporte integral de linea de comandos, Apex SQL Doc puede ser configurado para funcionar en una tarea programada, por la noche, etc.

o IBM Rational Application Developer (RAD) es un entorno de

desarrollo integrado creado por la división Rational Software de IBM para el diseño visual, construcción, pruebas y despliegue de servicios web, portales y aplicaciones JEE.