Ingeniería del software - Ingeniería del software

2 - Ingeniería del software

[editar]
Curso gratis creado por Rafael Menéndez-Barzanallana Asensio. Extraido de: http://www.um.es/docencia/barzana
30 de Noviembre de 1999
Según la definición del IEEE, "software es la suma total de los programas de ordenador, procedimientos, reglas, la documentación asociada y los datos que pertenecen a un sistema de cómputo" y "un producto de software es un producto diseñado para un usuario". En este contexto, la Ingeniería de Software (SE del inglés "Software Engineering") es un enfoque sistemático del desarrollo, operación, mantenimiento y retiro del software.
Su origen se debe a que el entorno actual de desarrollo de sistemas software viene adoleciendo de:
  • Retrasos considerables en la planificación
  • Poca productividad
  • Elevadas cargas de mantenimiento
  • Demandas cada vez más desfasadas con las ofertas
  • Baja calidad y fiabilidad del producto
  • Dependencia de los realizadores

esto es lo que se ha denominado comunmente "crisis del software", que se ha originado históricamente en los siguientes pasos:

- Primera Fase. Los albores (1945-1955)
Programar no es una tarea diferenciada del diseño de una máquina
Uso de lenguaje máquina y ensamblador
Segunda Fase. El florecimiento (1955-1965)
Aparecen multitud de lenguajes
Era posible hacer de todo
Tercera Fase. La crisis (1965-1970)
Desarrollo inacabable de grandes programas
Ineficiencia, errores, coste impredecible
Nada es posible
Cuarta Fase. Innovación conceptual (1970-1980)
Fundamentos de programación
Verificación de programas
Metodologías de diseño
Quinta Fase. El diseño es el problema (1980-199?)
Entornos de programación
Especificación formal
Programación automática


¿Cómo se define crisis?
La palabra crisis se define en el diccionario como "un punto decisivo en el curso de algo; momento, etapa, o evento decisivo o crucial". Sin embargo para el software no ha habido ningún punto crucial, sólo una lenta evolución.
La crisis en la industria del software ha permanecido durante muchos años, lo cual parece una contradicción para el término. Lo que si se podría decir es que hay un problema crónico en el desarrollo de software.
Ello ha venido originado por una falta de:

  • Formalismo y metodología
  • Herramientas de soporte
  • Administración eficaz

Actualmente está surgiendo una gran expectativa ante la evolución de la Ingeniería del Software, al ir apareciendo nuevos métodos y herramientas formales que van a permitir en el futuro un planteamiento de ingeniería en el proceso de elaboración de software. Dicho planteamiento vendrá a paliar la demanda creciente por parte de los usuarios, permitiendo dar respuesta a los problemas de:

  • Administración
  • Calidad
  • Productividad
  • Fácil mantenimiento

Este último es uno de los grandes problemas, pues puede llegar a suponer un importe superior al 60% del total del coste del software.
Las nuevas metodologías suponen un enfoque integral del problema, abarcando todas las fases, que en su mayoría no se consideraba en los desarrollos tradicionales. En particular son fundamentales la reducción de costes y plazos, así como la calidad del producto final. Estas tecnologías constituyen la denominada "Ingeniería del Software", que se puede definir como "el tratamiento sistemático de todas las fases del ciclo de vida del software". Hay otras definiciones, pero todas inciden en la importancia de una disciplina de ingeniería para el desarrollo de software.
Definición del término "Ingeniería del Software"
El término Ingeniería, se define en el Diccionario de la Real Academia Española de la Lengua, como:
1. "Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía.
2. Profesión y ejercicio del ingeniero" y el término ingeniero se define como " Persona que profesa o ejerce la ingeniería"
La Real Academia de Ciencias Exactas, Físicas y Naturales de España, define el término Ingeniería como "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, al ser una nueva ingeniería, no está incluida su definición en las referencias citadas, aunque si reúne sus propiedades.
Revisando definciones, a nivel internacional, se pueden citar como adecuadas, las siguientes:
Definición 1:
Es el estudio de los principios y metodologías para desarrollo de sistemas de software.
Definición 2:
Es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de ordenador y la documentación adecuada para desarrollar, operar y mantenerlos.
Definición 3:
Se trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable.
Definición 4:
La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software.
Seguidamente se dan algunas definiciones ampliamente aceptadas dentro de la informática:


DEFINICIONES DE BOEHM
Software es el conjunto de programas, procedimientos y documentación asociados a un sistema, y particularmente a un sistema computacional.
Ingeniería es la aplicación de la ciencia y las matemáticas mediante lo cual las propiedades de la materia y las fuentes de energía de la naturaleza se hacen útiles al hombre en estructuras, máquinas, productos, sistemas y procesos.
Ingeniería de software es la aplicación de la ciencia y las matemáticas mediante la cual la capacidad de los equipos computacionales se hacen útiles al hombre a través de programas de computador, procedimientos y la documentación asociada.
DEFINICION DE BAUER
Ingeniería del Software es el establecimiento y uso de firmes principios y métodos de ingeniería para la obtención económica de software fiable y que funcione en máquinas reales.

Durante los primeros años de la informática, el software se consideraba como un añadido. La programación era un "arte", para el que no existía ninguna metodología. Era un proceso que se realizaba sin ninguna planificación. En esta época toda la programación se desarrollaba a medida para cada aplicación, y en consecuencia tenía muy poca difusión, habitualmente quien lo escribía era porque lo necesitaba, y era quien lo mantenía.
En una segunda época (a partir de mitad de la década de 1960) se estableció el software como producto y aparecieron las empresas dedicadas al desarrollo y distribución masiva del mismo. El origen del término Ingeniería del Software, se atribuye a dos conferencias organizadas por la OTAN en 1967 y 1968
La tercera era comenzó a mediados de la década de 1970, época en la que los sistemas informáticos aumentaron mucho en su complejidad, y nacieron las redes de ordenadores. Esto supuso mucha presión para los desarrolladores, aunque los ordenadores para uso personal, apenas estaban difundidos. Esta época acabó con la aparición de los microprocesadores.
La cuarta era de la evolución de los sistemas informáticos, comienza hacia 1990 y se dirige al impacto colectivo de los ordenadores y el software, en todos los entornos. La industria del software tiene un gran peso en la economía mundial. Aparecen las técnicas de redes neuronales, junto con la lógica difusa.
Hoy en día el software tiene un doble papel. Es un producto, pero simultáneamente es es el vehículo para hacer entrega de un producto. Como producto permite el uso del hardware, ya sea, por ejemplo, un ordenador personal, un teléfono móvil. Como vehículo utilizado para hacer entrega del producto, actúa como base de control, por ejemplo un sistema operativo, o un sistema gestor de redes. El software hace entrega de lo que se considera como el producto más importante del siglo veintiuno, la información. El software transforma datos personales para que sean más útiles en un entorno local, gestiona información comercial para mejorar la competitividad, proporciona el acceso a redes a nivel mundial, y ofrece el medio de adquirir información en todas sus formas.
Actualmente se considera la Ingeniería del Software como una nueva área de la ingeniería, y la profesión de ingeniero informático es una de las más demandadas. La palabra ingeniería tiene una connotación de prestigio que provoca que muchas ramas del conocimiento tiendan a autodenominarse así.
La ingeniería del software trata áreas muy diversas de la informática y de las ciencias de la computación, aplicables a un amplio espectro de campos, tales como negocios, investigación científica, medicina, producción, logística, banca, meteorología, derecho, redes, entre otras muchas.
Sin embargo, es frecuente que en la práctica diaria profesional no se incluya prácticamente ninguna de las recomendaciones más elementales de la ingeniería del software. Es habitual que el desarrollo de software se parezca más al descontrol del cuento de «si los programadores fueran albañiles...» que a una idílica y bien organizada "factoría de software" (concepto de gran vigencia a finales de los ochenta).
De hecho, las evaluaciones de los procesos productivos de software realizadas a raíz de los modelos de procesos de software confirman que el desarrollo de software suele estar básicamente en estado caótico. Y no sólo en pequeñas empresas de países como España, sino en grandes proyectos en naciones como EE UU y Japón.
Como ejemplo de que la ingeniería del software es en la actualidad imprescindible, la revista satírica inglesa Private Eye dio detalles sobre importantes proyectos de software que han dado resultados malos. Entre ellos destacan los del servicio de ambulancias Asinfor de Londres, el servicio de sanidad regional de Wessex, la Sociedad para los derechos de autor y el sistema de manejo de equipajes del aeropuerto de Denver.
Comparación con otras ingenierías:
- Ingeniería mecánica como buscar un gato negro en una habitación iluminada.
Ingeniería química como buscar un gato negro en una habitación oscura.
Ingeniería software como buscar un gato negro en una habitación oscura donde no hay ningún gato.
Ingeniería de sistemas como buscar un gato negro en una habitación oscura donde no hay gato y alguien dice !!!lo encontré!!!.
La industria envejece
En los años 50 y 60 del siglo XX, muchos comentaristas especializados crticaban a la industria del metal en EE.UU. por la falta de inversión en las fábricas. Las fábricas habían comenzado a deteriorarse, no se aplicaban los métodos de producción modernos, la calidad quedaba en entredicho, y sin embargo el coste del producto final subía, como consecunecia la competencia externa ganó una cuota de mercado considerable.
La dirección de esas industrias no decidió invertir capital para mantenerse competitivas en el entorno industrial. Como consecuencia, la industria del metal perdió una parte de mercado muy significativa, beneficiando a las industrias extranjeras, que tenían fábricas más modernas en todos sus aspectos.
Actualmente la industria del software está en una situación análoga. A todos los niveles se tiene una "fábrica de software" que envejece, hay miles de aplicaciones basadas en software en una situación crítica y necesitan su renovación urgente, aunque con la llegada del año 2000 y sus temidos efectos, parte del software se puso al día.
El futuro no pasa por "reparar" lo que está mal, y cambiar la imagen de las aplicaciones, se necesita una reingeniería o reestructuración, de lo contrario no serán competitivos en este nuevo siglo. Desafortunadamente, muchos directores de empresas no están dispuestos a comprometer los recursos, pues piensan que en funcionando una aplicación, no es necesario nada más.
[editar]

29 opiniones

felicitaciones

ojala le quede claro a las universidades de hoy que confunden la palabra "ingenieria".
Cuando alguien quiere estudiar ingenieria en sistemas o del software las universidades enseñan toda la matematica relacionada con el mundo de la fisica, (formula de aca formula para lo otro).
¿que tiene que ver con el area del software? LAMENTABLEMENTE UN GRAN NUMERO DE ESTUDIANTES UNIVERSITARIOS DE SISTEMAS DE ARGENTINA TIENEN QUE PAGAR POR ESTA INGORANCIA DE LAS UNIVERSIDADES ARGENTINAS.
putos

maricas
MARAVILLOSO

me parece un curso increible sugiero que aumenten mas contenido
Recomendacion.

Me parece un curso bastante completo ya que el contenido es bastante accesible. Es un curso recomendable.
La elemental ingenieria de software.

Elemental programa con bastante contenido y facilitador para aquel usuario que desea disponer o acceder a su proceso de datos.
1 2 3 4 5 6 | siguiente >

Cursos gratis relacionados con 'Ingeniería del software'

Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Un exhaustivo conjunto de ensayos y artículos que recorren la década de 1990 y los... Más »

Autor y licencia de 'Ingeniería del software'


Curso gratis de Rafael Menéndez-Barzanallana Asensio. Extraido de: http://www.um.es/docencia/barzana CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.