martes, 17 de septiembre de 2019

Fases de la Ingeniería de SW

La creación de SW consiste de varias etapas. Éstas, permiten identificar las necesidades y requisitos, analizarlas, diseñar, programar, dar mantenimiento y preparar a los usuarios para cuando el SW deje de ser distribuido. A continuación, se ahondará en cada una de dichas etapas. 


Requisitos

Durante esta fase, se identifican las necesidades y objetivos del SW a crear. Esto será determinado en conjunto por el programador y el cliente, ya que el primero determinará los requerimientos básicos de programación y de sistema de acuerdo a lo que desea lograr el cliente con el programa a crear.

Esta etapa inicial es primordial para proceder a la segunda etapa, diseño.

Diseño

En esta etapa, se diseña utilizando diferentes herramientas.Asimismo, se determina a nivel general cuáles serán las funcionalidades el SW, tomando en cuenta los requisitos de HW, Red y Sistema. Durante esta etapa, se define la arquitectura, utilizando diagramas según el tipo de SW y resultado esperado (de clases, base de datos, despliegue o secuencia). Por otra parte, otra herramienta utilizada son programas CASE, que son especializados en asistencia por computadora para ingeniería de SW. 




Implementación

Esta etapa se divide en varias fases. Programación, Desarrollo, Pruebas, Implementación y Documentación. 


  • Desarrollo:
    • Desarrollo de infraestructura: Desarrollo y organización de elementos que formarán parte de la infraestructura.
    • Adaptación del paquete: Análisis de cada elemento para maximizar la funcionalidad del SW y evitar errores dentro de lo posible. 
    • Desarrollo de unidades de diseño interactivas: Se ejecutan procedimientos por medio de diálogo usuario-sistema
    • Desarrollo de unidades de diseño batch: Uso de diagramas  tablas de decisión para plasmar claramente las especificaciones, con el fin de que el programador tenga claros las funcionalidades y resultados esperados. 
    • Desarrollo de unidades manuales: proyectar procesos administrativos
  • Programación: Durante esta etapa se pasa el diseño a código.
  • Pruebas de SW: comprobar que el SW funcione y realice las tareas indicadas correctamente.
  • Documentación: Consiste recopilar cualquier herramienta que haya sido parte del diseño del programa (Modelos UML, Diagramas), las pruebas y escribir manuales de usuario y técnicos. El objetivo de esta fase es facilitar su uso a usuarios y en caso de futuras correcciones o mantenimiento, es útil. 
  • Implementación: Esta etapa se caracteriza por obtener y distribuir el ejecutable del programa, una vez terminados el diseño, la programación, pruebas y documentación. 


Mantenimiento

Esta etapa se dedica a enfrentar cualquier tipo de error o requisito nuevo durante la vida útil del SW. 2/3 de la vida del SW y de su ingeniería se dedican a esta fase. 




Ciclo de muerte del SW

Una etapa poco conocida entre usuarios y de la que en general se habla poco, es el ciclo de muerte del SW. Tras haber pasado algún tiempo siendo distribuido, actualizado y dándosele mantenimiento, la rentabilidad de éste disminuye. En este momento, en que el costo de mantenimiento y operación supera a los ingresos obtenidos por la distribución, se notifica a usuarios que la distribución cesará en una fecha determinada, manteniendo aún el SW. Posteriormente, tras haber transcurrido otro periodo de tiempo y que los ingresos representen una parte por mucho menor que el costo de mantenimiento, se notifica que el SW dejará de ser actualizado y que éste no tendrá más mantenimiento. Después de esto, pasa poco tiempo para que el SW quede en el olvido o sea un caso de estudio para los libros de historia. 


Referencias
  • Fases de la Ingeniería de Software. (2019, September 15). Retrieved from https://zimbronapps.com/sistemas-computacionales/ingenieria-de-software/fases-la-ingenieria-software/
  • 2 La Ingeniería del Software. Moreno Martín, M. Á. (n.d.). PDF. Sevilla. Retrieved from http://bibing.us.es/proyectos/abreproy/70201/fichero/02+-+Ingenieria+del+Software.pdf
  • Capítulo  2: Ingeniería de Software, Análisis y Diseño. PDF. (n.d.). Puebla. Retrieved from http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/fuentes_k_jf/capitulo2.pdf
  • 1. INGENIERÍA DE SOFTWARE. Roa, O. L. (n.d.). PDF. Cali. Retrieved from http://cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:is1:01_lectura_ingenieria_software.pdf