HERRAMIENTAS CASE El mejor soporte para el proceso de desarrollo de software
Las computadoras afectan nuestras vidas nos guste o no. Utilizamos computadoras en nuestra vida diaria, la mayor part parte e del del tiem tiempo po sin sin recon econoc ocer er cons consci cien ente teme ment nte e que que esta estamo moss haci hacién éndo dolo lo.. Las Las util utiliz izam amos os en apli aplica caci cion ones es domésticas como microondas, televisión, vídeo caseteras o fuer fuera a de nues nuestr tras as casa casass en mqu mquin inas as para para tar! tar!et etas as de crédito, por e!emplo. La verdad es que no podemos escapar de las computadoras. "l rpi rpido do incr increm emen ento to en perf perfor orma manc nce e de las las comp comput utad ador oras as !unt !unto o al dramtico decremento en tama#o y costo, dio como resultado una e$plosión de tecnología, generndose una larga variedad de aplicaciones que éstas pueden soportar. %esde el inicio de la escritura de soft&are, ha e$istido un conocimiento de la necesid necesidad ad de herram herramien ientas tas autom automati atizad zadas as para para ayudar ayudar al dise#a dise#ador dor del soft&are. 'nicialmente, la concentración esta(a en herramientas de apoyo a programas como traductores, recopiladores, ensam(ladores, procesadores de macros, y montadores y cargadores. "ste "ste con! con!un unto to de apli aplica caci cion ones es que que pued pueden en info inforrmati matiza zars rse, e, aume aument ntó ó dram dramt tic icam amen ente te en un (rev (reve e espa espaci cio o de tiem tiempo po,, cau causand sando o una una gran gran demanda por nuevo soft&are a desarrollar. ) medida que se escri(ía nuevo soft&are, ha(ían ya en e$istencia millones y millones de líneas de código que necesita(an se mantenidas y actualizadas. "sto causó a la industria de las computadoras muchos pro(lemas, no podía cu(ri cu(rirr el incr increm emen ento to de la demand demanda a con con los los méto método doss que que se esta(a esta(an n usando. "sto fue reconocido como una crisis de soft&are. *ara superar este pro pro(lem (lema a en el proc proces eso o de desar esarrrollo ollo de sof soft&ar &are, se intr introd odu! u!er eron on metodologías para intentar crear estndares de desarrollo. +ay tam(ién otra manera en la que la industria se ha ayudado a superar las dicu icult ltad ades es de uso de esta sta tecno ecnolo logí gía a disp isponi( oni(le le.. La indu indust stri ria a de computadoras ha desarrollado un soporte automatizado para el desarrollo y manten mantenimi imient ento o de soft&a soft&are re.. "ste "ste es llamad llamado o -omput -omputer er )ided )ided oft&a oft&are re "ngineering /-)"0. ¿QUÉ SON LAS HERRAMIENTAS CASE
6 2
e pued puede e den denir ir a las las +err +erram amie ient ntas as -)" -)" como como un con!unto de programas y ayudas que dan asistencia a los anal analist istas as,, inge ingeni nier eros os de soft soft&ar &are e y desa desarr rrol olla lado dorres, durante todos los pasos del -iclo de 1ida de desarrollo de un oft&are. -omo es sa(ido, los estados en el -iclo de 1ida 1ida de desa desarr rrol ollo lo de un oft oft&a &are re son son 'nve 'nvesti stiga gaci ción ón *reliminar, )nlisis, %ise#o, 'mplementación e 'nstalación. CASE se de!"e tam#$%" como& •
•
•
-on!unto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases. La sigla genérica para una serie de programas y una losofía de desarrollo de soft&are que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. e puede ver al -)" como la unión de las herramientas automticas de soft&are y las metodologías de desarrollo de soft&are formales. Computer
Assisted Aided 'ar$ac$o"es e" el s$("$!cado de CASE) Automated Software Systems Engineering
La reali ealizzació ación n de un nuev nuevo o sof soft&ar &are requ equier iere que que las las tarea areass sean sean organizadas y completadas en forma correcta y eciente. Las +erramientas -)" fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser me!orados en el ciclo de desarrollo de soft&are. La me!or razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. *or esto, las compa#ías pudieron desarrollar sistemas sistemas sin encarar encarar el pro(lema pro(lema de tener cam(ios cam(ios en las las nece necesi sida dade dess del del nego negoci cio, o, ante antess de nal naliz izar ar el proceso de desarrollo.
6 2
3am(ién 3am(ién permite a las compa#ías competir ms efec efecti tiva vame ment nte e usan usando do esto estoss sist sistem emas as desa desarrrolla ollado doss nuevam nuevament ente e para para compar compararl arlos os con sus necesi necesidad dades es de negocio actuales. "n un mercado altamente competitivo, esto puede hacer la diferencia entre el é$ito y el fracaso. Las herramientas -)" tam(ién permiten a los analistas tener ms tiempo para el anlisis y dise#o y minimizar el tiempo para codicar y pro(ar. La introducción de -)" integradas est comenzando a tener un impacto signicativo en los negocios y sistemas de información de las organizaciones. -on un -)" integrado, las organizaciones pueden desarrollar rpidamente sistemas de me!or calidad para soportar procesos críticos del negocio y asistir en el desarrollo y promoción intensiva de la información de productos y servicios. "stas herramientas pueden proveer muchos (enecios en todas las etapas del proceso de desarrollo de soft&are, algunas de ellas son s on • • • • •
1ericar el uso de todos los elementos en el sistema dise#ado. )utomatizar el di(u!o de diagramas. )yudar en la documentación del sistema. )yudar en la creación de relaciones en la 4ase de %atos. 5enerar estructuras de código.
La principal venta!a de la utilización de una herramienta -)", es la me!ora de la calidad de los desarrollos realizados y, en segundo término, el aumento de la produ producti ctivid vidad. ad. *ara conseg conseguir uir estos estos dos o(!eti o(!etivos vos es conven convenien iente te contar con una organización y una metodología de tra(a!o, adems de la propia herramienta. La me!ora de calidad se consigue reduciendo sustancialmente muchos de los pro(lemas de anlisis y dise#o, inherentes a los proyectos de mediano y gran tama#o /lógica del dise#o, coherencia, consolidación, etc.0. La me!ora de productividad se consigue a través de la automatización de determinadas tareas, como la generación de código y la reutilización de o(!etos o módulos. *losar$o de +e!"$c$o"es ,-s$cas de CASE&
)yuda por -omputadora a la 'ngeniería de oft&are. CASE& )yuda Una tecn tecnol olog ogía ía del del sof soft&ar t&are e que que mant mantie iene ne una una TECN TECNOL OLO* O*IA IA CASE CASE&& Una discip disciplin lina a de la ingeni ingeniería ería automa automatiz tizada ada para para el desarr desarroll ollo o de soft&ar soft&are, e, mantenimiento y dirección de proyecto, incluye metodologías estructuradas automatizadas y herramientas automatizadas. 6 2
HERRAMIENTA CASE& Una herramienta del soft&are que automatiza /por lo menos en parte0 una parte del ciclo de desarrollo de soft&are. SISTEMA CASE& Un con!unto de herramientas -)" integradas que comparten una interface del usuario comn y corren en un am(iente computacional comn. .IT de HERRAMIENTAS CASE& Un con!unto de herramientas -)" integradas que se han dise#ado para tra(a!ar !untas y automatizar /o proveer ayuda automatizada al ciclo de desarrollo de soft&are, incluyendo el anlisis, dise#o, codicación y prue(as. METO+OLO*IA CASE& Un automatiza(le metodología estructurada que dene una disciplina e ingeniería como un acercamiento a todos o algunos aspectos del desarrollo y mantenimiento de soft&are. /UESTO +E TRA,A0O para CASE Una estación de tra(a!o técnica, dise#ada a 72 (its o computadora personal equipada con +erramientas -ase que automatiza varias funciones del ciclo. /LATA1ORMA de HAR+2ARE para CASE Una arquitectura de hard&are con uno, dos o tres sistemas puestos en línea, que proveen una plataforma operativa para las +erramientas -ase. HISTORIA +E LAS HERRAMIENTAS CASE
Las +erramientas -)" tienen su inicio con el simple procesador de pala(ras que fue usado para crear y manipular documentación. Los setentas vieron la introducción de técnicas grcas y diagramas de 8u!o de estructuras de datos. o(re este punto, el dise#o y especicaciones en forma pictórica han sido e$tremadamente comple!os y consumían mucho tiempo para realizar cam(ios. La introducción de las herramientas -)" para ayudar en este proceso ha permitido que los diagramas puedan ser fcilmente creados y modicados, me!orando la calidad de los dise#os de soft&are. Los diccionarios de datos, un documento muy usado que mantiene los detalles de cada tipo de dato y los procesos dentro de un sistema, son el resultado directo de la llegada del dise#o de 8u!o de datos y anlisis estructural, hecho posi(le a través de las me!oras en las +erramientas -)".
*ronto se reemplazaron los paquetes grcos por paquetes especializados que ha(ilitan la edición, actualización e impresión en mltiples versiones de dise#o. "ventualmente, las herramientas grcas integradas con diccionarios 6 2
de (ase de datos para producir poderosos dise#os y desarrollar herramientas, podrían sostener ciclos completos de dise#o de documentos. -omo un paso nal, la vericación de errores y generadores de casos de prue(as fueron incluidos para validar el dise#o del soft&are. 3odos estos procesos pueden sa(erse integrados en una simple herramienta -)" que soporta todo el ciclo de desarrollo. La primera herramienta comercial se remonta a 9:;2, aunque algunos especialistas indican que algunos e!emplos de herramientas para diagramación ya e$istían.
•
•
•
•
•
Una me!ora en la calidad, a(ilidad, utilidad y rendimiento. "l entorno de producción de documentación para soft&are me!ora la comunicación, mantenimiento y actualización. +ace el tra(a!o de dise#o de soft&are ms fcil y agrada(le. La promesa futura de reemplazar realmente a los ingenieros de soft&are especializados. >educción del costo de producción de soft&are. -on estos o(!etivos en mente, la industria destinó millones en producción de +erramientas -)".
)sí como esta enorme suma de dinero fue gastada en +erramientas -)", hu(o tam(ién tra(a!o de investigación a nivel mundial en diferentes instituciones como Universidades, 'nstituciones 5u(ernamentales y de %efensa. La industria de +erramientas -)" est creciendo y est tomando cada vez mayor importancia.
6 2
E3ol4c$5" de las Herram$e"tas CASE A $"$c$os de los 678s & A med$ados de los 678s &
A $"$c$os de los 978s &
)yuda en la documentación por computadora. %iagramación asistida por computadora. +erramientas de anlisis y dise#o. %ise#o automtico de anlisis y prue(as. >epositorios automticos de información de sistemas. 5eneración automtica de código desde especicaciones de dise#o. ?etodología 'nteligente. 'nterface de Usuario reusa(le como una metodología de desarrollo.
:) Clas$!cac$5" de las Herram$e"tas Case
•
• • •
Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cu(ren. La arquitectura de las aplicaciones que producen. u funcionalidad.
Las herramientas -)", en función de las fases del ciclo de vida a(arcadas, se pueden agrupar de la forma siguiente 6 2
;) Herram$e"tas $"te(radas< I=CASE /'ntegrated -)", -)" integrado0 )(arcan todas las fases del ciclo de vida del desarrollo de sistemas. on llamadas tam(ién -)" &or@(ench. >) Herram$e"tas de alto "$3el< U=CASE /Upper -)" A -)" superior0 o frontAend, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo anlisis y dise#o. ?) Herram$e"tas de #ajo "$3el< L=CASE /Lo&er -)" A -)" inferior0 o (ac@Aend, dirigidas a las ltimas fases del desarrollo construcción e implantación. :) 04e(os de @erram$e"tas o Tools=Case, son el tipo ms simple de herramientas -)". )utomatizan una fase dentro del ciclo de vida. %entro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.
TI/O +E CASE
'ENTA0AS
+ES'ENTA0AS
'ntegra el ciclo de vida.
I Case
Upper Case
Lower Case
e utiliza en plataforma *-, es *ermite me!orar la calidad de aplica(le a diferentes entornos, los sistemas, pero no me!ora la productividad. ?enor costo
I = CASE 6 2
"l 'A-)" se conci(e como el con!unto de cuatro herramientas que tocan las disciplinas que van desde la estrategia de la empresa, y la concepción del sistema de información, hasta el anlisis, dise#o y la generación de los mismos programas.
Las herramientas 'A-)" se (asan en una metodología. 3ienen un repositorio y aportan técnicas estructuradas para todas las fases del ciclo de vida. "stas son las características que les coneren su mayor venta!a una me!ora de la calidad de los desarrollos. ,e"e!c$os del I = Case& +esarrollo Trad$c$o"al Bnfasis en codicación prue(as programas.
"specicaciones (asadas en papel.
Case
la Bnfasis y dise#o. de
I Case
en
anlisis
y Bnfasis en modelamiento empresarial.
el
"specicaciones (asadas "specicaciones en diagramas (asadas en automatizados. diagramas automatizados y perfectamente integrados a través de las diferentes etapas de desarrollo.
-odicación manual 5eneración automtica de 5eneración automtica de programas. códigos, programas fuente. de códigos y totalmente integrada con la estación de tra(a!o de dise#o representación grca de las estructuras de códigos.
6 2
%ocumentación manual. ?antenimiento de programas fuentes.
5eneración automtica de documentación. ?antenimiento de especicaciones de dise#o y regeneración de códigos
5eneración automtica de documentación. ?antenimiento de especicaciones de dise#o y regeneración de códigos Uso de una enciclopedia /coordinador de conocimientos0 para concentrar toda la información de las diferentes estaciones de tra(a!o en forma integrada.
04e(o de Herram$e"tas o Tools Case)= "stn formadas por un con!unto de herramientas orientadas cada una de ellas a resolver una determinada fase del desarrollo. "l ensam(la!e de las mismas se efecta por medio de una serie de interfaces que adaptan las salidas producidas por cada una de ellas de forma que sirva como entrada en la siguiente.
"n el mercado actual se pueden citar, entre otras, algunas herramientas distri(uidas por fases de desarrollo como para A"-l$s$s B +$seo • • • • •
*ro@it Cor@(ench de ?c%onnellA%ouglas %esing )id
+$seo de Arc@$3os B ,ase de +atos • • • • • • •
-hen 3ool@it de -hen F )ssociates '%?D)rchitec de -ullinet oft&are )utmate *lus de L4? -ase %esigner de Gracle ynon Gracle 'nformi$
/ro(ramac$5" )* de age oft&are •
6 2
• • • •
3ranforms de 3ransform Logic 3elon *ansophic ystem %ecase de %"- -G4GL 2D Cor(ench de ?icro Hocus nap -)" para )DIJJ
Gtra posi(le clasicación, utilizando la funcionalidad como criterio principal, es la siguiente Herram$e"tas de pla"$!cac$5" de s$stemas de (est$5" . irven para modelizar los requisitos de información estratégica de una organización.
*roporcionan un DmetamodeloD del cual se pueden o(tener sistemas de información especícos. u o(!etivo principal es ayudar a comprender me!or cómo se mueve la información entre las distintas unidades organizativas. "stas herramientas proporcionan una ayuda importante cuando se dise#an nuevas estrategias para los sistemas de información y cuando los métodos y sistemas actuales no satisfacen las necesidades de la organización. Herram$e"tas de a"-l$s$s B d$seo . *ermiten al desarrollador crear un modelo del sistema que se va a construir y tam(ién la evaluación de la validez y consistencia de este modelo. *roporcionan un grado de conanza en la representación del anlisis y ayudan a eliminar errores con anticipación. • • • •
+erramientas de anlisis y dise#o /?odelamiento0. +erramientas de creación de prototipos y de simulación. +erramientas para el dise#o y desarrollo de interfaces. ?quinas de anlisis y dise#o /?odelamiento0.
Herram$e"tas de pro(ramac$5". e englo(an aquí los compiladores, los editores y los depuradores de los lengua!es de programación convencionales.
"!emplos de estas herramientas son • • •
+erramientas de codicación convencionales. +erramientas de codicación de cuarta generación. +erramientas de programación orientadas a los o(!etos.
Herram$e"tas de $"te(rac$5" B pr4e#a irven de ayuda a la adquisición, medición, simulación y prue(a de los equipos lógicos desarrollados. "ntre las ms utilizadas estn
+erramientas de anlisis esttico. +erramientas de codicación de cuarta generación. +erramientas de programación orientadas a los o(!etos.
6 2
Herram$e"tas de (est$5" de protot$pos . Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de especicaciones de un sistema de información, o para un me!or entendimiento de cómo los requisitos de un sistema de información se a!ustan a los o(!etivos perseguidos. Herram$e"tas de ma"te"$m$e"to La categoría de herramientas de mantenimiento se puede su(dividir en • • •
•
+erramientas de ingeniería inversa. +erramientas de reestructuración y anlisis de código. +erramientas de reingeniería.
Herram$e"tas de (est$5" de proBectos. La mayoría de las herramientas -)" de gestión de proyectos se centran en un elemento especíco de la gestión del proyecto, en lugar de proporcionar un soporte glo(al para la actividad de gestión. Utilizando un con!unto seleccionado de las mismas se puede realizar estimaciones de esfuerzo, coste y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc.
"$isten tam(ién herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones técnicas inicial, hasta el tra(a!o de desarrollo que convierte estos requisitos en un producto nal. e incluyen dentro de las herramientas de control de proyectos las siguientes • • •
•
+erramientas de planicación de proyectos. +erramientas de seguimiento de requisitos. +erramientas de gestión y medida.
Herram$e"tas de soporte. e englo(an en esta categoría las herramientas que recogen las actividades aplica(les en todo el proceso de desarrollo, como las que se relacionan a continuación +erramientas de documentación. +erramientas para soft&are de sistemas. +erramientas de control de calidad. +erramientas de (ases de datos. • • • •
Gtra clasicación, diferencia las funciones -)" en cinco grupos Repos$tor$o) Huncionan en torno a un repositorio central, siendo éste el ncleo fundamental que contiene todas las deniciones de o(!eto y sus relaciones. Los o(!etos pueden ser especicaciones del sistema en forma de diagramas de 8u!o de datos, diagramas entidadArelación, esquemas de (ases de datos, dise#os de pantallas, etc. "l repositorio es un concepto ms amplio que el de diccionario de datos y soporta a los dems grupos de funciones.
a las de repositorio, ya que, a pesar de su innega(le importancia, tienen un carcter au$iliar de los dems grupos de funciones. -ualquier sistema -ase poseer un repositorio propio o (ien, tra(a!ar so(re un repositorio suministrado por otro fa(ricante o vendedor. Re=$"(e"$era. Los sistemas -ase permiten esta(lecer una relación estrecha y fuertemente formaliza(le entre los productos generados a lo largo de distintas fases del ciclo de vida, permitiendo actuar en el sentido especicacionesAcódigo /ingeniería KdirectaK0 y tam(ién en el contrario /ingeniería KinversaK0. "llo facilita la realización de modicaciones en la fase ms adecuada en cada caso y su traslado a las dems. )l con!unto de facilidades proporcionadas por la ingeniería directaM e KinversaK se le denomina KreAingenieríaK. Soporte del c$clo de 3$da. "l ciclo de vida de una aplicación o de un sistema de información se compone de varias etapas, que van desde la planicación de su desarrollo hasta su implantación, mantenimiento y actualización. )unque el nmero de fases puede ser varia(le en función del nivel de detalle que se adopte, pueden de modo simplicado, identicarse las siguientes • • • •
*laneamiento. )nlisis y %ise#o. 'mplantación /programación y prue(as0. ?antenimiento y actualización.
Los sistemas -ase pueden cu(rir la totalidad de estas fases o (ien especializarse en algunas de ellas. "n este ltimo caso se pueden distinguir sistemas de Kalto nivelK /KUpper -aseK0, orientados a la autonomía y soporte de las actividades correspondientes a las dos primeras fases y, sistemas de K(a!o nivelK /KLo&er -aseK0, dirigidos hacia las dos ltimas. Los sistemas de Kalto nivelK pueden soportar un nmero ms o menos amplio de metodologías de desarrollo. Soporte de proBecto. "ste tipo de funciones hace referencia al soporte de actividades que se producen durante el desarrollo, derivadas fundamentalmente del tra(a!o en grupos, tales como facilidades de comunicación, soporte a la creación, modicación e intercam(io de documentación, herramientas personales, controles de seguridad, etc. Los sistemas -ase pueden conceder a estas cuestiones una importancia varia(le por lo cual el soporte de proyecto constituye un factor de diferenciación. Mejora co"t$"4a de cal$dad. )unque frecuentemente se asocia a los sistemas -ase con la me!ora de la productividad en el desarrollo de aplicaciones, de(e tenerse en cuenta que una de las principales venta!as estri(a tam(ién, en la me!ora de la calidad de los desarrollos realizados. %eterminados sistemas -ase enfatizan ms so(re este punto que so(re el anterior, introduciendo herramientas que permiten 6 2
e!ercer un control intenso de garantía de calidad del soft&are desarrollado desde las primeras fases de su ciclo de vida. Ra"(o de las Herram$e"tas Case
)lgunas +erramientas -)" son sólo para la fase de %ise#o.
Gtras,
son
sólo
generadoras de -ódigo
)lgunas +erramientas de )nlisis y %ise#o tienen una visión de %esarrollo orientada a procesos sin la capacidad de modelamiento.
)lgunas proveen +erramientas para el modelamiento sin incluir los procesos de )nlisis o %ise#o.
COM/ONENTES F 1UNCIONALI+A+ES +E UNA HERRAMIENTA CASE
) continuación se descri(en los principales componentes de una herramienta -)" y sus funcionalidades. Repos$tor$o 4ase de datos central de una herramienta -)". "l repositorio amplía el concepto de diccionario de datos para incluir toda la información que se va generando a lo largo del ciclo de vida del sistema, como por e!emplo componentes de anlisis y dise#o /diagramas de 8u!o de datos, diagramas entidadArelación, esquemas de (ases de datos, dise#os de pantallas0, 6 2
estructuras de programas, algoritmos, etc. "n algunas referencias se le denomina %iccionario de >ecursos de 'nformación. La mayoría de herramientas -)" poseen un repositorio propio o (ien tra(a!an so(re un repositorio suministrado por otro fa(ricante o vendedor. )poyndose en la e$istencia del repositorio se efectan compro(aciones de integridad y consistencia • •
•
•
Nue no e$istan datos no denidos. Nue no e$istan datos autodenidos /datos que se emplean en una denición pero que no han sido denidos previamente0. Nue todos los alias /referencias a un mismo dato empleando nom(res distintos0 sean correctos y estén actualizados. Las características ms importantes de un repositorio son o
o
3ipo de información. Nue contiene alguna metodología concreta, datos, grcos, procesos, informes, modelos o reglas. 3ipo de controles. i incorpora algn módulo de gestión de cam(ios, de mantenimiento de versiones, de acceso por clave, de redundancia de la información.
La gestión de cam(ios y el mantenimiento de versiones, ayudarn en el caso de que convivan diferentes versiones de la misma aplicación, o se tengan que realizar cam(ios en la versión en producción y en la de desarrollo, simultneamente. T$po de act4al$Gac$5") i los cam(ios en los elementos de anlisis o dise#o se ven re8e!ados en el repositorio en tiempo real o mediante un proceso por lotes /(atch0. "sto ser importante en función a la necesidad de que los cam(ios sean visi(les por todos los usuarios, en el acto. Re4t$l$Gac$5" de m5d4los para otros d$seos) "l repositorio es la clave para identicar, localizar y e$traer código para su reutilización. /os$#$l$dad de eportac$5" e $mportac$5" para e$traer información del repositorio y tratarla con otra herramienta /formateo de documentos, me!ora de presentación0 o incorporar al repositorio, información generada por otros medios. I"terfases a4tom-t$cas con otros repositorios o (ases de datos e$ternos. M5d4los de d$a(ramac$5" B model$Gac$5" )lgunos de los diagramas y modelos utilizados con mayor frecuencia son
6 2
• • •
• • •
%iagrama de 8u!o de datos. ?odelo entidad A interrelación. +istoria de la vida de las entidades. %iagrama "structura de datos. %iagrama "structura de cuadros. 3écnicas matriciales.
Al(4"as caracterst$cas refere"tes a los d$a(ramas so"& • •
•
•
•
•
•
•
•
<mero m$imo de niveles para poder soportar dise#os comple!os. <mero m$imo de o(!etos que se pueden incluir para no encontrarse limitado en el de grandes aplicaciones. <mero de diagramas distintos en pantalla o al mismo tiempo en diferentes ventanas. %i(u!os en formato li(re con la nalidad de a#adir comentarios, di(u!os, información adicional para aclarar algn punto concreto del dise#o. )ctualización del repositorio por cam(ios en los diagramas. iempre resulta ms fcil modicar de forma grca un dise#o y que los cam(ios queden re8e!ados en el repositorio. -ontrol so(re el tama#o, fuente y emplazamiento de los te$tos en el diagrama. -omparaciones entre grcos de distintas versiones. %e esta forma ser ms fcil identicar qué diferencias e$isten entre las versiones. 'nclusión de pseudocódigo, que servir de (ase a los programadores para completar el desarrollo de la aplicación. *osi(ilidad de deshacer el ltimo cam(io, facilitando que un error no conlleve perder el tra(a!o realizado.
Herram$e"ta de protot$pado "l o(!etivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del dise#o, el aspecto que tendr la aplicación una vez desarrollada. "llo facilitar la aplicación de los cam(ios que se consideren necesarios, todavía en la fase de dise#o.
La herramienta ser tanto ms til, cuanto ms rpidamente permita la construcción del prototipo y por tanto antes, se consiga la implicación del usuario nal en el dise#o de la aplicación. )simismo, es importante poder aprovechar como (ase el prototipo para la construcción del resto de la aplicación. )ctualmente, es imprescindi(le utilizar productos que incorporen esta funcionalidad por la cam(iante tecnología y necesidades de los usuarios. Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales, ya que proporcionan una realimentación inmediata, que 6 2
ayudan a determinar los requisitos del sistema. Las herramientas -)" estn (ien dotadas, en general, para crear prototipos con rapidez y seguridad. *e"erador de c5d$(o
Las características ms importantes de los generadores de código son •
•
•
•
•
Lengua!e generado. i se trata de un lengua!e estndar o un lengua!e propietario. *orta(ilidad del código generado. -apacidad para poder e!ecutarlo en diferentes plataformas físicas yDo lógicas. 5eneración del esqueleto del programa o del programa completo. i nicamente genera el esqueleto ser necesario completar el resto mediante programación. *osi(ilidad de modicación del código generado. uele ser necesario acceder directamente al código generado para optimizarlo o completarlo. 5eneración del código asociado a las pantallas e informes de la aplicación.
?ediante esta característica se o(tendr la interfase de usuario de la aplicación. M5d4lo (e"erador de doc4me"tac$5"
"l módulo generador de la documentación se alimenta del repositorio para transcri(ir las especicaciones allí contenidas. )lgunas características de los generadores de documentación son •
•
•
5eneración automtica a partir de los datos del repositorio, sin necesidad de un esfuerzo adicional. -om(inación de información te$tual y grca, lo que hace ms fcil su comprensión. 5eneración de referencias cruzadas. -on ello se podr localizar fcilmente en qué partes de la aplicación se encuentra un determinado o(!eto o elemento, con el n de analizar el impacto de un cam(io o identicar los módulos afectados por un determinado error.
6 2
•
•
)yuda de tratamiento de te$tos. Hacilidad para la introducción de te$tos complementarios a la documentación que se genera de forma automtica. 'nterfase con otras herramientas procesadores de te$tos, editores grcos, etc.
E0EM/LOS +E HERRAMIENTAS CASE MS UTILIJA+AS)
) continuación se descri(en los principales componentes de una herramienta -)" y sus funcionalidades. Erw$"
*L)3'&in es una herramienta de dise#o de (ase de datos. 4rinda productividad en dise#o, generación, y mantenimiento de aplicaciones. %esde un modelo lógico de los requerimientos de información, hasta el modelo físico perfeccionado para las características especícas de la (ase de datos dise#ada, ">&in permite visualizar la estructura, los elementos importantes, y optimizar el dise#o de la (ase de datos. 5enera automticamente las ta(las y miles de líneas de stored procedure y triggers para los principales tipos de (ase de datos.
">&in hace fcil el dise#o de una (ase de datos. Los dise#adores de (ases de datos sólo apuntan y pulsan un (otón para crear un grco del modelo "A > /"ntidadrelación0 de todos sus requerimientos de datos y capturar las 6 2
reglas de negocio en un modelo lógico, mostrando todas las entidades, atri(utos, relaciones, y llaves importantes. ?s que una herramienta de di(u!o, ">&in automatiza el proceso de dise#o de una manera inteligente. *or e!emplo, ">&in ha(ilita la creación de un diccionario de atri(utos reusa(les, asegurando la consistencia de nom(res y deniciones para su (ase de datos. e mantienen las vistas de la (ase de datos como componentes integrados al modelo, permitiendo que los cam(ios en las ta(las sean re8e!ados automticamente en las vistas denidas. La migración automtica garantiza la integridad referencial de la (ase de datos. ">&in esta(lece una cone$ión entre una (ase de datos dise#ada y una (ase de datos, permitiendo transferencia entre am(as y la aplicación de ingeniería reversa. Usando esta cone$ión, "r&in genera automticamente ta(las, vistas, índices, reglas de integridad referencial /llaves primarias, llaves foraneas0, valores por defecto y restricciones de campos y dominios.
">&in soporta principalmente (ases de datos relacionales NL y (ases de datos que incluyen Gracle, ?icrosoft NL erver, y(ase, %42, e 'nformi$. "l mismo modelo puede ser usado para generar mltiples (ases de datos, o convertir una aplicación de una plataforma de (ase de datos a otra.
6 2
Espec$!cac$o"es T%c"$cas& Software de Apl$cac$5" Compat$#les& G5>", 1isual 4asic ,ases de +atos Compat$#les -)A-lipper, -)AGpen'ngres, %42 for ?1 y %42 for GD7:J, %42 U%4, d4)", Ho$*ro, +i>%4, 'nformi$, 'nter4ase, ?icrosoft )ccess, ?icrosoft NL erver, Gracle, *arado$, >d(, >ed 4ric@ Carehouse, ), NL )ny&here, NL4ase, y(ase, 3eradata S$stemas Operat$3os Compat$#les& Cindo&s <3, Cindo&s :=, Cindo&s :; ReK4er$m$e"tos T%c"$cos& ?ínimo 9J ?4 de espacio de disco duro, 96 ?4 >)? /72 ?4 >)? recomendado para modelos largos.0
EasBCASE EasBCASE /rofes$o"al A el centro de productos para procesos, modelamiento de datos y eventos, e 'ngeniería de 4ase de %atosA es un producto para la generación de esquemas de (ase de datos e ingeniería reversa A tra(a!a para proveer una solución comprensi(le para el dise#o, consistencia y documentación del sistema en con!unto.
"sta herramienta permite automatizar las fases de anlisis y dise#o dentro del desarrollo de una aplicación, para poder crear las aplicaciones ecazmente O desde procesamiento de transacciones a la aplicación de (ases de datos de clienteDservidor, así como sistemas de tiempo real.
6 2
EasBCASE permite capturar los detalles de dise#o de un sistema y comunicar las ideas grcamente, para que sean fciles de ver y entender. *ara un dise#o legítimo y modelamiento de datos, procesos y eventos, permite crear y mantener diagramas de 8u!o de datos, diagramas de entidadArelación, mapas de estructura y ms.
*osee herramientas de corrección avanzadas que permiten revisiones generales en minutos, en lugar de horas o días. *ermite reAusar diagramas o partes de diagramas para economizar el dise#o de un proyecto. "asy-)" soporta una gama amplia de metodologías estructuradas, permitiendo escoger los métodos ms apropiados para realizar las tareas. "asy-)" determina los tipos de esquemas segn la metodología del proyecto seleccionada y notica de errores a medida que el modelo est construyéndose.
6 2
"l verdadero poder de "asy-)" se encuentra en el soporte comprensivo al modelamiento de datos, procesos y eventos. *osee desde el editor de diagramas 8e$i(le y un diccionario de los datos integrado en formato d4)", así como una e$tensa cantidad de reportes y anlisis. *orque "asy-)" *rofesional, una herramienta multiAusuario, es ideal para aquellos que necesitan compartir datos y tra(a!ar en un proyecto con otros departamentos. "l equipo completo puede acceder proyectos localizados en el servidor de la red concurrentemente. *ara asegurar la seguridad de los datos, e$iste el diagrama y diccionario de los datos que (loquean por niveles al registro, al archivo y al proyecto, y niveles de control de acceso.
Espec$!cac$o"es de EasBCASE /rofes$o"al&
• • • • • • • • • •
METO+OLO*IAS ESTRUCTURA+AS EourdonD%e?arco 5ane F arson CardA?ellor )%? EourdonD-onstantine -hen ?artin 4achman hlaerA?ellor '%"H9P ?erise 6 2
,ASE +E +ATOS QUE SO/ORTA • • • • • • • • • • •
Gracle *arado$ *rogress NL4ase NL erver y(ase Catcom NL )ccess )<' NL -lipper d4)" ''' , '1, 1
?etrica
• •
• •
• •
•
• •
TI/OS +E +IA*RAMAS %ata Hlo& %iagrams /%H%s0 3ransformation chema /realA time %H%s0 tructure -harts /3-s0 tate 3ransition %iagrams /3%s0 "ntity >elationship %iagrams /">%s0 %ata ?odel %iagrams /%?%s0 %ata tructure %iagrams /%%s0 "ntity Life +istory %iagrams /"L+s0 Logical %ata tructure %iagrams /L%s0
•
•
•
%42 Ho$*ro Gtras ms ... REQUERIMIENTOS +EL SISTEMA "asy-)" *rofessional I.2 o superior requiere "asy-)" %ata(ase "ngineerQ *-Rs 7;6DI;6D*entium y compati(lesQ ?icrosoft Cindo&s 7.9 o superior, ; ?4 >)?, ; ?4 de espacio en disco duroQ 15) o me!or colorQ ?ouse. >equerimientos para >ed
Oracle +es$("er Gracle %esigner es un !uego de herramientas para guardar las deniciones que necesita el usuario y automatizar la construcción rpida de aplicaciones clienteDservidor 8e$i(les y grcas.
'ntegrado con Gracle %eveloper, Gracle %esigner provee una solución para desarrollar sistemas empresariales clienteDservidor de segunda generación. osticadas aplicaciones clienteDservidor pueden ser 9JJS generadas usando la lógica de la aplicación y el módulo de componentes reusa(les. Gracle %esigner tam(ién ha(ilita la captura del dise#o de sistemas e$istentes, salvaguardando la versión actual. 3odos los datos ingresados por cualquier herramienta de Gracle %esigner, en cualquier fase de desarrollo, se guardan en un repositorio central, ha(ilitando el tra(a!o fcil del equipo y la dirección del proyecto. "n el lado del ervidor, Gracle %esigner soporta la denición, generación y captura de dise#o de los siguientes tipos de (ases de datos, por cone$ión nativa de Gracle y por conectividad G%4- 6 2
• • • • • • •
Gracle;, GracleT *ersonal Gracle Lite >d( )<' :2 %42D2 and ?1 ?icrosoft NL erver y(ase
?uchas metodologías diferentes para (ase de datos y desarrollo de aplicaciones e$isten actualmente. Gracle %esigner no fuerza al uso de alguna metodología especíca, pero en cam(io proporciona un !uego de herramientas que le permiten que use la metodología de desarrollo que eli!a. Gracle %esigner soporta las siguientes metodologías • • • •
%esarrollo >pido de )plicaciones />)%0 'ngeniería de la 'nformación /'"0 ?odelamiento de *rocesos )sistido -aptura de %ise#o )sistido
Las herramientas de Gracle %esigner se agrupan en reas que re8e!an las necesidades primarias de sus tipos diferentes de usuarios ReK4$s$tos para el Modelam$e"to de S$stemas Uso de las herramientas en esta rea procesos para el modelo del negocioQ reAe$aminar los métodos usados para conseguir las metas de la organizaciónQ crear representaciones diagramticas de los procesos del negocioQ detalles de los registrosQ descri(ir los requisitos del negocio en detalleQ crear modelos diagramticos de las entidades, funciones y 8u!os de datos en los sistemas que constituyen la organización.
6 2
*e"eradores de +$seos /rel$m$"ares& Uso de 3ransformadores para generar los dise#os preliminares de los modelos creados anteriormente. +$seo B *e"erac$5"& Uso de las herramientas en esta rea dise#o de sistemas que renan los requisitos comerciales de una organizaciónQ proveer un am(iente de desarrollo para los ingenieros de sistemas y dise#adoresQ crear componentes del lado del servidor y aplicaciones del lado del cliente desde deniciones gra(adas en el >epositorio de %atos. Ut$l$tar$os& Uso de las herramientas en esta rea ingresar y editar la información en el >epositorioQ mostrar las relaciones entre los elementos en el >epositorio de %atosQ generar etiquetas predenidas y personalizadas en el >epositorioQ administrar el >epositorio de datosQ escri(ir sentencias interactivas en NL. /ower+es$("er
*o&er%esigner es una suite de aplicaciones de *o&ersoft para la construcción, dise#o y modelado de datos a través de diversas aplicaciones. "s la herramienta para el anlisis, dise#o inteligente y construcción sólida de una (ase de datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores -lienteDervidor la ms rme (ase para aplicaciones de alto rendimiento. "sta suite cuenta con los siguientes productos /ower+es$("er /rocessA"alBst. 6 2
*ermite analizar el 8u!o de datos de toda la empresa, a través de los departamentos hasta el usuario nal. /ower+es$("er +ataArc@$tect) *rovee a los dise#adores de las (ases de datos una manera eciente para la creación inteligente, depuración e ingeniería de reversa del modelado, tanto conceptual como físico de los datos. /ower+es$("er AppModeler) *ermite el dise#o y a!uste de los componentes de o(!etos y datos en aplicaciones de uso comn como *o&er4uilder, *o&er, 1isual 4asic y %elphi, a!ustando el modelo de (ase de datos. Vunto con la aplicación de servidor *o&er%ynamo /incluido0 se pueden pu(licar las (ases de datos en 'nternetD'ntranet directamente del modelo de (ase de datos. "sta herramienta tam(ién puede generar pginas de servidor activas para ? 'nternet 'nformation erver v.7.J.
/ower+es$("er 2are@o4seArc@$tect) *rovee un poderoso data&arehousing para el dise#o e implementación de una (ase de datos. -uenta con soporte para (ases de datos tradicionales %4? y (ases de datos en plataformas de sistemas analíticos usando modelados dimensionales, esquemas de KestrellaK y KnieveK, particionamiento y agregación. 3am(ién cuenta con un alto desempe#o en el inde$amiento de esquemas. /ower+es$("er Meta2ors) *ermite fcilmente ver y compartir la información del modelado de datos con una denición constante de o(!etos. 3am(ién puede comparar y mezclar dos modelos de datos paso a paso.
6 2
/ower+es$("er '$ewer) -rea reportes de los modelos físicos, conceptuales y procesos del modelado de la (ase de datos.
3am(ién permite generar reportes para 'nternet en +3?L. "ste producto cuenta con demos directos de sitio de y(ase en 'nternet para su evaluación. )dems de todas posi(ilidades de
estas
características,
*o&er%esigner
ofrece
las
Soporte para t$pos de datos a#stractos) *o&er%esigner soporta la identicación de tipos de datos a(stractos con ingeniería inversa de aplicaciones para Gracle;. Soporte para 4s4ar$os de #ases de datos) Los usuarios de (ases de datos pueden ser recogidos de una (ase de datos e$istente y luego almacenados en un modelo físico de datos. )hora, es posi(le a#adir nuevos usuarios y tam(ién asignar usuarios como propietarios y vistas. MaBor select$3$dad e" $"(e"$era $"3ersa) *o&er%esigner permite seleccionar no sólo las ta(las que se desean cargar, sino todo tipo de o(!etos de la (ase de datos. C-lc4lo del tamao de las #ases de datos) *uede calcular y denir el tama#o denitivo de (ases de datos de nuevo dise#o y construcción, incluyendo tama#os detallados de índices y ta(las. SBstem Arc@$tect ystem )rchitect posee un repositorio nico que integra todas las herramientas, y metodologías usadas. "n la ela(oración de los diagramas, el ystem )rchitect conecta directamente al diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalización, etc.
*osee control automtico de diagramas y datos, normalizaciones y (alanceamiento entre diagramas K*adre e +i!oK, adems de (alanceamiento 6 2
horizontal, que tra(a!a integrado con el diccionario de datos, asegurando la compati(ilidad entre el ?odelo de %atos y el ?odelo Huncional. ystem )rchitect es considerado un Upper -ase, que puede ser integrado a la mayoría de los generadores de código. 3raduce modelos de entidades, a partir de la enciclopedia, en esquemas para y(ase, %42, Gracle u Gracle T, 'ngress, NL erver, >%4, P%4, *rogress, *arado$, NL 4ase, )IJJ, 'nter(ase, GD2, %4?, %(ase 999, 'nformi$, entre otros. 5enera tam(ién Cindo&s %%L, deniciones de datos para lengua!e -D- y estructuras de datos en -o(ol. "n esta ltima versión del ystem )rchitect es posi(le a través de G%4-, la creación de (ases de datos a partir del modelo de entidades, para los diversos mane!adores de (ases de datos arri(a mencionados. *osee esquemas de seguridad e integridad a través de contrase#as que posi(ilitan el acceso al sistema en diversos niveles, pudiéndose integrar a la seguridad de la red eversa desde las 4ases de %atos NL ms populares, incluyendo y(ase, %42, 'nfonmi$, Gracle y NL erver /%LL0, adems de dilogos /%L50 y menes /?eversa posi(ilita la creación, actualización y manutención, tanto del modelo lógico como de su documentación. ) través de G%4-, el ystem )rchitect logra leer (ases de datos y construir el modelo lógico o físico /diagrama0, alimentando su diccionario de datos con las especicaciones de las ta(las y de sus elementos de datos, incluyendo las relaciones entre ta(las y su cardinalidad. ystem )rchitect posee mltiples metodologías para dise#o y anlisis, incluyendo )nlisis "structurado /%H%0 en los modelos %e ?arcoDEourdon y 5aneDarson, anlisis de tiempo real en el modelo Card F ?ellorQ anlisis esencial de sistemasQ anlisis orientado a o(!etos /GG)0 en los modelos U?L, 4ooch/W:9 y W:I0, -oadDEourdon, >um(augh, halerD?ellorQ %iagrama de entidad A relación /%">0 en los modelos *eter -hen, Vames ?artin, 4achman o 4ooch, 5rco de "structuras, %iagramas de %escomposición, *laneamiento "stratégico de informaciones, entre otras. "stas metodologías para %esarrollo de istemas, proporcionan amplio soporte para la construcción de los ?odelo -onceptual, Huncional y Gperacional. ystem )rchitect es una herramienta -)" de ltima generación, creada especícamente para la arquitectura K-lienteDervidorK, por eso posee control total de versiones, y de acceso, así como la administración completa de mltiples equipos de %esarrollo.
6 2
'ndependientemente de la topología de la red de comunicación, ystem )rchitect es opera(le so(re eferencias -ruzadas, datos y e$presiones, deniciones, etc. )dems de tener un módulo especíco para customización de informes que emplea los recursos grcos y facilidad de edición de Cindo&s. /RO+UCTO ystem )rchitect 1ersión I.J de 9::T. <mero de copias instaladas =J.JJJ, instaladas a ms de 7.=JJ -lientes. *rincipales clientes )3F3, Pero$, ?icrosoft, ua )le$andre %umas, y 4uenos )ires A )rgentina 1iamonte T=: REQUISITOS CLIENTESER'I+OR Y Cindo&s '4? *-D)3 I;6%PA96 ?4 >)?Q %isco rígido con al menos =J ?( Li(res -%A>G? D 15) -olorD?ouse SNA/ <)* es un -)" /'ngeniería de oft&are )sistida por el -omputador0 para el desarrollo de aplicaciones en istemas )DIJJ de '4?. *roporciona el am(iente integral de tra(a!o, (rindando la posi(ilidad de construir sistemas de inme!ora(le calidad, adheridos a los estndares .).) de '4?., totalmente documentados y a!ustados a los requerimientos especícos de la organización, en una fracción del tiempo y coste del que se invertiría, si se utilizaran herramientas tradicionales. 6 2
<)* se ha consolidado como el -)" ms poderoso y con me!or historial de resultados, disponi(le para desarrollo de sistemas en el )DIJJ de '4?. 5enera los programas nativos de me!or rendimiento en )DIJJ. )sí mismo, proporciona dos am(ientes de tra(a!o y genera aplicaciones nativas yDo -lienteDervidor con el mismo esfuerzo de desarrollo. "n su arquitectura, <)* implementa, de manera adecuada, el esquema metodológico de "<3'%)%A>"L)-'G<, facilitando las herramientas y guías necesarias para construir aplicaciones que e$ploten al m$imo las virtudes y potencial del )DIJJ en su modalidad nativa, siguiendo los lineamientos técnicos y de presentación que propone la losofía .).). de '4?. <)* se compone de cuatro grandes reas ?odelo de %atos, ?étodo de %esarrollo )celerado /?%)0, Utilitarios y eguridad. Modelo de +atos "n el ?odelo de %atos, el analista introduce el dise#o conceptual o representación de la estructura de información de la aplicación, siguiendo, paso a paso, la metodología "ntidadA>elación. "ste dise#o puede ser transferido directamente desde otras herramientas /Upper -ase0, tales como 1.).C. o (ien digitado directamente en <)*. )dems, <)* prevé la facilidad de incorporar o trasladar %%Ws e$istentes al ?odelo de %atos. Una vez introducido el ?odelo de %atos, <)* genera automticamente la (ase de datos, compuesta por fuentes %% y o(!etos nativos )DIJJ.
)l mismo tiempo, el analista, sin necesidad de digitar ni una línea de código, queda ha(ilitado para especicar y generar la (ase de programas que dan mantenimiento integral al modelo, incluyendo aquellos de soporte de consulta, integridad referencial, navegación por listas, informes necesarios para conformar un sistema. "stos programas automticos se generan utilizando todos los recursos y o(!etos disponi(les que se administran y controlan desde el >epositorio -entral, quedando a su vez registrados para su uso posterior por otros o(!etos o programas. 3odos los programas generados en el ?odelo de %atos quedan totalmente funcionalesQ sin em(argo, el analista tiene la posi(ilidad de a!uste por medio del ?odelo de %esarrollo )celerado /?%)0, segundo gran componente de <)*. M%todo de +esarrollo Acelerado M+A "l ?%) es una plataforma de tra(a!o para a!ustar, en forma individual, los programas generados automticamente en el ?odelo de %atos. "l ?%) permite crear y mantener programas nuevos.
)l igual que con el ?odelo de %atos, al tra(a!ar con ?%), el analista se sirve estratégicamente de los elementos del >epositorio -entral y lo actualiza con el resultado de su gestión.
6 2
"l ?%) proporciona las herramientas necesarias para a!ustar programas individuales, con un altísimo grado de productividad y rendimiento, sin necesidad de recurrir a lengua!es tradicionales. "stas herramientas incluyen, entre otras, un módulo de especicación de procesos y lógica, y un formateador de informes. Ut$l$tar$os <)* dispone de una serie de utilitarios para ayudar al analista a administrar y controlar el proceso de desarrollo de aplicaciones.
"ntre las funciones que se ofrecen estn las herramientas para denir los estndares de la organización en <)*, utilitario de regeneración automtica de sistemas como consecuencia de cam(ios en el modelo de datos, utilitarios de administración y control de repositorio, comandos para salvar, restaurar y recrear sistemas o elementos del repositorio central, documentación integral, y una gama de utilitarios miscelneos de apoyo a la gestión de los analistas. Se(4r$dad <)* incorpora un am(iente muy sosticado para controlar y ayudar a la administración del proceso de desarrollo de sistemas. e soportan los elementos necesarios para proteger, hasta en cinco niveles, las distintas deniciones y recursos del repositorio central. A+O/CIPN +E HERRAMIENTAS CASE EN LAS OR*ANIJACIONES)
+istóricamente, las organizaciones han e$perimentado pro(lemas con la adopción de +erramientas -)". %ado que las organizaciones no conocen an los (enecios de esta tecnología, se desea que el uso de un (ien fundamentado proceso de adopción de -)", ayude a incrementar la sucesiva adopción de estas herramientas. "s importante ampliar el rango de organizaciones que adquieran tecnologías de computación y desarrollen estndares para el desarrollo de soft&are, dise#o de métodos, metodologías y técnicas para llevar adelante el ciclo de vida de los sistemas. *ara ello, se recomienda •
• •
6 2
'denticar los factores críticos en los procesos. *roponer un con!unto de procesos a adoptar. 5uiar satisfactoriamente esta adopción teniendo en consideración la organización y su entorno cultural.
Los factores K4e @ace" crt$co el proceso de adopc$5" de tec"olo(a CASE< $"cl4Be"& O#jet$3os& La denición de un con!unto de o(!etivos claros y medi(les, que incluyan o(!etivos técnicos y de negocio.
Un e!emplo podría ser Zincrementar en =JS el me!oramiento de la calidad en la actividad de especicación de requerimientos[ o Zincrementar en un IJS el uso de herramientas -)" en el desarrollo de proyectos[. ApoBo de la Adm$"$strac$5" "$tender la participación activa de la alta gerencia para alentar la adopción de -)", sin limitar la (uena voluntad para o(tener los recursos e sean necesarios. Uso estrat%($co de @erram$e"tas %enir una estrategia clara para el uso adecuado de las herramientas. +esarrollo del /la" para el proceso total de adopc$5" Un plan y dise#o para el proceso total de posicionar estas herramientas al interior de cada componente de la organización. Comprom$so *ropiciar que las personas se involucren en el esfuerzo de adopción en forma activa, motivando a los participantes. Metodolo(a aj4sta#le La (uena disposición y facti(ilidad técnica de a!ustar, cuando sea necesario, los métodos de la organización y los métodos típicos de usar herramientas -)", de tal forma que permitan llegar a un con!unto consistente de métodos. E"tre"am$e"to *roveer el entrenamiento e información necesarios y apropiados en cada paso a cada persona envuelta en el proceso de adopción AB4da de epertos *rovisión de ayuda e$perta en el uso de estas herramientas durante el proyecto piloto y continuamente tal como las herramientas se utilicen entre los componentes de la organización. /roBecto p$loto Los resultados de una prue(a piloto controlada son prioritarios al tomar una decisión nal. Capac$dad de la @erram$e"ta La capacidad técnica de la herramienta, en cuanto al entorno de hard&are y soft&are, de modo que satisfaga los o(!etivos denidos en el conte$to del alcance esperado. • • • •
*reparación "valuación y elección *ro!ecto *iloto 3ransición 6 2
Cam#$ado moderado )segurar la via(ilidad que la organización pueda operar simultneamente entre el vie!o y nuevo métodos, hasta que los componentes de la organización hayan cam(iado totalmente hacia el nuevo método.
La adopc$5" de @erram$e"tas CASE de#e $"cl4$r los s$(4$e"tes procesos pr$"c$pales&
/roceso de preparac$5"& "l propósito de este proceso es el esta(lecimiento de los o(!etivos generales de los esfuerzos de adopción de herramientas -)" y esta(lecer y denir los aspectos de dirección y administración.
"sta etapa comprende • • • •
"sta(lecimiento de o(!etivos, 1ericación de la facti(ilidad y medición de los o(!etivos, "sta(lecimiento de políticas, %esarrollo de planes.
/roceso de E3al4ac$5" B Selecc$5"& "l propósito de este proceso es identicar las herramientas -)" ms adecuadas, que sean las candidatas y aseguren que las herramientas recomendadas cumplirn con los o(!etivos de la organización.
"ste proceso est compuesto por •
•
•
I"$c$ac$5"& %ene los o(!etivos y requerimientos para la evaluación de las herramientas -)". Estr4ct4rac$5"& "la(orar un con!unto de requerimientos (asados en cada herramienta -)". E3al4ac$5"& *roducir reportes de evaluación técnica.
6 2
•
Selecc$5"& 'denticar las ms adecuadas herramientas entre todas las candidatas.
/roceso de /roBecto /$loto& "l propósito de este proceso es ayudar en la validación del tra(a!o desarrollado en el proceso inicial de adopción de -)", y para determinar si la actual capacidad de la herramienta es lo que la organización necesita.
"ste proceso est compuesto por •
•
•
•
I"$c$ac$5"& %enir planes, procedimientos, recursos y capacitación para realizar el proyecto piloto.
*erformance "!ecutar un proyecto controlado en cada nueva herramienta que pueda ser pro(ada. E3al4ac$5"& *rovee los resultados de la evaluación de la performance del proyecto piloto. +ec$s$5"& Liderar el proceso de adopción, de!ando la herramienta o performance a un segundo proyecto piloto e identicando la e$periencia en el aprendiza!e de la organización para el proceso de transición.
/roceso de Tra"s$c$5"& "l propósito de este proceso es minimizar las interrupciones durante el cam(io de los actuales procesos hacia la nueva tecnología, (asados en el m$imo aprovechamiento de las e$periencias del proyecto piloto.
"ste proceso est compuesto por •
•
•
•
I"$c$ac$5"& %enir planes, procedimientos y recursos que permitan la transición hacia el uso de las herramientas. E"tre"am$e"to& -apacitar a los usuario de la nueva herramienta. I"st$t4c$o"al$Gac$5"& )plicar progresivamente la herramienta en segmentos largos del entorno, como parte normal de la prctica organizacional. Mo"$toreo B apoBo co"t"4o& 'denticar si el proceso de adopción funciona correctamente y asegurar el entrenamiento, así como otros recursos que sean necesarios durante el período de transición.
6 2
3al4ac$5" B c4lm$"ac$5"& ?edir el resultado de la adopción de las herramientas -)" y proveer a la organización la e$periencia y conocimiento para futuros /UNTOS IM/ORTANTES A CONSI+ERAR CUAN+O SE SELECCIONA UNA HERRAMIENTA CASE)
eleccionar una +erramienta -)" no es una tarea simple.
"l proceso en sí mismo. Los preArequisitos necesarios. -onocer la organización.
El proceso e" s m$smo "l proceso de evaluación y selección de +erramientas -)" de(e apro$imarse a un proyecto mayor. "l proceso de(e denirse cuidadosamente y de(e incluir las me!ores técnicas de dirección de proyecto.
*or e!emplo, el proceso de selección para el ?inisterio de %efensa puede ser completamente diferente que en una corporación comercial. )unque hay principios (sicos, por e!emplo, todos de(emos entender el criterio en el que est (asado el proceso de selección, todos de(en tener una visión comn. "s adecuado limitar el nmero de vendedores tanto como sea posi(le, para poder enfocar y entender realmente una determinada herramienta. Los pre=reK4$s$tos "ecesar$os& "l propósito de las herramientas -)" es apoyar y facilitar el desarrollo de soft&are. %e(e ha(er una comprensión clara del propósito de las herramientas que se propongan dentro del am(iente de desarrollo que es compartido por el equipo de la selección. "l equipo de(e tener una visión comn del am(iente de desarrollo de sistemas, resultando la selección de la herramienta adecuada. Gtro requisito previo importante sería tener una metodología de desarrollo de sistemas seleccionada. in una metodología, ingresar al largo camino 6 2
del fracaso. Las herramientas implementan la metodología, no la determinan. Co"ocer la or(a"$Gac$5"& -uando se est evaluando y seleccionando una herramienta -)", es importante conocer y entender a la organización. 3al como las personas son nicas, así tam(ién las organizaciones son nicas a su propio modo, cada una tiene una personalidad e infraestructura propias. Una empresa podría disciplinarse y alcanzar un nivel alto de madurez en el proceso de dise#o de soft&are, mientras otra puede estar en las fases tempranas. in tener en cuenta la disciplina y la madurez, es muy importante entender la organización que se ver re8e!ada en la selección nal. Estrate($as de Impla"tac$5" de 4"a Herram$e"ta CASE ;) 'denticar la magnitud de pro(lemas a resolver en la 'nstitución. >) 'denticar el nivel estratégico que de(en tener los sistemas. ?) "valuar los recursos de hard&are y soft&are disponi(les en la 'nstitución y el medio. :) "valuar el nivel del personal. ) "fectuar un estudio de costoA(enecio deniendo metas a lograr. ) "legir las herramientas apropiadas para la 'nstitución. ) "sta(lecer un programa de capacitación de personal de sistemas y usuarios. 6) "legir una aplicación que rena la mayor parte de los siguientes requisitos a) 5ran impacto de resultados. #) %isponi(ilidad de recursos. c) ?ínimo nivel de riesgos. d) ?$ima cola(oración de usuarios. e) 3ama#o reducido de solución. 9) e esta(lecern interfaces de compati(ilidad de los nuevos sistemas que de(en convivir con los sistemas anteriores. Co"s$derac$o"es Importa"tes ;) La elección del -ase va a depender de sus estrategias de desarrollo i tiene un gran volumen de aplicativos desarrollados, es conveniente contrastar lo realizado versus las técnicas de )nlisis y %ise#o. i tiene presión por resultados a corto plazo, el empleo de un Lo&er -ase le ser de utilidad, si se (asa en modelos de datos y procesos claros y denidos. i desea realizar proyectos de gran envergadura es recomenda(le aplicar Upper y Lo&er -ase. •
•
•
6 2
•
•
i tra(a!a con archivos de grandes dimensiones, es recomenda(le que el -ase soporte el %ise#o de 4ases de %atos. i no tiene formación y e$periencia en el mane!o de metodologías, es recomenda(le contar con asesoría especializada, que capacite al personal y supervise los avances de )nlisis y %ise#o.
>) "vale la eciencia del producto en las prue(as unitarias y de integración, y fundamentalmente en las prue(as de sistemas. ?) -onsidere los recursos apropiados para usar el -ase, de +ard&are /memoria, disco, concurrencia0, de oft&are /versión de istema Gperativo0. TEN+ENCIAS TECNOLP*ICAS F +EL MERCA+O +E LAS HERRAMIENTAS CASE
Las principales líneas de evolución hacia las que parecen encaminarse las herramientas -)" son •
CASE para s$stemas #ajo arK4$tect4ra cl$e"teser3$dor .
La línea de evolución, en este caso, vendr marcada por versiones me!oradas de la herramienta, que faciliten cada vez ms la distri(ución de los elementos de una aplicación entre los diferentes clientes y servidores y una mayor li(eralización del programador, de todos los aspectos que no sean propios de la aplicación /protocolos de red, seguridad, etc.0. •
•
CASE m4lt$plataforma) "stas herramientas soportan las com(inaciones dominantes de diferentes plataformas físicas, sistemas operativos, interfases grcas de usuario, sistemas de gestión de (ases de datos, lengua!es de programación y protocolos de red. "n este sentido el futuro podr ser de apertura creciente a nuevas plataformas y porta(ilidad ms generalizada. CASE para $"(e"$era $"3ersa B d$recta) Ea e$isten algunas herramientas de este tipo. u evolución marcar nota(les me!oras en la 6 2
•
•
o(tención de los dise#os a partir del código ya e$istente /ingeniería inversa0 y la regeneración del mismo, una vez optimizado el dise#o /ingeniería directa0. CASE para tra#ajo e" (r4po (ro4pware) "stas herramientas se centran en el proceso de desarrollo ms que en el producto a desarrollar, facilitando la integración de diferentes grupos humanos, pertenecientes incluso a empresas diferentes, tra(a!ando con!untamente en un gran proyecto. %e(erían incorporar las facilidades clsicas de omtica correo electrónico, calendarios en línea, planicación de actividades, preparación de documentos, actas de reuniones, etc. CASE para desarrollo de s$stemas or$e"tados a o#jetos) "n la actualidad e$isten algunas herramientas que cu(ren alguna de las fases del ciclo de vida de desarrollo de aplicaciones orientadas a o(!etos /interfase de usuario, anlisis, dise#o, programación, etc.0. "l o(!etivo futuro podría ser cu(rir el ciclo de vida completo. )unque hoy en día, la mayor efectividad se consigue con las herramientas -)" para métodos estructurados, en un futuro no muy le!ano esta situación se invertir a favor de las que soportan o(!etos. La proliferación de este tipo de herramientas podr verse retrasada de(ido al gran nmero de notaciones y metodologías de orientación a o(!etos distintas que e$isten en la actualidad.
"s importante resaltar que las herramientas actuales permiten generar o(!etos modelo KestticoK y modelo KfuncionalK, mas no el modelo KdinmicoK. La programación orientada a o(!etos puede cam(iar la forma que tienen las empresas de hacer negocio y como tal, necesita ser tratada cuidadosamente, tanto por las empresas u organismos, como por los fa(ricantes de tecnologías que proporcionan las soluciones. ) mediano y largo plazo, otras posi(les líneas de evolución sern • • •
La utilización de la tecnología multimedia. La incorporación de técnicas de inteligencia articial. istemas de realidad virtual.
6 2