You are on page 1of 10

Evolucin de Software

Marcello Visconti & Hernn Astudillo Departamento de Informtica Universidad Tcnica Federico Santa Mara <hernan|visconti at inf.utfsm.cl>

Evolucin de Software
? Mantencin de Software ? Gestin de Configuracin de Software

Page 1

Mantencin de Software

Mantencin de Software
? Software no se gasta, no pueden reemplazarse sus partes ... ? Software envejece: se corrigen errores, cambian las plataformas, se producen ajustes, se efectan mejoras ... se parcha ? Impacto del cambio (inevitable) debe ser evaluado y controlado

Page 2

Mantencin de Software: Tipos


? Correctiva
? diagnstico y correccin de errores

? Adaptativa
? adecuacin a un ambiente cambiante

? Perfectiva
? mejoramientos y adicin de nuevas capacidades

? Preventiva
? mejoramiento de mantenibilidad futura (ingeniera inversa, reingeniera)

Mantencin de Software
? Mantencin ms recurrente: perfectiva
? mantencin? o desarrollo evolutivo?

Page 3

Mantencin de Software
? Mantencin es tpicamente no estructurada
? normalmente solo existe el cdigo fuente, hay mala o nula documentacin ? se dilapidan esfuerzos ? frustracin

Mantencin de Software: Costos


? 60%+ de los costos totales ? Costos intangibles: oportunidades de desarrollo perdidas, insatisfaccin de clientes, prdida de imagen ? Diferencias de productividad: hasta 40:1 con desarrollo

Page 4

Mantencin de Software: Problemas


? Cambios no documentados ? Comprensin del trabajo ajeno ? Documentacin ? Diseo inadecuado ? Mala actitud

Mantencin de Software: Mantenibilidad


? Facilidad de hacer mantencin ? Factores diversos
? personal, estandarizacin, estructuracin del producto

? Mtricas fundamentales
? tiempos (deteccin, anlisis, correccin)

? Importancia de revisiones
? todas las fases del desarrollo deben considerar la mantenibilidad

Page 5

Mantencin de Software: Tareas


? Unidad de mantencin ? Documentos estndar ? Flujo de eventos ? Registro ? Evaluacin

Gestin de Configuracin de Software

Page 6

Gestin de Configuracin de Software


? Software Configuration Management (SCM) ? Consiste en identificar, organizar y controlar los cambios al producto que se desarrolla ? SCM cubre el proceso completo ? Configuracin del software corresponde a todos los artefactos que se producen durante el desarrollo y mantencin ? Para administrar el cambio: baselines, o lneas base, hitos en el desarrollo y que constituyen los temes de la configuracin ? Los cambios se hacen sobre una copia del baseline

SCM: Terminologa Bsica


? Baseline
? producto formalmente revisado y aprobado, base para futuros desarrollos, puede ser modificado solo a travs de un procedimiento formal de control de cambios

? Control de cambio
? proceso y procedimiento para identificar, documentar, revisar y autorizar cambios

Page 7

SCM: Terminologa Bsica


? Release
? accin mediante la cual una versin particular de un producto se hace disponible para un propsito especfico

? Versin
? instancia de un tem de la configuracin, una vez transformado en baseline no puede ser cambiado sin crear un nueva versin

SCM: Terminologa Bsica


? Control de versiones
? proceso y procedimiento para identificar y gestionar tems segn cambian en el tiempo, usualmente apoyado por una herramienta

? Auditora de configuracin
? exmenes independientes de tems de la configuracin y actividades para evaluar cumplimiento de criterios establecidos

Page 8

SCM: Ejemplo de Baselines

Ingeniera del Sistema Especificacin del Sistema Anlisis de Requerimientos Especificacin de Requerimientos del Software Diseo del Software Especificacin del Diseo Codificacin Cdigo Fuente Prueba Planes, Procedimientos, Datos de Prueba Sistema en funcionamiento

SCM: Tareas
? Identificacin de tems ? Control de versiones ? Control de cambios ? Auditora de configuracin ? Informe de cambios

Page 9

SCM: Disciplina Ingenieril Efectiva


? SCM como parte efectiva de ingeniera ? Todos los productos deben ser liberados por SCM ? Sistema de accin correctiva (clave) ? Automatizacin adecuada del proceso -- ms que el simple establecimiento de una base de datos

Page 10

You might also like