23
La automatización del La automatización del software software Herramientas computarizadas Herramientas computarizadas

AutomatizacióN Del Software

Embed Size (px)

Citation preview

Page 1: AutomatizacióN Del Software

La automatización del La automatización del softwaresoftware

Herramientas computarizadasHerramientas computarizadas

Page 2: AutomatizacióN Del Software

El asunto de la automatizaciónEl asunto de la automatización

De las herramientas de administración de proyectos son De las herramientas de administración de proyectos son evidentes tres cosas:evidentes tres cosas:

3.3. Necesitan o involucran gráficos. Alguien o algo debe dibujar las Necesitan o involucran gráficos. Alguien o algo debe dibujar las figuras.figuras.

4.4. En proyectos grandes los modelos son inmensos. Si las cosas En proyectos grandes los modelos son inmensos. Si las cosas cambian los modelos tienen que volverse a dibujar, esto implica cambian los modelos tienen que volverse a dibujar, esto implica mucho trabajo.mucho trabajo.

5.5. Los modelos se relacionan todos entre sí.Los modelos se relacionan todos entre sí.

Conclusión obvia:Conclusión obvia: LAS HERRAMIENTAS DE ADMINISTRACIÓN DE LAS HERRAMIENTAS DE ADMINISTRACIÓN DE PROYECTOS PUDIERAN COMPUTARIZARSE.PROYECTOS PUDIERAN COMPUTARIZARSE.

Page 3: AutomatizacióN Del Software

Características:Características:

Posibilidad de especificar el costo de cada Posibilidad de especificar el costo de cada recurso del proyecto (presupuestos).recurso del proyecto (presupuestos).

Posibilidad de describir el calendario con el que Posibilidad de describir el calendario con el que deberá trabajar el proyecto.deberá trabajar el proyecto.

Posibilidad de ofrecer una variedad de reportes Posibilidad de ofrecer una variedad de reportes de diversos formatos.de diversos formatos.

Posibilidad de tener interfaces con otros Posibilidad de tener interfaces con otros programas.programas.

Posibilidad de comparar el desempeño real Posibilidad de comparar el desempeño real contra el desempeño estimado.contra el desempeño estimado.

Page 4: AutomatizacióN Del Software

IntroducciónIntroducción

La ingeniería del sw asistida por el ordenador es la La ingeniería del sw asistida por el ordenador es la automatización del desarrollo del sw, comúnmente referida como automatización del desarrollo del sw, comúnmente referida como tecnología CASE.tecnología CASE.

La idea básica es proporcionar un conjunto de herramientas La idea básica es proporcionar un conjunto de herramientas bien integradas y que ahorren trabajo, enlazando y automatizando bien integradas y que ahorren trabajo, enlazando y automatizando todas las fases del ciclo de vida del sw.todas las fases del ciclo de vida del sw.

Las tecnologías tradicionales del sw son de dos tipos: Las tecnologías tradicionales del sw son de dos tipos: herramientasherramientas y y metodologías.metodologías.

Page 5: AutomatizacióN Del Software

HerramientasHerramientas

Incluyen herramientas de tercera, cuarta y Incluyen herramientas de tercera, cuarta y quinta generación.quinta generación.

La mayoría son autónomas, basadas en un La mayoría son autónomas, basadas en un mainframe (ordenador principal) y mainframe (ordenador principal) y dirigidas a la implementación del ciclo de dirigidas a la implementación del ciclo de vida del sw.vida del sw.

Page 6: AutomatizacióN Del Software

MetodologíasMetodologías

Incluyen aquellas de desarrollo manual, Incluyen aquellas de desarrollo manual, análisis estructurado y programación análisis estructurado y programación estructurada.estructurada.

Definen un disciplinado proceso para el Definen un disciplinado proceso para el desarrollo del sw paso a paso.desarrollo del sw paso a paso.

Page 7: AutomatizacióN Del Software

La tecnología CASE es…La tecnología CASE es…

Una combinación de herramientas de sw y Una combinación de herramientas de sw y de metodologías.de metodologías.

Se centra en el problema de la Se centra en el problema de la productividad del sw y no solamente en la productividad del sw y no solamente en la implantación de soluciones.implantación de soluciones.

Page 8: AutomatizacióN Del Software

Ventajas de la tecnología CASEVentajas de la tecnología CASE Permite técnicas estructuradas.Permite técnicas estructuradas. Impone las ingenierias del sw y de la información.Impone las ingenierias del sw y de la información. Aumenta la calidad del sw mediante comprobación automática.Aumenta la calidad del sw mediante comprobación automática. Favorece la realización de prototipos.Favorece la realización de prototipos. Simplifica el mantenimiento del programa.Simplifica el mantenimiento del programa. Acelera el proceso de desarrollo.Acelera el proceso de desarrollo. Libera al profesional del desarrollo de la principal parte creativa en Libera al profesional del desarrollo de la principal parte creativa en

el sw.el sw. Anima al desarrollo evolucionado y gradual.Anima al desarrollo evolucionado y gradual. Posibilita la reutilización de los componentes del sw.Posibilita la reutilización de los componentes del sw.

Las herramientas CASE (CASE tools) se enfocan hacia la Las herramientas CASE (CASE tools) se enfocan hacia la productividad individual del profesional del desarrollo de sw.productividad individual del profesional del desarrollo de sw.

Page 9: AutomatizacióN Del Software

La CASE es …La CASE es …

Una tecnología de sw de propósito general Una tecnología de sw de propósito general para utilizarse en el desarrollo de todo tipo para utilizarse en el desarrollo de todo tipo de sistemas.de sistemas.

Los sistemas CASE pueden clasificarse de Los sistemas CASE pueden clasificarse de acuerdo a:acuerdo a:

Su funcionalidadSu funcionalidad Al proceso soportadoAl proceso soportado A la extensión del soporte que proporcionan.A la extensión del soporte que proporcionan.

Page 10: AutomatizacióN Del Software

Las herramientas CASE fueron Las herramientas CASE fueron diseñadas para:diseñadas para:

1.1. Soportar un entorno personal dedicado.Soportar un entorno personal dedicado.2.2. Utilizar gráficos para especificar y documentar Utilizar gráficos para especificar y documentar

los sistemas.los sistemas.3.3. Juntar todas las fases del ciclo de vida del sw.Juntar todas las fases del ciclo de vida del sw.4.4. Capturar y juntar en el ordenador toda la Capturar y juntar en el ordenador toda la

información sobre el entorno del sw de un información sobre el entorno del sw de un sistema.sistema.

5.5. Utilizar la inteligencia artificial para realizar Utilizar la inteligencia artificial para realizar automáticamente muchas de las rutinarias automáticamente muchas de las rutinarias tareas del desarrollo y mantenimiento del sw.tareas del desarrollo y mantenimiento del sw.

Page 11: AutomatizacióN Del Software

Herramientas integradasHerramientas integradas

Diagramación:Diagramación: herramientas para el dibujo de diagramas herramientas para el dibujo de diagramas estructurados y creación de especificaciones gráficas.estructurados y creación de especificaciones gráficas.

Generadores de pantallas e informes:Generadores de pantallas e informes: herramientas herramientas para el prototipo de la interfaz de usuario y la creación de para el prototipo de la interfaz de usuario y la creación de especificaciones de sistema.especificaciones de sistema.

Repositorios e informes:Repositorios e informes: utilidades para almacenar, utilidades para almacenar, obtener informes y consultar toda la información del sistema.obtener informes y consultar toda la información del sistema.

Verificación y análisisVerificación y análisis:: herramientas de verificación de la herramientas de verificación de la consistencia y la corrección de las especificaciones del sistema.consistencia y la corrección de las especificaciones del sistema.

Generadores de código:Generadores de código: herramientas para generar código herramientas para generar código ejecutable a partir de las especificaciones del sistema.ejecutable a partir de las especificaciones del sistema.

Mantenimiento:Mantenimiento: herramientas para redocumentar, reestructurar y herramientas para redocumentar, reestructurar y analizar el sistema actual.analizar el sistema actual.

Page 12: AutomatizacióN Del Software

Niveles de IntegraciónNiveles de Integración

Integración de plataformasIntegración de plataformas Integración de datosIntegración de datos Integración de controlIntegración de control Integración de presentacionesIntegración de presentaciones Integración de procesosIntegración de procesos

Page 13: AutomatizacióN Del Software

Integración de plataformasIntegración de plataformas

Herramientas que corren en la misma Herramientas que corren en la misma plataforma de hw/sw.plataforma de hw/sw.

Unix o PC corriendo en MS Windows son Unix o PC corriendo en MS Windows son las plataformas más usadas.las plataformas más usadas.

Muchos problemas son redes Muchos problemas son redes heterogéneas:heterogéneas:

Diferentes tipos de máquinas en la redDiferentes tipos de máquinas en la red Diferentes sistemas operativos instalados en Diferentes sistemas operativos instalados en

máquinas diferentesmáquinas diferentes La carencia de sistema operativo es un problemaLa carencia de sistema operativo es un problema

Page 14: AutomatizacióN Del Software

Integración de datosIntegración de datos

Herramientas que usan un modelo de datos Herramientas que usan un modelo de datos compartido.compartido.

Archivos compartidos.Archivos compartidos. Estructuras de datos compartidas.Estructuras de datos compartidas. Herramientas que se comunican por medio de Herramientas que se comunican por medio de

alguna representación interna de notación alguna representación interna de notación compartida.compartida.

Repositorio compartido: herramientas integradas Repositorio compartido: herramientas integradas alrededor de OMS que incluyen un esquema alrededor de OMS que incluyen un esquema público describiendo datos y sus relaciones.público describiendo datos y sus relaciones.

Page 15: AutomatizacióN Del Software

Integración de controlIntegración de control

Herramientas que activan y controlan la Herramientas que activan y controlan la operación de otras herramientas.operación de otras herramientas.

Herramientas capaces de iniciar y detener Herramientas capaces de iniciar y detener otras herramientas y que requieren otras herramientas y que requieren servicios particulares proporcionados por servicios particulares proporcionados por otras herramientas.otras herramientas.

Una aproximación general basada en una Una aproximación general basada en una transferencia de mensajes.transferencia de mensajes.

Comunicación de herramientas.Comunicación de herramientas.

Page 16: AutomatizacióN Del Software

Comunicación de herramientasComunicación de herramientas

Herramientas que intercambian mensajes en un Herramientas que intercambian mensajes en un formato conocido.formato conocido.

La transferencia de mensajes se controla por La transferencia de mensajes se controla por medio de un servidor de mensajes.medio de un servidor de mensajes.

El servidor de mensajes acepta mensajes de una El servidor de mensajes acepta mensajes de una herramienta, conoce el destino y la envía a otra herramienta, conoce el destino y la envía a otra herramienta o herramientas.herramienta o herramientas.

Los sistemas trabajan en un medio ambiente Los sistemas trabajan en un medio ambiente distribuido.distribuido.

El formato de datos intercambiado se codifica en El formato de datos intercambiado se codifica en una interfaz de definición de lenguaje (IDL).una interfaz de definición de lenguaje (IDL).

Page 17: AutomatizacióN Del Software

Integración de presentacionesIntegración de presentaciones

Herramientas que ofrecen una interfaz común al usuario.Herramientas que ofrecen una interfaz común al usuario. Integración de sistema de ventanas.Integración de sistema de ventanas. Integración de comandos: herramientas que usan la Integración de comandos: herramientas que usan la

misma forma de comandos para funciones comparables. misma forma de comandos para funciones comparables. Los menús se organizan en la misma forma e iconos Los menús se organizan en la misma forma e iconos similares son usados.similares son usados.

Integración por interacción: el usuario interactúa con Integración por interacción: el usuario interactúa con entidades gráficas.entidades gráficas.

Puede ejecutarse definiendo un conjunto de guías de Puede ejecutarse definiendo un conjunto de guías de interfaz de usuario.interfaz de usuario.

Fácil integración de un sistema de ventanas.Fácil integración de un sistema de ventanas.

Page 18: AutomatizacióN Del Software

Integración de procesosIntegración de procesos

Herramientas que usan un modelo de Herramientas que usan un modelo de procesos definido.procesos definido.

Un modelo explícito del proceso debe ser Un modelo explícito del proceso debe ser definido y representado por un proceso de definido y representado por un proceso de máquina.máquina.

Los procesos deben ser guiados más que Los procesos deben ser guiados más que prescritos por el modelo del proceso.prescritos por el modelo del proceso.

Creación del modelo de procesos.Creación del modelo de procesos.

Page 19: AutomatizacióN Del Software

Creación del modelo de procesosCreación del modelo de procesos

Identificar las actividades del proceso.Identificar las actividades del proceso. Definir la coordinación y dependencia de Definir la coordinación y dependencia de

actividades.actividades. Asignar ingenieros a cada una de las Asignar ingenieros a cada una de las

actividades.actividades. Especificar las herramientas que soportan Especificar las herramientas que soportan

cada actividad.cada actividad.

Page 20: AutomatizacióN Del Software

Diseño de sistemasDiseño de sistemas

Algunos juegos de herramientas de análisis Algunos juegos de herramientas de análisis se amplían para soportar también la fase de se amplían para soportar también la fase de diseño . Para este tipo del juego de diseño . Para este tipo del juego de herramientas, la prestación de la diagramación herramientas, la prestación de la diagramación se amplía para incluir las posibilidades de se amplía para incluir las posibilidades de diagramación y comprobación de:diagramación y comprobación de:

Diagramas estructurados jerárquicamente en árbolDiagramas estructurados jerárquicamente en árbol Diagramas lógicos de procedimientoDiagramas lógicos de procedimiento

Page 21: AutomatizacióN Del Software

Objetivo de diseño:Objetivo de diseño:

Crear un diseño del sistema de Crear un diseño del sistema de software que se va a construir para software que se va a construir para satisfacer las especificaciones de los satisfacer las especificaciones de los requisitos.requisitos.

Page 22: AutomatizacióN Del Software

Salida del diseño:Salida del diseño:

Una estructura de la arquitectura del Una estructura de la arquitectura del sistema y un esquema detallado del sistema y un esquema detallado del diseño del programa que incluya los diseño del programa que incluya los algoritmos y estructuras de los datos del algoritmos y estructuras de los datos del programa.programa.

Page 23: AutomatizacióN Del Software

Los juegos de herramientas para el Los juegos de herramientas para el diseño de los datos…diseño de los datos…

Soportan el diseño lógico y físico de los ficheros y de las bases de Soportan el diseño lógico y físico de los ficheros y de las bases de datos.datos.

Soportan el modelado lógico de los datos, la conversión automática Soportan el modelado lógico de los datos, la conversión automática de los modelos de datos a tercera forma normal.de los modelos de datos a tercera forma normal.

Soportan la generación automática de esquemas de bases de datos Soportan la generación automática de esquemas de bases de datos para un sistema gestor en particular.para un sistema gestor en particular.

Soportan la generación automática de descripción de ficheros a Soportan la generación automática de descripción de ficheros a nivel de programa en código.nivel de programa en código.

Las especificaciones de diseño adoptan la forma de Las especificaciones de diseño adoptan la forma de diagramas estructurados, que representan la estructura de diagramas estructurados, que representan la estructura de los datos del programa, las entidades y las funciones de los los datos del programa, las entidades y las funciones de los procedimientos.procedimientos.