Sie sind auf Seite 1von 7

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 Senz o Eli Josue Castro o Jorlan Josue Cerda Delgado

Mantenimiento del Software


Aun cuando son las ltimas en el ciclo de vida del software, las actividades de mantenimiento no son las menos importantes. Muy al contrario, a continuacin veremos que el mantenimiento del software se ha convertido en la principal actividad en cuanto a recursos necesarios y costes. Segn la terminologa ANSI-IEEE, el mantenimiento del software es: la modificacin de un producto software despus de su entrega al cliente o usuario para corregir defectos, para mejorar el rendimiento u otras propiedades deseables, o para adaptarlo a un cambio de entorno. Mltiples estudios sealan que el mantenimiento es la parte ms costosa del ciclo de vida del software. Estadsticamente 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. La tendencia es creciente con el paso del tiempo: Referencia Fechas % Mantenimiento [Pressman, 1993] aos 70 35%-40% [Lientz y Swanson, 1980] 1976 60% [Pigoski, 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 ms fcil cambiar la documentacin (por ejemplo, los documentos de especificacin o de diseo) que modificar el cdigo. Un cambio durante una fase tarda puede requerir que sea modificada la documentacin de todas las fases anteriores. Los costes del mantenimiento se incrementan al utilizar tcnicas y metodologas poco actas, casi siempre pensadas para las fases previas del ciclo de vida. Tipos de Mantenimiento En la definicin de mantenimiento aparecen indicados, directa o indirectamente, cuatro tipos de mantenimiento: Corregir defectos correctivo Mejorar el rendimiento preventivo/perfectivo u otras propiedades Adaptar a un cambio de entorno

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. Planificable (P): Correctivo No Urgente (NUC): localizar y eliminar los posibles defectos de los programas que no son bloqueantes. Perfectivo (PER): aadir al software nuevas funcionalidades solicitadas por los usuarios. Adaptativo (A): modificar el software para adaptarlo a cambios en el entorno de trabajo (hardware o software). Preventivo (PRE): modificar el software para mejorar sus propiedades (calidad, mantenibilidad, etc.). Mantenimiento Correctivo (i) A pesar de las pruebas y verificaciones que aparecen en etapas anteriores del ciclo de vida del software, los programas pueden tener defectos. El mantenimiento correctivo tiene por objetivo localizar y eliminar los posibles defectos de los programas. Un defecto en un sistema es una caracterstica del sistema con el potencial de causar un fallo. Un fallo ocurre cuando el comportamiento de un sistema es diferente del establecido en la especificacin. Entre otros, los fallos en el software pueden ser de: - Procesamiento, por ejemplo, salidas incorrectas de un programa. - Rendimiento, por ejemplo, tiempo de respuesta demasiado alto en una bsqueda de informacin. - Programacin, por ejemplo, inconsistencias en el diseo de un programa. - Documentacin, por ejemplo, inconsistencias entre la funcionalidad de un programa y el manual de usuario. Mantenimiento Adaptativo (ii) Los cambios en el entorno software pueden ser de dos clases: En el entorno de los datos, por ejemplo, al dejar de trabajar con un sistema de ficheros clsico y sustituirlo por un sistema de gestin de bases de datos relacionales. En el entorno de los procesos, por ejemplo, migrando a una nueva plataforma de desarrollo con componentes distribuidos, Java, ActiveX, etc. Este tipo de mantenimiento es cada vez ms frecuente debido principalmente al cambio, cada vez ms rpido, en los diversos aspectos de la informtica: nuevas generaciones de hardware, nuevos sistemas operativos -o versiones de los antiguos-, y mejoras en los perifricos o en otros elementos del sistema (frente a esto, la vida til de un sistema software puede superar fcilmente los diez aos).

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, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e Instalacin. CASE se define tambin como: Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. Una innovacin en la organizacin, un concepto avanzado en la evolucin de tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al CASE como la unin de las herramientas automticas de software y las metodologas de desarrollo de software formales. La realizacin de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor calidad para soportar procesos crticos del negocio y asistir en el desarrollo y promocin intensiva de la informacin de productos y servicios.

Glosario de Definiciones Bsicas de CASE:


CASE: Ayuda por Computadora a la Ingeniera de Software. TECNOLOGIA CASE: Una tecnologa del software que mantiene una disciplina de la ingeniera automatizada para el desarrollo de software, mantenimiento y direccin de proyecto, incluye metodologas 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. SISTEMA CASE: Un conjunto de herramientas CASE integradas que comparten una interface del usuario comn y corren en un ambiente computacional comn.

KIT de HERRAMIENTAS CASE: Un conjunto de herramientas CASE integradas que se han diseado para trabajar juntas y automatizar (o proveer ayuda automatizada al ciclo de desarrollo de software, incluyendo el anlisis, diseo, codificacin y pruebas. METODOLOGIA CASE: Un automatizable metodologa estructurada que define una disciplina e ingeniera como un acercamiento a todos o algunos aspectos del desarrollo y mantenimiento de software. PUESTO DE TRABAJO para CASE: Una estacin de trabajo tcnica, diseada a 32bits o computadora personal equipada con Herramientas Case que automatiza varias funciones del ciclo. PLATAFORMA de HARDWARE para CASE: Una arquitectura de hardware con uno, dos o tres sistemas puestos en lnea, que proveen una plataforma operativa para las Herramientas Case.

Clasificacin de las Herramientas Case


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a: Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: 1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. 2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: anlisis y diseo. 3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin. 4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento.

Juego de Herramientas o Tools Case.Estn formadas por un conjunto de herramientas orientadas cada una de ellas a resolver una determinada fase del desarrollo. El ensamblaje de las mismas se efecta 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. En el mercado actual se pueden citar, entre otras, algunas herramientas distribuidas por fases de desarrollo como para: Anlisis y Diseo Diseo de Archivos y Base Programacin 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 clasificacin, Advisers Oracle utilizando la funcionalidad Informix como criterio principal, es la siguiente: Herramientas de planificacin de sistemas de gestin. Sirven para modelizar los requisitos de informacin estratgica de una organizacin. Proporcionan un "metamodelo" del cual se pueden obtener sistemas dei nformacin especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de la organizacin. Herramientas de anlisis y diseo. Permiten al desarrollador crear un modelo del sistema que se va a construir y tambin la evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representacin del anlisis y ayudan a eliminar errores con anticipacin. Herramientas de anlisis y diseo (Modelamiento). Herramientas de creacin de prototipos y de simulacin. Herramientas para el diseo y desarrollo de interfaces. Mquinas de anlisis y diseo (Modelamiento). Herramientas de programacin. Se engloban aqu los compiladores, los editores y los depuradores de los lenguajes de programacin convencionales. Ejemplos de estas herramientas son: Herramientas de codificacin convencionales. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos.

Herramientas de integracin y prueba: Sirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos desarrollados. Entre las ms utilizadas estn: Herramientas de anlisis esttico. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos. Herramientas de gestin de prototipos. Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluacin de especificaciones de un sistema de informacin, o para un mejor entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los objetivos perseguidos. Herramientas de mantenimiento: La categora de herramientas de mantenimiento se puede subdividir en: Herramientas de ingeniera inversa. Herramientas de reestructuracin y anlisis de cdigo. Herramientas de reingeniera. Herramientas de gestin de proyectos . La mayora de las herramientas CASE de gestin de proyectos se centran en un elemento especfico de la gestin del proyecto, en lugar de proporcionar un soporte global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen tambin herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial, 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 planificacin de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestin y medida.

Herramientas de soporte. Se engloban en esta categora las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuacin: Herramientas de documentacin. Herramientas para software de sistemas. Herramientas de control de calidad. Herramientas de bases de datos.