UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA DE SOFTWARE 1

Mantenimiento de Software Y Herramientas CASE

Grupo: 5TI-CO

Docente: Maria Lourdes Montes

Integrantes: o José Francisco Alvarado Sáenz o Eli Josue Castro o Jorlan Josue Cerda Delgado

1997] 1980-1984 55% • Algunas de las razones por las que es menos costoso detectar y corregir un error durante las etapas iniciales del ciclo de vida que durante las etapas últimas son: – Es más fácil cambiar la documentación (por ejemplo. para mejorar el rendimiento u otras propiedades deseables. • Los costes del mantenimiento se incrementan al utilizar técnicas y metodologías poco actas. La tendencia es creciente con el paso del tiempo: Referencia Fechas % Mantenimiento [Pressman. directa o indirectamente. Según la terminología ANSI-IEEE. 1993] años 70 35%-40% [Lientz y Swanson. 1980] 1976 60% [Pigoski. a continuación veremos que el mantenimiento del software se ha convertido en la principal actividad en cuanto a recursos necesarios y costes. los documentos de especificación o de diseño) que modificar el código. casi siempre pensadas para las fases previas del ciclo de vida.Mantenimiento del Software Aun cuando son las últimas en el ciclo de vida del software. Múltiples estudios señalan que el mantenimiento es la parte más costosa del ciclo de vida del software. las actividades de mantenimiento no son las menos importantes. Tipos de Mantenimiento • En la definición de mantenimiento aparecen indicados. el mantenimiento del software es: “la modificación de un producto software después de su entrega al cliente o usuario para corregir defectos. Muy al contrario. o para adaptarlo a un cambio de entorno”. – Un cambio durante una fase tardía puede requerir que sea modificada la documentación de todas las fases anteriores. cuatro tipos de mantenimiento: – Corregir defectos →correctivo – Mejorar el rendimiento →preventivo/perfectivo u otras propiedades – Adaptar a un cambio de entorno . Estadísticamente está comprobado que el coste de mantenimiento de un producto software a lo largo de toda su vida útil supone mas del doble que los costes de su desarrollo.

por ejemplo. etc. por ejemplo. por ejemplo. por ejemplo. migrando a una nueva plataforma de desarrollo con componentes distribuidos.Procesamiento. • Preventivo (PRE): modificar el software para mejorar sus propiedades (calidad. El mantenimiento correctivo tiene por objetivo localizar y eliminar los posibles defectos de los programas. – En el entorno de los procesos. los fallos en el software pueden ser de: .Programación. nuevos sistemas operativos -o versiones de los antiguos-. • Este tipo de mantenimiento es cada vez más frecuente debido principalmente al cambio. Entre otros. Java. cada vez más rápido.Documentación. al dejar de trabajar con un sistema de ficheros clásico y sustituirlo por un sistema de gestión de bases de datos relacionales. tiempo de respuesta demasiado alto en una búsqueda de información. . Mantenimiento Adaptativo (ii) • Los cambios en el entorno software pueden ser de dos clases: – En el entorno de los datos. •Un fallo ocurre cuando el comportamiento de un sistema es diferente del establecido en la especificación. Mantenimiento Correctivo (i) • A pesar de las pruebas y verificaciones que aparecen en etapas anteriores del ciclo de vida del software. – Planificable (P): • Correctivo No Urgente (NUC): localizar y eliminar los posibles defectos de los programas que no son bloqueantes. .Rendimiento. • Adaptativo (A): modificar el software para adaptarlo a cambios en el entorno de trabajo (hardware o software). por ejemplo. . salidas incorrectas de un programa.). en los diversos aspectos de la informática: nuevas generaciones de hardware. etc. la vida útil de un sistema software puede superar fácilmente los diez años). inconsistencias entre la funcionalidad de un programa y el manual de usuario. • Un defecto en un sistema es una característica del sistema con el potencial de causar un fallo. • Perfectivo (PER): añadir al software nuevas funcionalidades solicitadas por los usuarios.→adaptativo •En MANTEMA se trabaja con los siguientes tipos: – No Planificable (NP): • Correctivo Urgente (UC): localizar y eliminar los posibles defectos que bloquean el programa o los procesos de funcionamiento de la empresa. ActiveX. . por ejemplo. y mejoras en los periféricos o en otros elementos del sistema (frente a esto. mantenibilidad. los programas pueden tener defectos. inconsistencias en el diseño de un programa.

Glosario de Definiciones Básicas de CASE: CASE: Ayuda por Computadora a la Ingeniería de Software. .Qué son las Herramientas CASE Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas. SISTEMA CASE: Un conjunto de herramientas CASE integradas que comparten una interface del usuario común y corren en un ambiente computacional común. los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar. Como es sabido. Diseño. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales. ingenieros de software y desarrolladores. las organizaciones pueden desarrollar rápidamente sistemas de mejor calidad para soportar procesos críticos del negocio y asistir en el desarrollo y promoción intensiva de la información de productos y servicios. HERRAMIENTA CASE: Una herramienta del software que automatiza (por lo menos en parte) una parte del ciclo de desarrollo de software. mantenimiento y dirección de proyecto. durante todos los pasos del Ciclo de Vida de desarrollo de un Software. utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información. Con un CASE integrado. incluye metodologías estructuradas automatizadas y herramientas automatizadas. CASE se define también como: Conjunto de métodos. TECNOLOGIA CASE: Una tecnología del software que mantiene una disciplina de la ingeniería automatizada para el desarrollo de software. un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Análisis. completamente o en alguna de sus fases. La realización de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. Implementación e Instalación. Una innovación en la organización. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software.

diseño. Automatizan una fase dentro del ciclo de vida. CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. 3. incluyendo el análisis. orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. •Las fases del ciclo de vida del desarrollo de sistemas que cubren. codificación y pruebas. es difícil incluirlas en una clase determinada. PUESTO DE TRABAJO para CASE: Una estación de trabajo técnica. orientadas a la fase de mantenimiento. dirigidas a las últimas fases del desarrollo: construcción e implantación. I-CASE (Integrated CASE. •La arquitectura de las aplicaciones que producen. dos o tres sistemas puestos en línea. Las herramientas CASE. Herramientas integradas. en ocasiones. U-CASE (Upper CASE . en función de las fases del ciclo de vida abarcadas. . son el tipo más simple de herramientas CASE. Herramientas de alto nivel. 4. •Su funcionalidad. METODOLOGIA CASE: Un automatizable metodología estructurada que define una disciplina e ingeniería como un acercamiento a todos o algunos aspectos del desarrollo y mantenimiento de software.CASE inferior) o back-end. L-CASE (Lower CASE . Juegos de herramientas o Tools-Case. Podrían clasificarse atendiendo a: •Las plataformas que soportan.CASE superior) o front-end. se pueden agrupar de la forma siguiente: 1. que proveen una plataforma operativa para las Herramientas Case. 2. Herramientas de bajo nivel. Clasificación de las Herramientas Case No existe una única clasificación de herramientas CASE y. PLATAFORMA de HARDWARE para CASE: Una arquitectura de hardware con uno. Son llamadas también CASE workbench. Dentro de este grupo se encontrarían las herramientas de reingeniería. diseñada a 32bits o computadora personal equipada con Herramientas Case que automatiza varias funciones del ciclo.KIT de HERRAMIENTAS CASE: Un conjunto de herramientas CASE integradas que se han diseñado para trabajar juntas y automatizar (o proveer ayuda automatizada al ciclo de desarrollo de software.

Herramientas de codificación de cuarta generación. Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un "metamodelo" del cual se pueden obtener sistemas dei nformación específicos. Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas. Ejemplos de estas herramientas son: Herramientas de codificación convencionales. Máquinas de análisis y diseño (Modelamiento).Están formadas por un conjunto de herramientas orientadas cada una de ellas a resolver una determinada fase del desarrollo. En el mercado actual se pueden citar. Herramientas de creación de prototipos y de simulación. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Herramientas de programación orientadas a los objetos. Herramientas para el diseño y desarrollo de interfaces. Se engloban aquí los compiladores. El ensamblaje de las mismas se efectúa por medio de una serie de interfaces que adaptan las salidas producidas por cada una de ellas de forma que sirva como entrada en la siguiente. Herramientas de análisis y diseño. Herramientas de programación. algunas herramientas distribuidas por fases de desarrollo como para: Análisis y Diseño Diseño de Archivos y Base Programación Prokit Workbench de de Datos APS de Sage Software McDonnell-Douglas Chen Toolkit de Chen & Tranforms de Transform Desing Aid Nastec Associates Logic Analyst/Designer Tolkit de IDMS/Architec de Cullinet Telon Pansophic System Yourdon Software Decase de DEC COBOL 2/ Excelerator de Index Autmate Plus de LBMS Worbench de Micro Focus Technology Case Designer de Oracle Snap CASE para AS/400 Pose de Computer System Synon Otra posible clasificación. Sirven para modelizar los requisitos de información estratégica de una organización. . es la siguiente: Herramientas de planificación de sistemas de gestión.Juego de Herramientas o Tools Case. entre otras. Estas herramientas proporcionan una ayuda importante cuando se diseñan nuevas estrategias para los sistemas de información y cuando los métodos y sistemas actuales no satisfacen las necesidades de la organización. Advisers Oracle utilizando la funcionalidad Informix como criterio principal. los editores y los depuradores de los lenguajes de programación convencionales. Herramientas de análisis y diseño (Modelamiento).

•Herramientas de bases de datos. •Herramientas de reingeniería. Se engloban en esta categoría las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo. •Herramientas de control de calidad. Herramientas de soporte. •Herramientas para software de sistemas. en lugar de proporcionar un soporte global para la actividad de gestión. Herramientas de mantenimiento: La categoría de herramientas de mantenimiento se puede subdividir en: •Herramientas de ingeniería inversa. Herramientas de gestión de proyectos . Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo. o para un mejor entendimiento de cómo los requisitos de un sistema de información se ajustan a los objetivos perseguidos. hacer un seguimiento que va desde los requisitos del pliego de prescripciones técnicas inicial. hacer un seguimiento continuo del proyecto. etc. simulación y prueba de los equipos lógicos desarrollados. Herramientas de programación orientadas a los objetos. •Herramientas de codificación de cuarta generación.Herramientas de integración y prueba: Sirven de ayuda a la adquisición. medición. . 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 planificación de proyectos. Herramientas de gestión de prototipos. •Herramientas de seguimiento de requisitos. como las que se relacionan a continuación: •Herramientas de documentación. Entre las más utilizadas están: Herramientas de análisis estático. estimar la productividad y la calidad. para la evaluación de especificaciones de un sistema de información. Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones. •Herramientas de reestructuración y análisis de código. •Herramientas de gestión y medida. coste y duración. La mayoría de las herramientas CASE de gestión de proyectos se centran en un elemento específico de la gestión del proyecto. Existen también herramientas que permiten al comprador del desarrollo de un sistema.

Sign up to vote on this title
UsefulNot useful