Ensayo Informatica Adaptativa - JesUs A. Hernandez R . 34 rapido) puede notarse que los sistemas presentan estados de estabilidad temporal, es decir, un comportamiento y proposito definidos, que se sostienen durante varios arios con el mantenimiento que se hace a la aplicacion. Son raros los casos conocidos, dudamos que los halla, de paquetes de software que en una empresa hayan logrado subsistir con el transcurso del tiempo conservando inc6lumes sus caracteristicas; 10 mas usual es encontrar aplicaciones informaticas que solo en un pequerio conjunto de arios han conservado un cornportamiento determinado y un proposito especifico, suficientes para darles un sello distintivo y que han hecho que la empresa dependa de elias para su operacion normal sin considerar oneroso su mantenimiento. AI realizar observaciones en tiempos mayores se reconoce que los sistemas estan en permanente cambio, apareciendo una clara contradiccion con el estatismo que emerge del desarrollo tradicional de software, aun desde el mismo comienzo de la concepcion de la aplicacion informatica. En la era de la informacion, sin embargo, es ineludible reconocer que los sistemas informaticos se encuentran en un estado continuo de cambio. Pero como en la vision tradicional del software no se tiene en cuenta este aspecto y se espera actuar dentro del equilibrio y la estabilidad perpetuas, "de repente", los sistemas informaticos fallan y se hace necesario retirarlos de la organizacion. Esto sucede porque no se tiene una disposicion hacia una informatica adaptativa en la cual de forma intencional se pretendan encontrar los cambios en la forma y en la funcion de las aplicaciones de software, como tales, y en relacion con las variaciones de fonna y funcion organizacional. La transformacion socioeconomlca mundial segulra avanzando ineludiblemente, durante los proximos arios, hacia la total globalizacion del mercado y hacia la economia de la informacion. Esta transformacion nos ha conducido a un periodo de transicion tal, que para competir con eficacia es indispensable lograr una verdadera alineacion organizacional de los procesos del negocio y de la tecnologia informatica. Debe considerarse ademas que este periodo de transicion dirige la empresa hacia el tipo de organizacion con autoreferentes, en la cual es obligatorio el conocimiento de su evolucion y del permanente cambio interno, clase de empresa que para sobrevivir necesita ser, en altos niveles, flexible y eficaz, si se quieren afrontar con exito las sorpresivas y desorientadoras mutaciones de su entorno. Esto significa que los sistemas de software adecuados para esa clase de organizacion no se rigen por la vision tradicional de desarrollo. £osayo lnfo~tica Adaptativa - JesUs A Hernandez R. 35 Los paquetes de software son sistemas altamente complejos, en ellos una pequena accion (un error del operador, un mantenimiento, una caida de energia, un nuevo modulo, etc.) puede ocasionar enormes efectos. Saber con anticipacion el comportamiento generado por las diferentes acciones que se lIeven a cabo en un sistema de software es acercarse a una informatica adaptativa. Igualmente, en este camino hacia la adaptacion debe tenerse en cuenta que los componentes informaticos, como tambiEm algunos de sus resultados, no son aditivos; esto es, para que un proceso de software sea exitoso deben estar presentes, en el momenta de trabajo, todos los elementos que constituyen una operacion. En las aplicaciones actuales, con interfases grffiicas, bases de datos distribuidas, a gran escala, tendientes a funcionar en tiempo real , etc., en definitiva, las actividades que se realizan no son sumables una detras de la otra. Es muy importante comprender que mas que secuenciales las actividades informaticas son paralelas, simetricas yasimetricas. Para resumir, recordemos que el eje de la adaptacion en los sistemas naturales y artificiales es el conocimiento deliberado de las modificaciones en las estructuras y en sus comportamientos para ajustarse a los cambios del entorno [Holland-93]. Podemos aprovechar esta circunstancia, por 10 tanto, para entender y manejar las transformaciones en el desarrollo y explotacion de las aplicaciones informaticas, considerandolas como sistemas artificiales en adaptacion continua. 3.1 Un modelo de Entomo de Informatica Adaptativa Las aplicaciones informaticas estan entre las estructuras mas complejas que han desarrollado los humanos, 10 que indica que intentar incorporar las nuevas tecnologias de la informacion a organizaciones obsoletas en sus concepciones basicas es un gran error. La tecnologia informatica no solo lIega a la empresa como un solucionador de problemas sino que tambien se convierte, indirectamente, en un generador de ellos, al impeler la modificacion corporativa. La perspectiva tradicional del cambio en los sistemas se ha centrado solo 0 en el instrumento 0 en la estructura organizacional, en oposicion, la vision del cambio en una informatica adaptativa enfrenta al mismo tiempo la concepcion del negocio y el instrumento para soportar las transformaciones corporativas. La Reingenieria Organizacional y su proposito de lograr cambios radicales en las empresas y en sus negocios se acerca a este proposito, pero sigue tratando el desarrollo instrumental y su uso de forma tradicional dentro de una alternativa diferente de organizacion [Hernandez-94] . Oe igual manera, Ensayo Informatica Adaptativa - JesUs A. Hemimdez R. 36 las nuevas tecnologias probablemente produciran unos pocos mejoramientos, sin colmar las expectativas, y a los pocos arias terminaran siendo abandonadas junto con los productos informaticos resultantes par no ajustarse a los cambios organizacionales. Un esquema general de un Entorno de Informatica Adaptativa que cubre tanto los viejos sistemas de software que se van a renovar, como el mantenimiento de los existentes y la construcci6n de los nuevas sistemas necesarios en una organizaci6n se presenta en la figura 3.1 . Una explicaci6n de la operaci6n de este entorno de producci6n de software detallando cada caso, nuevo, renovaci6n a mantenimiento, se hace mas adelante. Recuperador de Olseno TraductorTransformador Intermedlo Generador deCodigo Fig u ra 3.1. Diagrama Esquematico del Entomo de Informatica Adaptativa (0.1 =HiperDep6sito de informacion: relacionaJ, difusa, objetuaJ, heuristica.. .) Cada objeto en la figura 3.1 cumple tareas especificas para la adaptaci6n de software, actividades todas susceptibles de ser automatizadas, excepto en aquellos lugares con figuras de personas cerca de eilos, que indican en donde actualmente es indispensable contar can la participaci6n de expertos humanos para Ilevar a cabo un proposito de adaptaci6n. Ensayo lnformatial Adaptativa - JesUs A Hernandez R. 37 En la concepcion de la informatica adaptativa se considera la reingenieria como parte natural del cicio de vida del sistema, cuya evidenciacion se hizo en el capitulo 1, pues en el fonda la consecuencia mas directa que se busca con la adaptacion de las estructuras organizacionales e informaticas es entrar en un estado de reciclamiento del software 0 de renovaci6n continua de sistemas. Estado en donde los objetos de software deben apreciarse en un espectro mas amplio que abarque realmente las tecnologias blandas que componen la empresa, los objetos de software en los procesos adaptativos seran tanto organizacionales como informaticos. La renovaclon continua de software debe tratarse en un esquema multidimensional ya que la vision del experto informatico (centrada en la instrumentacion) y la vision del experto usuario (dirigida a la especificacion), tanto en la ingenieria convencional como en la reingenieria, son diferentes aunque se complementan para producir la vision total del sistema. Las aplicaciones informaticas deben construirse con un enfoque sinergetico que tenga en cuenta la dimension de la instrumentacion, es decir el software informatico y el hardware, como la dimension de la especificacion, es decir la organizaclon. Seguir utilizando los instrumentos, esto es, los sistemas informaticos como producto final y los metodos para construirlos, en la misma forma de siempre por muy moderna que sea la tecnologfa de que se dispone, no es suficiente para orientar la evolucion empresarial, como tampoco es suficiente, mejorar la concepcion de la organizacion si conservamos una infraestructura deficiente. Para lograr un software adaptativo debe reconocerse la traza de estados de la historia de la organizacion, determinando los diferentes estados por los que ha pasado y que conforman la trayectoria de evolucion de la empresa. Ademas, hay que establecer su estado actual presente y distinguir un estado objetivo futuro. La estructura de la trayectoria de evolucion de la organizacion puede definirse en un marco formal de referencia, de tal modo que por medio de else reconozcan aquellas que han side exitosas y pueda demostrarse la efectividad de las posibles estructuras que una empresa dada seguirfa en el amplio rango de condiciones que se tiene partiendo de su estado actual de madurez informatica y corporativa. EI software ha dejado de ser una herramienta de apoyo empresarial y ha comenzado ha ser parte integral de la organizacion, as; que al considerar la empresa como un sistema en adaptacion continua, no se agrega valor con la sola modernizacion tecnologica si no modificamos de forma simultanea Ensayo Infon:natica Adaptativa - jesUs A Hemimdez R. 38 nuestra manera de entender la corporaci6n. Tampoco comprenderiamos el papel que el software juega en el futuro de la organizaci6n si unicamente 10 ubicamos en la instrumentaci6n. Las aplicaciones informaticas, entonces, sean nuevas alternativas corporativas 0 sean tan viejas que ameriten su retiro 0 requieran una renovaci6n total 0 sean viejas pero bien apreciadas para realizarles mantenimiento, deben tratarse bajo un mismo marco de referencia basado en la trayectorla de evoluci6n de la organizaci6n complementada con las trayectorias de evoluci6n de cada aplicaci6n. Veamos como enfrentar cada una de estas variantes. 3.1.1 Adaptacion de un nuevo sistema. En el Entorno de Informatica Adaptativa el reconocimiento, manejo y planeaci6n del cambio corporativo se efectua por medio de la Ingenierla de la Transformaci6n Organizacional, que con el uso de indicadores de cambio cuantifica y cualifica el impacto del medio externo en la corporaci6n, y provee recursos para que una compania pueda influir en su entorno inmediato 0 pueda enfrentar los em bates que este Ie ofrece. En toda organizaci6n existen variables cJaves que cambian con el tiempo, cuyos valores manifiestan la presencia de ciertas condiciones ambientales en la empresa. Usualmente distribuidas en cinco categorias principales: fuerzas econ6micas, fuerzas sociales, culturales y geograficas, fuerzas pol/ticas, gubernamentales y juridicas, fuerzas tecnol6gicas, y fuerzas competitivas [David 91], se reconocen por indicadores de cambio. Estas variables claves se deben controlar para garantizar un curso de acci6n en la organizaci6n. Cuando se establece un comportamiento 0 se reconoce uno, denominaremos las variables claves como los parametros de orden del sistema. La instanciaci6n de estos parametros de orden determinan la disposici6n de los componentes organizacionales respecto a un cierto funcionamiento presente 0 futuro. Los para metros de orden orientan los comportamientos posteriores de la empresa y se generan por procesos entr6picos naturales 0 artificiales, positiv~s 0 negativ~s, internos 0 externos. Su estado se refleja con la metrificaci6n de los indicadores de cambio, y con su conocimiento se deciden las nuevas aplicaciones informaticas a realizar 0 a renovar. Ver en la figura 3.1 el actor Ingenieria de la Transformaci6n Organizacional y su relaci6n con los actores Modelamiento Corporativo y Nuevos Sistemas a Automatizar. Ensayo InfoTIlliltica Adaptativa - JesUs A HernAndez R. 39 EI modelamiento Corporativo es la concrecion de la ingenieria de la transformacion organizacional y representa aquellos modos de inestabilidad de la empresa y del entomo que con el tiempo se han hecho permanentes, que los indieadores de cambio establecen como tales y que denotan el nuevo comportamiento a seguiL EI modelo corporativo, al representar la empresa como la entendemos hoy y sus nacientes eaminos posibles de seguir, es una herramienta que sirve para definir de una manera sistematica el conjunto de requerimientos para cada nuevo sistema informatico segun la trayectoria de evolucion de la organizacion. Encontrandonos ya en la etapa de declaracion de requisitos del usuario para una aplicacion de software se puede asumir un esquema secuencial de ingenierfa convencional de sistemas computarizados para su construccion, pasando directamente a la especificacion formal del sistema informatico (actor Traductor-Especifieador), y luego apoyandose en la prototipacion automatiea (actor Generador de Codigo) para implantar la aplicacion, figura 3.1. En esta etapa es necesario acudir a la ingenierfa de requerimientos adaptativa para evitar que las recientes aplieaciones de software se tomen rigidas, cerradas y poco eficientes como sus antecesoras que no tuvieron en cuenta que siempre esta eambiando tanto la informacion de origen como la de operacion. EI novel codigo fuente, p~r supuesto, se producira y operara con las tecnologias de turno, eso si, correspondientes a la vision de la informatica adaptativa que se ha venido explicando. EI modelo corporativo y el conjunto de requerimientos del sistema informatico aprovechan los anteriores planes adaptativos exitosos de la organizacion apoyandose en los objetos informaticos reutilizables (OIRE) y en los objetos organizacionales reutilizables (OORE) que ya se conozcan en su comportamiento y estructura y esten disponibles para su aprovechamiento. Los nuevos enfoques empresariales como los nuevos sistemas informaticos que en un momento dado se recomienden podrian lIegar ha adicionar otros objetos reutilizables 0 ha alterar los existentes [Hernandez-93c], esto signifiea que se necesitan con anticipacion reglas claras de identificacion, normalizacion y administracion de esos objetos, como base para su adaptacion. Es indispensable contar con un medio para facilitar la continua transformacion del codigo ante las modifieaciones futuras del medio ambiente corporativ~, este instrumento que en la figura 3.1 es el actor Metrificador de Calidad, sirve para que al nuevo sistema se Ie reconozca su actual nivel de ealidad y la forma como el ha evolucionado en Ensayo Infon:natica Adaptativa - JesUs A. Hermilldez R. 40 este aspecto. Asi como en la Ingenieria de la Transformacion Organizacional se utilizan indicadores cualitativos y cuantitativos para manejar el cambio corporativ~, en los sistemas informaticos se requiere de metricas para confrontar su estado de calidad en diferentes tiempos, comparaciones que nos habilitan para lIevar a cabo una renovacion positiva en la aplicacion. 3.1.2 Mantenimiento de sistemas infonnaticos. EI mantenimiento busca sostener el conjunto inicial de requerimientos dados por el usuario y hoy representados en una aplicacion existente y en operacion. Como el mantenimiento no se hace para extender el sistema con nuevos modulos ni para actualizarlo tecnicamente ni para una renovacion total del mismo, como se explico en los capitulos anteriores, sino para conservar el cumplimiento de unos propositos acordados cuando se definio el problema a resolver, es conveniente transformar el codigo fuente a un nivel de abstraccion mas alto que el actual y desde aqui realizar los cam bios establecidos. Este procedimiento tambiEm se lIeva a cabo en la reingenieria con un resultado final diferente, debe hacerse la salvedad que en el caso del mantenimiento no se buscan cambios simultaneos en la estructura y funcionalidad, ni mucho menos modificar el objetivo de la aplicacion informatica. EI lenguaje intermedio al que se pasaria el codigo fuente puede estar constituido p~r tablas relacionales, tablas de decision, objetos graficos, bloques de particion, etc., sobre los cuales se IIevarian a cabo las modificaciones necesarias facilitando el mantenimiento de la aplicacion . A este lenguaje intermedio se Ie daria un tratamiento similar a los requerimientos de un nuevo sistema, reespecificando los cambios efectuados y pasandolos luego por prototipacion automatica para implantar la aplicacion. En la figura 3.1 la rut a a seguir en un mantenimiento se marca con la linea punteada que va desde el actor Transformador Intermedio hasta el actor Traductor-Especificador. EI codigo fuente de origen y destino de la aplicacion informatica, en este caso, seran de la misma clase e incluso puede ser el mismo codigo fuente en una variante diferente. Se aclara que en este apartado se discute el mantenimiento de aplicaciones que de alguna forma ya han sido tratadas par el Entorno de Informatica Adaptativa 0 que sus estructuras nativas estan en condiciones adecuadas para que se efectuen facilmente las transformaciones indicadas al lenguaje Ensayo Info11llfllica Adaptativa - JesUs A. Hernandez R. 41 intermedio seleccionado, por ejemplo, las aplicaciones contemporaneas . Cuando una aplicaci6n informatica que se desea modificar no esta en condiciones estructurales para pasarla por el Transformador Intermedio dce forma directa al Reespecificador es necesario, entonces, efectuarle un proceso de renovaci6n . 3.1.3 Renovacion de sistemas de software. En la ingenieria convencional se parte de la base que el sistema no existe, que 10 que se pretende es precisamente construirlo y que las partes ya existentes del producto si las hay, aun no se han integrado para conformarlo como tal. Por otro lado, la reingenierfa parte de un sistema ya terminado y usual mente en operacion [Hernandez-90] e involucra actividades tanto de ingenieria inversa, para facilitar la comprensi6n del problema, como actividades de ingenieria progresiva y reversa, para lograr la implantaci6n de los hechos que exige la nueva soluci6n. La reingenieria en informatica puede efectuarse sobre un sistema completo o sobre partes del mismo . Es bueno recordar que los cambios que con la reingenieria se realizan sobre toda la aplicacion 0 sobre algunos de sus modulos siempre seran simultaneamente tanto funcionales como estructurales y son motivados por las tranformaciones organizacionales para enfrentar su entorno, las que generan nuevos requerimientos funcionales que van mas alia de un mantenimiento. Las diferencias y complementos entre mantenimiento y reingenieria dentro del cicio de vida del software se aclararon en el capitulo 1 . Sin embargo, mas que de reingenieria deberiamos hablar de Renovaci6n Continua de Software con 10 cual no solo encarrilamos la construccion de las aplicaciones informaticas a traves del concepto correcto sino que generariamos herramientas mas adecuadas al mundo moderno, como las mostradas en la figura 3.1, con las cuales examinar y en tender los sistemas de informacion computarizados, facilitar su elaboracion, posibilitar su mantenibilidad y lograr su reutilizacion parcial 0 total. EI resultado final sera mejorar los sistemas existentes y desarrollar los nuevos con una estructura abierta presta a enfrentar de forma inmediata y eficaz los procesos transformacionales de las corporaciones y el permanente cambio tecnologico, porque son aplicaciones acopladas con la trayectoria de evoluci6n de la organizaci6n. Ensayo Infon:natica Adaptativa - JesUs A Hernandez R. 42 Una vieja aplicaci6n informatica que ha cambiado con el tiempo, que todavia este operando en la actualidad en una corporacion, ha sufrido tantas modificaciones en su estructura y en su funci6n que la hacen en extremo dificil de entender en su interior [Hernandez-93a]. Ademas, la alta rotacion de personal en las areas infonnaticas hace que en la empresa no se cuente con tecnicos 10 suficientemente buenos conocedores de esa vieja aplicacion de software. Para enfrentar esta creciente complejidad tecnica, organizacional y de personal se pueden aprovechar herramientas automatizadas para reconocer el diseflo del software, instrumentos que entreguen las relaciones entre programas, entre programas y archivos de datos, entre programas y puertos de comunicaci6n, que muestren los mecanismos de control de los programas, una estructura jerarquica de la aplicacion, la composici6n de los registros en los archivos, multiples referencias cruzadas, en fin, toda la informacion que para un analisis estatico necesita un analista cuyo objeto sea conocer una aplicaci6n y transformarla con precision. EI actor que en el Entorno de Informatica Adaptativa realiza estas tareas es el denominado en la figura 3.1 como Recuperador de Disefio. Entre otras tareas a ejecutar por este actor puede tenerse tambien la ubicacion de cada variable del sistema de software en cada lugar en que aparezca y con el respectiv~ tratamiento que se Ie de en la aplicacion, puede segmentarse el sistema y cada uno de los programas de computador en bloques para situar una determinada clase de acci6n y conocer su impacto en los otros componentes, puede sintetizarse la funci6n de un modulo en una formula matematica, etc. Este tipo de trabajo tambien 10 puede hacer un analista humano, por supuesto consumiendo mucho mas tiempo y con un mayor grado de incertidumbre en el resultado, pero si 10 que queremos es alinear la organizacion alrededor de un objetivo corporativ~, la inteligencia humana deberia estar al servicio de este proposito, en especial si estamos en condiciones de ofrecer maquinas automaticas analizadoras de software que efectuen esas y otras tareas en mejores condiciones. Esa vieja aplicacion informatica en proyecci6n para adaptatividad tambien puede transfonnarse a un lenguaje intermedio, en similares aspectos a 10 ya comentado en el caso del mantenimiento, aunque solo en fonna parcial , pues su estructura original no estaba condicionada para tal efecto. Igualmente, el Transformador Intermedio puede aprovecharse para traer el sistema a las actuales disposiciones instrumentales, por ejemplo, conversiones a cuarta generacion 0 a configuracion cliente-servidor, 0