El Analista de Sistemas es imprescindible en cualquier organizacin, debido al abanico de destrezas que ste posee y los beneficios que le produce. Se encarga no slo estudiar la organizacin y desarrollar un sistema automatizado, es ms que eso, la labor del analista de sistemas es tambin la de asesorar, supervisar, recomendar y modificar procesos internos y algunas veces de modificar la estructura misma de la empresa, con el propsito de lograr los objetivos que se proponen. Todo desarrollo liderado o no por un analista de sistemas posee fases que pueden dividirse lgicamente en elementos discretos pero, que innegablemente son continuos, de alguna manera cclica. Este conjunto de fases son conocidas como el Ciclo de Vida de Desarrollo de Sistemas, herramienta fundamental para el desempeo de un analista de sistemas. .
Santos (1980, p.12) define las funciones del analista de sistemas para la dcada de los ochenta como sigue; "el analista de problemas en computacin deber conocer procedimientos para indagar sobre lo existente y para saber proponer un verdadero sistema racionalizado, pero tambin deber conocer sobre modernos sistemas de informacin, base del diseo, sobre todo en computacin Estos ltimos factores son los que justifican tal especialidad, porque realmente debieron existir los analistas de sistemas, aunque no hubiera computadores, toda vez que siempre hubo sistemas para organizar, que posiblemente no se difundieron porque no existieron en importancia esos dos factores que hoy prevalecen: el computador y la informacin." La definicin de analista de sistemas de Senn (1992, p. 12), agrega: "Los analistas hacen mucho ms que resolver problemas. Con frecuencia se solicita su ayuda para planificar la expansin de la organizacin", es decir, el papel de los analistas sobrepasa los limites impuestos por la definicin inicial, tambin cumplen el papel de asesores, ya sea en sistemas manuales o informatizados, o cualquier otro sistema donde la empresa tenga que invertir en informacin, despus de todo esa es la razn de ser del analista. Comparando las dos definiciones anteriores podemos notar que en veinte aos no cambi la descripcin de analista de sistemas, ms bien se le atribuyeron nuevas caractersticas que lo definen como un ente de cambio, necesario en cualquier organizacin con tendencia a crecer.
Segn Senn, dependiendo de las funciones de un analista de sistemas se puede clasificar en: Analista de sistemas, Analista y diseador de sistemas y analista diseador y programador de sistemas, en donde cada uno se puede identificar y diferenciar de los dems por las actividades que definen sus denominaciones. Tambin podemos clasificar a los analista de sistema como Consultor, Experto de soporte y Agente de cambio, clasificacin segn Kendall (1997, p.6). Vale la pena explicar un poco la clasificacin de ste ltimo autor debido a que no se basa en las actividades propias del analista, sino los papeles que cumple en las fases impuestas en el paradigma Ciclo de Vida de Desarrollo de Sistemas (CVDS). Cuando se comienza el CVDS el analista cumple en papel de consultor. El experto en soporte se identifica con los ltimos pasos del CVDS donde el analista se desempea en el asesoramiento de hardware y software. Como Agente de Cambio se tiene el papel ms importante y ms difcil, la comunicacin con empleados dentro de la fase de recopilacin de informacin es probable que los empleados piensen que el sistema los va a sustituir, aunque algunas veces es cierto, el analista debe internalizar que el cambio es en pro de la organizacin y no de un grupo minoritario o sectorial. As desarrollar sus actividades de manera regular.
Una pregunta comn sobre los analistas de sistemas es Todos los analistas deben programar?, Segn Senn (1992, p.16); "La respuesta depende de la organizacin. Sin embargo, una cosa es evidente: el analista de sistemas ms valioso y mejor calificado es aquel que sabe programar.", ciertamente el analista que tiene fuertes principios de programacin sabe que se puede y que no se puede, o que es difcil de desarrollar en un lapso de tiempo, recordemos que todos los proyectos informticos tienen siempre lapsos de tiempo bien reducidos y que si no se tiene el equipo apropiado es difcil cumplir con los plazos establecidos, lo que trae como consecuencia muchas veces la falla de todo el proyecto. Adems el analista programador tiene facilidad para comunicar sus ideas a los constructores de cdigo, ya que l estuvo en ese lugar alguna vez y sabe en que forma se necesita la informacin al momento de generar cdigo.
Roles del Analista segn Kendall El rol de consultor del analista de sistemas
Con frecuencia, el analista de sistemas desempea el rol de consultor para un negocio y, por tanto, podra ser contratado de manera especfica para enfrentar los problemas de sistemas de informacin de una empresa. Esta contratacin se puede traducir en una ventaja porque los consultores externos tienen una perspectiva fresca de la cual carecen los dems miembros de una organizacin. Tambin se puede traducir en una desventaja porque alguien externo nunca conocer la verdadera cultura organizacional. En su funcin de consultor externo, usted depender en gran medida de los mtodos sistemticos que se explican en este libro para analizar y disear sistemas de informacin apropiados para una empresa en particular. Adems, tendr que apoyarse en los usuarios de los sistemas de informacin para entender la cultura organizacional desde la perspectiva que tienen ellos.
El rol de experto en soporte tcnico del analista de sistemas
Otro rol que tendr que desempear es el de experto en soporte tcnico dentro de la empresa en la cual labora de manera regular. En este rol el analista recurre a su experiencia profesional con el hardware y software de cmputo y al uso que se le da en el negocio. Con frecuencia, este trabajo no implica un proyecto completo de sistemas, sino ms bien la realizacin de pequeas modificaciones o la toma de decisiones que se circunscriben a un solo departamento.
Como experto de soporte tcnico, usted no est a cargo del proyecto; tan solo acta como recurso para aquellos que si lo estn. Si usted es un analista de sistemas contratado por una empresa de manufactura o servicios, gran parte de sus actividades podran ajustarse a este rol.
El rol de agente de cambio del analista de sistemas
El rol ms completo y de mayor responsabilidad que asume el analista de sistemas es el de agente de cambio, ya sea interno o externo para la empresa. Como analista, usted es un ajen te de cambio si desempea cualquiera de las actividades relacionadas con el ciclo de vida del desarrollo de sistemas (que se explicara en la siguiente seccin) y est presente en la empresa durante un largo periodo (de dos semanas a ms de un ao). Un agente de cambio se puede definir como alguien que sirve de catalizador para el cambio, desarrolla un plan para el cambio y coopera con los dems para facilitar el cambio.
Habilidades de un Analista Los analistas poseen un amplio rango de habilidades. El analista es un solucionador de problemas Es una persona que aborda como un reto el anlisis de problemas y que disfruta al disear soluciones factibles. Cuando es necesario, el analista debe contar con la capacidad de afrontar sistemticamente cualquier situacin mediante la correcta aplicacin de herramientas, tcnicas y su experiencia. El analista tambin debe ser un comunicador con capacidad para relacionarse con los dems durante extensos periodos. Necesita suficiente experiencia en computacin para programar, entender las capacidades de las computaras, recabar los requisitos de informacin de los usuarios y comunicarlos a los programadores. Debe tener una tica personal y profesional firme que le ayude a moldear las relaciones con sus clientes.
Contacto con los usuarios Es difcil determinar el tamao de un sistema a desarrollar si no conocemos los diferentes niveles del mismo, los diferentes detalles de las salidas de informacin, a quienes van dirigidas y cual es la mejor forma de hacerlo. Los analistas de Sistemas estn en la obligacin de recorrer desde los niveles ms altos de la empresa (gerentes y directivos), hasta los niveles ms bajos (obreros y empleados) para determinar quienes realmente necesitan la informacin, con que oportunidad y grado de detalle de cada peldao de la escalera institucional. "Los gerentes y empleados tienen buenas ideas a qu es lo que si trabaja y qu es lo que no, qu causa problemas y qu no, dnde son necesarios los cambios y dnde no."(Senn, p.13), en efecto, quien mejor que los que da a da ven el sistema y como sus compaeros o subordinados lo reciben, para decirle al analista con anticipacin cual ser la aceptacin del producto final y que mejoras deben tener. A fin de cuentas ellos son los que le sacarn provecho al sistema, los que se alimentarn del mismo.
Ciclo de vida del Desarrollo de Sistemas Ciclo de vida del Desarrollo de Sistemas Los analistas proceden sistemticamente. El marco de referencia para su enfoque sistemtico es proporcionado por lo que es llamado el ciclo de vida clsico del desarrollo de sistemas (CVDS). Este puede ser dividido en seis fases secuenciales, aunque en realidad las fases estn interrelacionadas y frecuentemente se llevan a cabo simultneamente. Las fases segn Senn son: Investigacin Preliminar. Determinacin de los requerimientos del sistema Diseo del sistema Desarrollo del software Prueba de sistemas Implantacin y evaluacin Ciclo de vida del Desarrollo de Sistemas Investigacin Preliminar: La solicitud para recibir ayuda de un sistema de informacin puede originarse por varias razones: sin importar cuales sean estas, el proceso se inicia siempre con la peticin de una persona.
Ciclo de vida del Desarrollo de Sistemas Determinacin de los requerimientos del sistema: El aspecto fundamental del anlisis de sistemas es comprender todas las facetas importantes de la parte de la empresa que se encuentra bajo estudio. Los analistas, al trabajar con los empleados y administradores, deben estudiar los procesos de una empresa para dar respuesta a las siguientes preguntas clave: Qu es lo que hace? Cmo se hace? Con que frecuencia se presenta? Qu tan grande es el volumen de transacciones o decisiones? Cul es el grado de eficiencia con el que se efectan las tareas? Existe algn problema? Qu tan serio es? Cul es la causa que lo origina?
Ciclo de vida del Desarrollo de Sistemas Diseo del sistema: El diseo de un sistema de informacin produce los detalles que establecen la forma en la que el sistema cumplir con los requerimientos identificados durante la fase de anlisis. Los especialistas en sistemas se refieren, con frecuencia, a esta etapa como diseo lgico en contraste con la del desarrollo del software, a la que denominan diseo fsico.
Ciclo de vida del Desarrollo de Sistemas Desarrollo del software: Los encargados de desarrollar software pueden instalar software comprobando a terceros o escribir programas diseados a la medida del solicitante. La eleccin depende del costo de cada alternativa, del tiempo disponible para escribir el software y de la disponibilidad de los programadores.
Por lo general, los programadores que trabajan en las grandes organizaciones pertenecen a un grupo permanente de profesionales..
Ciclo de vida del Desarrollo de Sistemas Prueba de sistemas: Durante la prueba de sistemas, el sistema se emplea de manera experimental para asegurarse de que el software no tenga fallas, es decir, que funciona de acuerdo con las especificaciones y en la forma en que los usuarios esperan que lo haga. Se alimentan como entradas conjunto de datos de prueba para su procesamiento y despus se examinan los resultados.
Ciclo de vida del Desarrollo de Sistemas Implantacin y evaluacin: La implantacin es el proceso de verificar e instalar nuevo equipo, entrenar a los usuarios, instalar la aplicacin y construir todos los archivos de datos necesarios para utilizarla. Una vez instaladas, las aplicaciones se emplean durante muchos aos. Sin embargo, las organizaciones y los usuarios cambian con el paso del tiempo, incluso el ambiente es diferente con el paso de las semanas y los meses..
Ciclo de vida del Desarrollo de Sistemas "Los analistas no estn de acuerdo con qu tantas fases exactas hay en el ciclo de vida de desarrollo de sistemas, pero, por lo general, alaban su enfoque organizado."(Kendall, 1997, p.8) Es cierto que el CVDS es un modelo muy organizado para la programacin estructurada, pero no siempre se puede aplicar para el desarrollo de aplicaciones, especialmente cuando empezamos a utilizar nuevas metodologas y convenciones. Un ejemplo de ello es la dificultad de aplicar el enfoque estructurado del CVDS para el desarrollo de una aplicacin Web. Digamos que tenemos que disear un peridico electrnico y que nuestra base de datos se encuentra en un servidor A, que tenemos un servidor Web (WWW) en otra ubicacin B y que tenemos un servidor de archivos (FTP) en otro sitio diferente C. Ya este tipo de organizacin lgica del sistema se sale de las expectativas de las personas que idearon la metodologa estructurada del CVDS. Claro, con esto no digo que el paradigma no pueda adaptarse, crear como una especie de metodologa hbrida que permita combinar diferentes herramientas, pero ya no tendra la estructura original.
Herramientas CASE en RAD El Desarrollo Rpido de Aplicaciones o Rapid Application Development (RAD) es un proceso de desarrollo de software desarrollado inicialmente por James Martin en 1980. El mtodo comprende el desarrollo iterativo, la construccin de prototipos y el uso de utilidades CASE Tradicionalmente, el desarrollo rpido de aplicaciones tiende a englobar tambin la usabilidad, utilidad y la rapidez de ejecucin.
Hoy en da se suele utilizar para referirnos al desarrollo rpido de GUIs tal como Glade, o IDEs de desarrollo completas. Algunas de las plataformas ms conocidas son Visual Studio, Delphi, Anjuta.
Herramientas CASE Herramientas CASE existen an para las tcnicas de programacin ms modernas, en lo que toca a Movilidad por ejemplo, tenemos FileMaker que permite generar cdigo para iOS, Genexus que nos entrega cdigo para Android, Windows e iOS, hay otras herramientas como Unity que genera cdigo para Augmented Reality. Las necesidades van generando nuevas tcnicas de programacin, lo que obliga a ir generando nuevas herramientas de apoyo, estas modernas CASE permiten lograr cdigo y ejecutables, todo en uno. Razones para utilizarlas: Aumento en la productividad del analista Mejora de la comunicacin analista-usuario Integracin de las actividades del ciclo de vida Evaluar de manera precisa los cambios en el mantenimiento
Qu es CARE? La ingeniera inversa y la reingeniera de software son mtodos para alargar la vida de programas en uso, conocido como software de reingeniera asistida por computadora (CARE, ComputerAssisted Reengineering) se utiliza para analizar y reestructurar el cdigo de sistemas Legacy existente.