List

El ciclo de vida del software es el conjunto de fases que deben seguirse para realizar un programa de computadora.

Planteamiento del problema <-> Análisis del problema <-> Diseño del algoritmo <-> Implementación o codificación <-> Pruebas y validación <-> Documentación del programa <-> Mantenimiento.

Ejemplo:

Problema: Se requiere desarrollar un programa que calcule el área de un rectángulo con base b y altura h.

    1. Plantemiento del problema:

      Es la primera fase del ciclo, consiste únicamente en elegir el problema que se quiere resolver para comenzar su análisis.

    2. Análisis del problema:

      ¿Qué hace el programa?
      Debe definirse de manera clara y concisa el problema en cuestión, se debe establecer el ámbito del problema, las características, limitaciones y modelos de lo que se desea resolver. Es un paso que debe conducir a una especificación completa del problema en donde se describa cuáles son los datos requeridos para resolverlo (datos de entrada) y cuál es el resultado deseado (salida).

      ¿Cuál es la salida deseada?
      El área de un cuadrado.

      ¿Qué métodos se pueden utilizar para llegar a la solución?
      Se puede calcular con la sig. fórmula:  Área = Base * Altura.

      ¿Qué datos de entrada se requieren?
      Los únicos datos que se requieren son: la medida de la base que se representa por b y la medida de la altura indicada por h.

      ¿Qué datos o información adicional es necesaria para solucionar el problema?
      No se requieren en este caso.

      ¿Existe algún problema o condiciones que deban cumplirse?
      Las únicas restricciones son que las medidas de la base y altura sean mayores a cero.

    3. Diseño del algoritmo:

    4. Es en esta fase donde se define: ¿cómo el programa resuelve el problema?.
      Para ello, se describe paso a paso  la solución del mismo, lo cual se conoce como algoritmo.

      Cuando el problema es grande se recomienda dividirlo en subproblemas más pequeños y resolver por separado cada uno de ellos. A esta metodología se le conoce como diseño descendente (top-down) o modular. Existen diferentes formas de representar un algoritmo algunas formales, como una fórmula matemática, o informales, como es el caso del lenguaje natural.

      Ej: Algoritmo que calcula el área de un rectángulo:

      Pseudocódigo:
      • Obtener la medida de la base (b) y la altura (h)
      • Calcular: área = b * h
      • Imprimir el resultado (área)
    5. Implementación

    6. El Algoritmo debe  traducirse a un lenguaje de programación  (como por ejemplo C) para obtener un programa fuente que se traduzca a lenguaje de máquina para que sea ejecutado por la computadora.

    7. Validación y pruebas

    8. Sirve para verificar que son correctos tanto el algoritmo como el código.
      Existen diferentes formas de probar que la solución es correcta, algunas de ellas:
      formales: para garantizar que el programa o algoritmo siempre calcula el resultado deseado para cualquier conjunto de datos de entrada.

      informales: sólo se prueba que funciona correctamente para algunos datos de entrada, tratando de encontrar posibles errores, en este caso no se puede garantizar el programa o algoritmo calcule la salida correcta para cualquier conjunto de datos.

      En cualquiera, si se encuentra alguna falla se debe corregir y volver a realizar pruebas.

      En este curso utilizaremos las pruebas de escritorio.

    9. Documentación

    10. Cualquier proyecto de software por la complejidad que tiene requiere tanto las ideas principales como  el desarrollo de principio a fin sea documentado, con el fin de que cualquiera puedan entender la lógica del programa y de ser necesario pueda modificarlos sin tantas complicaciones. Es común que si se desea modificar un programa y no se tiene información acerca de cómo fue construido sea más fácil volverlo a hacer que intentar entenderlo. En el desarrollo de software libre, la forma de entender que está haciendo cada uno y bajo que método es la documentación.

      Como parte de la documentación también deben incluirse manuales de usuario y las normas de mantenimiento para que se haga un buen uso del software.

    11. Mantenimiento

    12. Una vez que fue terminada una primera versión del programa y ya está siendo utilizado, se actualiza y modifica para corregir errores no detectados o para cambiar y/o agregar una nueva función.  Por ejemplo, se puede extender el programa que calcula el área de un rectángulo para que también calcule su perímetro.

Deja una respuesta

  Posts

1 2 3 16
septiembre 12th, 2013

Bienvenido al Blog JanikMaC

Bienvenido (a) a mi Blog sobre e-business y Diseño Web. Mi Blog está dedicado a resolver sus dudas e informar […]

febrero 6th, 2023

Una propuesta Web personalizada para mejorar u negocio

Una propuesta Web personalizada para mejorar su negocio, mediante el desarrollo de un sitio web adecuado y atractivo a su […]

diciembre 26th, 2022

SEO para principiantes: Consulta de búsqueda

Una consulta de búsqueda en SEO es un término que se refiere a la palabra o frase que un usuario […]

diciembre 23rd, 2022

El significado de la navidad y sus símbolos

La navidad es una de las festividades más importantes del año para muchas personas alrededor del mundo. Esta celebración conmemora […]

diciembre 22nd, 2022

Fundamentos de la edición o montaje no lineal

El montaje no lineal es un proceso de edición de video que permite a los editores trabajar con fragmentos de […]

diciembre 22nd, 2022

El poder del contenido audiovisual

Medios audiovisuales La generación de contenido audiovisual abarca una amplia variedad de áreas y puede ser utilizada en diferentes contextos […]

diciembre 21st, 2022

El Gopher y la World Wide Web

El gopher es un protocolo de red diseñado para facilitar la recopilación y distribución de información en Internet. Fue desarrollado […]

abril 27th, 2018

Protegido: Guía de estudio para el examen de Cálculo diferencial

No hay extracto porque es una entrada protegida.

abril 18th, 2018

Solicito: Practicante en diseño gráfico y en producción multimedia.

Solicito: Practicante en diseño gráfico y en producción Multimedia.
Favor de enviar portafolio.
Ofrezco: Aprendizaje en diseño gráfico y Web, la posibilidad de cumplir con horas de práctica requeridas, carta de recomendación, prácticas (monitoreadas) desde casa, experiencia y portafolio real.​

marzo 26th, 2018

¿Cómo hacer cambiar a una persona?

A menudo, en lugar de ocuparnos de nuestros propios cambios decidimos cuál de nuestros amigos necesita cambiar. Esto también constituye […]