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. • Los costes del mantenimiento se incrementan al utilizar técnicas y metodologías poco actas. 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. Múltiples estudios señalan que el mantenimiento es la parte más costosa del ciclo de vida del software. casi siempre pensadas para las fases previas del ciclo de vida. Tipos de Mantenimiento • En la definición de mantenimiento aparecen indicados. a continuación veremos que el mantenimiento del software se ha convertido en la principal actividad en cuanto a recursos necesarios y costes. Según la terminología ANSI-IEEE. los documentos de especificación o de diseño) que modificar el código.Mantenimiento del Software Aun cuando son las últimas en el ciclo de vida del software. La tendencia es creciente con el paso del tiempo: Referencia Fechas % Mantenimiento [Pressman. Muy al contrario. para mejorar el rendimiento u otras propiedades deseables. 1980] 1976 60% [Pigoski. – 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 . o para adaptarlo a un cambio de entorno”. las actividades de mantenimiento no son las menos importantes. 1993] años 70 35%-40% [Lientz y Swanson. directa o indirectamente. el mantenimiento del software es: “la modificación de un producto software después de su entrega al cliente o usuario para corregir defectos.

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

Glosario de Definiciones Básicas de CASE: CASE: Ayuda por Computadora a la Ingeniería de Software. . completamente o en alguna de sus fases. 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. utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información. durante todos los pasos del Ciclo de Vida de desarrollo de un Software. La realización de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. mantenimiento y dirección de proyecto. TECNOLOGIA CASE: Una tecnología del software que mantiene una disciplina de la ingeniería automatizada para el desarrollo de software. Análisis. incluye metodologías estructuradas automatizadas y herramientas automatizadas. HERRAMIENTA CASE: Una herramienta del software que automatiza (por lo menos en parte) una parte del ciclo de desarrollo de software. CASE se define también como: Conjunto de métodos. 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. Como es sabido. Con un CASE integrado. Implementación e Instalación. los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar. Una innovación en la organización.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. un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. ingenieros de software y desarrolladores. Diseño. 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. SISTEMA CASE: Un conjunto de herramientas CASE integradas que comparten una interface del usuario común y corren en un ambiente computacional común.

3. I-CASE (Integrated CASE. Herramientas de alto nivel.CASE superior) o front-end. Juegos de herramientas o Tools-Case. •Su funcionalidad. •La arquitectura de las aplicaciones que producen. Herramientas integradas. 2. en función de las fases del ciclo de vida abarcadas. PUESTO DE TRABAJO para CASE: Una estación de trabajo técnica. se pueden agrupar de la forma siguiente: 1. 4. Automatizan una fase dentro del ciclo de vida. •Las fases del ciclo de vida del desarrollo de sistemas que cubren. Clasificación de las Herramientas Case No existe una única clasificación de herramientas CASE y. Dentro de este grupo se encontrarían las herramientas de reingeniería. CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. 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. Las herramientas CASE. 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.CASE inferior) o back-end. dos o tres sistemas puestos en línea. Podrían clasificarse atendiendo a: •Las plataformas que soportan. dirigidas a las últimas fases del desarrollo: construcción e implantación. Son llamadas también CASE workbench. PLATAFORMA de HARDWARE para CASE: Una arquitectura de hardware con uno. . U-CASE (Upper CASE . 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. es difícil incluirlas en una clase determinada. Herramientas de bajo nivel. codificación y pruebas. en ocasiones. orientadas a la fase de mantenimiento. diseño. son el tipo más simple de herramientas CASE. L-CASE (Lower CASE . que proveen una plataforma operativa para las Herramientas Case.

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. Proporcionan un "metamodelo" del cual se pueden obtener sistemas dei nformación específicos. Ejemplos de estas herramientas son: Herramientas de codificación convencionales. Herramientas de programación. Sirven para modelizar los requisitos de información estratégica de una organización. Herramientas de creación de prototipos y de simulación. Herramientas de análisis y diseño (Modelamiento). Herramientas de programación orientadas a los objetos. Herramientas de codificación de cuarta generación. Máquinas de análisis y diseño (Modelamiento). Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas. Herramientas para el diseño y desarrollo de interfaces. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación.Juego de Herramientas o Tools Case. . es la siguiente: Herramientas de planificación de sistemas de gestión. 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. los editores y los depuradores de los lenguajes de programación convencionales. 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. Advisers Oracle utilizando la funcionalidad Informix como criterio principal. entre otras. Se engloban aquí los compiladores.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. 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.

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

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.