51
Club de Investigación Tecnológica Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor)

Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Nuevas Tecnologías deInformación

Preparado por: Juan Ignacio Biehl,Róger Mayorga J., yRoberto Sasso Rojas (editor)

Page 2: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Abril 1992

Page 3: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Editado y Publicado por Rho-Sigma, S.A.a nombre del Club de Investigación Tecnológica.

Todos los derechos reservados.Prohibida la reproducción total o parcial.

Page 4: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

San José, Costa RicaAbril 1992

Page 5: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica Nuevas Tecnologías de información

Rho - Sigma S.A.

Resumen Ejecutivo

Casi a diario vemos el anuncio de nuevastecnolgías, algunas de las cuales serán florde un día, algunas madurarán y pasarán aformar parte del conjunto de tecnologíasutilizadas en nuestra rutina diaria, otrasvendrán a transformar el mundo.

En marzo 1990, los afiliados del Club deInvestigación Tecnológica decidieron que serealizara una investigación de algunas de lasmás relevantes tecnologías emergentes.

Para este estudio se escogieron:Multimedia, Orientación a Objetos yAD/Cycle. De estas tecnologías, lasprimeras dos tenían años de estar madurandoy empezaban a dar señales de estabilidad yla tercera estaba recién anunciada.

Para las tres tecnolgías se presenta primerouna breve descripción de lo que son,incluyendo los conceptos básicos, luego sediscuten las aplicaciones e implicaciones delas tecnologías, así como las ventajas ydesventajas de su aplicación en nuestromedio.

La tecnología Multimedia ha producidosistemas que integran grandes cantidaes deinformación en formatos tan dicímiles como

el sonido, las imágenes (estáticas yanimadas),y el texto. La aplicabilidad deesta tecnología ya ha rebasado los confinesdel hogar y las instituciones educativas, hoyen día hay aplicaciones reales y valiosas quepueden aprovechar las empresas afiliadas alClub. Se presentan recomendaciones paraayudar al Departamento de Sistemas aapoyar la introducción de esta tecnologíuaen las empresas.

La Orientación a Objetos es la más antiguade las tecnologías estudiadas, es también lamás compleja y posiblemente la que podríatener mayor impacto. La Orientación aObjetos no es un producto, es una filosofía,un enfoque y un paradigma de la ingenieríade software. Hoy en día hay numerososproductos que apoyan o implementan dichoparadigma. Ya la orientación a objetos nose limita únicamente a la programación(como hace veinte años) sino que incluyemetodologías de desarrollo de sistemas,sistemas operativos, bases de datos yambientes de usuario final.

Se demuestra en el informe que laOrientación a Objetos es una alternativaviable para el desarrollo de sistemas en unfuturo cercano.

Page 6: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica Nuevas Tecnologías de información

Rho - Sigma S.A.

El AD/Cycle fue anunciado por IBM ensetiembre 1989, más como una dirección yuna serie de planes e intenciones que comouna tecnología disponible. El AD/Cyclepropone una serie de interfases y estándarespara la creación de un ambiente integrado ycompleto para la automatización del procesode desarrollo de software de apliación.

La relevancia de este anuncio de IBM radicaprobablemente en la arquitectura abierta quepropone, aprovechando así los esfuerzospioneros de otros proveedores de softwareen el desarrollo de herramientas conocidascomo Ingeniería de Software Asistida por elComputador (CASE).

AD/Cycle es el único planteamiento (de quetenemos conocimiento) que lleva a laintegración de todas las herramientas de altaproductividad existentes (y en desarrollo)incluyendo las herramientas para laadministración del proceso mismo dedesarrollo de apliaciones.

Se hace evidente en el informe queAD/Cycle tiene el potencial de cambiarradicalmente, en el mediano plazo, la formaen que desarrollamos software de aplicación.

Es, obviamente, de interés para los afiliadosdel Club el conocer y entender los conceptosy alcances del AD/Cycle para así prepararse

y planear mejor la introducción de laautomatización del desarrollo de sosftwareen susu organizaciones.

De los AutoresEl capítulo de Multimedia fue desarrolladopor Juan Ignacio Biehl, Vice-Presidente deICON (representante de Apple en CostaRica, Panamá y Nicaragua). El Sr. Biehlrealizó estudios de electrónica en el InstitutoTecnológico de Costa Rica y ha participadoen numeroso cursos y seminariosespecializados en Cupertino, California.

El capítulo de Orientación a Objetos fuedesarrollado por Róger Mayorga,Licenciado en Computación e Informáticapor la Universidad de Costa Rica, Máster enComputación por la Universidad deWaterloo, Canada y actualmente profesor dela Maestría en Computación del I.T.C.R. ycoordinador de Informática del IICA.

El capítulo del AD/Cycle fue desarrolladopor Roberto Sasso, Doctor en Ingeniería deSoftware por la Universidad de Oxford,Presidente y Director de Investigación delClub de Investigación Tecnológica quien sedesempeña actualmente como consultorindependiente tanto en Costa Rica como enel exterior. El Dr. Sasso fue además elresponsable de diseñar, coordinar y editar elpresente informe.

Page 7: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica Nuevas Tecnologías de información

Rho - Sigma S.A.

Contenido ........................................................................................................................................................................................................................................................................................................................................................................................................................................... Página

Multimedia............................................................................................... 1Multimedia y nosotros .........................................................................................3

Un nuevo medio de comunicación ..........................................................3Educación ................................................................................................4Mercadeo y Ventas ..................................................................................5Entretenimiento........................................................................................5Servicios...................................................................................................6

Implicaciones para el Departamento de Sistemas ...............................................6Bibliografía ..........................................................................................................9

Orientación a Objetos ............................................................................. 10Introducción .........................................................................................................10Definiciones .........................................................................................................11Areas de aplicación ..............................................................................................14

Metodologías para el desarrollo de sistemas ...........................................14Lenguajes de programación .....................................................................16Sistema Operativo Orientado a Objetos ..................................................19Bases de Datos .........................................................................................20Ambientes de usuarios y aplicaciones ....................................................21

Ventajas de la orientación a objetos ....................................................................21Desventajas de la orientación a objetos ..............................................................23Conclusión ...........................................................................................................24Bibliografía ..........................................................................................................27

AD/Cycle .................................................................................................. 28Introducción .........................................................................................................28Estrategia .............................................................................................................29Arquitectura .........................................................................................................33

Requerimientos ........................................................................................33Análisis y Diseño .....................................................................................34

Page 8: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica Nuevas Tecnologías de información

Rho - Sigma S.A.

Construcción y Pruebas............................................................................34Producción y Mantenimiento ..................................................................35Administración del Proceso ....................................................................36

Comentarios .........................................................................................................36Recomendaciones ................................................................................................38Bibliografía ..........................................................................................................39

Page 9: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 1

Multimediapor: Juan Ignacio Biehl

Durante los últimos tres años, el términoMultimedia ha cobrado popularidad en loscírculos tecnológicos; sin embargo, no existetodavía un entendimiento claro de lo quesignifica y de lo que representa.

La definición de multimedia describe, más omenos acertadamente, un nuevo sistema decomunicación que integra información devarias fuentes mediante estructuras flexibles.Se acepta implícitamente la interactividadcomo característica de los materialesmultimedios.

Para describirlo en función de mediosconocidos cabe imaginar un producto,similar a una publicación, que nos permiteexplorar conceptos expresados en mediostan disímiles como el sonido, las imágenesestáticas o animadas - videos - y el texto,entre los que se establecen relacioneslógicas. Pensemos en un ornitólogo sentadofrente a una estación “multimedia”,estudiando un ave mediante la lectura debibliografía en pantalla al tiempo queobserva fotografías digitalizadas y escuchalos diferentes cantos. En este medio, el

usuario tiene acceso a una gran cantidad deinformación ordenada a la que solo tendríaacceso por medios convencionales de unaforma aislada e inconexa.

CD-ROMDisco Compacto Digital conteniendo Imágenes digitalizadas, archivos binarios y sonidos digitales.

Video DiscoDisco de Videoconteniendo Imágenes y Secuencias de video análogas

Diskettes y discos durosMedio mágnetico conteniendo Imágenes, Sonidos y Archivos Binarios.

Relaciones Hypermedio establecidas entre unidades

hetereogeneas de información

Multimedios. Relaciones y unidades de información en diferentes medios físicos y formatos.

El concepto de multimedia surge pues, parallenar la necesidad de entregar una grancantidad de información de la manera máseficiente posible. Puede pensarse que es unpaso necesario en la historia de lacomunicación que funde medios como ellibro, la televisión y la radio.

Page 10: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 2

Hoy en día muchos de los materialesmultimedios toman la forma de“Enciclopedias Ilustradas” que ya no solointegran ilustraciones para complementar eltexto, sino que incluyen segmentos de videoy audio digitalizado.

En este punto es importante diferenciar elmaterial multimedia de las aplicaciones oherramientas multimedia. El primero, serefiere al producto terminado que sedistribuye al usuario. Las segundas son lasaplicaciones que se emplean para elaborarestos productos ó publicaciones. Es comúnque el material multimedia se distribuya“encerrado” en la aplicación, lo que permiteal usuario modificar en algunos casos laestructura y aprovechar las unidades deinformación para sus propios fines. Algunosejemplos comerciales de estos ambientes dedesarrollo de material multimedia sonHyperCard de Apple, MediaMaker deMacroMind, LinkWay de IBM, SuperCardde Silicon Beach y Course of Action deAuthorware Inc.

Conviene también establecer con claridadlas diferencias entre mult imedia ehypermedia. Como se vio, los sistemasMultimedios involucran formatosheterogéneos en las unidades de informaciónmientras que los Hypermedios pueden

involucrar solo un medio. Los sistemashypermedios que emplean exclusivamentetexto se llaman hypertexto.

De momento, el estado de la tecnologíaobliga a emplear configuraciones de equipocon cierto grado de complejidad para brindarlos servicios que requieren los multimedios.

Una estación típica consiste de unmicrocomputador que ejecuta el programamultimedios, normalmente operando bajosistemas gráficos. El microcomputadortambién controla periféricos dealmacenamiento y recuperación comounidad de videodisco y unidad CD-ROM.Esta configuración se complementausualmente con un monitor de video(televisor) y altoparlantes.

Disco Duro

Monitor de Alta Resolución

Microcomputador

Televisón ó Monitor de Video Compuesto

AltoparlantesUnidad CD-ROM

Estación Multimedios. Configuración Típica

Unidad de Videodisco

La unidad CD-ROM se emplea en algunoscasos para almacenar simultáneamente la

Page 11: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 3

aplicación, la información textual, imágenesestáticas y sonidos digitalizados. El video(full motion video) se almacenanormalmente en videodiscos de 12”. Estos, adiferencia de los discos compactos,almacenan información en formato análogo.

Sin embargo, día con día los fabricantes deproductos electrónicos de consumo estánunificando estos medios en uno solo quepermita la distribución eficiente de materialmultimedio; Sony y Philips estánpatrocinando el estándar CD-I, al tiempoque Intel impulsa el formato DVI. Ambossistemas permiten almacenar y recuperarvideo, sonido y datos de un mismo discocompacto.

Varios fabricantes de computadorespersonales distribuyen estacionesmultimedia en el país. Los más importantesson Commodore, IBM, Tandy y Apple.

Estos fabricantes están integrando enproductos únicos -estaciones multimedia-todos los componentes citados arriba. Entreestos, cabe distinguir las estaciones para elempleo de material multimedia (delivery) ylas estaciones para la producción de materialmultimedia. Esta distinción se hace sinperjuicio de las capacidades de producciónde las primeras.

Actualmente cada fabricante estáproponiendo sus propias ideas para laimplementación, pero todos compartencriterios sobre los formatos, elalmacenamiento y la manipulación. Elreciente acuerdo entre IBM y Apple seapoya grandemente en el deseo de las doscompañías de emplear un juego común deherramientas para el desarrollo de sistemasmultimedia. La tecnología QuickTime,desarrollada por Apple como plataformapara la integración de medios dinámicos -sonido y video- , promete convertirse en elestándar de los sistemas futuros quedesarrollen estas empresas. Hoy en díaQuickTime se encuentra comercialmentedisponible para Macintosh, y estarádisponible a finales de 1992 para Windows.Mas de 200 aplicaciones comerciales ya hanadoptado la tecnología.

Nótese que los interfaces “amigables”juegan un papel importante en el desarrollode sistemas comerciales por que estosproductos se orientan al usuario común, noal desarrollador profesional. En Costa Rica,al igual que en otros países altamenteinformatizados, este tipo de sistemasoperativos se están imponiendo lo quefacilitará llevar los beneficios de losmultimedios a los usuarios finales.

Page 12: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 4

Multimedia y nosotros

Para analizar el impacto de los multimediosen la sociedad es necesario observar lasdiversas formas que estos van adquiriendoconforme el gran público comienza a teneracceso a ellos. A continuación se describe laaplicación de esta tecnología en diversasáreas.

Un nuevo medio de comunicaciónAl lado de los libros, revistas, videos,casetes, y publicaciones en general vamos aencontrar cada día más materialmultimedios. Tomarán inicialmente la formade “kits” conteniendo un videodisco, undisco compacto CD-ROM y tal vez algúnsoftware complementario en disquettes. Enun futuro estos serán sustituidos por un solodisco digital que reúna la información en losdiferentes formatos.

Lo más destacado en este punto es entenderque los multimedios constituyen un sistemapara la distribución de contenido; esto lossepara del software, entendido comoherramienta. De hecho el desarrollo dematerial multimedio más un arteinterdisciplinario más que una cienciatecnológica. Con más probabilidadencontraremos que los “autores” importantes

de estos productos serán más usuariospromedio (ó artistas en el mejor de loscasos) que técnicos en programación.

EducaciónEste material es ya bastante popular enmedios educativos. En la instrucción escolarformal se ha encontrado dificultad parapopularizarlo porque no se ha encontradoconsenso sobre la forma que debe tomar elmaterial didáctico. La instrucción a niños yjóvenes plantea problemas de concepto queno ha sido posible resolver a satisfacción delos expertos. Sin embargo estos problemasno son de orden tecnológico sinopedagógico.

Es más común encontrar material educativoen corporaciones y en universidades.Muchas empresas han adoptado este mediopara la instrucción de sus empleados. Elvolumen de información que permitendistribuir estos sistemas aceleraenormemente el proceso costoso delentrenamiento. Otra razón para que se hayaadoptado en empresas es que la naturalezainteractiva y autoguiada del materialprácticamente hace innecesario al instructor.El empleado puede sentarse solo frente a laestación de entrenamiento y aprender a suritmo para finalmente ser evaluadoautomáticamente.

Page 13: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 5

En Costa Rica ya se esta progresandoaceleradamente hacia la creación deambientes multimedios de enseñanza yaprendizaje. En la Facultad de Medicina dela Universidad de Costa Rica, bajo elpatrocinio del programa NIDES, se hainstalado un completísimo Centro deMultimedia. Actualmente se está trabajandoen varias modalidades para el desarrollo dematerial instructivo. Inicialmente se trabajóen el desarrollo de material para asistir laenseñanza de materias como fisiología yanatomía; actualmente se está comenzando atrabajar en material para el aprendizaje, másenfocado a la enseñanza autoguiada ya alestudio.

También en la Universidad de Costa Rica, sedesarrollo material interactivo para guiar alos nuevos empleados en el funcionamientoy procedimientos de la Universidad.

Actualmente la Facultad de Música estáimplementando un sistema auxiliar para laenseñanza principalmente en historia de lamúsica.

Para enfrentar exitosamente el futuro hayque examinar de cerca el progreso de latecnología en el área de la educación ya quede ahí nos llegarán las “pistas” de aplicaciónen otras áreas.

Mercadeo y VentasPor razones similares, los multimedios hanempezado a aparecer en empresascomercializadoras. El enorme volumen deinformación que contiene un catálogo porejemplo, y el tipo de comunicación que sepretende establecer con el cliente, impulsa alas empresas a crear catálogos electrónicosinteractivos que sustituyen casi porcompleto al distribuidor. Varias de lasempresas que lo han adoptado empleansistemas de distribución postal y de esaforma eliminan la necesidad de canalestradicionales de distribución. Otras lo usanpara apoyar el trabajo de sus distribuidores.

El material multimedio en aplicacionescomerciales funde lo mejor de loscomerciales de televisión con la noopresividad del catálogo. El cliente ve loque quiere en detalle y evita lo que no leinteresa.

Aún está un poco distante el día en que lamayoría de las empresas lleguen a susclientes por este medio. El costorelativamente alto de una estaciónmultimedia (No así el del materialmultimedia) mantiene reducido el mercadopara estos sistemas. Sin embargo en lasciudades más caras del mundo: Tokio yNueva York el costo de sostener cadenas de

Page 14: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 6

distribución ordinarias le abre las puertas asistemas que evitan la “Tienda” y reducenlos costos asociados a la propiedad de latierra y al transporte.

EntretenimientoTambién guardando cierto paralelo con laorientación de la tecnología en educación, laaplicación de los multimedios en elentretenimiento es una tendenciaperceptible. En la sociedad “hecha a lamedida” del siglo XXI, el entretenimientotiene que poder ajustarse a los gustos de laspersonas. Los “Invasores Espaciales” ya noofrecen diversión a las nuevas generaciones;lo predecible y falto de contenido de estetipo de entretenimientos de video abre pasoa los mucho más sofisticados juegosmultimedios. La posibilidad de participar enjuegos interactivos de aventuras consecuencias de video a todo color y consonido estereofónico hace sonreír a niños yadultos por igual.

En el mercado norteamericano ya hanaparecido los primeros productoscomerciales de este género; Uno de lospioneros es casualmente un juego paraadultos: “Virtual Valerie”.

Servicios

Las empresas de servicios estáncomenzando a ver en los multimediossistemas adecuados para orientar a susclientes.

El comercio de intangibles puedeaprovechar esa propiedad emocional de estemedio para vender vacaciones a paíseslejanos ó “vender” diseños ya seanindustriales o arquitectónicos. El poder traerhasta el comprador este tipo de productosantes de proveerlos mejora la posibilidad deéxito para muchos profesionales, ya sea enturismo, arquitectura ó ingeniería.

Incluso los gobiernos locales empiezan aencontrar razonable proveer al turismo deherramientas más sofisticadas que el clásicomapa. La cantidad de información quepuede proveer un mapa turístico es en estoscasos muy limitado. En Canadá se estápopularizando la estación de informaciónelectrónica que ofrece, a través de uninterfaz sencillo, acceso a información debases de datos como clima, informaciónbursátil y al mismo tiempo descripción - convideo y sonido interactivo- de la atraccionesprincipales de ciudades como Quebec yMontreal.

También se ven aparecer estacionesespecializadas en los grandes centros deconvenciones que ofrecen al visitante

Page 15: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 7

orientación en las actividades yexhibiciones.

I m p l i c a c i o n e s p a r a e lDepartamento de SistemasLa década de los noventas llevará alDepartamento de Sistemas corporativo ajugar un papel diferente del que hadesempeñado hasta la fecha.

Hoy día esperamos que el Centro deCómputo procese datos y entregue reportesy en casos muy calificados, que proveaherramientas para que el usuario maneje lainformación; esta última función es productodel empuje de la computación personal.Mañana esperaremos que el Centro deCómputo -ó mejor expresado: el Centro deInformación-, administre grandes volúmenesde información, distribuidos en imágenesdigitales, texto, sonidos digitalizados, etc.

El Departamento de Sistemas de la próximadécada podrá contribuir al desarrollo deestos nuevos sistemas siguiendo lossiguientes consejos:

Dejar pasar. Los multimedios se estánimponiendo en algunas áreas, como las quese describieron arriba, haga lo que haga elDepartamento de Sistemas. Lo másacertado es dejar que estos aparezcan en

donde el aporte sea innegable y donde sepueda manejar, al menos al principio, comoproyectos aislados.

Permitir -y ayudar- a que se adopten enentrenamiento, mercadeo, ventas, yservicios, le permitirá al Administrador deSistemas aprender a manejar el cambio, y aposicionar dentro de la empresa este tipo desistemas. También le ayudará afamiliarizarse con sistemas para el manejomasivo de información no-textual. Ya esposible empezar a experimentar en el paíscon estos sistemas y vale la pena hacerlo.

Proveer infraestructura. Otra manera en laque el Departamento de Sistemas puedeparticipar del desarrollo de los multimediosen los ambiente profesionales es supliendogradualmente la infraestructura que serequiere para permitir que las estacionesdepartamentales funcionen como un todo. El“costo” de la información exige de sistemasde comunicación que permitan compartirla.

Los sistemas Hipermedio1 se estándesarrollando de manera que las unidades deinformación (los datos) se separan de la

1 En este caso se habla de hipermedio comosubconjunto de los multimedios, para hacerreferencia solo a las estructuras interactivas queconectan las células informativas.

Page 16: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 8

estructura con el fin de reutilizar lasprimeras. El usuario crea ligas entre estasunidades informativas, que dicho sea depaso pertenecen a medios diversos comoaudio, video y texto, para producir nuevasunidades informativas. Así, un InformeAnual, contendrá texto proveniente de variosautores, segmentos de audio almacenadosindividualmente, imágenes y secuencias devideo, todas existiendo como unidadesaisladas dentro del sistema. Este informeanual no será otra cosa que la descripción decomo se relacionan en espacio y tiempo estaserie de células informativas.

Como se ve, las redes locales, y suinterconexión con otras serán vitales paraque este fluido mantenga vivos los sistemasde comunicación del futuro. ElDepartamento de Sistemas está en laposición idónea para ayudar en laplanificación de estos.

Sobra decir que se requerirán sistemas detransmisión con mayor ancho de banda parapermitir la movilización expedita de grandescantidades de información. Los canales y losdepósitos se optimizarán para el manejomasivo de información heterogénea. Losmecanismos de compres ión ydescompresión, que ya son populares, lo

serán mucho más en el contexto de estasredes.

En Costa Rica nos encontramos en unaposición de privilegio para llenar estosrequerimientos, si es que se consiguedespertar la voluntad para implementar unared ISDN (red digital de serviciosintegrados) a nivel nacional antes de año2000. La centralización de los servicios decomunicación en nuestro país puederepresentar una ventaja para elestablecimiento de sistemas estandarizadoscomo este.

Administrar la información. Como semencionó arriba, cada día el MIS responderámás por el contenido de los sistemas que porlas herramientas. Para manejar con éxito latelaraña de relaciones que los usuariosestablecerán entre la información propia y lade otros usuarios hay que establecer criteriossobre ¿Quien es el “dueño” de lainformación?, ¿En que punto de unatransformación deja una unidad deinformación de pertenecer al autor y pasa apertenecer al “transformador”?, ¿Como secontrola la autoría, validez, vigencia, etc deintangibles?.

Como se ve, existen problemas complejosque se deberán resolver para que lossistemas multimedios se puedan integrarse a

Page 17: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 9

todo nivel dentro de la compañía. Sinembargo, la determinación de estos criteriosno debe atrasar la toma de decisiones enotras áreas como el almacenamiento de lainformación, los sistemas de búsqueda yrecuperación, el intercambio de formatos, yen general todas las áreas que tienen que vercon proveer el servicio básico de acercar lainformación a los usuarios.

El hito que representa el advenimiento de laera de los multimedios forjarán en definitivala “cara” de la tecnología de la informaciónen los años venideros, por tanto el interésque presentemos a su desarrollo nosasegurará éxito en el cada día másvertiginoso y globalizado mundo de losnegocios.

Page 18: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Multimedia

Rho - Sigma S.A. 10

Bibliografía

Sueann Ambron y Kristina Hooper. "Interactive Multimedia"Microsoft Press. 1988

Sueann Ambron y Kristina Hooper. "Learning with Interactive Multimedia"Microsoft Press.1988

Neil McManus y Carolyn Said. “Apple fast-forward video for Macs withQuickTime”.MacWeek Volumen 5 Numero 20. 1991

Philip Robinson, Tim Shetler y Otros. “Multimedia”. Byte. Febrereo 1990.

Ric Ford. “QuickTime brings Motion To Desktop”. MacWeek Volumen 5 Numero 21. 1991

John J. Anderson, Andrew Himes y otros. “Multimedia: Interacting with Information”.MacUser. Marzo 1990

James Burke. “The Connection Machine”MacUser. Marzo 1990

Page 19: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 11

Orientación a Objetos:una alternativa para el desarrollo de sistemas.

por: Róger Mayorga J.

IntroducciónHoy, "Orientación a Objetos" es la palabramágica. Para que un producto sea de interésy tenga éxito comercial, debe ser "Orientadoa Objetos". Esto puede compararse a lo quesucedió en la década pasada, cuando el éxito(o no) de un producto dependía de si lapalabra "Relacional" aparecía en su nombre.La orientación a objetos ha evolucionadohasta convertirse en una tecnologíaampliamente aceptada y que ofrececonsiderables beneficios para el desarrollode sistemas.

Muchas tecnologías aparentan ser (oproclaman ser) orientadas a objetos. Setienen: Lenguajes de Programación,Sistemas Operativos, Interfaces de Usuarios,Bases de Datos, y también metodologíaspara el desarrollo de sistemas orientados aobjetos. Se ofrecen nuevos productos, loscuales se insiste que son realmenteorientados a objetos, y se tienen viejosambientes que han sido adaptados (o

mejorados) para ofrecer la funcionalidad dela orientación a objetos.

La idea básica que soporta la filosofía deorientación a objetos es sumamente simple:los "objetos" son, a un muy alto nivel,cualquier entidad que existe en tiempo yespacio. Los objetos tienen un "estado", yestán caracterizados por las acciones querealizan sobre otros objetos y por lasacciones realizadas sobre ellos mismos. Losobjetos pueden funcionar como "actores","agentes" o como "servidores", dependiendode su relación con otros objetos. Los actoresoperan sobre otros objetos, los servidoresúnicamente brindan servicios a otrosobjetos, y los agentes realizan operacionesen nombre de otros objetos.

La historia (conocida) de "orientación aobjetos" comienza a finales de los años 60con el lenguaje de programación Simula.Sin embargo, empieza a recibir mayoratención hasta los años 70 con el lenguaje deprogramación Smalltalk, así como con la

Page 20: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 12

aplicación de sus conceptos en el desarrollode grandes proyectos dentro de lacomunidad de usuarios de Ada. Estopermitió reconocer las ventajas de aplicar laorientación a objetos al desarrollo desistemas.

Se han desarrollado muy diversas clases delenguajes de programación orientados aobjetos; más aún, hasta la mitad de los años80 gran parte del trabajo en esta área estuvoenfocado principalmente al tema de laprogramación orientada a objetos. Ahoralos conceptos se están aplicando en otrasdisciplinas. Las interfaces de usuarioorientadas a objetos son ampliamenteutilizadas, el primer Sistema de Base deDatos Orientado a Objetos está yadisponible comercialmente, existen yaSistemas Operativos que han implantadoalgunos de los conceptos, y recientemente seestá prestando mucha atención a laaplicación de los conceptos al proceso dedesarrollo de sistemas.

Dadas las ventajas que ofrece la tecnologíade orientación a objetos, con respecto a:reutilización, extendibilidad, mantenimiento,y facilidad para modelar problemascomplejos; así como una mayorproductividad, se puede decir que laaplicación de esta tecnología constituye una

alternativa muy prometedora para enfrentarla muy conocida "crisis del software".

Dentro de unos pocos años, el término"orientado a objetos" será de uso comúndentro de la sociedad computadorizada. Y,posiblemente los sistemas orientados aobjetos sufrirán del mismo mal que sufrenlos sistemas y técnicas "relacionales": "Coddcontinúa discutiendo que es realmente elmodelo relacional". Con muchas compañías(en muy diversas áreas) generandoproductos orientados a objetos, y cada unautilizando su propia interpretación de lo que"orientación a objetos" significa, no sevislumbra un concenso en el corto plazo.

La primera sección, presenta losfundamentos de la orientación a objetos, lassiguientes secciones describen las diferentesaplicaciones que han tenido estos conceptos,así como sus ventajas y desventajas.

DefinicionesEn esta sección se dará un rápido vistazo alas definiciones más comúnmente utilizadasde los conceptos de orientación a objetos.Para una descripción detallada de estasdefiniciones se remite al lector a labibliografía suministrada.

Conceptos:

Page 21: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 13

Se utilizará el término "sistemas orientadosa objetos" para agrupar a los lenguajes deprogramación, herramientas y metodologíasque soportan a la tecnología de orientación aobjetos.

La definición de objeto se toma de Wegner[Wegner, 1987]:

“Un objeto es un conjunto de operaciones yun estado local compartido (datos) el cualrecuerda el efecto de las operaciones (sobreel objeto). El valor regresado por unaoperación realizada sobre un objeto, puededepender tanto del estado del objeto comode los argumentos de la operación. Elestado de un objeto sirve como unamemoria local al objeto, la cual escompartida por las operaciones que actúansobre ella. En particular, otras operacionesrealizadas previamente, pueden afectar elvalor regresado por una operación dada. Unobjeto puede aprender de la experiencia,almacenando el efecto acumulativo de suexperiencia -- historia de operaciones -- ensu estado.”

Esta definición dice que un objeto es másque una estructura de datos con algunasoperaciones que actúan sobre su estado. Unobjeto es una entidad que muestra algúncomportamiento reflejado por lasoperaciones que actúan sobre su estado. Enotras palabras, los objetos son todas lascosas físicas y conceptuales que podemosencontrar en el mundo que nos rodea. Unobjeto podría ser "hardware", "software", oun concepto (e.g. velocidad). Los objetos

son entidades completas; e.g., no son"simplemente información", o "simplementeinformación y acciones". Finalmente, losobjetos son "cajas negras"; i.e., suimplantación interna son ocultados alexterior, y toda interacción con el objetotiene lugar vía una muy bien definidainterfaz.

Se define un sistema orientado a objetos,como uno que soporta todas las siguientespropiedades:

1- Los datos y los procedimientos estáncombinados en "objetos de software". Estoes lo que comúnmente se conoce como"encapsulación". Encapsulación es elnombre técnico para la técnica conocidacomo ocultamiento de información.Significa además que el estado de losobjetos puede ser manipulado únicamentepor las operaciones asociadas al objeto. Deesta forma la implantación de un objeto(datos y operaciones) no puede ser vista porlas aplicaciones que los utilizan.

2- Se utilizan m e n s a j e s para lacomunicación entre los objetos. Esto seconoce como "paso de mensajes". Unmensaje sirve como el medio para solicitarque alguna operación sea realizada sobre unobjeto. Constituye una forma indirecta deinvocar un procedimiento. Junto con laencapsulación, el envío de mensajes soporta

Page 22: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 14

un principio muy importante en laprogramación: la abstracción de datos. Esteprincipio establece que los programas nodeben hacer suposiciones sobre laimplantación y representación interna de losdatos.

3- Objetos similares se agrupan en clases.Una clase es la descripción de uno o másobjetos similares. La clase es donde sealmacenan los procedimientos y atributoscomunes a todos los objetos del mismo tipo.A cada objeto individual se le conoce comouna instancia de la clase.

4- Herencia. Este concepto establece quelos datos y operaciones definidas para untipo estarán automáticamente definidas parasus subtipos. Esto permite definir nuevosobjetos tomando como base objetos que yaexisten, los nuevos objetos podrán diferir delos objetos base agregando más (olimitando) características.

Cualquier sistema (lenguaje, herramienta,metodología) se dirá que es orientado aobjetos si soporta los cuatro conceptosanteriores. Si únicamente soporta los dosprimeros, se dirá que es "basado enobjetos". Si soporta los tres primeros sedice que es "basado en clases".

Otra idea básica de la orientación a objetoslo constituye el "polimorfismo". Los

objetos del mundo real responden dediferente forma al mismo mensaje. Losmensajes enviados a los objetos podríantener esta propiedad. Un ejemplo de esto loconstituye la operación suma. La mismanotación, "+", puede ser utilizada para sumardos enteros, dos números en punto flotante,dos números complejos, etc. En estos casos,la operación actúa apropiadamente deacuerdo con el tipo de argumentos.

Podríamos decir que el principio generaldetrás de la filosofía de orientación a objetoses [Verharen, 1991]:

“La tecnología de orientación a objetos esuna forma de desarrollar y "empacar"software basada fuertemente en laexperiencia común y en la forma en la quelos objetos del mundo real se relacionanentre si”,

o desde un punto de vista más filosófico:

“El paradigma orientado a objetos significaque un sistema a cualquier nivel esconsiderado como un conjunto de objetosautónomos que tienen suficienteconocimiento para solicitar u ofrecer ciertosservicios a otros objetos de su ambiente,sin interferir en su organización interna”.

A diferencia de los datos, los objetos puedenactuar. Un objeto puede decidir que hacercuando se recibe un mensaje. La idea deutilizar objetos es el producto de muchosaños de experiencia tratando de encontrar unmecanismo (natural) de alto nivel para

Page 23: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 15

estructurar los problemas. Aquí, el conceptoclave es que una colección de datos y lasoperaciones que actúan sobre estos datosestán muy ligados y deben ser tratados comouna sola entidad en vez de cosas separadas.

Tal como se indicó anteriormente, laorientación a objetos no es algo nuevo; estosconceptos tienen ya unos veinte años deestar siendo digeridos. Sin embargo, en estemomento algunos factores están orientandohacia una mayor aceptación comercial deesta tecnología. Uno de los factores loconstituye el "hardware". Ahora es posiblecontar con equipos más poderosos y a uncosto menor que en el pasado; losprofesionales pueden contar con poderosasestaciones de trabajo a un precio razonable.Este tipo de equipo es necesario para haceraccesible a los usuarios finales todo el poderde los ambientes (por lo general, basados engráficos) que ofrece esta tecnología.

Sin embargo, no todas las manifestacionesde la orientación a objetos requieren depoderosas estaciones de trabajo concapacidades gráficas, rápidos procesadores ymemoria en abundancia. La tecnología deorientación a objetos puede aplicarse aún enaplicaciones más convencionales. Porejemplo, IBM ya ha implantado un "SistemaOperativo Orientado a Objetos" para susequipos de la línea AS/400.

Posiblemente, la causa principal para laadopción de esta tecnología lo constituye, la(siempre en aumento) complejidad de lossistemas requeridos. Bajo una enormepresión para desarrollar sistemas cada vezmás complejos, y al mismo tiempo reducir eltiempo y el esfuerzo requeridos paralograrlo, la industria de "software" estaadoptando esta tecnología, la cual enfrentatanto los problemas de complejidad de lossistemas como de productividad. Elsoftware debe ser modular, robusto,extendible, transportable, reutilizable, y porsupuesto, fácil de utilizar.

La siguiente sección presenta unadescripción de las principales áreas deaplicación de los conceptos de la orientacióna objetos.

Areas de aplicaciónLos conceptos de orientación a objetos sehan aplicado en muy diversas áreas, paraexaminar sistemáticamente el estado actualde su aplicación, se consideran cincograndes áreas (o grupos): Metodologías parael Desarrollo de Sistemas, Lenguajes deProgramación, Sistemas Operativos, Basesde Datos, y Ambientes de Usuarios yAplicaciones.

Page 24: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 16

Metodologías para el desarrollo desistemasEl impacto de la tecnología de orientación aobjetos no está limitado únicamente a la fasede programación o implantación del ciclo devida de un sistema -- su aplicación puedeextenderse a todas las fases (análisis, diseño,implantación). Quizá, uno de los factoresmás importantes es que proporciona unelemento unificador que es común a todaslas fases del ciclo de desarrollo: el objeto.

La existencia de lenguajes de programaciónorientados a objetos ha generado unademanda por metodologías y herramientaspara apoyar el desarrollo de sistemasorientado a objetos. Los problemas quepresentan las metodologías tradicionalespara el desarrollo de sistemas (e.g., lametodología "Catarata" [Verharen, 1991])están documentados en casi todo libro deingeniería de software. Entre los principalesproblemas que presenta el ciclo de vidatradicional tenemos: la no iteración, no hayénfasis en la reutilización, así como la noexistencia de un modelo unificador para laintegración de las diferentes fases. Ladiferencia (en puntos de vista) entre seguirflujos de datos en el análisis estructurado yconstruir jerarquías de tareas en el diseñoestructurado siempre han constituido unserio problema. Cada sistema es construido

a partir de cero, y los costos demantenimiento representan un muy altoporcentaje del costo total de un sistema.

La tecnología de orientación a objetospretende enfrentar cada uno de estosproblemas. Un rápido vistazo al "ciclo devida orientado a objetos" de un sistema, talcomo lo presentan diferentes autores([Booch, 1991], [Brooks,1987], etc.), nosmuestra las tres fases tradicionales: análisis,diseño, e implantación. Sin embargo, se haeliminado (en cierto grado) las rígidas (ymuy diferentes) fronteras entre las fases. Laprincipal razón para esto, es que loselementos de interés para cada fase son losmismos: los objetos. Los analistas,diseñadores y programadores trabajan conun mismo conjunto de elementos a partir delos cuales construyen el sistema.

Las metodologías para apoyar las fases deanálisis, diseño e implantación de sistemasorientados a objetos se encuentran en unestado primario, existiendo en este momentodiferentes modelos. Un modelo que estateniendo mucha aceptación es el "ModeloParalelo/Recursivo" propuesto por GradyBooch [Booch, 1991]. En síntesis estemodelo se puede describir como lasecuencia: analice un poco, diseñe un poco,implante un poco, pruebe un poco. En vezde hacer "todo el análisis", seguido de "todo

Page 25: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 17

el diseño", como en la metodología de"catarata", el Modelo Paralelo/Recursivosugiere que uno hace análisis cuando esapropiado, diseño cuando es apropiado, etc.

Durante los últimos 5 años han surgidovarias metodologías para apoyar eldesarrollo de sistemas orientados a objetos,entre ellas: GOOD ("General Object-Oriented Development") , MOOD("Multiple-view Object-Oriented Design"),HOOD ("Hierarchical Object-OrientedDesign"), LVM/OOD ("Layered VirtualMachine/Object-Oriented Design"),ObjectOry, y OOSD ("Object-OrientedStructured Design"), para más informaciónver [Verharen, 1991].

Algo interesante de algunas de estasmetodologías es que el ciclo de vida de unsistema es visto como análisis, diseño, yevolución; donde evolución lleva implícitostodos los posibles cambios (ajustes)requeridos por el sistema durante suexistencia. El cambio es consideradocomo una parte normal en el ciclo de vidadel sistema.

Lenguajes de programaciónEsta es quizá el área donde más y por mástiempo se han aplicado los conceptos de laorientación a objetos. De hecho, muchas

personas relacionan la orientación a objetosexclusivamente con la programación.Existen muchos criterios diferentes sobreque es programación orientada a objetos ypor lo tanto sobre lo que es un lenguaje oambiente de programación orientado aobjetos.

En síntesis, la "programación orientada aobjetos" es una técnica (un paradigma) paraescribir "buenos programas" para resolverun conjunto de problemas. Mejorando laforma en que el "software" es organizado, ycreando "software" que es reutilizable yflexible, se puede reducir considerablementeno únicamente el costo del desarrollo deaplicaciones, sino que también el costo de sumantenimiento.

La mayoría de los lenguajes deprogramación soportan el paradigmaprocedimental (datos-procedimientos): "losprocedimientos son entes activos que actúansobre los datos (entes pasivos) que les sonenviados como argumentos". En eldesarrollo tradicional de "software" existenprocedimientos y estructuras de datos, loscuales son tratados como entidadesindependientes. Un sistema orientado aobjetos tiene un solo tipo de entidad, elobjeto, que representa a ambos.

Un objeto es una especie de "caja negra"(similar a un circuito integrado), el cual

Page 26: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 18

puede potencialmente ser reutilizado envarias aplicaciones. Un programador podríaseleccionar objetos de diversas fuentes yacoplarlos de muy diversas maneras paracrear nuevas aplicaciones.

Existen varios lenguajes de programaciónque han contribuido considerablemente a la

evolución de los conceptos de la orientacióna objetos. La siguiente figura [Booch, 1991]muestra el árbol genealógico de loslenguajes de programación orientados aobjetos, el ancestro común de todos ellos esel lenguaje Simula, desarrollado en los años60.

Page 27: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 19

Aquí va la figura del árbol genalógico de los lenguajes de programación orientados a objetos

En esta figura se muestran los cincolenguajes que han tenido más influencia yson más utilizados para la programaciónorientada a objetos: Smalltalk, Object-Pascal, C++, CLOS, y Ada (se dejan porfuera otros tales como el Objective-C [Cox,

1986]). Nótese que de acuerdo con loexpresado anteriormente, se hace ladistinción entre lenguajes orientados aobjetos y lenguajes basados en objetos. Porrazones prácticas, únicamente se darán

Page 28: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 20

detalles sobre los lenguajes Smalltalk yC++.

Quizá el mejor ejemplo de un ambientecompletamente integrado y orientado aobjetos lo constituye el del lenguaje deprogramación SmallTalk. Smalltalk fuecreado en los años 70 por los miembros delXerox Palo Alto Research Center LearningResearch Group como el elemento desoftware del Dynabook, un visionarioproyecto de Alan Kay.

Smalltalk representa tanto un lenguaje deprogramación como un ambiente dedesarrollo. Ofrece un lenguaje deprogramación orientado a objetos "puro", enel sentido de que todo es visto como unobjeto, tanto números enteros como lasmismas clases. Esto tiende a una totalconsistencia en el lenguaje, tanto al nivelpráctico como conceptual. Ofrece unainterfaz al usuario consistente con lafilosofía de orientación a objetos; hizopopular el ahora común ambiente demúltiples ventanas, "icons", integración detexto y gráficos, menús "pull-down" y"mouse", haciéndolo atractivo a una grancantidad de desarrolladores e investigadores.Es justo mencionar que mucho antes de quela compañía Apple ofreciera este tipo deinterfaz, ya Smalltalk lo utilizaba.

La última versión Smalltalk-80 ha sidoimplantada en múltiples plataformas, y ya seencuentra disponible comercialmente,especialmente para microcomputadores yestaciones de trabajo.

El lenguaje de programación C++, harecibido especial atención en los últimosaños. Diseñado por Bjarne Stroustrup paralos Laboratorios Bell (1980-1983, ...),combina los conceptos de orientación aobjetos con el (tradicional) lenguaje deprogramación C. C++ constituye unsuperconjunto del lenguaje C. Como elmismo Stroustrup dice [Stroustrup, 1986a,1988, 1989], C++ corrige muchas de lasdeficiencias del lenguaje C, además deagregar al lenguaje el soporte para las clases,herencia múltiple, chequeo de tipos,sobrecarga de operadores (polimorfismo),administración de memoria, tiposconstantes, referencias, funciones "inline",funciones virtuales, etc.; lo cual hace queeste lenguaje soporte el paradigma deorientación a objetos.

Las últimas versiones se encuentrandisponibles en muy diversas plataformas,incluyendo UNIX y MS/DOS.

En la actualidad, hay un debate sobre cual esel lenguaje de programación orientado aobjetos que será el estándar para el

Page 29: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 21

desarrollo de aplicaciones a nivel comercialen el futuro. Aparentemente, la alternativaes entre lenguajes orientados a objetos"puros", tales como Smalltalk y lenguajeshíbridos, tales como C++.

Posiblemente los programadores dediferentes bandos (Smalltalk, C++) podríanpasar años discutiendo cual debe ser ellenguaje de programación orientado aobjetos más apropiado. Sin embargo paralos administradores del desarrollo desoftware, el problema se presenta en formadiferente. Posiblemente, lo más relevantepara la adopción de esta tecnología reside enla capacidad de los programadores, yposiblemente existen más programadorescon experiencia en C que en Smalltalk.

Es importante mencionar que laprogramación orientada a objetos no es(únicamente) programación utilizandoSmalltalk o C++ (u otro lenguaje orientado aobjetos), sino que es parte de toda unafilosofía para el desarrollo de sistemas, lacual debe ser comprendida y utilizadacoherentemente para poder aprovechar todaslas ventajas que ofrece.

Sistema Operativo Orientado aObjetosUn sistema operativo orientado a objetos pordefinición trabajará sobre objetos en vez detipos específicos de archivos. Esta

abstracción -- tratar con objetos generales envez de tipos específicos de archivos --proporciona una gran flexibilidad al sistema.Algunos ejemplos lo constituyen lossistemas Biin-OS, el IBM OS/400, y elNeXT.

Biin es una compañía formada porSiemmens Information Systems Inc. e IntelCorporation. Esta compañía esta ofreciendoun sistema operativo orientado a objetos(similar a UNIX) para equipos de múltiplesprocesadores RISC.

En el sistema operativo IBM OS/400, todolo que puede ser almacenado o recuperado(leído) esta contenido en un objeto, estolibera al usuario de conocer los detalles delas técnicas de implantación, o estructurasde direccionamiento específicas a lamáquina. Por ejemplo, cuando el OS/400almacena una imagen, todo lo que sabe esque está almacenando un objeto. El sistemaoperativo no conoce que contiene el objeto.De la misma forma el mismo objeto no tieneque hacer consideraciones especiales cuandoocurran cambios en la máquina o sistemaoperativo.

Los conceptos de orientación a objetos hansido aplicados en el diseño del "NextStep",ambiente orientado a objetos para loscomputadores NeXT. De igual forma estosconceptos se han aplicado (en algún grado)

Page 30: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 22

en el diseño de los sistemas OS/2 yWindows.

Una de las características claves de unsistema operativo orientado a objetos es elofrecer una interfaz consistente al usuario, lacual permita la operación y uso de losrecursos del equipo a través de objetos,manteniendo al mismo tiempo laindependencia de la máquina. De esta formaes más fácil soportar los (inevitables)cambios en el "hardware".

Bases de DatosLa necesidad de manejar datos pocoestructurados (y de tamaño variable), muydiferentes a los de las tradicionalesaplicaciones administrativas, ha generado lanecesidad por contar con sistemas de basesde datos que puedan manejar este tipo dedatos. Aplicaciones en las áreas degeografía, climatología, automatización deoficinas, medicina, CAD/CAM, etc.,requieren manejar altos volúmenes de datosno estructurados, tales como texto, gráficos,imágenes, voz, etc. Los manejadores debases de datos relacionales no puedensatisfacer a cabalidad los requerimientos queimponen este tipo de aplicaciones.

Dadas las características de estasaplicaciones, y la generalidad y el poder queofrece la tecnología de orientación a objetos,se han aplicado sus conceptos a la

tecnología de las bases de datos paraproducir lo que se conoce como los"sistemas de bases de datos orientadas aobjetos". El desarrollo de estos sistemas debases de datos ha recibido considerableatención en los últimos años.

Un "sistema de base de datos orientado aobjetos" debe soportar los conceptos de laorientación a objetos; i.e., debe soportar losconceptos de Objeto, Tipo (Clase),Encapsulación y Herencia. De igual formaque los lenguajes de programaciónorientados a objetos, las bases de datosorientadas a objetos facilitan el manejo de lacomplejidad en los sistemas aprovechándosede los conceptos de clase y herencia.

Nuevos vendedores, tales como ServioLogic y Ontologic, están comenzado aofrecer sistemas de bases de datos orientadasa objetos; al mismo tiempo, vendedores yaestablecidos, tales como ORACLE Corp. eInformix Inc., están trabando fuertemente enla incorporación de los conceptos de laorientación a objetos a sus productos.

Algunos de los productos ofrecidos estánorientados hacia las aplicaciones de tipocientífico o de ingeniería (CAD/CAM),grupos que han recibido muy poco apoyopor parte de los vendedores de los sistemastradicionales de bases de datos relacionales.

Page 31: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 23

Otros, están aplicando la tecnología paraproducir "front-ends" para los sistemas debases de datos tradicionales. Esto puedeverse como una forma de manejar lamigración (implantación) hacia estatecnología.

Las bases de datos orientadas a objetosparecieran ser la siguiente etapa en laevolución de los sistemas de bases de datos,y esto ha surgido más que nada comorespuesta al incremento en la complejidad delas aplicaciones requeridas por los usuarios.

Ambientes de usuarios yaplicacionesEsta es un área sumamente densa y plagadade muy diversos criterios. En esencia, elobjetivo de aplicar los conceptos de laorientación a objetos para la interfaz con losusuarios finales es el proporcionar unambiente que soporte la manipulacióndirecta por parte del usuario. Por ejemplo,para imprimir un documento un usuario"pondría" (utilizando el "mouse") el "icon"del documento sobre el "icon" de unaimpresora; en vez de invocar al procesadorde palabras, cargar el documento deseado, ydecirle a la aplicación que se imprima eldocumento. La manipulación directa lepermite al usuario concentrarse en la tarea arealizar, en vez de los detalles y la mecánicade la aplicación

Existen buenos ejemplos de este tipo deinterfaz. El Macintosh de Apple, porejemplo, representa archivos discretos como"icons", pero se queda corto en ofrecer unainterfaz que soporte una manipulacióndirecta y completa.

El paquete NewWave de Hewlett Packard,proporciona un gran nivel de funcionalidad,ofreciendo manipulación y administraciónde objetos sobre algunos de los sistemasoperativos actuales; ya está disponible paraMS/DOS. Se espera que pronto estarádisponible para UNIX y OS/2.

Ventajas de la orientación a objetosEn esta sección revisaremos algunas de lasventajas de la aplicación de los conceptos dela orientación a objetos. La orientación aobjetos ha sido descrita como la últimaalternativa para enfrentar la "crisis delsoftware". Sin embargo, no se debe olvidarque tales afirmaciones han sido hechas antespara otras tecnologías.

El propósito del paradigma orientado aobjetos es proporcionar una forma directa ynatural de describir los conceptos del mundoreal, ofreciendo (permitiendo) la flexibilidadde expresión necesaria para capturar lanaturaleza variable del mundo siendomodelado y la habilidad para representar las

Page 32: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 24

situaciones cambiantes. Una partefundamental de la naturalidad de expresiónproporcionada por el paradigma orientado aobjetos es la habilidad para compartir datos,código y definiciones.

Se ha dicho que tecnología orientada aobjetos es atractiva debido a que su usoaumenta la productividad a través de todo elciclo de vida del desarrollo de un sistema.Este incremento en productividad esalcanzado a través de las cuatro principalescaracterísticas de los sistemas orientados aobjetos y los beneficios que ofrecen estascaracterísticas:

- La utilización de objetos como losmódulos básicos ayuda al diseñador amodelar más fácilmente los sistemascomplejos del mundo real. (Los sistemasorientados a objetos permiten enfrentar lacomplejidad de los sistemas)

- La flexibilidad del código (orientado aobjetos) generado permite una rápidarespuesta a los cambios en losrequerimientos de los usuarios. (Lossistemas orientados a objetos estándiseñados para el cambio)

- La reutilización de componentes estándarreduce tanto el tiempo de desarrollorequerido para una nueva aplicación,

como la cantidad de código generado.(Los objetos son reutilizables)

- La mayor facilidad para el mantenimientode los sistemas, los hace más confiables yreduce considerablemente los costos demantenimiento. (Los sistemas orientadosa objetos son mantenibles)

El aumento en productividad surge en formanatural debido a estos beneficios.

La filosofía de orientación a objetos para eldiseño de sistemas reduce el "gap"conceptual entre el mundo real y el modeloha utilizar para el computador. Ayuda a losanalistas y diseñadores a pensar claramentesobre la estructura de un sistema. Laflexibilidad de los sistemas orientados aobjetos es una ventaja particularmente paralos diseñadores en campos muy dinámicostales como CAD/CAM. Uno de los mayoresbeneficios es que ayuda a los desarrolladoresa responder rápidamente a las nuevastendencias de un mercado cada vez máscompetitivo. La reutilización de códigoreduce el tiempo de desarrollo y le permite alos diseñadores enfrentar las áreas difícilescon mayor seguridad.

En el pasado, grandes bibliotecas desubrutinas han estado disponibles a losdesarrolladores de sistemas para enfrentarlos problemas comunes, tales como los

Page 33: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 25

cálculos matemáticos. La orientación aobjetos provee la posibilidad de reutilizacióna una escala mucho mayor. Según estudios,el mantenimiento representa cerca del 80%del costo total para el ciclo de vida de unsistema. Los desarrolladores de sistemasgrandes y complejos, que requieren defrecuentes modificaciones (ajustes), estánutilizando la tecnología de orientación aobjetos como un medio para reducir loscostos de mantenimiento y mejorar laconfiabilidad de sus productos.

Estos beneficios surgen de la forma como el"software" orientado a objetos estáempacado. El "software" tradicional estáhecho de datos y procedimientos queaccesan y modifican los datos. Los datos yprocedimientos son empacados en formaseparada; un cambio en una estructura dedatos afectará a muchos módulos diferentes,(y por lo general) escritos por muchosprogramadores diferentes. En un sistemaorientado a objetos, los datos yprocedimientos que actúan sobre esos datosson considerados en conjunto, como parte deun paquete -- un objeto. Si se requierencambios en un dato, todos losprocedimientos afectados son fácilmenteidentificados y cambiados al mismo tiempo.Debido a que el cambio está limitado a unaárea específica del sistema, su impacto sereduce.

Las ventajas que ofrece la aplicación de losconceptos de la orientación a objetos hansido corroboradas por el éxito alcanzado enmútliples proyectos de desarrollo desoftware a nivel comercial. Un ejemplo loconstituye el caso de la compañía Borland ysu paquete Quattro, el cual ha sidodesarrollado utilizando una metodología (yherramientas) orientadas a objetos [PCWeek, Julio 29, 1991]. Esto le ha permitidoa esta compañía generar nuevas versiones enmuy corto tiempo y a un costo mucho menorque con una metodología (y herramientas)convencionales. La siguiente secciónpresenta algunos de los problemas querepresenta la aplicación de estos conceptos.

Desventajas de la orientación aobjetosAún cuando en la sección anterior, y a lolargo del documento, se han mencionadoimportantes ventajas que ofrece latecnología de orientación a objetos, lascuales podrían orientar a muchos hacia suaplicación. Con la intención de ofrecer unaperspectiva más real y objetiva esconveniente considerar las limitaciones yproblemas que presentaría hoy día suaplicación.

Quizá la mayoría de los problemas queenfrenta esta tecnología son debido a su

Page 34: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 26

inmadurez. La mayor limitación queenfrentan los sistemas orientados a objetosen la actualidad es la resistencia al cambiopor parte de los desarrolladores de sistemas(administradores y personal técnico), lo cuales natural debido a la inmadurez de muchosde los productos orientados a objetosdisponibles en el mercado. La inmadurez esevidente en ciertos problemas que (enrealidad) son comunes a cualquier nuevatecnología (y que están siendo superados):

- Disponibilidad limitada en las plataformasde desarrollo estándar. ("main- frames",sistemas propietarios, etc.)

- Poca integración con los sistemasactuales. (lenguajes de programacióntradicionales, sistemas de bases de datosrelacionales, etc.)

- Falta de soporte para el desarrollo desistemas a gran escala. (herramientas paraapoyar el desarrollo de sistemas)

Se requiere entrenamiento a todos losniveles (administradores, programadores),desarrollo de metodologías apropiadas, asícomo tecnología para la migración. Paraque esto suceda, los problemas antesmencionados deben ser superados.

Sin embargo, superar estos problemas seráuna labor costosa que requiere de bastante

tiempo. Requerimientos establecidos por losusuarios, tales como transportabilidad,sistemas abiertos y estándares están siendoconsiderados por la mayoría de losproveedores de sistemas orientados aobjetos. Para que puedan ser aceptados porlos usuarios, los principales ambientes ylenguajes de programación orientados aobjetos deberán estar disponibles en lasplataformas ("hardware/software")principales. Esto es cierto para lenguajestales como el C++ y Smalltalk, pero noexiste un estándar, lo cual imponeproblemas para los desarrolladores quedeben proporcionar compatibilidad ytransportabilidad a través de diferentessistemas. Por ejemplo, un producto desoftware que esta disponible en la mayoríade las plataformas de "hardware" deberáfuncionar bajo diferentes interfaces deusuario.

Además de los problemas de inmadurezdescritos anteriormente, existen dosproblemas técnicos que deben ser resueltosantes de que la tecnología de orientación aobjetos pueda ser ampliamente adoptada.La primera, y posiblemente más importante,limitación de la presente generación de lossistemas orientados a objetos, es que losobjetos no pueden ser fácilmentecompartidos por varios usuarios, y quepodrían perderse cuando el programa que los

Page 35: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 27

creó termina. Se dice que tales objetos son"persistentes", y por lo general sealmacenarán en una base de datos orientadaa objetos.

La segunda se refiere al hecho de que lasimplantaciones de los lenguajes deprogramación orientados a objetos varíanconsiderablemente en las demandas queimponen sobre los sistemas de cómputo, loque implica (por lo general) un aumento enel "overhead", conduciendo a problemas derendimiento. La solución a estos problemasconstituyen tópicos de investigación en estemomento.

ConclusiónEl éxito de la tecnología de orientación aobjetos estará marcado por su aceptación agran escala en la industria de desarrollo desistemas (comercial, científico, etc.). No esaventurado decir que los conceptos deorientación a objetos son fundamentalespara los desarrolladores de sistemas delfuturo, pero que son relativamente nuevos ala mayoría de ellos y podría tomar algúntiempo su asimilación.

Dentro de cada una de las áreas deaplicación, existen algunos tópicos deinterés a todos los profesionalesinvolucrados en el desarrollo de sistemas:

- Implantación y migración: para algunasáreas de aplicación, la implantación de unabase de datos orientada a objetos noconstituye una labor poco factible, de hechola comunidad científica y la de lasaplicaciones en áreas de la ingeniería (e.g.,CAD/CAM) no han podido ser satisfechaspor los manejadores de bases de datosrelacionales, teniendo que recurrir asoluciones específicas. Por otra parte, tomaruna aplicación compleja desarrollada parauna base de datos relacional (e.g., IDMS/R,o DB2) y tratar de migrar los datos y laaplicación siguiendo la tecnología deorientación a objetos podría convertirse enuna misión imposible.

- Puro vrs. híbrido: aún cuando laorientación a objetos no tiene fronterasclaramente definidas, siempre surgendisputas sobre la implantación másapropiada y funcionalmente pura de losconceptos, y esto para cualquiera de lasáreas: bases de datos, lenguajes deprogramación, aplicaciones, etc.

- Compatibilidad y co-existencia: debido aque no es posible que todo el mundo adopteesta tecnología de un día para otro, losresponsables del desarrollo de sistemasdeberán (por largo tiempo) soportar la cargade ofrecer alguna forma de compatibilidad yco-existencia entre las nuevas aplicaciones y

Page 36: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 28

las antiguas. Esto podría ser particularmentedifícil en el área de los ambientes deusuarios.

- Interfaz consistente: se debe llegar a unestándard sobre el tipo de interfaz a ofrecer alos usuarios, y esto debe aplicarse a todas lasplataformas.

Como con todo nuevo sistema, los sistemasorientados a objetos deberán "calzar" dentrodel actual universo de sistemasprocedimentales tradicionales. Deberá serposible accesar programas escritos endiferentes lenguajes. Existen muchasaplicaciones escritas en C, Pascal, Fortran, oCobol, las cuales no es posible (factible)reescribir. Las nuevas aplicaciones escritasen los lenguajes orientados a objetos

deberán ser capaces de comunicarse conesas aplicaciones.

Mientras la mayoría de los ambientes ylenguajes disponibles en este momento sonexcelentes para proyectos individuales, lapresente generación de sistemas orientados aobjetos disponibles en el mercadoproporciona poco soporte para el desarrolloen gran escala: múltiples desarrolladores,proyectos convencionales. Por otra parte,las herramientas CASE disponibles nosoportan los conceptos de orientación aobjetos, ni las metodologías y los lenguajesde programación orientados a objetos.Has ta ahora , e s tán surg iendocomercialmente las primeras herramientaspara apoyar el análisis y diseño de sistemaso r i e n t a d o a o b j e t o s .

Page 37: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

Orientación a Objetos

Rho - Sigma S.A. 29

Bibliografía[ACM]. "Object-Oriented Design", (Varios artículos), Communications of the ACM, Setiembre1990, Vol. 33, No. 9.

[Booch, 1986]. Booch, Grady, "Object-Oriented Development", IEEE Transactions on SoftwareEngineering, Vol. SE-12, No. 2, Febrero 1986.

[Booch, 1991]. Booch, Grady, "Object-Oriented Design", The Benjamin/Cummings PublishingCompany, Inc., Cal. 1991.

[Brooks, 1987]. Brooks, F.P. Jr., "No Silver Bullet: Essence and Accidents of SoftwareEngineering", IEEE Computer, Vol. 20, No. 4, Abril 1987.

[BYTE]. "Object-Oriented Programming", (Varios artículos). BYTE, August 1986, March 1989,October 1990.

[Cox, 1986]. Cox, Brad J., "Object-Oriented Programming, An Evolutionary Approach",Addison-Wesley, 1986

[Goldberg, 1983]. Goldberg, A., Robson, D., "Smalltalk-80: The Language and itsImplementation", Addison-Wesley, Reading, Mass., 1983.

[OOPSLA]. "Object-Oriented Programming Systems, Languages and Applications", OOPSLA,Conference Proceedings (1986, 1987, 1988, 1989, 1990), ACM Press, 1986, 1987, 1988, 1989,1990.

[Stroustrup, 1986a]. Stroustrup, B., "An Overview of C++", SIGPLAN Notices, October 1986.

[Stroustrup, 1986b]. Stroustrup, B., "The C++ Programming Language", Addison-Wesley,Reading, Mass., 1986.

[Stroustrup, 1987]. Stroustrup, B., "The Evolution od C++:1985 to 1989", ProceedingsUSENIX C++ Conference, November 1989.

[Stroustrup, 1988]. Stroustrup, B., "What is Object-Oriented Programming", IEEE Software,Mayo de 1988.

[Verharen, 1991]. Verharen, Ergon M., "Object-Oriented System Development; An Overview".Infolab, Tiburg University, The Netherlands, 1991.

[Wegner, 1987]. Wegner, P., "The Object-Oriented Classification Paradigm", in ResearchDirections in Object-Oriented Programming, MIT Press, 1987.

Page 38: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 30

AD/Cycle

por: Roberto Saso Rojas

IntroducciónEn setiembre 1989, IBM anunció AD/Cycle(ciclo de desarrollo de aplicaciones) comouna extensión del SAA (arquitectura desistemas de aplicaciones). AD/Cycle es unenfoque, un marco de referencia y unconjunto de productos (tanto de IBM comode otros proveedores) orientados aldesarrollo de aplicaciones.

AD/Cycle está diseñado para soportar eldesarrollo de software de aplicaciones yayudar a reducir el inventario deaplicaciones pendientes, a travez del uso detécnicas de automatización avanzadas. Estaárea tan importante ha sido recientemente elobjeto de sistemas y herramientas conocidasgenéri-camente como Ingeniería de SoftwareAsistida por el Computador (CASE).

AD/Cycle es vital para la comunidadinteresada en los productos CASE puestoque define un marco de referencia común, através de todo el ciclo de vida de desarrollo

de sistemas, incluyendo la administracióndel ciclo mismo.

En una encuesta realizada entre 1000empresas en Estados Unidos durante el mesde agosto 1987 (publicada por SoftwareNews' Sentry Research Division) indicó queexistía un inventario de apliacionespendientes en mainframes de 4 años - conuna demanda insatisfecha de aplicaciones enminis y micros un poco menor. Además delgran núnero de necesidades insatisfechas desistemas se debe considerar el alto costo delmantenimiento de las apliaciones actuales yla e scasez de p rogramadoresexperimentados.

Hoy en día existe consenso acerca de lanecesidad de automatizar el proceso dedesarrollo de sistemas (de ahí el auge quehan tenido las herramientas CASE). Noexiste, sin embargo, concenso algunorespecto al modelo de información a utilizaren la aplicación de herramientas de altaproducti-vidad en el desarrollo de sistemas

Page 39: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 31

(como generadores de programas, lenguajesde cuarta generación e implementacionesgráficas de análisis y diseño).

AD/Cycle es un conjunto de planes,interfases y estándares orientados a permitirla integración de herramientas individualesen un ambiente completo de desarrollo deaplicaciones. Un ambiente que proveadefiniciones de almacenamiento, manipula-ción y reutilización de toda la informaciónrelativa al proceso de desarrollo de sistemas.

Con el AD/Cycle, IBM ha reconocido losesfuerzos pioneros de los proveedores deherramientas CASE, y ha decidido nodetener el progreso logrado ofreciendoalternativas propietarias e incompatibles. Enesta ocasión, IBM decidió buscarabiertamente el input, la cooperación y elapoyo de casi todos los participantes de laindustria -proveedores, consultores, gruposde usuarios y clientes estratégicos.

A continuación se presenta una brevedescripción de la estrategia y arquitectura

detrás del AD/Cycle, seguido decomentarios y recomendaciones, orientadosa la aplicabili-dad del AD/Cycle en losdepartamentos de sistemas en nuestromedio.

EstrategiaEl enfoque seguido durante el final de ladécada de los 70 y durante los años 80consistió en el desarrollo de herramientasautomatizadas para el desarrollo de sistemas(herramientas CASE). Estas herramientashan sido todas orientadas a automatizaractividades específicas dentro de cada fasedel ciclo de vida del desarrollo deaplicaciones (CVDA).

El CVDA tradicional agrupa las actividadesen cinco fases: Requerimientos, Análisis yDiseño, Desarrollo, Construcción y Pruebas,y Producción y Mantenimiento. Ademásexisten otras actividades que atraviesan oson comunes a varias fases del ciclo (verfigura 1).

Page 40: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 32

Figura 1 Application development life cycleCross Life-Cycle Activities

Process Project Documentation Perfomance Editing Query/ Prototyping Reuse ImpactManagement Management Monitoring Reporting Analysis

Life-Cycle Tool ActivitiesRequirements Analysis and Design Produce Build and Test Production and

MaintenanceBusiness EnterpriseModeling

Define ProcessingRequirements

Define I/ORequirements

Define External Data

Design ApplicationStructure

Define Logic

Define Help andMessages

Design Screens

Design Reports

Design Files

Design Internal Data

Design Database

Define Environment

Activities: Create Logic

Produce Help Messages, and Screens

Produce File I/O

Produce Report I/O

Produce Database I/O

Methods:

Compiler Based

Code Generation

Knowledge Based

Build Procedures

Build Programs

Define Test Data

Create Test Cases

Test and Debug

System Test

Validate Results

Test Management

Test Coverage

Package System

Release andControl

Maintain/ChangeExisting Code

Code InformationExtract

Restructure

Fuente: IBM Systems Journal Vol. 29 No. 2 Página 171

El enfoque de herramientas individualespara actividades específicas ha resultado enuna proliferación de herramientas ymetodologías no integradas que hanproduc ido ún icamen te me jo rasincrementales, niguna de las cuales ha sidosuficiente para reducir efectivamente elinventario de necesidades insatisfechas.Algunas razones para esto son:

- Las metodologías y las herramientas parasoportar las actividades del ciclo de vidapor lo generral no comparten datos.

- La falta de consenso en estándares hahecho difícil la integración de lasherramientas.

- En los casos en que las herramientas hansido integradas en sistemas de desarrollode aplicaciones, los sistemas han sido

Page 41: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 33

típicamente construidos en arquitecturascerradas con interfases de datos privadas,obstaculizando así el agregar herramietas omejorar las existentes para incorporarnuevas metodologías y/o tecnologías.

La administración del CVDA usualmenterequiere que cada fase esté casi terminadaantes de que la próxima fase pueda iniciarse.Requerimientos y especificaciones sonpasadas en papel de planificadores adiseñadores y de diseñadores acodificadores, a menudo requiriendointervención manual entre fases yactividades. Esta proliferación deherramientas, metodologías y transforma-ciones manuales de datos ha resultado en unproceso consistente de una serie de etapasdiscretas con fronteras en cada etapacaracterizadas por una tranferencia manual oen papel de una etapa a la próxima (verfigura 2). Este proceso es muy ineficiente yrequire una utilización intensiva de gente ypapel.

AD/Cycle fue desarrollado buscandomejoras significativas en la productividad,calidad y manejabilidad del desarrollo deaplicaciones. Basado en la implemantaciónpaulatina de herramientas integradas,facilidades de almacenamiento de datos, einterfases de arquitectura abierta, AD/Cyclesigue una estrategia cuya intención esmejorar la habilidad de los usuarios desatisfacer sus necesidades de procesamientode datos. Los objetivos del AD/Cycle son:

- Llevar a los clientes lo último entecnología de desarrollo de aplicaciones através herramientas suplidas por IBM yotros proveedores.

- Facilitar a los clientes la administración yel control centralizado de la informacióndel desarrollo de aplicaciones.

- Establecer una arquitectura abierta, y unconjunto de servicios, para la integraciónde las herramientas de desarrollo deaplicaciones a través de todo el ciclo devida.

Page 42: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 34

Figura 2 Desarrollo de aplicaciones hoy

Fuente: IBM Systems Journal Vol. 29 No. 2 Página 172 - 173

Page 43: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 35

ArquitecturaConceptualmente, el AD/Cycle se puededefinir como un marco para, y un conjuntode, herramientas de desarrollo. El marco esprovisto por una plataforma diseñada parasoportar la integración de las herramientas através de:

- Una interfase consistente al usuario ,- servicios para estaciones de trabajo,- un modelo de información,- servicios para herramientas,- Servicios de Repositorio, y- Servicios de Biblioteca.

Las herramientas para el desarrollo deaplicaciones pueden provenir de variasfuntes: de IBM, de otros suplidores y delmismo cliente. IBM ha establecidorelaciones con Bachman InformationSystems, Index Technology Corporation, yKnowledgeWare Inc. en las cuales se hanseleccionado productos que sonmercadeados a través de un programacomplementario de mercadeo de IBM.

La arquitectura del AD/Cycle identifica lastecnologías de desarrollo de sistemas deacuerdo a las fases del ciclo de vida. Acontinuación se describen las característicasde las herramientas en cada categoría, así

como los productos que ocupan cadacategoría.

RequerimientosEl AD/Cycle facilitará la focalización deldesarrollo de aplicaciones en el modelo de laempresa y el análisis y diseño - es decir alprincipio del ciclo de vida del desarrollo.Modelar la empresa es una técnica quepermite a los profesionales del negociodefinir, relacionar y validar los datos yprocesos utilizados. En la implementacióndel modelo de la empresa en AD/Cycle, losdatos del modelo de la empresa(requerimientos de datos y procesos) sonalmacenados centralmente como datos deentidad-relación por el Repository Manager,poniendo así estos datos a disposición de lasherramientas subsiguientes en el ciclo devida.

El método de modelación de la empresa apartir de definiciones de procesos permite laconstrucción de prototipos de dichosprocesos. La construcción de prototipospermite la evaluación de la interfase con elusuario y la funcionalidad de los procesos, alprincipio del ciclo de vida -evitando así loscostosos retrocesos que a la fecha hancaracterizado el proceso de desarrollo deaplicaciones.

Page 44: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 36

La información del modelo del la empresaes creada por los profesionales de laempresa y no por los analistas yprogramadores. Este cambio de funcionestrae dos beneficios:

- El conocimiento de los procesos delnegocio no tiene que ser transferido a lostécnicos para iniciar el proceso dedesarrollo. Esto reduce costossignificativamente y minimiza los erroresocasionados por falta de conocimiento delos procesos del negocio.

- El tiempo de desarrollo puede ser reducidoa traves de la iniciación directa deldesarrollo de apliaciones.

Las herramientas del AD/Cycle que sepueden utilizar para definir el modelo de laempresa y para validar el modelo a partir deprototipos son:

- DevelopMate de IBM que facilita ladefinición, refinamiento y validación delmodelo a base de prototipos.

- Information Engineering Workbench(IEW) / Planning Workstation deKnowledgeWare Inc. sirve para capturar,modelar y analizar datos acerca de laorganización y sus usos de información.

- PC PRISM de Index Technology Corp.sirve para desarrollar y analizar modelosde la empresa y otros modelos que ayudana armonizar los objetivos del negocio conlos del sistema.

Análisis y DiseñoDurante la etapa de análisis y diseño, losrequerimentos del negocio definidos en elmodelo de la empresa pueden ser utilizadospara desarrollar el diseño de la aplicación.

La selección de las herramientas para estafase depende de la metodología definida porla empresa. La arquitectura abierta delAD/Cycle soporta la integración deherramientas que utilizan todas lametodologías modernas:

- IEW/Análisis Worksation y IEW/DesignWorksation de KnowledgeWare Inc.,sirven para analizar y refinar losrequerimeintos del usuario final y pararealizar la definición lógica de los sistemasa partir de los requerimientos del usuariofinal.

- Excelerator de Index Technology sirvepara desarrollar modelos de procesos ydatos, validar información de diseño, hacer

Page 45: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 37

prototipos de pantallas y reportes, y paragenerar documentación del sistema.

- BACHMAN Re-Engineering Product Setde Bachman Information Systems incluyeherramientas para elaborar modelos dedatos y diseñar bases de datos.

Construcción y PruebasLas herramientas para Construcción yPruebas incluyen lenguajes, generadores ysistemas basados en conocimiento(knowledge - based systems).

Existe un compromiso de IBM de mejorarlos lenguajes tradicionales incluidos en SAA(PL/1, COBOL, C, RPG, FORTRAN yREXX) para dotarlos de funcionesintegradas de desarrollo (editores, pre-procesadores, "debuggers" dinámicos yestáticos etc.). Está planeado queinformación capturada por herramientas deplaneación, análisis y diseño, tales como:prototipos, esqueletos de código, estructurasde datos, definiciones de pantallas yformatos de impresión podrán ser accesadospor los usuarios de herramientas quesoportarán los lenguajes de tercerageneración.

Al generador de aplicaciones Cross SystemsProduct (CSP), IBM le ha agregado unafacilidad llamada "External Source Format"

(ESF). ESF permite que la informacióncapturada por las herramientas dePlaneación, Análisis y Diseño sea pasada aCSP para generar e l códigoautomáticamente. Los usuarios ademáspodrán combinar código producido de lamanera tradicional con el código generadopor CSP. En 1990, los siguientesproveedores de herramientas CASEanunciaron que sus productos secomunicarían con CSP a traves de ESF:Andersen Consulting; Index Technology;KnowledgeWare; McDonnel Douglas;Nastec; Sage Software y Texas Instruments.

Se espear que eventualmente, el ESF seráredundante al madurar la tecnología derepositorio.

IBM ha incluido tecnología de SistemasExpertos para facilitar la construcción deaplicaciones que combinan la tecnología desistemas basados en conocimeinto con eltradicional código procedimental, ofreciendopara esto una transición transparente deherrameinta a herramienta. Se ha anunciadola convergencia de los dos productos deIBM: Expert Systems Environment yKnowledge Tool, adicionalmente seincorporará a AD/Cycle el KnowledegeEngineering Environment de Intellicorp Inc.

Producción y Mantenimiento

Page 46: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 38

IBM planea crear nuevas herramientas quefaciliten el análisis, la creación, laadministración y la cobertura de los datos deprueba, como parte de un exhaustivoambiente de verificación. Se proveeránademás herramientas como el COBOLStructuring Facility para ayudar a usuarios aentender y dar mantenimiento a aplicacionesexitentes. También habrán herramientasintegradas que permitan al programadordeterminar las consecuencias de unamodificación en el resto del sistema (esta esuna de las tareas de mantenimiento que mástiempo consume).

Actualmente IBM ofrece herramientas conoINSPECT que permite controlar la ejecuciónde programas en C y PL/1, inspeccionando ymodificando variables durante la ejecución,y Software Analysis Test Tool que realizaun análisis de la cobertura de las pruebas deprogramas en PL/1 y COBOL.

Administración del ProcesoLas herramientas para la administración delproceso de desarrollo de aplicacionesidentifican la secuencia de las tareas, lospuntos de control, los tiempos requeridos ylos entregables en cada etapa. En otraspalabras, constituyen la metodología delciclo de vida. Estas herramientas no sonespecíficas de una fase del ciclo e incluyen

documentación, comunicaciones dentro delproyecto, control de cambios y análisis deimpacto.

Históricamente, la adminsitración delproceso ha sido uno de los aspectos másignorados del ciclo de vida. Obviamnete esuno de los más vitales para laautomatización del desarrollo de software.En AD/Cycle este es uno de los aspectosmás prominentes.

Es importante destacar que IBM no haintentado, en esta ocasión, dictar a susclientes cual metodología deben utilizar,sino que ha provisto una herramienta quepermite a los usuarios definir sus propiosestándares de desarrrollo. La herramienta encuestión es el Aplication DevelopmentProject Support, el cual permite a losusuarios definir el modelo del proceso dedesarrollo de aplicaciones, salvar el modelo,para luego guiar el proceso ejecutando lasactividaes definidas en el modelo.

ComentariosLa piedra angular del AD/Cycle es,obviamente, el Repository Manager, o sea labase de datos donde se almacenan todos losdatos relativos al proceso de desarrollo deaplicaciones. La figura 3 muestra (encontraste con la figura 2) como se espera

Page 47: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 39

que sea el proceso una vez implementadas todas las herramientas.

Page 48: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 40

Figura 3 Desarrollo de aplicaciones en el futuro

Fuente: IBM Systems Journal Vol. 29 No. 2 Página 186

Si bien el AD/Cycle fue anunciado hace yamás de dos años, todavía es más un visión yuna dirección que una tecnología disponible.En particular se debe mencionar que laprimera versión del Repository Manager nosatisfizo a los pocos clientes que recibieronuna copia en demostración, principalmentepor no contener manejo de versiones y porestar limitada a correr bajo MVS (sistemaoperativo de IBM en Main Frames).

El AD/Cycle representa la tecnología CASEen su máxima expresión: como un sistematotalmente integrado cubriendo todo el ciclode vida de desarrollo de sistemas, dirigidopor un modelo del negocio a partir de unabase de conocimientos.

Dada la solidez, la apertura y lo completodel planteamiento de IBM, la pregunta quedeben plantearse los Directores de

Page 49: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 41

Tecnología es ¿Qué debemos hacer paraestar preparados para aprovechar latecnología cuando esté disponible?.

RecomendacionesEs obvio que nadie va a correr a adquirir losproductos mencionados aquí por el simplehecho de ser parte del AD/Cycle, sinembargo es también casi obvio que no sedebe ignorar esta visión y dirección que muyprobablemente tendrá el desarrollo desoftware de aplicación en el futuro.

En el Computer World del 3 de febrero de1992, el Editor Ejecutivo publicó uneditorial titulado "Vicious Cycle", en el cualcritica fuertemente a IBM por el atrasosufrido en la entrega de los productos queharán del AD/Cycle una realidad, enparticular los problemas enfrentados por elRepository Manager (la semana anterior aleditorial renunció el Director del desarrollodel Repository Manager). Concluye eleditorial poniendo muy en duda lasposibilidades de éxito de este proyecto deIBM.

No consideramos que los comentarios deeste editorial deban disuadir a nadie delfuturo del desarrollo de aplicaciones. Por unlado se continuan publicando declaracionesde IBM y de sus socios (incluso en el mismo

ComputerWorld) respecto al compromisototal de todas las partes en este proyecto, ypor otro lado, el sentido común nos dice queeste proyecto está tan bien concebido que,por lo tanto, en el eventual caso de que IBMlo abandonara, es seguro que otro loretomaría.

Si en los Estados Unidos menos de un 25%de los Centros de Cómputo ha adquiridoherrameintas CASE, en nuestro medio elporcentaje debe ser cercano al 1%. Estopodría verse como una ventaja ya que alincursionar en el mundo de la tecnologíaCASE se podrá hacer con un panoramacompleto de a donde se pretende llegar conla automatización del desarrollo deaplicaciones.

Las empresas en nuestro medio deberíanempezar por definir primero susmetodologías de desarrollo de una manerarigurosa (independiente de las herramientasa utilizar) e implantar sistemas de mediciónque proveean la retroalimentación necesariapara mejorar y refinar el proceso hasta llegara un punto estable (y estándar) que seríasujeto a la automatización.

También será provechoso realizar ejerciciosde modelación de la empresa y empezar autilizar herrameintas CASE que mejoranalgunas de las etapas del proceso.

Page 50: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 42

Obviamente, al escoger dichas herramientasno sólo se debe considerar el precio y laposibilidad de correrlas en computadorespersonales (bajo un sistema operativoestándar) sino también el que estén incluidasdentro del plan del AD/Cycle.

Page 51: Nuevas Tecnologías de Información€¦ · Nuevas Tecnologías de Información Preparado por: Juan Ignacio Biehl, Róger Mayorga J., y Roberto Sasso Rojas (editor) Abril 1992

Club de Investigación Tecnológica

AD/Cycle

Rho - Sigma S.A. 43

Bibliografía

Mercurio, Meyers, Nisbet and Radin, AD/Cycle Strategy and Arquitecture, IBM SystemsJournal Vol 29 No. 2 1990, pp 170 - 187.

Merlyn and Boone, The Ins and Outs of AD/Cycle, Datamation march 1 1990, pp 59 - 64.

Gillin Paul, Vicious Cycle (editorial), ComputerWorld March 2 1992.

Ambrosio Johanna, Developers exit could further slow Repository, ComputerWorld March 21992.

Hamilton Rosemary, AD/Cycle revival bid targets old programas, new methods,ComputerWorld August 19 1991.