lunes, 11 de abril de 2016

Ciclo de vida del software

Las computadoras pueden ejecutar un gran número de operaciones a muy altas velocidades y con intervención mínima de seres humanos. Sin embargo, a una computadora se le debe indicar exactamente qué operaciones debe ejecutar y en qué orden.

A estos conjuntos de instrucciones se les denomina programas para computadora. Un programa es una serie de instrucciones escritas en forma codificada que la computadora puede traducir a su propio lenguaje.

Etapas de desarrollo

Análisis del problema
Se requiere una clara definición que contemple exactamente lo que debe hacer el programa y el resultado deseado. Identificar tres componentes básicos:
  1. Los datos de entrada
  2. Los de salida deseables
  3. Proceso que nos permita obtener dichos datos de salida
Además se deben responder a las preguntas:
  • ¿Qué entradas se requieren? (tipo y cantidad)
  • ¿Cuál es la salida deseada? (tipo y cantidad)
  • ¿Qué métodos (procedimientos) nos llevan a obtener la salida deseada? 


Diseño del algoritmo
Se define el cómo se pretende dar solución al problema planteado. Uno de los métodos de diseño que mas se utilizan es el método de diseño descendente mejor conocido como top-down el cual consiste en dividir un problema complejo iterativamente en subproblemas más simples a través de un proceso de  refinamiento sucesivo.

En la técnica de diseño descendente cada problema es resuelto mediante un módulo (subprograma). En un diseño y programación modular un programa consta de un modulo principal que llama a otros módulos que a su vez pueden llamar a otros módulos, etc.

Este diseño modular con refinamientos sucesivos (a partir del análisis del problema) se denomina diseño de algoritmo.

 


Codificación
En esta la etapa se realiza la tarea que generalmente se conocen como programación la cual consiste esencialmente, en trasladar a código fuente en el lenguaje de programación elegido, todo lo diseñado (algoritmo) en la fase anterior. Esta tarea la realiza el programador, siguiendo por completo los lineamientos impuestos en el diseño.


Compilación y ejecución
En esta etapa se traduce un programa escrito en un lenguaje de programación a un lenguaje que la máquina será capaz de interpretar. Este segundo lenguaje es denominado lenguaje de máquina. Durante el proceso de compilación se llevan a cabo una serie de fases, entre ellas tenemos: 
  • Análisis léxico
  • Análisis sintáctico
  • Análisis semántico
  • Generación de código intermedio
  • Optimización 
  • Generación de código objeto
El término ejecutar, en informática se refiere al proceso mediante el cual la computadora lleva a cabo la ejecución de un programa o archivo ejecutable. El ejecutar un programa implica que estará en memoria hasta que este termine.

En Windows, la gran parte de las aplicaciones que están en ejecución se muestran en la lista del Administrador de Tareas, desde donde pueden ser finalizados en cualquier momento.

Verificación y depuración
Esta etapa se enfoca sobre todo en la lógica interna del software asegurando que todos requisitos se han cumplido, que las sentencias de código se han probado y sobre las funciones externas. Con las pruebas aseguramos que la entrada definida producirá los resultados que realmente se requieren.

Las pruebas de Software tienen por objetivo sobre la calidad del producto, encontrando defectos o bugs y aumentar la confianza del usuario en el Software.

Mantenimiento y documentación
Para todo producto software la puesta producción no significa que esté terminado, ya que el mantenimiento de un producto se realiza rutinariamente corregir defectos (mantenimiento correctivo), también para adaptarlo a los cambios en su entorno operativo o incluso extender y/o modificar su funcionalidad.

La documentación de un producto software, se divide en dos:
  • La documentación para el usuario
  • La documentación para el equipo de desarrollo 


La documentación para el usuario, incluye:
  • Manual de usuario el cual le ayuda al usuario a utilizar el software, creando un manual de referencia, tutoriales o cualquier información que le indique al usuario como utilizar el software

La documentación para el equipo de desarrollo, super util.
Servirá para los futuros cambios aplicables al software facilitando al equipo de desarrollo, esta documentación incluye: 
  • Documentación interna, incluida en el código fuente
    • Comentarios en el código
    • Diagramas de diseño
  • Documentación externa

No hay comentarios.:

Publicar un comentario