viernes, 3 de mayo de 2013

Ingeniería de Software




INGENIERÍA DE SOFTWARE

Síntesis de la evolución del software

     Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido. […]El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico; a menudo salía con éxito.

     En estos años, en la computadora, lo que realmente primaba era el hardware, y teniendo como a un complemento al software. Esto se debía a la corta distribución que tenía el software, puesto que su desarrollo era de forma personal, para empresas, u otras instituciones, más no tenía un carácter comercial.

     Posteriormente, una segunda fase de su evolución se caracterizo principalmente por el establecimiento del software como producto, y con esto la llegada de las “casas del software”.

     Es aquí en pleno auge del mercado del software, donde se producen los primeros errores. Todos los programas que se habían desarrollado, tuvieron que ser corregidos cuando se encontraban fallos, ya sea por las especificaciones del usuario y/o la adaptación a un nuevo hardware que se hubiera conseguido.

     Una tercera fase, la cual tuvo como principales características: “Las redes de área local y global” , las cuales permitían una comunicación y acceso casi instantáneo; “la llegada del microprocesador”, lo cual hacia imaginar el futuro inmediato de computadoras portátiles.

     Más en cuanto nos concierne, debemos de mencionar situaciones importantes que dieron lugar a la ingeniería de software.

     Como se menciono anteriormente, a inicios de la era de la computadora, quien realmente recibía mayor crédito era el hardware en sí, para lo cual, tuvieron que controlar su coste.

     Esto llevo a la implementación de controles formales y estándares técnicos. Los cuales exigían un análisis y diseño completo antes de que algo se construyese.

     Dicho de forma sencilla, aplicaban controles, los métodos y las herramientas que reconocemos como la ingeniería del hardware. 

     Así mismo, la ingeniería de software tuvo una evolución similar. En las pasadas décadas los ejecutivos y muchos aprendices técnicos se habían hecho las siguientes preguntas.

  • ¿Por qué lleva tanto tiempo terminar un programa?
  • ¿Por qué es tan elevado el coste?
  • ¿Por qué no podemos encontrar todos los errores antes de entregar el software a nuestros clientes?
  • ¿Por qué nos resulta difícil constatar el progreso conforme se desarrolla el software?

     Estas y muchas otras cuestiones, son una manifestación del carácter del software, y de la forma en que se desarrolla, un problema que ha llevado a la adopción de la ingeniería de software como practica.

     Conociendo un poco la historia de la ingeniería de software, ahora es tiempo de definir lo que es INGENIERÍA DE SOFTWARE.

DEFINICIÓN:

La ingeniería de software es el estudio de técnicas, principios y métodos de la ingeniería, a fin de obtener un software de calidad. 
He aquí algunas otras definiciones:
  • Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
  • Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software (Bohem, 1976).
  • 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 (Bauer, 1972).
  • La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software. Es decir la aplicación de ingeniería al software. (IEEE, 1993).
DESARROLLO O PROCESO DE SOFTWARE

    Cualquier enfoque de ingeniería (incluida ingeniería del software) debe descansar sobre un desempeño de organización de calidad.

    Un proceso de software, es un conjunto de tareas, actividades y/o marcos de trabajo, los cuales puedan ser aplicables a uno o varios proyectos de software.

Dentro de las fases genéricas tenemos.
  • Especificación: que establece a características y exigencia del sistema.
  • Diseño: generar un software de papel (modelo).
  • Implementación: construcción del sistema.
  • Prueba: cumplimiento de los requisitos y exigencias.
  • Mantenimiento: reparación de algún fallo en el sistema. 
MODELOS DE PROCESO DE SOFTWARE

  • MODELO SECUENCIAL LINEAL
  • MODELO DE CONSTRUCCIÓN DE PROTOTIPOS


  • MODELO EN ESPIRAL



  •  MODELO DE DESARROLLO RÁPIDO DE APLICACIONES (DRA)


  •  MODELO INCREMENTAL

BIBLIOGRAFÍA:
  • PRESSMAN,ROGER S.(1997),INGENIERÍA DE SOFTWARE, un enfoque practico, 4ta Edición.


No hay comentarios.:

Publicar un comentario