| Artículos | 01 DIC 1995

Entornos de desarrollo cliente/servidor

Tags: Histórico
Power Builder 4.0 y SQL Windows 5.0
Rais Busom.

Una auténtica lucha de titanes se debate en el mundo de los entornos de desarrollo 4GL, con herramientas cada vez más sofisticadas y productivas. Examinamos dos de los productos que tienen mayor aceptación entre los profesionales.

Uno de los gurús más célebres del mundo del software, Edward Yourdon, conocido por la metodología de desarrollo que lleva su nombre, ha dado una voz de alarma para todas las empresas de software que no alcancen un nivel de competitividad adecuado. Las empresas que no consigan un nivel de calidad y productividad mediante procesos y herramientas de desarrollo de última generación, simplemente, van a ser borradas del mapa.

¿Por qué en España desarrollar software es más caro, menos productivo y de peor calidad que en otros países? Sin duda, hay muchas explicaciones económicas, financieras, fiscales, pero también hay otra que aunque es menos importante está bajo el control de las empresas en cuestión: la inercia. Inercia en desarrollar como hace cinco años, en un mercado que cambia cada seis meses. Muchas veces, el bajo nivel de competitividad radica, precisamente, en un problema de transferencia tecnológica y aunque existen diversos programas públicos para facilitarla, de nada sirven si no se tiene conciencia de la situación en la que nos encontramos. Estas son las razones que explican que las herramientas 4GL profesionales cliente-servidor no estén muy extendidas en nuestro país.

Procesos de desarrollo

El profesor Watts Humphrey, perteneciente al SEI (Software Engineering Institute) de la Carnegie Mellon University, ha establecido un modelo que clasifica el nivel de madurez del proceso de desarrollo de aplicaciones en las empresas. La clasificación tiene cinco niveles: inicial, repetible, definido, gestionado y optimizado.

En el primer nivel el proceso de desarrollo es totalmente anárquico, la organización está poco estructurada y las herramientas se utilizan informalmente. En el segundo nivel existe una mínima planificación y un control estadístico repetible. En el tercero se imponen repositorios, estudios de costes y rentabilidad por módulos. En el cuarto nivel se introduce el control del código fuente mediante métricas y se inicia un cierto control de calidad. En el último nivel el objetivo es la calidad total (software total quality management o STQM).

Se me ocurre una pregunta: ¿cuál es el nivel en que se encuentran las empresas nacionales de software? Pero más vale no ponernos en aprietos. Lo cierto es que para aumentar el nivel es necesario utilizar herramientas de desarrollo 4GL como las que se describirán en el presente artículo. Pero no sólo utilizarlas, sino utilizarlas correctamente, es decir, de nada sirven estas herramientas sin una organización muy formalizada de pequeños equipos cooperativos de desarrollo y una metodología de software completamente asumida. Sólo las empresas preocupadas por la calidad, que trabajen por objetivos, con controles estadísticos, y con una valoración importante de los recursos humanos, están preparadas para sacar partido de estas herramientas. No hay peor error que pensar que con tan sólo cambiar de herramienta, se producirán más y mejores productos, ni tampoco pensar que una herramienta convertirá un equipo de aficionados en una fábrica de software. La transferencia tecnológica implica no sólo la redefinición de procesos empresariales y la implementación de nuevas herramientas sino, muy especialmente, la formación de los técnicos. La creación de valor en la empresa debe ir pareja a la autovalorización de los empleados.

Nuevas metodologías

Veamos cómo las herramientas 4GL de última generación exigen nuevas metodologías. El proceso tradicional de desarrollo de software se basa en la metáfora de la cascada, donde se suceden cuatro fases: 1) análisis; 2) diseño; 3) codificación; 4) test. Este modelo lineal es el reflejo de organizaciones tradicionales con grandes equipos de programación, con proyectos a largo plazo y con un mantenimiento del ciclo de vida costoso y poco eficaz.

El nuevo modelo que se impone es el desarrollo rápido de sistemas en ciclos iterativos con refinamientos sucesivos, pasando por las diversas fases (análisis, diseño, codificación, test) varias veces. Así se consiguen aplicaciones de calidad en breve tiempo. Esta forma de actuar permite trabajar en módulos llamados prototipos que pueden ser validados por los usuarios antes de pasar a una codificación definitiva, con lo que se consigue una mayor satisfacción final del producto. Este nuevo paradigma de desarrollo de aplicaciones se llama RAD (Rapid Application Development). A la tendencia a la participación activa de los usuarios se la llama JAD (Joint Applicaction Development). Estas nuevas modalidades exigen, por una parte, una metodología de desarrollo, y por otra, herramientas de ingeniería de software.

Las metodologías estructuradas al uso como Yourdon, De Marco, Gane & Sarson, Martin, Warnier se complementan con los nuevos enfoques de metodologías orientadas a objetos como Shaller-Mellor, Yourdon-Coad, Booch, que están siendo implementadas en las herramientas CASE más recientes.

Cuarta generación y CASE

Los lenguajes de tercera generación como C o C++ son los indicados para el desarrollo de aplicaciones Windows porque ofrecen un mejor acceso a la API, una mayor velocidad, y control superior, pero han acabado especializándose en la realización de aplicaciones de bajo nivel. La mayoría de los proyectos de desarrollos necesitan el concurso de una herramienta que acelere la finalización de la aplicación. Los lenguajes 4GL orientados a objeto, dotados de herramientas de programación visual son una de las herramientas preferidas y más extendidas. No sólo permiten automatizar muchas tareas y evitar considerables líneas de código, sino que además aumentan notablemente el grado de reutilización de los diversos componentes. Pero si todos estos avances en la programación son importantes, los que afectan al diseño lo son aún más. La tendencia es que los entornos de desarrollo empiecen a integrar herramientas CASE de diseño de aplicaciones. Entre ellas destacan las referentes a modelos conceptuales de bases de datos, los repositorios de objetos, y los documentadores automáticos.

El talón de Aquiles de los 4GL es ahora el consumo de recursos gráficos, la ocupación de memoria, y la velocidad. Sólo dos productos como Borland Delphi y CA-Visual Objects crean ejecutables reales, los demás utilizan código interpretado a través de una librería runtime.

Desarrollo en equipo

Los equipos de programación trabajan en pequeños grupos divididos por tareas o fases muy preocupados por la calidad y la eficiencia del código generado. En una empresa competitiva es normal que el equipo de test y control de calidad sea numéricamente igual o más grande que el dedicado al desarrollo propiamente dicho. Esto puede sorprender, pero no hay otra manera de conseguir un software sin errores.

Diversas líneas de desarrollo de una misma aplicación implican un necesario control de versiones y una gestión de bloqueos y niveles de seguridad en los diversos códigos fuente. Además es necesario que todas las especificaciones de la aplicación queden registradas en repositorios o diccionarios compartidos.

Cada vez más importantes resultan las herramientas para testear aplicaciones ya que la calidad de éstas es una exigencia progresiva del mercado. A esta nueva filosofía de la calidad total aplicada al desarrollo de software se le llama SQA (Software Quality Assurement), y se resume en la especificación ISO 9001, derivada de la más genérica ISO 9000.

Los rivales

Los dos paquetes que hemos evaluado son los que destacan por ser los entornos de desarrollo 4GL cliente/servidor para Windows orientados a entornos empresariales corporativos. Se trata de SQL Window

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información