El software se define como una colección de programas informáticos, procedimientos, reglas y datos. Las características del software se clasifican en seis componentes principales:
Estos componentes se describen a continuación:
- Funcionalidad:
Se refiere al grado de desempeño del software frente a su propósito previsto.Las funciones requeridas son:
- Confiabilidad:
Un conjunto de atributos que se relacionan con la capacidad del software para mantener su nivel de desempeño bajo una condición dada por un período de tiempo determinado.Las funciones requeridas son:
- Eficiencia:
Se refiere a la capacidad del software para utilizar los recursos del sistema de la manera más eficaz y eficiente. El software debe hacer un uso efectivo del espacio de almacenamiento y el comando ejecutivo según los requisitos de tiempo deseados.Las funciones requeridas son:
- Usabilidad:
Se refiere a la medida en que el software se puede utilizar con facilidad. la cantidad de esfuerzo o tiempo requerido para aprender a usar el software.Las funciones requeridas son:
- Mantenibilidad:
Se refiere a la facilidad con la que se pueden realizar modificaciones en un sistema de software para ampliar su funcionalidad, mejorar su rendimiento o corregir errores.Las funciones requeridas son:
- Portabilidad:
un conjunto de atributos que se relacionan con la capacidad del software para transferirse de un entorno a otro, sin cambios o con cambios mínimos.Las funciones requeridas son:
Además de las cualidades del software mencionadas anteriormente, existen varias características del software en la ingeniería de software:
- El software se desarrolla o diseña; no se fabrica en el sentido clásico:
- Aunque existen algunas similitudes entre el desarrollo de software y la fabricación de hardware, pocas actividades son fundamentalmente diferentes.
- En ambas actividades, la alta calidad se logra a través de un buen diseño, pero la fase de fabricación del hardware puede presentar problemas de calidad que el software.
- El software no se “desgasta”:
- Los componentes de hardware sufren los efectos crecientes de muchos otros factores ambientales. En pocas palabras, el hardware comienza a desgastarse.
- El software no es susceptible a las enfermedades ambientales que causan el desgaste del hardware.
- Cuando un componente de hardware se desgasta, se reemplaza por una pieza de repuesto.
- No hay repuestos de software.
- Cada falla de software indica un error en el diseño o en el proceso a través del cual el diseño se tradujo en un código ejecutable por máquina. Por lo tanto, las tareas de mantenimiento de software que se adaptan a las requests de cambio implican una complejidad considerablemente mayor que el mantenimiento de hardware. Sin embargo, la implicación es clara: el software no se desgasta. Pero se deteriora.
- El software sigue siendo personalizado:
- Una parte del software debe planificarse y ejecutarse con el objetivo de que tienda a ser reutilizada en varios proyectos.
- Los segmentos reutilizables actuales encapsulan los dos datos y la preparación que se aplica a los datos, lo que permite al programador crear nuevas aplicaciones a partir de piezas reutilizables.
- En el mundo del hardware, la reutilización de componentes es una parte natural del proceso de ingeniería.