INGENIERÍA SOFTWARE

Definiciones de Ingeniería de Software

Definición 1: Ingeniería de Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software.
Definición 2: Ingeniería de Software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar (funcionar) y mantenerlos. Se conoce también como desarrollo de software o producción de software.
Definición 3: Ingeniería de Software trata del establecimiento de los principios y métodos de la Ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales.
Definición 4: La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación (funcionamiento) y mantenimiento del software; es decir, la aplicación de ingeniería al software.

El producto y el proceso de la Ingeniería del Software

El producto

El software de computadora se ha convertido en el alma máter. Es la máquina que conduce a la toma de decisiones comerciales. Sirve para la investigación científica moderna y de resolución de problemas de ingeniería. Es el factor clave que diferencia los productos y servicios modernos. Está inmerso en sistemas de todo tipo: de transportes, médicos, de telecomunicaciones, militares, procesos industriales, entretenimientos, productos de oficina, la lista es casi interminable. El software es casi ineludible en un mundo moderno. A medida que nos adentremos en el siglo XXI, será el que nos conduzca a nuevos avances en todo, desde la educación elemental a la ingeniería genética.
El software de computadora es el producto que diseñan y construyen los ingenieros del software. Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos que comprenden formularios virtuales e impresos y datos que combinan números y texto y también incluyen representaciones de información de audio, vídeo e imágenes.
Los ingenieros de software lo construyen, y virtualmente cualquier persona en el mundo industrializado lo utiliza, bien directa o indirectamente. Es importante porque afecta muy de cerca cualquier aspecto de la vida y está muy extendido en el comercio y en las actividades cotidianas.
Los pasos son construir software de computadora como construimos cualquier otro producto satisfactorio, aplicando un proceso que conduce a un resultado de alta calidad, que satisface las necesidades de las personas que usarán el producto. Debes aplicar un enfoque de ingeniería de software.
Desde el punto de vista de un ingeniero de software, el producto obtenido son los programas, documentos y los datos que configuran el software de computadora. Pero desde el punto de vista de los usuarios el producto obtenido es la información resultante que de algún modo mejora el mundo de los usuarios.

El proceso

Como el software, al igual que el capital, es el conocimiento incorporado, y puesto que el conocimiento está inicialmente disperso, el desarrollo del software implícito, latente e incompleto en gran medida, es un proceso social de aprendizaje.
El proceso es un diálogo en el que se reúne el conocimiento y se incluye en el software. El proceso proporciona una interacción entre los usuarios y los diseñadores, entre los usuarios y las herramientas de desarrollo, y entre los diseñadores y las herramientas de desarrollo [tecnología]. Es un proceso interactivo donde la herramienta de desarrollo se usa como medio de comunicación, con cada iteración del diálogo se obtiene mayor conocimiento de las personas involucradas.
Cuando se trabaja para construir un producto o un sistema, es importante seguir una serie de pasos predecibles, un mapa de carreteras que le ayude a obtener el resultado oportuno de calidad. El mapa de carreteras a seguir es llamado proceso del software.
Lo construyen los ingenieros del software y sus gestores adaptan el proceso a sus necesidades y entonces lo siguen. Además las personas que han solicitado el software tienen un papel a desempeñar en el proceso del software. Es importante porque proporciona estabilidad, control y organización a una actividad que puede, si no se controla, volverse caótica.
Los pasos son a un nivel detallado, el proceso que adoptemos depende del software que estamos construyendo. Un proceso puede ser apropiado para crear software de un sistema de aviación, mientras que un proceso diferente por completo puede ser adecuado para la creación de un sitio web.
Desde el punto de vista de un ingeniero de software, los productos obtenidos son programas, documentos y datos que se producen como consecuencia de las actividades ingenieriles definidas por el proceso.
Hay una cantidad de mecanismos de evaluación del proceso de software que permiten a las organizaciones determinar la madurez de su proceso. Sin embargo, la calidad, oportunidad y viabilidad a largo plazo del producto que se está construyendo, son los mejores indicadores de la eficiencia del proceso que estamos utilizando.

No hay comentarios.:

Publicar un comentario