Colaboradores

martes, 11 de enero de 2011

El proceso del software (finalizando)

Continuando con la breve explicación de lo que es el proceso del software, en este post terminaré con los otros pasos que conllevan el proceso.
Anteriormente había comentado sobre la especificación del problema y el análisis y el diseño del algoritmo, ahora, para terminar les hablaré sobre  los siguientes pasos:

  • Implementación o construcción del modelo:
    • En éste paso o etapa, debemos de pasar nuestro algoritmo a un lenguaje de programación que hayamos elegido. A esta etapa se le conoce codificación. Esta etapa no debería de resultar difícil si es que hemos realizado un diseño que siga la filosofía del lenguaje.
  • Validación:
    • En esta etapa lo que se hace es probar lo que nuestro programa debe de hacer en principio para lo que fue diseñado. Para esto se realizan pruebas informales, que consisten en presentarle al programa diversos conjuntos de datos y verificar que el programa hace lo que tiene que hacer. En este tipo de pruebas se deben también de incluir conjuntos de datos erróneos, para así verificar que el programa sabe que hacer que hacer en situaciones anómalas. En este caso, dependiendo del tipo de lenguaje que se este utilizando, se debe de lanzar algún tipo de excepción para gestionar el tipo de error causado en tiempo de ejecución.
  • Mantenimiento:
    • Actualmente, el mantenimiento de los programas y diversos sistemas es la actividad que mayor coste representa. El mantenimiento de nuestros programas se puede realizar de dos maneras:
      • Mantenimiento correctivo:
        • Este tipo de mantenimiento se da cuando hay situaciones o eventos que el programa o sistema no está resolviendo de manera adecuada.
      • Mantenimiento extensivo:
        • Este tipo de mantenimiento se refiere a extender las capacidades originales de nuestro programa o sistema, esto quiere decir, que nuestro programa o sistema debe regresarnos un conjunto adicional de resultados.
    • Para poder realizar un buen mantenimiento, es necesario incluir una buena documentación de nuestro programa, en caso contrario, sería imposible extender nuestro programa o sistema.
  • Extensión y refinamiento:
    • Esta etapa la realizan personas distintas a las que diseñaron originalmente el programa o sistema. En este caso, cuando se realiza la extensión de los programas o sistemas, lo que se busca es tratar de “tapar un hoyo, sin realizar otro en el programa o sistema”,  esto es fácil de realizar si se tiene modularidad en el programa o sistema, ya que es fácil atacarlo por módulos. Además debe tener la propiedad de encapsulamiento, esto es, que cada módulo tenga perfectamente delimitado su campo de acción,  esto permite tener una mejor comunicación entre módulos de manera controlada.
Estas etapas no necesariamente son realizadas de manera secuencial, ya que un buen trabajo de hace de manera cíclica entre los diversos pasos, esto para tener un software bien asentado, además de que pueden surgir problemas que conlleven a regresar a pasos anteriores que impliquen regresar a pasos anteriores para resolver dicho problema. Insisto que un buen diseño y análisis permiten tener éxito en etapas posteriores, sin necesidad de rehacer todo nuestro trabajo.

No hay comentarios:

Publicar un comentario