Diferencia entre revisiones de «Ingeniería de software»

(Modelos y filosofías de desarrollo de software)
m (Revertidos los cambios de JESUS ARARO626 (disc.) a la última edición de Carlos idict)
(Etiqueta: Reversión)
(No se muestran 11 ediciones intermedias de 6 usuarios)
Línea 7: Línea 7:
 
La Ingeniería del [[Software]] es una disciplina o área de la [[Informática]] o Ciencias de la [[Computación]], que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva [[área]] de la ingeniería, y el ingeniero del software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.  
 
La Ingeniería del [[Software]] es una disciplina o área de la [[Informática]] o Ciencias de la [[Computación]], que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva [[área]] de la ingeniería, y el ingeniero del software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.  
  
La Ingeniería del Software trata con áreas muy diversas de la Informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos o desarrollos de [[Intranet]]/[[Internet]], abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como: [[negocios]], [[investigación científica]], [[medicina]],[[ producción]], [[logística]], banca, control de tráfico, [[meteorología]], el mundo del derecho, la [[red]] de redes Internet, redes Intranet y Extranet, etc.
+
La Ingeniería del Software trata con áreas muy diversas de la Informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos o desarrollos de [[Intranet]]/[[Internet]], abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como: negocios, [[investigación científica]], [[medicina]],[[ producción]],logística, banca, control de tráfico, [[meteorología]], el mundo del derecho, la [[red]] de redes Internet, redes Intranet y Extranet, etc.
  
 
== Término Ingeniería del Software  ==
 
== Término Ingeniería del Software  ==
Línea 13: Línea 13:
 
Según Diccionario de la Real Academia Española de la Lengua  
 
Según Diccionario de la Real Academia Española de la Lengua  
  
El término Ingeniería se define en el Diccionario de la Real Academia Española de la Lengua ([[DRAE]]) como: [[Conjunto]] de [[conocimientos]] y técnicas que permiten aplicar el saber científico a la utilización de la [[materia]] y de las fuerzas de [[energía]].  
+
El término Ingeniería se define en el Diccionario de la Real Academia Española de la Lengua (DRAE) como: Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuerzas de [[energía]].  
  
 
Profesión y ejercicio del ingeniero, y el término ingeniero se define como: Persona que profesa o ejerce la ingeniería.  
 
Profesión y ejercicio del ingeniero, y el término ingeniero se define como: Persona que profesa o ejerce la ingeniería.  
Línea 21: Línea 21:
 
'''Ingeniería:''' Es el conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones provechosas para el hombre.  
 
'''Ingeniería:''' Es el conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones provechosas para el hombre.  
  
Evidentemente, si la Ingeniería del [[Software]] es una nueva ingeniería, parece lógico que reúna las propiedades citadas en las definiciones anteriores. Sin embargo, ni el DRAE ni la Real Academia Española de Ciencias han incluido todavía el termino es sus últimas ediciones; en consecuencia vamos a recurrir para su definición más precisa a algunos de los autores más acreditados que comenzaron en su momento a utilizar el término o bien en las definiciones dadas por organismos internacionales profesionales de prestigio tales como [[IEEE]] o [[ACM]].
+
Evidentemente, si la Ingeniería del [[Software]] es una nueva ingeniería, parece lógico que reúna las propiedades citadas en las definiciones anteriores. Sin embargo, ni el DRAE ni la Real Academia Española de Ciencias han incluido todavía el término es sus últimas ediciones; en consecuencia vamos a recurrir para su definición más precisa a algunos de los autores más acreditados que comenzaron en su momento a utilizar el término o bien en las definiciones dadas por organismos internacionales profesionales de prestigio tales como [[IEEE]] o [[ACM]].
  
 
== Definiciones de Ingeniería de 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 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 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 del 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 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.
 
'''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.
Línea 41: Línea 41:
 
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.  
 
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 de cualquier aspecto de la vida y está muy extendido en el comercio, altura y en las actividades cotidianas.  
+
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 es 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 la gente que usará el producto. Debes aplicar un enfoque de ingeniería de software.  
+
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 hace de algún modo el mundo mejor a los usuarios.
+
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  ===
 
=== El proceso  ===
Línea 51: Línea 51:
 
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.  
 
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 dialogo en el que se reúne el conocimiento y se incluye en el software para convertirse en 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.  
+
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 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.  
+
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.  
 
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 es 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.  
+
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 de ingeniería del software definidas por el proceso.  
+
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 del software que permiten a las organizaciones determinar la madurez de su proceso del software. Sin embargo, la calidad, oportunidad y viabilidad a largo plazo del producto que está construyendo son los mejores indicadores de la eficiencia del proceso que estamos utilizando.
+
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.
  
 
                                    
 
                                    
Línea 69: Línea 69:
 
*[[Modelo en cascada]] (modelo tradicional)           
 
*[[Modelo en cascada]] (modelo tradicional)           
 
          
 
          
*Modelo         de prototipos           
+
*Modelo de prototipos           
 
          
 
          
 
*[[Modelo Espiral]]           
 
*[[Modelo Espiral]]           
 
          
 
          
*Desarrollo         por etapas           
+
*Desarrollo por etapas           
 
          
 
          
*Desarrollo         iterativo y creciente o Iterativo e         Incremental           
+
*Desarrollo iterativo y creciente o Iterativo e Incremental           
 
          
 
          
 
*[[Modelo de desarrollo rápido de aplicaciones]] (Rapid Application Development, RAD ó DRA)           
 
*[[Modelo de desarrollo rápido de aplicaciones]] (Rapid Application Development, RAD ó DRA)           
Línea 82: Línea 82:
 
          
 
          
 
          
 
          
*[[Proceso Unificado de Desarrollo]] RUP         (Proceso Unificado de Rational)
+
*[[Proceso Unificado de Desarrollo]] RUP (Proceso Unificado de Rational)
  
 
==Ver además==
 
==Ver además==

Revisión del 08:58 1 oct 2019

Ingeniería de software
Información sobre la plantilla
Concepto:Ciencia de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo.

Ingeniería del Software. La Ingeniería del Software es una disciplina o área de la Informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Existen varias definiciones sobre esta ciencia de la computación que permiten describir este proceso.

Estado del arte de la Ingeniería del Software

La Ingeniería del Software es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva área de la ingeniería, y el ingeniero del software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.

La Ingeniería del Software trata con áreas muy diversas de la Informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos o desarrollos de Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como: negocios, investigación científica, medicina,producción,logística, banca, control de tráfico, meteorología, el mundo del derecho, la red de redes Internet, redes Intranet y Extranet, etc.

Término Ingeniería del Software

Según Diccionario de la Real Academia Española de la Lengua

El término Ingeniería se define en el Diccionario de la Real Academia Española de la Lengua (DRAE) como: Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuerzas de energía.

Profesión y ejercicio del ingeniero, y el término ingeniero se define como: Persona que profesa o ejerce la ingeniería.

Según la Real Academia de Ciencias Exactas, Físicas y Naturales

Ingeniería: Es el conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones provechosas para el hombre.

Evidentemente, si la Ingeniería del Software es una nueva ingeniería, parece lógico que reúna las propiedades citadas en las definiciones anteriores. Sin embargo, ni el DRAE ni la Real Academia Española de Ciencias han incluido todavía el término es sus últimas ediciones; en consecuencia vamos a recurrir para su definición más precisa a algunos de los autores más acreditados que comenzaron en su momento a utilizar el término o bien en las definiciones dadas por organismos internacionales profesionales de prestigio tales como IEEE o ACM.

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.


Modelos de desarrollo de software

Existen varios modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya la ingeniería de software para la construcción del software, entre ellos se puede citar:

  • Modelo de prototipos
  • Desarrollo por etapas
  • Desarrollo iterativo y creciente o Iterativo e Incremental
  • Desarrollo concurrente


Ver además

Fuentes

  • Pressman, Roger S., Ingeniería del Software. Vol. I. 250 p. 2005.