U'M'S'F'X'CH Facultad de tecnologa Ingeniera de Sistemas - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

U'M'S'F'X'CH Facultad de tecnologa Ingeniera de Sistemas

Description:

Comprender la importancia del uso de las herramientas CASE ... Fuente: Jerarqu a de procesos desde el diagrama 0 hasta el ltimo nivel dados en el DFD y DD ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 68
Provided by: omarterraz
Category:

less

Transcript and Presenter's Notes

Title: U'M'S'F'X'CH Facultad de tecnologa Ingeniera de Sistemas


1
U.M.S.F.X.CHFacultad de tecnologíaIngeniería de
Sistemas
  • Herramientas Case

Ramiro Durán Quiroga Sucre - 1999
2
Objetivo
  • Conocer la evolución que ha tenido el desarrollo
    de software
  • Comprender la importancia del uso de las
    herramientas CASE
  • Conocer los requisitos que debe cumplir una
    herramienta de software y aprender a evaluar su
    calidad
  • Conocer las características más importantes que
    deben tener los CASE

3
Contenido
  • Ingeniería de software asistida por computadora
  • Clasificación
  • Componentes de la Ingeniería de Software
  • Características de las herramientas automatizadas
  • Evaluación de una herramienta CASE
  • Tendencias de los CASE

4
Evolución del Software
Reducir el costo de procesamiento y
almacenamiento de datos.
Tres décadas!
Reducir costos
  • Mejorar la calidad del Software

5
Desarrollar Software
  • El software no se rompe

Pero no hay piezas de repuesto, por lo tanto, el
mantenimiento incluye normalmente la corrección o
modificación del diseño
Se reemplazan las partes defectuosas durante el
mantenimiento
6
Fallos del software
Proporción de fallas
Deterioro temprano
Deterioro en el tiempo
Tiempo
7
Crisis del Software
  • La planificación y estimación de costos es muy
    imprecisa
  • La productividad no se corresponde con la
    demanda
  • La calidad del software no llega a ser la adecuada

8
Mito de Gestión
Poseemos herramientas de desarrollo de software
avanzados, les compramos las computadoras más
avanzadas.
Realidad Las herramientas de software son
más importantes que el hardware para
conseguir buena calidad y productividad.
Horror
9
Mito de los Realizadores
Realidad Ningún método de análisis y diseño es
infalible, pero el uso de una metodología
para el desarrollo del software está
implícito en todos.
No hay realmente ningún método para el
análisis, diseño y prueba que funcione bien, yo
simplemente me voy a mi terminal y comienzo a
codificar.
10
Solución
SE NECESITA UNA DISCIPLINA PARA EL DESARROLLO DE
SOFTWARE
La disciplina Ingeniería de software
11
Beneficios de la Ingeniería de Software
  • Aumenta la productividad
  • Aumenta la eficiencia
  • Aumenta la calidad del sistema de información
    obtenido

Debe resolver dos de los problemas de la crisis
del software
12
Los Problemas de los Desarrolladores
  • Costo necesidad de mejorar la efectividad
    del trabajo de los programadores y disminuir
    el costo
  • Sistematización para proyectos largos donde
    intervienen varios programadores es necesario
    poder mezclar el trabajo de todos ellos
  • Repetitividad acomodarse a las modificaciones
    que se pueden producir por el cambio
  • Claridad para entender y leer los programas

13
Ejemplos
  • Un cambio en un nivel de un DFD puede provocar
    cambios en otros niveles y en el DD lo que es
    costoso y desgastante (Repetitividad)
  • El sistema se dividió por partes y cada analista
    define sus propios elementos que pueden
    coincidir con los de otros y lograr uniformidad
    es trabajoso, pero necesario para garantizar
    calidad (Sistematización)

14
Ejemplos
  • La realización de un proyecto sigue demorando
    mucho tiempo y los analistas no utilizan los
    métodos bien, por lo que no explotan todas sus
    posibilidades para mejorar la calidad por lo
    tanto los sistemas siguen siendo muy costosos
    (Costo)

15
Ejemplos
  • Varias personas intervienen en la programación y
    cada uno tiene su estilo propio por lo que el
    programa se hace muy difícil de entender y leer
    aún cuando se fijen principios generales de
    codificación (Claridad)

16
Filosofía Directo a la Máquina
  • Descenso de la productividad
  • Uso de técnicas personales de análisis y diseño
    (si se usa alguna)
  • Dispersión incontrolada de la información sobre
    la aplicación lo que impide una homogénea
    producción y distribución de la documentación

17
CASE - Computer-Aided Software Engineering
  • Ingeniería de software asistida por computadora
    --gt más difundida
  • Ingeniería de sistemas asistida por
    computadora --gt es más precisa ya que
    el objetivo a largo plazo de los CASE es
    automatizar los aspectos claves de todo el
    ciclo de vida del proyecto desde el principio
    hasta el final

18
CASE
Ingeniería
CASE
Asistida por computadora
Los CASE fueron la última innovación del
enfoque estructurado.
19
Ingeniería
  • La ingeniería aplicada a la realización de
    sistemas informativos supone la adopción de
    técnicas derivadas del estudio científico de
    la problemática involucrada en los procesos
    complejos de puesta en marcha de nuevos
    programas

20
Asistida por computadora
  • La ayuda de la propia computadora en la
    realización de estas técnicas supone la
    aceptación de ésta como elemento de
    productividad para las tareas de análisis,
    diseño e implementación de los nuevos programas

21
Objetivo del CASE
  • Herramienta informática que permite la
    especificación de una aplicación además de la
    documentación automática de la misma mediante la
    utilización de diagramas u otras técnicas de
    especificación que interactúan con una base de
    datos o almacén integrado

22
Características
  • Permiten que los propios usuarios definan su
    metodología, reglas y estándares
  • Soportan una metodología
  • Soportan las metodologías más disímiles

La informática sale del estado artesanal
23
Ventajas Cuantificables
  • Ahorra un 30 de los costos de desarrollo y un
    50 de los costos de mantenimiento
  • Incrementa la productividad de 81 durante el
    desarrollo

24
Ventajas Cuantificables
  • Hace poco más de 10 años se dedicaba un 30 de
    los recursos a actividades de mantenimiento,
    hoy es de un 60 a 80 y la mitad de los
    profesionales de software de todo el mundo están
    ocupados manteniendo los sistemas
  • El esfuerzo necesario con el uso de CASE es el
    20 del necesario para mantener sistemas de
    desarrollo con métodos tradicionales.

25
Ventajas no Cuantificables
  • Involucra más a los usuarios finales en el
    desarrollo del proceso
  • Usan poderosos gráficos para describir y
    documentar los sistemas y mejorar la interfaz

26
Ventajas no Cuantificables
  • Establecimiento de estándares informáticos y
    normas de diseño al usar una metodología que
    está implícita en el CASE
  • Eliminación de tareas de mantenimiento clásico
    sustituyéndolas por mantenimiento CASE que son
    tareas de rediseño

27
Ventajas no Cuantificables
  • Consistencia de los procedimientos
  • Generación de código más consistente
  • Captura de los datos de los sistemas, es la
    capacidad para capturar, almacenar, procesar y
    recuperar los detalles del sistema bajo
    elaboración

28
Ventajas no Cuantificables
  • Posibilidad de realizar análisis para comprobar
    la corrección, consistencia y completitud
  • Automatización de tareas tediosas. Ejemplo
    dibujar los DFD
  • No se requiere de mucho tiempo de entrenamiento

29
Desventajas de los CASE
  • Muy caros
  • Alcance limitado
  • En general un uso obligado de diagramas
    gráficos para la especificación de los
    sistemas y alguna organización puede preferir el
    uso de un lenguaje de especificación
  • Son muy inflexibles

30
Funcionalidad de los CASE
  • Descansan en un almacén central de datos,
    diccionario de datos o enciclopedia
  • Son herramientas activas que diagnostican los
    errores en el mismo momento de producirse
  • Suplen de forma automática los aspectos del
    diseño no especificados, para lo cual aplican
    reglas heurísticas o el conocimiento previamente
    adquirido

31
Tendencias
Orientadas al código
Actuales
Vinculadas a metodologías
Herramientas de Software
De cuarta generación
Constructores de prototipos
Avanzados
Futuras
Productos de IA
32
Herramientas Orientadas al Código
  • Son a menudo las únicas herramientas
    disponibles para el desarrollo de software (una
    situación que no es ideal)
  • Incluyen compiladores de lenguajes de
    programación, editores, enlazadores y
    cargadores, ayudas para la depuración una
    amplia serie de utilidades específicas del
    lenguaje

33
Herramientas de Metodología
  • De la misma forma que un constructor necesita
    una pala para excavar los cimientos, antes que
    utilizar un martillo y una sierra para
    construir una casa, la ingeniería de software
    necesita de herramientas de metodología para
    diseñar y analizar, antes de codificar.

34
Herramientas de 4ta Generación
  • Contienen una sintaxis distinta para la
    representación del control y el acceso a las
    BD
  • Elimina la necesidad de especificar detalles
    algorítmicos
  • Combina características procedimentales y no
    procedimentales

35
Primera Clasificación
  • Upper Case
  • Middle Case
  • Lower Case

36
Upper Case
  • Altos (UPPER CASE) Frecuentemente llamada
    planeamiento asistido por computadora, poseen
    componentes para representar la planificación
    colectiva
  • las metas de la Compañía y sus departamentos.
  • la influencia de las operaciones en el logro de
    estas metas.
  • la ubicación de los recursos las funciones de c/u
    de los departamentos
  • Se representan gráficamente aspectos importantes
    de la empresa.

37
Fases que incluye el Upper CASE
  • Describen las partes importantes de la empresa
    (departamentos, funciones de cada uno de ellos,
    metas, objetivos, responsabilidades, recursos,
    problemas)
  • FASES
  • Definición del objeto de estudio
  • Definición del objeto de automatización
  • Estudio de factibilidad
  • Planificación del proyecto
  • Estudio de costos y beneficios

38
El Upper CASE Permite Entender
  • El colectivo y el mecanismo departamental
  • Las metas de la compañía y sus departamentos,
  • La influencia de las operaciones en las metas,
  • La ubicación dentro del colectivo y la
    administración departamental y operaciones,

39
El Upper CASE Permite Entender
  • La oportunidad y secuencia de operaciones,
  • La influencia de factores, la ubicación de los
    recursos
  • Los efectos de la influencia externa
  • Los problemas de frente a la organización
  • La importancia de la organización relativa a
    los sucesos de la organización.

40
Ejemplos
  • WORKBENCH Planificación en tiempo de los
    sistemas utilizando diagramas de Gantt
  • Planificación de recursos y personal
  • Existen herramientas automatizadas de
    estimación que permiten al planificador
    estimar costos y esfuerzos así como llevar
    análisis del tipo "que pasa sí" con importantes
    variables del proyecto tales como la fecha de
    entrega o la selección del personal

41
Información Deseada
  • Estimación cuantitativa del tamaño del proyecto
  • Complejidad
  • Fiabilidad requerida
  • Alguna descripción del personal y/o entorno de
    desarrollo
  • Estimaciones que ofrecen
  • Esfuerzo requerido para completar el proyecto
  • Costos
  • Agenda de desarrollo y el riesgo asociado
  • Carga de personal

42
Middle CASE
  • Medios (Middle CASE) se analiza el problema con
    la información que se tiene y se diseñan
    soluciones
  • Abarca las etapas de análisis y diseño del
    sistema
  • El uso de los Middle CASE
  • Proporciona métodos fáciles para diseñar sistemas
  • Es fácil determinar qu quieren que se haga y
    cómo resolver los problemas
  • Facilita la unión entre el análisis y el diseño
  • Facilidad para incluir prototipos.

43
Principios que rigen los Métodos de Análisis
  • El dominio de la información debe ser
    representado
  • El problema debe subdividirse de forma que se
    descubran los detalles
  • Deben describir las representaciones lógicas y
    físicas del sistema.
  • La visión lógica de los requerimientos del
    software presenta las funciones que han de
    realizarse y la información que ha de procesarse

44
Lower CASE
  • A partir de un conjunto de especificaciones se
    genera un elevado por ciento del código por lo
    que si se requiere modificar algo, no es
    necesario modificar el código, solo hay que
    modificar las especificaciones y generar
    nuevamente este.
  • Con el uso de LOWER CASE se
  • Genera del 60 al 80 del código del programa.
  • Facilidad para modificar sistemas generados por
    un LOWER CASE.
  • Facilidad para incluir prototipos.

45
Segunda Clasificación
  • Front-end (altos y medios) Usan técnicas que
    ayudan al analista a preparar
    especificaciones formales, validando las
    descripciones del sistema con el objetivo de
    determinar su consistencia y completitud.
  • Back-end (bajos) Están relacionados con la
    generación de código a partir de
    especificaciones que se le ofrecen
  • generadores de menúes
  • generadores de interfaces
  • generadores de reportes

46
Integrales o integradas
  • Abarcan todo el ciclo de vida
  • La integración de los CASE ocurre de la forma
  • Existencia de una interfaz uniforme
  • Transferencia de datos entre herramientas
  • Unión de las actividades de desarrollo La unión
    de las actividades de desarrollo se
    encuentra vinculada a la posibilidad de
    transferencia de datos entre herramientas.

47
Categorías Básicas de los CASE
  • ToolKit Colección de software que ofrecen
    asistencia automatizada para una tarea
    específica del desarrollo de un sistema.
  • WorkBench Obtención de software que
    ofrecen una asistencia automatizada para el
    análisis, diseño e implementación a la vez

48
Componentes de los CASE
  • Herramientas para la diagramación
  • Depósito de información
  • Generadores de interfaces
  • Generadores de código
  • Herramientas de administración

49
CASE para el Análisis
  • Demandan un método formal de especificación
    (texto o gráfico)
  • Dan mecanismos automáticos o semiautomáticos,
    para analizar la especificación
  • Crean una BD que representa los requerimientos
    en términos de información del sistema
  • Se usan para ayudar al analista aunque se basan
    en la información que dan ellos y los clientes

50
Ventajas CASE de Análisis
  • Mejora la calidad de la documentación a
    través de la estandarización e informes
  • Mejor coordinación entre los analistas a los que
    está disponible la BD

51
Ventajas CASE de Análisis
  • Los olvidos, omisiones e inconsistencias se
    descubren más fácilmente mediante aplicaciones e
    informes de referencias cruzadas
  • El impacto de las modifiaciones pueden ser
    trazado más fácilmente
  • Se reducen los costos de mantenimiento para la
    especificación

52
Productos CASE Analisis
  • Brief CASE
  • Arch 1.2
  • Analyze

53
CASE para el Diseño
  • Diseño de la BD
  • Fuentes Ficheros normativos y de consulta y las
    salidas que se reflejan en el DFD
  • Proceso de normalización automatizando sus pasos
    (1FN, 2FN, 3FN y FNBC)

54
Automatización del Diseño Estructurado
  • A partir de las relaciones obtenidas construir el
    DER en un proceso interactivo con los usuarios
  • Diseño de módulos
  • Fuente Primitivas funcionales descritas en el
    DD
  • Diseño del grafo conversacional
  • Fuente Jerarquía de procesos desde el diagrama
    0 hasta el último nivel dados en el DFD y DD
  • Diseño de pantallas

55
Automatización del Diseño Orientado a Objetos
  • Refinamiento de clases a partir de analogías
    obtener a objetos abstractas o superclases
  • El analista define el nombre de las nuevas
    clases y si son o no abstractas
  • Puede mostrar todas las clases con su
    definición completa para que valore si tiene
    más responsabilidad
  • Obtiene diagramas de interacción
  • Obtiene el detalle completo de las clases
  • Diseño de los objetos interfaz

56
Chequeos Automáticos
  • Inteligencia Informe para cada clase de a
    cuántas puede afectar y de cuántas tiene
    conocimiento
  • Revisar texto de responsabilidades buscando
    semejanzas para generalizar responsabilidades
  • Indicar cuando una clase está pidiendo a otra
    el valor de alguno de sus atributos

57
Chequeos Automáticos
  • Revisar que no hayan duplicaciones que puedan
    provocar inconsistencias
  • Hacer diagramas a partir de la definición de
    clases (responsabilidades y atributos),
    asociaciones y colaboraciones
  • Tener almacenadas las bibliotecas de clases
    que brindan varios lenguajes

58
CASE de Prueba
  • Es un elemento crítico para la garantía de
    calidad del software y representa un último
    repaso de las especificaciones, del diseño y de
    la codificación
  • Analizadores estáticos verificar si el programa
    es correcto, es decir, satisface la
    especificación para el cual se hizo

59
Herramientas Automáticas de Prueba
  • Las técnicas de verificación de programas que
    se basan en lo siguiente
  • P Precondición Si el estado inicial de
    las variables de la Instrucción S del programa
    satisface al producto P, entonces Q.
  • Postcondición cuando S termine de
    ejecutarse, el estado final de las variables
    del estado satisface al predicado Q.
  • Esto es un proceso muy complejo y se aplica
    a cada una de las instrucciones por lo que es
    muy trabajoso hacerlo a mano.

60
Herramientas Automáticas de Prueba
  • Auditores de código
  • se trata de filtros de propósito especial
    usados para comprobar la calidad del software en
    cuanto a que cumplan unos estándares mínimos de
    codificación
  • Generadores de datos de prueba
  • Ayudan al usuario a seleccionar datos de
    prueba que hagan que el programa se
    comporte de una determinada forma.

61
Herramientas Automáticas de Prueba
  • Analizadores de FD
  • esta herramienta sigue la pista del FD a través
    de un sistema e intenta encontrar errores.
  • Simuladores de entorno
  • sistema especializado que permite al encargado
    de la prueba modelar el entorno externo
    software y así simular dinámicamente las
    condiciones reales de operación.

62
Tendencias de los CASE
  • Herramientas multiplataforma
  • Introducción de técnicas de inteligencia
    artificial
  • Multimedia
  • Incorporación de la Orientación a Objeto
  • Operaciones en redes para el uso de proyectos

63
Tendencias de los CASE
  • Manejo de metodologías de software a la medida
  • Simulación y Prueba automatizada
  • Control de la documentación permitiendo cambios
    solo cuando hay autorización
  • Pruebas de corrección auxiliadas por la
    computadora
  • Generadores de código

64
Elección de un CASE
  • No confundir los lenguajes de 4ta generación con
    instrumentos CASE
  • Algunos CASE no generan código fuente
  • Algunos instrumentos CASE pueden necesitar algún
    módulo ejecutor adicional
  • El prototipo generado debe ser el más económico y
    lo más realista posible

65
Elección de un CASE
  • Fácil adaptabilidad al usuario del producto que
    son los diseñadores y programadores
  • Posibilidades de enlace con generadores de código
    y lenguajes de 4ta generación
  • Posibilidad de acceso concurrente
  • Deben permitir varias versiones

66
Todo CASE debe Cumplir
  • Trasiabilidad en cualquier momento pueda saber
    de dónde se obtuvo algo, regresar atrás
  • Iteratividad se pueda mejorar lo que se hizo
  • Carácter incremental se pueda hacer la
    aplicación por partes

67
Bibliografía
  • José Armenteros Quero, La implantación de la
    tecnología CASE. .Revista Chip Informática,
    Enero'95
  • Michael Lucas Gibson, The Case philosiphy"
    Revista Byte Abril'96 pág. 209-218.
  • Carma McClure, The CASE experience" Abril '98
  • Dennis Minium,"Integrated CASE in the 90's".
    Revista Intelligent Systems Report
  • Roger S. Pressman,"Ingeniería de softwareun
    enfoque práctico" 2da edición 1989 McGraw-Hill
Write a Comment
User Comments (0)
About PowerShow.com