Herramientas Para El Desarrollo de Software

7
Herramientas para el Desarrollo de Software Las Herramientas de Ayuda al Desarrollo de Sistemas de Información, surgieron para intentar dar solución a los problemas inherentes a los proyectos de generación de aplicaciones informáticas: plazos y presupuestos incumplidos, insatisfacción del usuario, escasa productividad y baja calidad de los desarrollos. Algunas de estas herramientas se dirigen principalmente a mejorar la calidad, como es el caso de las herramientas CASE (Computer Aided Software Engineering-Ingeniería de Software Asistida por Ordenador). Otras van dirigidas a mejorar la productividad durante la fase de construcción, como es el caso de los lenguajes de cuarta generación (4GL-Fourth Generation Language). Herramientas para diseñar software • Existe al menos 20 herramientas libres para diseñar software totalmente libres. • Todas utilizan la notación UML • El nivel de avance entre una y otra es notable, casi todas ofrecen como funcionalidad: Diagramas de caso de uso. Diagramas de clases. Diagramas de secuencia. • Generación de código en java, c++, python y php. • Algunas entidad-relación (pero ninguna lo suficientemente avanzada) • Pocas herramientas permiten ingeniería reversa, y si lo hacen solo es de lenguajes tipo java o c++. Herramientas para modelar bases de datos • Algunas de las herramientas case libres permiten modelar bajo Entidad-Relación, sin embargo su funcionalidad es bastante limitada. • Básicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre).

description

herramientas case

Transcript of Herramientas Para El Desarrollo de Software

Herramientas para el Desarrollo de SoftwareLas Herramientas de Ayuda al Desarrollo de Sistemas de Informacin, surgieron para intentar dar solucin a los problemas inherentes a los proyectos de generacin de aplicaciones informticas: plazos y presupuestos incumplidos, insatisfaccin del usuario, escasa productividad y baja calidad de los desarrollos. Algunas de estas herramientas se dirigen principalmente a mejorar la calidad, como es el caso de las herramientas CASE (Computer Aided Software Engineering-Ingeniera de Software Asistida por Ordenador). Otras van dirigidas a mejorar la productividad durante la fase de construccin, como es el caso de los lenguajes de cuarta generacin (4GL-Fourth Generation Language). Herramientas para disear software Existe al menos 20 herramientas libres para disear software totalmente libres. Todas utilizan la notacin UML El nivel de avance entre una y otra es notable, casi todas ofrecen como funcionalidad:Diagramas de caso de uso.Diagramas de clases.Diagramas de secuencia. Generacin de cdigo en java, c++, python y php. Algunas entidad-relacin (pero ninguna lo suficientemente avanzada) Pocas herramientas permiten ingeniera reversa, y si lo hacen solo es de lenguajes tipo java o c++.Herramientas para modelar bases de datos Algunas de las herramientas case libres permiten modelar bajo Entidad-Relacin, sin embargo su funcionalidad es bastante limitada. Bsicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre). Permiten hacer ingeniera reversa de la db para las que fueron diseadas, algunas otras soportan UnixODBC/Odbc segn sea el caso. Existen algunos modeladores en lnea. La documentacin que generan es bien bsica.Gestin de la configuracin Uno de los principales problemas en todos los proyectos de desarrollo de software es el versionaje. El versionaje nos permite llevar un control de los cambios en nuestro cdigo, quien y cuando lo hizo, porque lo hizo, que cambio a razn de que. Existe muchas alternativas libres en el mercado que unidos a otros productos permiten tener incluso hasta los historiales, hacer comparaciones, manejar tickets, llevar mtricas, etc. Casi todas las opciones cuentan con soporte de GUI para administracin y/o soporte Web lo que hace mucho mas cmodo trabajar en equipos de desarrollo distribuidos en varios lugares.Herramientas para Ingeniera de Software Asistida por Computadora (CASE) Son un conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. El empleo de herramientas Case permiten integrar el proceso de ciclo de vida: Anlisis de datos y procesos integrados mediante un repositorio. Generacin de interfaces entre el anlisis y el diseo. Generacin del cdigo a partir del diseo. Control de mantenimiento. Actualmente, la tendencia en el desarrollo de software est enfocada hacia las microcomputadoras como plataformas de ingeniera de software, que se interconectan mediante redes para que puedan comunicarse de forma efectiva. La base de datos del proyecto (tambin denominada biblioteca del proyecto o depsito de software), est disponible a travs de un servidor de archivos en red que es accesible desde todas las estaciones de trabajo. Un sistema operativo que gestiona el hardware, la red y las herramientas, mantiene todo el entorno unido. La arquitectura de entorno, compuesta por la plataforma hardware y el soporte del sistema operativo (incluida la red y la gestin de la base de datos), constituye la base del CASE. Pero el entorno CASE, en s mismo, necesita otros componentes. Un conjunto de servicios de portabilidad constituyen un puente entre las herramientas CASE y su marco de integracin y la arquitectura de entorno. El marco de integracin es un conjunto de programas especializados que permite a cada herramienta CASE comunicarse con las dems, para crear una base de datos de proyectos y mostrar una apariencia homognea al usuario final (el ingeniero de software). Los servicios de portabilidad permiten que las herramientas CASE y su marco de integracin puedan migrar a travs de diferentes plataformas hardware y sistemas operativos, sin grandes esfuerzos de adaptacin. Case se define tambin como Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases.v La sigla genrica para una serie de programas y una filosofa de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. Una innovacin en la organizacin, un concepto avanzado en la evolucin de tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al CASE como la unin de las herramientas automticas de software y las metodologas de desarrollo de software formales.Importancia de las herramientas CASELa mejor razn para la creacin de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compaas pudieron desarrollar sistemas sin encarar el problema detener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo. Tambin permite a las compaas competir ms efectivamente usando estos sistemas desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un mercado altamente competitivo, esto puede hacer la diferencia entre el xito y el fracaso. Las herramientas CASE tambin permiten a los analistas tener ms tiempo para el anlisis y diseo y minimizar el tiempo para codificar y probar. La introduccin de CASE integradas est comenzando a tener un impacto significativo en los negocios y sistemas de informacin de las organizaciones. Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor calidad para soportar procesos crticos del negocio y asistir en el desarrollo y promocin intensiva de la informacin de productos y servicios. La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo trmino, el aumento de la productividad. Para conseguir estos dos objetivos es conveniente contar con una organizacin y una metodologa de trabajo, adems de la propia herramienta. Evolucin de las herramientas CASEA inicios de los 80s: Ayuda en la documentacin por computadora. Diagramacin asistida por computadora. Herramientas de anlisis y diseo. A mediados delos 80s: Diseo automtico de anlisis y pruebas. Repositorios automticos de informacin de sistemas. Al final delos 80s: Generacin automtica de cdigo desde especificaciones de diseo A inicios delos 90s: Metodologa Inteligente. Interface de Usuario reusable como una metodologa desarrollo. Objetivos de las Herramientas CASE Mejorar la productividad en el desarrollo y mantenimiento del software. Aumentar la calidad del software. Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas informticos. Mejorar la planificacin de un proyecto. Aumentar la biblioteca de conocimiento informtico de una empresa ayudando a la bsqueda de soluciones para los requisitos. Automatizar el desarrollo del software, la documentacin, la generacin de cdigo, las pruebas de errores y la gestin del proyecto. Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la documentacin. Gestin global en todas las fases de desarrollo de software con una misma herramienta. Facilitar el uso de las distintas metodologas propias de la ingeniera del software.Clasificacin de las herramientas CASENo existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a: Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad.Clasificacin de las herramientas CASE, en funcin de las fases del ciclo de vida del desarrollo abarcadas1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado), abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. 2. Herramientas de alto nivel, U-CASE (Upper CASE CASE superior) o front-end, orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: anlisis y diseo. 3. Herramientas de bajo nivel, L-CASE (Lower CASE CASE inferior) o back-end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin. 4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento. Clasificacin de las herramientas CASE, utilizando la funcionalidad como criterio principalHerramientas de planificacin de sistemas de gestinSirven para modelizar los requisitos de informacin estratgica de una organizacin. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de informacin especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de la organizacin. Herramientas de anlisis y diseoPermiten al desarrollador crear un modelo del sistema que se va a construir y tambin la evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representacin del anlisis y ayudan a eliminar errores con anticipacin. Se tienen: Herramientas de anlisis y diseo (Modelamiento). Herramientas de creacin de prototipos y de simulacin. Herramientas para el diseo y desarrollo de interfaces. Mquinas de anlisis y diseo (Modelamiento). Herramientas de programacin. Se engloban aqu los compiladores, los editores y los depuradores de los lenguajes de programacin convencionales. Ejemplos de estas herramientas son: Herramientas de codificacin convencionales. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos.Herramientas de integracin y pruebaSirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos desarrollados. Entre las ms utilizadas estn: Herramientas de anlisis esttico. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos.Herramientas de gestin de prototiposLos prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluacin de especificaciones de un sistema de informacin, o para un mejor entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los objetivos perseguidos. Herramientas de mantenimientoLa categora de herramientas de mantenimiento se puede subdividir en: Herramientas de ingeniera inversa. Herramientas de restructuracin y anlisis de cdigo. Herramientas de reingeniera.Herramientas de gestin de proyectosLa mayora de las herramientas CASE de gestin de proyectos, se centran en un elemento especfico de la gestin del proyecto, en lugar de proporcionar un soporte global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen tambin herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes: Herramientas de planificacin de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestin y medida. Herramientas de soporte. Se engloban en esta categora las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuacin:1. Herramientas de documentacin.2. Herramientas para software de sistemas.3. Herramientas de control de calidad.4. Herramientas de bases de datos.