• No se han encontrado resultados

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación

N/A
N/A
Protected

Academic year: 2021

Share "Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación"

Copied!
40
0
0

Texto completo

(1)

Liberando el sistema

Ayudar a los usuarios a entender y usar el

sistema

Distintos tipos de usuarios

Entrenamiento

Documentación

Solución de Problemas

(2)

Entrenamiento

Dos grupos a entrenar:

Usuarios finales

Operadores/Administradores

Usuarios

Presentar lo que hace el sistema Cómo usarlo

Operadores o Administradores

Funciones de soporte Explicar cómo funciona

Diferentes necesidades

(3)

Revisión del entrenamiento

Evaluar el entrenamiento

Grado de uso del sistema

Eficiencia en el uso

Cumplimiento de objetivos

Entrenamiento debe tomar en cuenta:

características y preferencias personales

estilos de trabajo

(4)

Ayudas al entrenamiento

Documentos

cuidado con el tamaño (asegurar lectura y relación costo/beneficio) ° Guías/referencias

Ayuda en línea

Demostraciones

Talleres

¿cuándo hacerlo?

° conflictos por: disponibilidad, validación temprana, olvido por desuso

Usuarios expertos

entrenadores

Parte importante de la

Validación

(5)

Documentación

Parte de enfoque adecuado del entrenamiento

Facilita soporte y solución de problemas

Importancia depende de:

número de usuarios (+) dispersión (+)

Atributos de calidad

legibilidad ° estructura ° tamaño ° ilustraciones

(6)

Documentación

atender las distintas visiones/necesidades

usuarios finales

administradores/operadores instalación/configuración

personalización/mantenimiento visión general/detalles específicos

Para operador

configuraciones de hardware y software procedimientos para

° autorizar acceso a usuarios

° agregar o suprimir equipo periférico

° generar copias de respaldo

(7)

Soporte y solución de problemas

Guía de mensajes de error

ayuda para detectar, informar y manejar

problemas

utilizado para solución de problemas

Guía rápida

con las funciones más importantes

Ayuda en línea

(8)

Conversión

Sustituir un sistema anterior por uno nuevo

manual o automatizado

carga inicial de

° datos básicos

° información histórica (calidad de datos)

Estrategia de conversión

big-bang

paulatina

° convivencia (-) ° ajuste de procedimientos (+)

procesamiento en paralelo

(9)

Instalación

Instalar el software de forma que quede

disponible y operativo

Su complejidad depende de:

° Tecnología utilizada

° Restricciones funcionales (por ejemplo temporales)

° Requerimientos de disponibilidad

La facilidad de instalación afecta la liberación

inicial y las sucesivas liberaciones durante el

mantenimiento

(10)

Preguntas

• ¿Cuándo corresponde comenzar la planificación de la liberación de un sistema? ¿Por qué?

• ¿Qué aspectos resulta necesario atender durante la liberación?

• ¿Qué relevancia tiene la documentación del software para su puesta en funcionamiento?

• ¿Por qué resulta conveniente asignar recursos para la solución de problemas durante el período inicial de la implantación de un sistema?

• ¿Qué distintas estrategias de conversión existen? ¿Qué ventajas y desventajas presenta cada una de ellas?

(11)

Manteniendo el Sistema

El sistema cambiante...

Naturaleza del mantenimiento

Problemas

Medición de las características

Técnicas y Herramientas

(12)

El sistema cambiante...

Cualquier modificación realizada a un

sistema luego de entrar en operación se

considera mantenimiento

El hardware se gasta y deteriora ¿el

software también?

(13)

Sistema S – solución bien conocida

Realidad

Problema

Especificación

de Requerimientos

Sistema

Comparación “Specifiable” Se puede especificar formalmente y de forma completa.Un cambio en la especificación cambia el problema S No es candidato a cambiar. Otra especificación corresponde a otro problema ¿Cumple la Especificación?

(14)

Especificación

de Requerimientos

Sistema P – basado en una

abstracción práctica del problema

Realidad

Problema

Sistema

Información

Comparación Puede cambiar Se especifica una abstracción (simplificación) del problema “Problem-Solving” P es candidato a cambiar ¿Es una solución aceptable al problema? Pueden haber soluciones

(15)

Especificación

de Requerimientos

Sistema E – embebido en el mundo

real y cambia con la realidad

Realidad

Problema

Sistema

Comparación ¿Es una solución aceptable al problema en determinado contexto? Termina formando parte de la realidad que modela

(16)

Cambio durante el ciclo de vida

Todo puede cambiar

Considerar el cambio durante el desarrollo

Facilitar el cambio durante el mantenimiento

¿Es posible construir el sistema correcto la 1a.

vez?

Mantenimiento = evolución

Sistemas legados (legacy) construidos para

otras necesidades y ambiente

(17)

Sistemas legados (legacy)

construidos hace años

normalmente con herramientas y

tecnología hoy obsoletas

pueden resultar críticos para las

organizaciones

aplicación central al negocio

(18)

Desarrollo vs. Mantenimiento

Desarrollo típico 6 meses – 2 años

Mantenimiento: 5, 10, + años...

Evolución ¿declinación?

Costo de mantenimiento

Confiabilidad

Adaptabilidad

Desempeño

Funciones de poca utilidad

(19)

“Leyes de la evolución del software”

(Lehman 80)

a partir de observación de sistemas grandes en orgs. grandes

• Continuidad del Cambio:

cambia o se vuelve menos útil

• Complejidad creciente:

deterioro de la estructura y complejidad crece (a menos que se actúe para disminuirla)

• Ley fundamental de la evolución de un programa

Dinámica con tendencia e invariantes estadísticos

• Conservación de la estabilidad organizacional

La producción tiende a ser estadísticamente invariante (agregar más personas no la incrementa)

(20)

Naturaleza del mantenimiento

Correctivo

Respuesta a los problemas que surgen en el uso diario

Adaptativo

Respuesta a cambios en el ambiente

Perfectivo

Mejorar algún aspecto ya presente

Preventivo

(21)

Distrib. Esfuerzo mantenimiento en 487

proyectos (Lientz-Swanson 81)

Perfectivo

50%

Adaptativo

25%

Correctivo

21%

P

re

v

e

n

(22)

Problemas con el mantenimiento

Necesidad de balancear la necesidad de

cambio con la disponibilidad del sistema

Problemas

de Personal

Técnicos

Necesidades conflictivas

(23)

Problemas de Personal

Comprensión limitada

47% de esfuerzo dedicado a entender el sistema (Parikh-Zvegintzov 83)

Impacto de un cambio

Información incompleta o incorrecta al reportar problemas

Prioridades de la gerencia

Mantenimiento y mejora más o menos importante que desarrollar nuevas aplicaciones

Según estudio de Lientz-Swanson 81: - Motivación - 11,9% de problemas

(24)

Problemas Técnicos

Especificaciones de diseño inadecuadas

Programas y documentos de mala calidad

Dificultades en pruebas

Ambiente

(25)

Necesidades conflictivas

elegancia y principios de diseño y urgencia

de la solución

Solucionar un problema en un sistema que

no domina

Solución adecuada y a la vez rápida

Impacto del cambio

Necesidades de corto plazo y de largo plazo

Costos actuales vs. Futuros

(26)

Costo del mantenimiento

Todos los problemas contribuyen a elevar los

costos de mantenimiento

Tendencia creciente de los costos de

mantenimiento

40-60 % del costo total en los 80 ¿80% en 2000?

Factores adicionales

Secuencia de reparaciones y mejoras centradas en soluciones de corto plazo incrementan costos de mantenimientos subsiguientes

(27)

Factores que inciden en el

costo del mantenimiento

Estabilidad del equipo de mantenimiento

Responsabilidad contractual

desarrolladores sin responsabilidad por el

mantenimiento pueden no haber diseñado para el cambio

habilidades del personal

a menudo con poca formación/entrenamiento en herramientas y dominio de aplicación

(28)

Técnicas y Herramientas

Gestión de la Configuración

Comité de Control de Cambios

Procedimiento de cambios

(29)

Comité de Control de Cambios

Objetivo: controlar los cambios (mejoras o corrección de defectos)

° Integra Cliente, Usuarios, Desarrolladores Pasos

Solicitud de Cambio (o reporte de problema) CCC califica (defecto, cambio)

evalúa (severidad, impacto) prioriza

Asigna su atención Procedimiento

(30)

Procedimientos de cambios

Solicitud de cambio (normal)

evaluación priorización análisis de impacto implementación pruebas puesta en producción

(31)

Actividades

Gestionar mantenimiento del software Analizar impacto Entender software a cambiar Implementar

cambio Evaluar efectos secundarios (Re)test

Software afectado Preventivo Adaptativo Correctivo Perfectivo Nuevo Sistema Solicitud de Cambio

(32)

Trazabilidad Horizontal

Documento de Requerimientos r1 r2 r2.2 r3 . . d1 d2 . . d1 d2 d1 d2 d3 Code m.1 Code m.2 Code m.3 Code m.4 Code m.5 Code m.6 Test t.11 Test t.10 Test t.1 Test t.2 Test t.3 Test t.4 Test t.5 Test t.6 Test t.7 Test t.8 Test t.9 Prueba Acep-tación n.2 ... ... ... ... ... ... ... ... ... ... Diseño de componentes Código de componentes Pruebas

(33)

Grafo subyacente

D2 D1 D3 D4 D5 D6 D7 D8 . . R2 R1 R3 R4 R5 R6 . C2 C1 C3 C4 C5 C6 C7 C8 . . T2 T1 T3 T4 T5 T6 T7 T8 . .

(34)

Herramientas para Mantenimiento

• Editores de Texto

• Compiladores y Linkers

• Debuggers

• Analizadores estáticos de código

• Generadores de Referencias Cruzadas (impacto)

• Gestión de Configuración

Manejo de versiones (original + delta; último y deltas inversos)

Control de acceso concurrente

Facilidades para reconstruir ejecutable (make)

Comparadores de archivos (diff)

(35)

Métricas del proceso

Permiten evaluar la mantenibilidad

número de solicitudes de mantenimiento correctivo tiempo promedio para análisis de impacto

tiempo promedio para implementar solicitud de cambio

número de solicitudes de cambio pendientes

un incremento en cualquiera de ellos puede

estar indicando problemas de mantenibilidad

(36)

Métricas del producto

Complejidad

estructuras de control estructuras de datos

tamaño de procedimientos y módulos

(37)

Historia de esfuerzo de

mantenimiento

Por componente, permite

evaluar conveniencia de re-escribir/re-diseñar en lugar de mantener

Estudios muestran

concentración de esfuerzo de mantenimiento en pocos módulos

(38)

Rejuvenecimiento del software

• Trata de mejorar la calidad global de un producto (normalmente sistema heredado)

• Redocumentar – análisis del código fuente para proveer más información para asistir al mantenimiento

• Reestructurar – transformar código mal estructurado en código bien estructurado – transformar arquitectura

• Ingeniería Reversa – recrear diseño y especificación a partir del código

• Reingeniería – ingeniería reversa seguida de ingeniería directa para ajustar especificación, rediseñar y construir

(39)

Rejuvenecimiento del software

ESPECIFICACION DISEÑO CODIGO FUENTE Ingeniería Directa • sigue el proceso Reestructura • a partir del código •Representar internamente Redocumentar • desde el código • análisis estático • informe sobre estructura, Ingeniería Reversa

•A partir del código • produce diseño y especificación

Reingeniería

• A partir del código • ingeniería

Reversa seguida de •Ingeniería directa

(40)

Preguntas

• ¿Por qué resulta necesario realizar mantenimiento del

software? ¿Qué le pasa usualmente a un software que no se mantiene?

• ¿Cómo es posible clasificar los tipos de mantenimiento en función de sus objetivos?

• ¿Qué porcentaje del costo total del software corresponde a mantenimiento?

• ¿Qué problemas plantea el mantenimiento?

• ¿Qué necesidades conflictivas aparecen durante el mantenimiento?

• ¿Qué hay que hacer para que los atributos de calidad del software no se degraden durante el mantenimiento?

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

“ORGANIZACIÓN” una palabra que puede tener varios significados pero se conjunta en una sola idea: la búsqueda y solución a problemas mediante un sistema de comunicación,

Para dar solución a dicho problema se realiza el siguiente trabajo de diploma que tiene como objetivo principal desarrollar un sistema de autenticación para el

En la búsqueda de la solución al problema planteado se define como objetivo general: Implementar el módulo Análisis Químico para el Sistema de Gestión de Información de

En primer lugar, el agricultor ya no vende, el agricultor ya tiene que ir a través de los mercados, y no es que tenga que ir a través de los mercados porque alguien, un alcalde o

propusieron una solución analítica completa para el problema de controlar la tasa de producción de un sistema de manufactura con demanda constante y propenso a