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 15
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 […]

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 […]

mayo 31st, 2017

Conexión a Internet y sus servicios

Cómo establecer una conexión a red local y servicios de Internet. La red local de trabajo o LAN por las […]

junio 10th, 2016

Temario de Fundamentos de programación

Recientemente inicié la licenciatura: Ingeniería en Desarrollo de Software, mi objetivo principal de estudiar esta segunda carrera es aprender a […]

mayo 9th, 2016

Visores de realidad virtual hechos de materiales reciclados

Estos lentes o visores de realidad virtual gratuitos se arman a partir de empaques, convirtiendo un celular smartphone en un […]

mayo 1st, 2016

Rediseño de JanikMaC.com para el #May1Reboot

JanikMaC.com fue uno de los Sitios Web que participó del rediseño masivo mundial, éste 1º de Mayo (2016) cuando decenas de Sitios Web publicaron […]

abril 14th, 2016

Registros del servidor

En la mayoría de los Sitios Web, se almacenan registros en el servidor que registran automáticamente las búsquedas, clicks en hipervínculos y otros tipos de […]

abril 7th, 2016

Caché de datos

La Caché de datos de aplicaciones almacena los datos en un dispositivo para mejorar la velocidad en la que se carga […]