Capítulo 1

Mantenimiento y Herramientas
En esta sección veremos algunas características, en forma general, de:

Mantenimiento
Los programas deben ser modificados y/o actualizados para:
- Corregir errores
- Mejorar capacidades del software (necesidades organizacionales cambiantes):
- Características adicionales
- Negocio cambia a través del tiempo
- Tecnología de hardware y software cambian a ritmo acelerado
En cierto punto es más conveniente realizar un nuevo estudio del sistema debido a que el costo de mantenimiento
es mayor que la creación de un sistema completamente nuevo.
Herramientas CASE
Las herramientas CASE (Ingeniería de software asistido por computadora) proporcionan:
- Mayor productividad
- Comunicación efectiva con los usuarios
- Integración precisa de los cambios del mantenimiento
Existen tres tipos de niveles en las herramientas CASE:
- Nivel superior:
- Involucra a analistas y superiores.
- Diseño del sistema: colección de registros, elementos, diagramas, pantallas, reportes, etc.
- Nivel inferior:
- involucra a programadores y personal.
- Genera código fuente
- Ventajas: rapidez de producción y mantenimiento, generación de código en varios lenguajes
- Desventajas: aprendizaje lento
- Nivel integrado:
- combina los dos anteriores.
Herramientas CARE
Las herramientas CARE (Reingeniería asistido por computadora) analizan y reestructuran el código
existente.
Estas herramientas proporcionan:
- Estructuras y elementos de datos que describen los archivos y registros guardados por el sistema
- Diseño de pantallas (si el programa trabaja en línea)
- Diseño de reportes para los programas por lotes
- Gráfica de estructura (jerarquía de los módulos)
- Diseño y relaciones de la base de datos
Ventajas:
- Reducción del tiempo (rapidez)
- Producción de documentación
- Programas estructurados
- Fácil de realizar cambios de mantenimiento
- Eliminación de código inutilizadas
Sistemas orientado a objetos
En forma general esta dividida en capas:
- Clase/Objeto
- Estructuras
- Atributos
- Servicios
- Áreas
Alternativas SDLC (Ciclo de vida de desarrollo
de sistemas)
- Prototipos (tiempos de desarrollo largos)
- ETHICS (Soluciones sociales y técnicos)
- Enfoque campeón (involucra a una persona de cada departamento)
- SoftSystem y MultiView (diagramas 'visión rica')