La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Objetivo de CASE: Aumentar la productividad de los grupos de diseño y desarrollo, obteniendo productos de software de mayor calidad.

Presentaciones similares


Presentación del tema: "Objetivo de CASE: Aumentar la productividad de los grupos de diseño y desarrollo, obteniendo productos de software de mayor calidad."— Transcripción de la presentación:

1 Objetivo de CASE: Aumentar la productividad de los grupos de diseño y desarrollo, obteniendo productos de software de mayor calidad.

2 Niveles de CASE: (1) Tecnología para el soporte de procesos de producción: Incluye soporte para actividades tales como especificación, diseño, implantación, pruebas, etc. Las herramientas de este nivel son las más desarrolladas. (2) Tecnología para la administración del proceso: Herramientas para soporte de la administración y el modelado del proceso. Utilizan herramientas del nivel (1) para soportar actividades específicas del proceso. (3) Tecnología Meta-CASE: Herramientas generadoras de herramientas para el soporte del proceso de producción, y para la administración del proceso de producción.

3 Problemas de CASE: Para grandes sistemas, se presentaron problemas de complejidad tanto en el proceso de diseño y desarrollo, como en el mismo producto de software, que las herramientas CASE no pudieron resolver. Las herramientas CASE no presentaban un nivel de integración adecuado; soportaban partes del proceso, representando “islas de automatización”. Esto limita su aplicación general. Los usuarios de CASE subestimaron los costos de entrenamiento y adaptación de las herramientas, lo que provocó la subutilización de las mismas.

4 Clasificación de las herramientas CASE.
Funcional: por la función que soporta. Por Fase: de acuerdo a las fases del proceso soportadas (diseño, programación, mantenimiento, etc.) Por Alcance: según la extensión de soporte de la herramienta (tareas específicas o generales). Por Actividad: considerando la aplicación de las herramientas en las diferentes etapas del proceso.

5 Clasificación Funcional de las Herramientas CASE.
Herramientas de Administración Edición Administradores de configuración Elaboración de prototipos Soporte de Métodos Proceso de lenguajes Herramienta de prueba Depuradores Documentación Reingeniería PERT, CPM, estimadores. Editores de texto, de diagramas. Control de versiones y cambios. Lenguajes alto nivel; generadores de interfaces para el usuario. Editores de diseño, diccionarios de datos, generadores de código. Compiladores e intérpretes Generadores de datos de prueba y comparadores de archivos. Depuradores interactivos. Editores de página e imagen. Referencias cruzadas; sistemas para reestructuración de programas.

6 Calidad del soporte CASE para actividades del proceso de software.

7 Herramientas, mesas de trabajo y ambientes CASE

8 Mesas de Trabajo CASE. Una mesa de trabajo CASE puede definirse como un conjunto de herramientas que dan soporte a una fase particular del proceso de software, como el diseño, la implantación, o las pruebas. La ventaja de conjuntar un grupo de herramientas consiste en lograr un mejor nivel de integración, por lo que se proporciona un mejor soporte a la fase o fases del proceso. Las mesas de trabajo CASE se encuentran disponibles comercialmente para proporcionar soporte a la mayoría de las actividades del proceso de software, aunque actividades propias del análisis, diseño, programación y pruebas, reciben un soporte de mejor calidad que otras actividades.

9 Mesas de Trabajo CASE. Las mesas de trabajo CASE pretenden proporcionar soporte a una o varias fases del proceso de software; tales actividades pueden variar significativamente de una empresa a otra; por esta razón, es deseable que las mesas de trabajo CASE sean sistemas abiertos. Una mesa de trabajo construida como un sistema abierto incluye mecanismos de control, o permite la programación de los mismos. Ya que no existen normas relativas a la integración de datos, o no son aceptadas por la mayoría, la integración de datos se lleva a cabo mediante una estrategia de archivos compartidos.

10 Ventajas de las mesas de trabajo CASE abiertas.
Las herramientas nuevas y más especializadas, que satisfagan nuevas necesidades de una organización, pueden agregarse fácilmente a la mesa de trabajo. Por otra parte, las herramientas existentes que ya no sean satisfactorias, pueden ser reemplazadas por nuevas herramientas. Los archivos generados por las herramientas pueden ser manipulados por un sistema de manejo de la configuración. Es posible la introducción y evolución de mesas de trabajo incrementales, esto es, la tecnología CASE utilizada por una organización puede evolucionar y hacerse más compleja y poderosa, a medida que el personal de dicha organización va adquiriendo experiencia, y que los niveles de producción de la organización aumenten. Se evita la dependencia de un solo proveedor; las herramientas pueden conseguirse de distintos proveedores.

11 Ventajas de las mesas de trabajo CASE abiertas.
Considerando las ventajas anteriores, puede pensarse que las mesas de trabajo CASE abiertas son preferibles. Sin embargo, muchos proveedores de mesas de trabajo CASE optan por el modelo de sistemas cerrados, en los que los protocolos de integración son propiedad de dichos vendedores. Estas mesas de trabajo presentan niveles de integración de datos, de presentación y de control superiores a los correspondientes de las mesas de trabajo abiertas. En resumen, debe evaluarse cuidadosamente la selección de una mesa de trabajo, para decidir acertadamente si se desea una mesa abierta o una mesa cerrada.

12 Mesas de trabajo para programación.
Una mesa de trabajo para programación está constituida por un conjunto de herramientas que dan soporte a la fase de desarrollo de programas. Estas mesas fueron los primeros sistemas CASE que conjuntaron editores, compiladores y depuradores. Los ensambladores y los compiladores que traducen lenguaje de alto nivel a código de máquina, son los elementos fundamentales de este tipo de mesas de trabajo. La información generada correspondiente a sintaxis y semántica puede utilizarse por otras herramientas (analizadores estáticos y dinámicos). Además, los depuradores proporcionan una ayuda importante a los programadores, para descubrir errores empleando árboles de sintaxis y tablas de símbolos.

13 Herramientas que constituyen una mesa típica para programación:
Compiladores de lenguaje: Traducen el programa fuente en código de máquina; como parte del proceso de traducción, construyen un árbol abstracto de sintaxis y una tabla de símbolos. Editores estructurados: Incorporan un conocimiento del lenguaje de programación y editan la representación del programa en el árbol de sintaxis en lugar de utilizar el texto del código. Enlazadores: Ligan el código objeto con otros componentes previamente compilados. Cargadores: Cargan el programa ejecutable en la memoria de la computadora, antes de su ejecución. Generadores de referencias cruzadas: Producen un listado de referencias cruzadas, mostrando los nombres de las variables definidas en el programa y en donde son utilizadas.

14 Herramientas que constituyen una mesa típica para programación:
Impresores dedicados: Exploran el árbol abstracto de sintaxis e imprimen el programa fuente de acuerdo a reglas de formato previamente especificadas. Analizador estático: Analizan el código fuente para descubrir anomalías tales como variables sin valor inicial, código no alcanzable, funciones y procedimientos codificados pero no utilizados, etcétera. Analizador dinámico: Generan un listado del código fuente, indicando el número de veces que cada instrucción fue ejecutada cuando el programa es usado. También pueden generar información relativa a bifurcaciones e iteraciones, así como estadísticas sobre el uso del procesador. Depurador interactivo: Permite controlar la secuencia de ejecución, y observar el estado del programa a medida que la ejecución progresa.

15 Mesas de trabajo para programación.
Las mesas de trabajo para programación pueden implantarse como colecciones de herramientas que corren en un sistema operativo de propósito general (como UNIX), o pueden ser integradas al compilador del lenguaje de programación. Las mesas de programación basadas en UNIX son abiertas, y evolucionaron de los experimentos realizados a través de la UNIX PROGRAMMERS WORKBENCH. Algunas de esas herramientas se venden actualmente con el sistema UNIX. Por otro lado, existen muchas mesas de programación comercialmente disponibles para computadoras personales, aunque por razones de comercialización no se venden como tales, sino como compiladores de lenguajes de programación que proporcionan soporte adicional.

16 Mesas de trabajo para programación.
Estas mesas de programación son por lo general sistemas cerrados, y presentan un nivel de integración elevado y emplean estructuras de datos compartidas entre el compilador y otras herramientas. Ejemplos de compiladores comercialmente disponibles son los correspondientes a los lenguajes Basic, C, C++, Pascal, Lisp, Smalltalk y demás. Estas mesas de trabajo incluyen un editor orientado por el lenguaje, un compilador y un sistema depurador, de tal forma que a medida que el código se compila y ejecuta, el usuario puede detectar errores y corregirlos usando de manera inmediata el editor, y continuando el proceso de compilación hasta que los errores de sintaxis son superados. También incluyen varias vistas del programa que pueden auxiliar al usuario en el examen de la estructura global del mismo.

17 Mesas de trabajo para programación.
Otro enfoque utilizado en la elaboración de aplicaciones comerciales, lo representan los lenguajes de cuarta generación (4GLs). Estos lenguajes son en realidad mesas de programación que incluyen prestaciones adicionales que permiten la producción interactiva de aplicaciones, mediante la abstracción de información procedente de una base de datos. Los 4GLs presentan la información a los usuarios, a través de una interfaz, y permiten los cambios a la base de datos solicitados por tales usuarios. Estas mesas de trabajo para programación suelen incluir: a) un lenguaje de consulta para bases de datos; b) una herramienta de diseño de formas para entrada de datos y despliegue; c) una hoja de cálculo para análisis e interpretación de información; y d) un generador de reportes.

18 Mesas de trabajo para programación.
A diferencia de los otros tipos de mesas de programación, en los que el lenguaje es el componente fundamental (a través de compiladores y ensambladores), la base de datos es el componente central en una mesa de trabajo 4GL.

19


Descargar ppt "Objetivo de CASE: Aumentar la productividad de los grupos de diseño y desarrollo, obteniendo productos de software de mayor calidad."

Presentaciones similares


Anuncios Google