AnuncioEn ingeniería de software, el término mantenimiento de software se refiere a «la modificación de un producto de software después de su entrega para corregir errores, mejorar el rendimiento u otros atributos, o realizar ajustes al entorno modificado». La tarea de mantenimiento incluye todas las medidas para mantener la funcionalidad de los procesos de TI y del software utilizado. Esto también incluye los ajustes profesionales y técnicos necesarios a la infraestructura de TI. Esta normativa legal distingue deliberadamente el mantenimiento del software del mantenimiento del software centrándose en el mantenimiento de la funcionalidad. Mantenimiento de software En un sentido más amplio, los servicios y medidas que acompañan o respaldan los cambios descritos por la norma también pueden contarse como mantenimiento de software. El mantenimiento del software se utiliza generalmente para mantener la funcionalidad y la confiabilidad operativa del software. Tradicionalmente, el mantenimiento representa la mayor parte del ciclo de vida del software. Además, la cantidad de mantenimiento necesario para el mantenimiento aumenta constantemente: mientras que en la década de 1970 todavía se estimaba que los costos de mantenimiento representaban entre el 35% y el 60% del gasto total del ciclo de vida del software, esta cifra aumentó entre el 80% y el 90%. a finales de la década de 1990. Si el software debe mantenerse y con cuánto esfuerzo depende en gran medida del uso del software en cuestión (revelación de errores a través de diferentes escenarios de aplicación; el deseo de mejorar ciertos atributos) y la duración del uso (cambio ambiente). En el caso del software de misión crítica, el mantenimiento del software suele contribuir de manera significativa a la seguridad de la inversión, pero, por otro lado, también representa un factor de coste importante. Como resultado, los acuerdos de mantenimiento suelen encontrarse en software de misión crítica. Dependiendo del nivel de servicio acordado, los costes anuales suelen ser del orden del 15% de los costes de desarrollo del software. Por lo tanto, las empresas de TI cobran de manera relativamente uniforme entre el 15 y el 23% del importe de la licencia por el mantenimiento del software con una tarifa única al año, incluso si los servicios a este respecto difieren en detalles. Gartner Inc. estima que el mantenimiento representa entre el 15 y el 25% de los costos totales de TI anualmente. Además, el esfuerzo de mantenimiento está fuertemente influenciado por el software en sí (densidad de errores, mantenibilidad) y las personas involucradas en el mantenimiento (experiencia, colaboración de especialistas). y procesos. De esta manera, el esfuerzo puede multiplicarse por cinco o reducirse a una quinta parte. Si durante el diseño del sistema se presta la atención necesaria a la mantenibilidad adecuada, se pueden evitar costes de mantenimiento del software innecesariamente elevados. En el caso de costes de mantenimiento elevados, el mantenimiento del software lo suele llevar a cabo un grupo de empleados firmemente organizado (organización de mantenimiento) en un proceso de mantenimiento ordenado. Mantenibilidad del software La mantenibilidad, compatibilidad o capacidad de servicio del software es la facilidad con la que un sistema de software o componente de software puede modificarse para corregir errores, mejorar el rendimiento u otros atributos, o realizar ajustes al entorno modificado. La mantenibilidad es aún más importante: Cuanto más largo sea el período previsto de uso del software, menor será la disponibilidad de expertos en el campo. Los criterios importantes para la mantenibilidad del software son: La documentación, en particular la especificación exacta de las interfaces. Una arquitectura viable, escalable y extensible. Un diseño ordenado que también haga uso de tecnologías bien conocidas. y patrones de diseño aceptados Alta cohesión y acoplamiento flexible de los módulos Una estructura modular y altamente articulada (descomposición en unidades elementales comprobables individualmente) Evitación de duplicados (principio DRY) Código claro y bien comentado que garantiza la comprensibilidad local Comprobaciones de las condiciones de la interfaz integradas en el programa (Diseño por contrato) La gama más amplia posible de pruebas ejecutables automáticamente para el sistema La ausencia de instrucciones de salto (comandos «GOTO») Evitar variables globales La parametrización de funciones o métodos Verificaciones de las suposiciones del programador sobre los estados del programa integrados en el programa (afirmaciones) Para determinar mantenibilidad, el índice de mantenibilidad se calcula en función de las métricas de fila, las métricas de McCabe y Halstead.

Source link