U1. Conceptos básicos de la Ingeniería de Software

La computación se refiere a la teoría y fundamentos de los sistemas que permiten que los humanos realizamos con mayor eficiencia nuestras labores cotidianas. La Ingeniería de Software es la clave para que el software garantice ciertas características de funcionalidad.
Dentro del desarrollo de Software podemos distinguir fundamentalmente dos grandes vertientes en términos de producto: la primera en aquellos programas que son implementados con fines genéricos y que están enfocados a grandes grupos poblacionales, como las paqueterías de oficina; los segundos son realizados a la medida para una organización específica y se enfocan en resolver un problema muy particular.

Características del Software

El mayor gasto que se realiza en productos de software es en programas con enfoque genérico; sin embargo, donde se realiza un esfuerzo es en aquellos productos que son trabajados a la medida. De cualquier forma, cualquier software debe contar con ciertas características fundamentales:
  • Mantenible: A pesar del paso del tiempo, debe ir evolucionando y cumpliendo con sus especificaciones.
  • Eficiente: No debe desperdiciar los recursos del sistema sobre el que se ejecuta.
  • Confiable:  No debe causar daños físicos o económicos en caso de falla.
  • Útil: El usuario final debe poder interactuar con el de una manera cómoda y eficiente a través de una interfaz adecuada.

Más allá de las características fundamentales pueden existir otras que sean propias del tipo de producto o del ambiente donde va a ser utilizado. No se debe olvidar que los costos de implementación de un producto pueden llegar a crecer a gran nivel si alguna de las características es requerida a un nivel muy alto.
Mantener un software ya desarrollado es generalmente más costoso que desarrollar uno nuevo, y esto se nota particularmente en sistemas con larga vida. La ingeniería de software busca mantener un correcto balance de costos tanto para momentos de creación como para épocas de mantenimiento de un producto.

Definición de Ingeniería de Software
Según Bauer (1972) “La Ingeniería de Software es el establecimiento y uso de principios sólidos de la Ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en máquinas reales
La definición anterior presenta por sí misma desafíos al mencionar que el aspecto económico y la confiabilidad son factores fundamentales que se deben considerar y deja en los ingenieros de software la responsabilidad de buscar su cumplimiento.
La ingeniería de software funciona con una tecnología estratificada que puede dejar de ser vista como un todo para ser entendida como herramientas, métodos, proceso y, por último, un enfoque de calidad. De todos los estratos el que resulta más importante es el proceso, que mantiene juntos a los demás y permite el desarrollo racional y a tiempo del software. También es base para el control de la gestión de proyectos y establece el contexto en el cual se aplican los métodos técnicos, se generan los productos de trabajo, se asegura la calidad, se establecen los fundamentos y se manejan los cambios de manera apropiada.

Definición de procesos del Software

Para no caer en el error y olvidar que debe hacer un sistema y como, es importante definir con claridad la información que habrá de manejar, si existen necesidades de rendimiento, las restricciones de diseño previamente existente, como debe ser la interfaz que el sistema presenta para los usuarios y su relación con otros sistemas, y los criterios de validación que comprobaran que el desarrollo ha sido realizado con certeza.
Cuando el software ya se encuentra siendo utilizado, es necesario considerar el mantenimiento. El mantenimiento comienza una vez construido el sistema, ya que se centra en el cambio, donde el software es sometido a reparaciones y modificaciones cada vez que se detecta un fallo o se necesita cubrir una nueva necesidad de los usuarios. Es en el mantenimiento donde recae el mayor porcentaje del costo de un sistema, y es por eso la importancia de la mantenibilidad de un sistema.

Calidad del Software

Podemos considerar que la calidad es el conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer necesidades explícitas o implícitas.

La necesidad de calidad ha hecho que el mismo concepto dentro de la industria evolucione. Pasando del control de calidad inicial, donde simplemente el esfuerzo estaba enfocado a detectar defectos; la garantía de calidad, donde la búsqueda más que remediar era de prevenir los defectos; hasta la calidad total, con lo que suena ya actualmente en muchas de las industrias de primer mundo como el concepto de mejora continua.

Comentarios

Entradas populares de este blog

U3 - 5. Estrategia y técnicas de negociación integrativa

U3 - Ensayo de la negociación

U3 -2. Estilos alternativos, estrategias y técnicas de negociación