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

Slides:



Advertisements
Presentaciones similares
1 Introducción a la Programación Estructurada Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
Advertisements

1 Lenguaje de Programación Clase 1 Alberto Huamani Escobar
Lenguajes de programación Web Juan Felipe Muñoz Fernández.
INTEGRANTES EVARISTO MINA ARROYO JULIO CESAR CUERO JOHN EDWIN URBANO MAFLA.
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
A NÁLISIS L ÉXICO Y ANÁLISIS SINTÁCTICO. COMPILADORES ANÁLISIS LÉXICO Y ANÁLISIS SINTÁCTICO ANGIE EVILLA LUQUEZ CORPORACIÓN UNIVERSITARIA REMINGTON INGENIERÍA.
Programación INSTITUTO EVANGELICO LUZ Y VERDAD Nombre: Karoline Cañas Profesor: Moisés Bados Director: Armando Santos.
Fundamentos de Programación de Computadores Módulo de Análisis y Diseño de Algoritmos.
Fases de la Gestión de Proyectos Existen diversos enfoques de la gestión de actividades del proyecto, incluyendo: agilidad, enfoque interactivo, incremental.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Alcance Visión general
Polimorfismo subtipado
Parcial # 1 La Computadora.
Fundamentos de programación
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
Los sistemas de información
El hardware y el software
PROGRAMACION ESTRUCTURADA.
Elaboración del formulario
BASE DE DATOS NOMBRE: Natali Jovana García Toro. GARDO:7.3
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
introducción Ingeniería de software
INTRODUCCIÓN Elmasri: Pág
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
ENFOQUES DE CONSERVACIÓN
BREVE INTRODUCCIÓN.... El estándar fue generado por un equipo de trabajo del IEEE, su finalidad es la integración de los requerimientos del sistema.
BLANCA MARGARITA URRIAGO UNIVERSIDAD MANUELA BELTRAN
INNOVACIONES TECNICAS A LO LARGO DE LA HISTORIA
Tema 6. Conceptos básicos de programación Clase 1
Software Se conoce como software al equipamiento lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos.
Fundamentos del computador
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Infografía. Estructura de Datos.
Unidad 1. Conceptos básicos
Introducción a la Simulación
Salir de la presentación
UML 2,0 Christian Sáenz.
Las herramientas Case Julian madrigal.
NUEVAS TECNOLOGIAS DE INFORMACION Y COMUNICACIÓN.
INFORMATICA BASICA BIENVENIDAS.
TAREA DEFINICIONES: Software: Equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios.
Diagramas del modelo uml
CURSO: Administración del Proceso Productivo
Fundamentos de Programación
Proceso Unificado de Desarrollo de Software
PROGRAMACIÓN 1 INTRODUCCIÓN
NOMBRE DE LA ASIGNATURA: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE
Herramientas Entorno Web
Empresa: Software ABC Colombia
Tecnologías de información
XBRL en la recogida de datos de las Estadísticas Estructurales
SOFTWARE.
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Modelo de la cascada (cont.)
Fundamentos de la Programación I
Aplicación de PSP (Personal Software Process)
SICRES-Tester Presentación Ejecutiva
Fundamentos de la Programación I
PROYECTO INFORMÁTICO ¿QUÉ ES UN PROYECTO INFORMÁTICO?
MODELAMIENTO DE BASES DE DATOS
NUEVAS TECNOLOGIAS DE INFORMACION Y COMUNICACIÓN.
Requisitos Ing. Maribel Valenzuela Beltrán 1.
Dr. Carlomagno Araya Alpízar
INSTITUTO TECNOLOGICO DE VERACRUZ
Metodologías de Desarrollo Web
METODOLOGÍAS ÁGILES Por metodologías ágiles entendemos a aquellas metodologías de gestión que permiten adaptar la forma de trabajo al contexto y naturaleza.
UNIDAD 2 MODELO DE DATOS.
Características de los Sistemas Operativos
LA INTEGRACIÓN SEGMENTADA COMO METODOLOGÍA DE DESARROLLO PARA UNA GERENCIA DE SISTEMAS DE INFORMACIÓN EFECTIVOS 05/08/2019.
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Transcripción de la presentación:

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

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.

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.

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.

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.

Calidad del soporte CASE para actividades del proceso de software.

Herramientas, mesas de trabajo y ambientes CASE

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.