Cargando ...

Definición y explicación del proceso de construcción de un sistema aplicando la Ingeniería de Software. Qué es la ingeniería de Software Definición y explicación del proceso de construcción de un sistema aplicando la Ingeniería de Software. Qué es la ingeniería de Software

Por Mauricio Costanzo 3 minutos de lectura

Ingeniería de Software


Si llegaste hasta aquí es porque necesitas entender por qué merece la pena aplicar la ingeniería de software para construir un producto de software . En los siguientes párrafos te voy a explicar las ideas principales que surgen de la ingeniería de software y seguro te convenceré de que no hay otra manera de construir software profesional sin que este adopte las metodologías y herramientas que ofrece ingeniería de software.

El software ha cobrado un papel fundamental para el desarrollo de nuestra vida diaria. Es imposible operar el mundo moderno sin software. Las infraestructuras nacionales así como los entes públicos se controlan mediante sistemas basados en computadoras. Nuestros productos eléctricos así como la fabricación de los mismos necesitan software. La forma en que nos entretenemos así como la industria de la música, juegos, cine, televisión y la lista es prácticamente infinita.

Si bien es verdad que el Software puede ser desarrollado por un aficionado es probable que el producto final sería mucho menos eficiente y mucho menos seguro que un software desarrollado con procedimientos adecuados y muy estudiados. Es aquí dónde la ingeniería de software viene a dar apoyo para que se desarrollen productos de software de calidad .

Definición de inegeniería de software

La ingeniería de software es una disciplina de la ingeniería formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (Software). Se interesa por todos los aspectos de la producción de software, desde las primeras etapas de la especificación del sistema hasta el mantenimiento del sistema después de que se pone en operación. Es además un conjunto de métodos, la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, además ofrece herramientas y técnicas que trascienden más allá de sólo la codificación del software y que es sumamente importante para construir o mantener un software de calidad .

Desmenucemos un poco la definición...

  • Disciplina de ingeniería. La ingeniería como tal es el arte y técnica de aplicar los conocimientos científicos a la invención, diseño, perfeccionamiento y manejo de nuevos procedimientos en la industria y otros campos de aplicación científicos.
  • Todos los aspectos de la producción del software. La ingeniería de software no sólo se interesa por los procesos técnicos del desarrollo de software, sino también incluye actividades como la administración del proyecto de software y el desarrollo de herramientas, así como métodos y teorías para apoyar la producción de software.
  • Enfoque sistemático. Me refiero a una secuencia de actividades cuidadosamente estudiadas y validadas por la ciencia que conducen a la elaboración de un producto de software. Estas actividades están presentes en todas las etapas del proceso , comunmente se le suele llamar ciclo de vida del software. El ciclo de vida del software comienza desde los contactos iniciales que tiene un cliente con la empresa que va a desarrollar hasta la la etapa de mantenibilidad del software ( luego de que esté ya está en producción ).

Actividades fundamentales de la ingeniería de software

Existen cuatro grupos de actividades fundamentales que son comunes a todos los procesos de software , y éstas son:

  • especificación del software , donde clientes e ingenieros definen el software que se producirá y las restricciones en su operación.
  • Desarrollo del software, donde se diseña y programa el software.
  • Validación del software,donde se verifica el software para asegurar que sea lo que el cliente requiere.
  • Evolución del software,donde se modifica el software para reflejar los requerimientos cambiantes del cliente y del mercado.

¿Existen métodos y técnicas universales de ingeniería de software?

No existen métodos y técnicas universales de ingeniería de software que sean adecuados para todos los sistemas y las compañías. Lo más probable sea que el factor más significativo en la determinación de qué métodos y técnicas de la ingeniería de software son más importantes, es el tipo de aplicación que está siendo desarrollada.

Ejemplo de algunos tipos de Software

  • Página web de comercio electrónico
  • Aplicaciones independientes: se trata de sistemas de aplicación que corren en una computadora local, como una PC, e incluye toda la funcionalidad necesaria (Photoshop - AutoCad - Corel son algunos ejemplos)
  • Sistemas de control embebido: se trata de sistemas de control de software que regulan y gestionan dispositivos de hardware. Numéricamente, quizás existen más sistemas embebidos que cualquier otro tipo de sistema. Algunos ejemplos de sistemas embebidos incluyen el software en un teléfono móvil (celular), el software que controla los frenos antibloqueo de un automóvil y el software en un horno de microondas para controlar el proceso de cocinado.
  • Sistemas de entretenimiento: son sistemas para uso sobre todo personal, que tienen la intención de entretener al usuario. La mayoría de estos sistemas son juegos de uno u otro tipo. La calidad de interacción ofrecida al usuario es la característica más importante de los sistemas de entretenimiento.
  • Para cada tipo de sistema se usan distintas técnicas de ingeniería de software, porque el software tiene características muy diferentes.

    Fundamentos de la ingeniería de software

    No obstante, existen fundamentos de ingeniería de software que se aplican a todos los tipos de sistema de software:

    • Deben llevarse a cabo usando un proceso de desarrollo administrado y comprendido.La organización que diseña el software necesita planear el proceso de desarrollo, así como tener ideas claras acerca de lo que producirá y el tiempo en que estará completado. Desde luego, se usan diferentes procesos para distintos tipos de software.
    • La confiabilidad y el desempeño son importantes para todos los tipos de sistemas. El software tiene que comportarse como se espera, sin fallas, y cuando se requiera estar disponible. Debe ser seguro en su operación y, tanto como sea posible, también contra ataques externos. El sistema tiene que desempeñarse de manera eficiente y no desperdiciar recursos.
    • Es importante comprender y gestionar la especificación y los requerimientos del software (lo que el software debe hacer). Debe conocerse qué esperan de él los diferentes clientes y usuarios del sistema, y gestionar sus expectativas, para entregar un sistema útil dentro de la fecha y presupuesto.
    • Tiene que usar de manera tan efectiva como sea posible los recursos existentes. Esto significa que, donde sea adecuado, hay que reutilizar el software que se haya desarrollado, en vez de diseñar uno nuevo.

    Ciencia en Computación, Ingeniería en Sistemas e Ingeniería de Software ¿Son lo mismo?

    La ingeniería de software se relaciona con las ciencias de la computación y la ingeniería de sistemas, pero no son lo mismo.

    • Las ciencias de la computación se interesan por las teorías y los métodos que subyacen en las computadoras y los sistemas de software, en tanto que la ingeniería de software se preocupa por los asuntos prácticos de la producción del software.
    • La ingeniería de sistemas se interesa por todos los aspectos del desarrollo y la evolución de complejos sistemas, donde el software tiene un papel principal. Por lo tanto, la ingeniería de sistemas se preocupa por el desarrollo de hardware, el
Sobre el autor
Mauricio Costanzo es programador e impulsor de proyectos online. Inició su carrera como programador en el año 2014 y al día de hoy se dedica a desarrollar las ideas que empresas e instituciones desean convertir en realidad. También es fundador de Worldmaster (ecommerce de tecnología) y de EasySocio (Web/App para administrar gimnasios).
Artículos relacionados
Proceso de descubrir, analizar, documentar y verificar los servicios que debe brindar un
sistema y sus restricciones.

Especificación del software

Proceso de descubrir, analizar, documentar y verificar los servicios que debe brindar un sistema y sus restricciones.

Leer más

Existen cuatro grupos de actividades fundamentales que están presentes en todos los procesos de software (se trate de un simple programa o de un gran sistemas).

Actividades de la ingeniería de software

Existen cuatro grupos de actividades fundamentales que están presentes en todos los procesos de software (se trate de un simple programa o de un gran sistemas).

Leer más

Modelo de Desarrollo Incremental. Harlan Mills en el año 1980. Se basa en el
desarrollo a partir del incremento de la funcionalidades del programa, se puede considerar un precursor de las modernas metodologías iterativas.

Qué es el desarrollo incremental

Modelo de Desarrollo Incremental. Harlan Mills en el año 1980. Se basa en el desarrollo a partir del incremento de la funcionalidades del programa, se puede considerar un precursor de las modernas metodologías iterativas.

Leer más

Es un ejemplo de un proceso dirigido por un plan; en principio, se debe planear y programar todas las actividades del proceso, antes de comenzar a trabajar con ellas.

Modelo en cascada Waterfall ¿Qué es?

Es un ejemplo de un proceso dirigido por un plan; en principio, se debe planear y programar todas las actividades del proceso, antes de comenzar a trabajar con ellas.

Leer más

Un proceso de software es una serie de actividades relacionadas que conducen a la elaboración de un producto de software.

Qué es un proceso de software

Un proceso de software es una serie de actividades relacionadas que conducen a la elaboración de un producto de software.

Leer más

¿Realmente sabes lo qué es el Software?

Qué es el software

¿Realmente sabes lo qué es el Software?

Leer más

Todos los derechos reservados {{empresa.name}} © 2020 |
Desarrollado por Mauricio Costanzo