desarrollando un programa 

Ciclo de desarrollo de programas

 

PLANTEAMIENTO DEL PROBLEMA

Todo problema surge con la aparición de una dificultad; ésta se origina a partir de una necesidad, en la cual aparecen dificultades sin resolver. De ahí, la necesidad de hacer un planteamiento adecuado del problema.Así que, el planteamiento nos guía para fijar una dirección y lograr ciertos objetivos, de manera que los datos se recolectan teniendo en mente dichos objetivos a fin de darles una solución.

ANÁLISIS DEL PROBLEMA

En este paso se debe entender y comprender de forma detallada cual es el problema a resolver, verificando el entorno en el cual se encuentra dicho problema, de modo que se obtenga la información necesaria y suficiente para encontrar una solución adecuada. Esta etapa es conocida como la del ¿QUÉ? se va a solucionar.

      El problema tiene que estar definido y comprendido claramente.

 

ELABORACIÓN DE ALGORITMOS

Algoritmo:

 Un algoritmo es un conjunto finito (que tiene fin o límite en el espacio o en el tiempo) de instrucciones cuya finalidad es realizar una tarea; este conjunto finito de instrucciones debe también ser preciso y determinístico.

 

Las dos herramientas más utilizadas para diseñar algoritmos son el Pseudocódigo y el Diagrama de flujo.

 

1. Pseudocódigo

Es un lenguaje simplificado para describir un algoritmo utilizando una mezcla de frases en lenguaje común, y palabras claves que indican el inicio y el fin del algoritmo y las instrucciones específicas a realizar.

Por ejemplo, el siguiente pseudocódigo corresponde al algoritmo para calcular el área delun rectángulo: el algoritmo calcula el área (a) de un rectángulo cualquiera, si se le suministra la longitud de de la base (b) y la longitud de la altura (h).

Las palabras subrayadas se llaman palabras reservadas, se deben utilizar sangrías que facilitan la lecturadel algoritmo

 

        

   2. Diagrama de flujo

El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American NationalInstitute) e ISO (International Standard Organization) para la elaboración de diagramas de flujo.

 

En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo se visualiza dentro del símbolo adecuado. Los símbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones.

 

Por ejemplo, el siguiente diagrama de flujo corresponde al algoritmo para calcular el área del rectángulo.

 

El ovalo rotulado con la palabra Inicio indica el comienzo del algoritmo, el paralelogramo es el símbolo de entrada de datos e indica que se lee el valor de la base (b) y el valor de la altura (h), el rectángulo es el símbolo de proceso e indica que se realiza un proceso sobre los datos de entrada para calcular el área (a) multiplicando la base por la altura, (utilizaremos el * como operador de multiplicación), el siguiente es el símbolo de salida y representa un documento e indica que se muestra el valor del área obtenido, en cualquier dispositivo de salida, finalmente el ovalo rotulado con la palabra Fin indica que se ha llegado al fin del algoritmo.

 

 

CODIFICACIÓN, EDICIÓN Y COMPILACIÓN

 

 

CODIFICACIÓN:

Una vez que hemos resuelto el problema podemos pasar a codificar la solución, creando un archivo o un conjunto de archivos que contengan el código fuente. Para ello se necesita un programa editor que permita escribir y guardar nuestro programa.

De igual forma que debe debe aprender a:

-Utilizar nombres significativos para variables y funciones, evitando nombres que no ayuden a entender el propósito de una variable o función. Hilando más fino, se recomienda utilizar sustantivos para los nombres de variables y verbos para las funciones.

-Documentar adecuadamente el código. No se trata de documentar hasta la última declaración de variable, pero sí aquellos detalles que ayudan a entender por qué se ha escrito ese código. La documentación es esencial para entender o modificar código fuente.

 

COMPILACIÓN:

El programa que hemos editado es código fuente y no puede ser ejecutado directamente por ningún computador: es necesario traducirlo a código máquina. Para ello necesitamos un compilador o un intérprete.

los programas habitualmente no se encuentran en un único archivo, sino distribuidos en muchos, que deben ensamblarse para dar lugar a un programa ejecutable. La obtención de un programa ejecutable implica, por un lado, la traducción de los archivos en código fuente a archivos con código objeto y, por otro, el ensamblado de los archivos con código objeto.

 

EJECUCIÓN Y DEPURACIÓN.

Dependiendo del lenguaje y de la plataforma de ejecución que utilicemos, para ejecutar un programa puede bastar con escribir su nombre como un comando en una consola o hacer doble clic en un icono o puede ser necesario utilizar algún programa auxiliar que lance al nuestro. En cualquier caso, que nuestro programa sea capaz de ejecutarse no significa que realice correctamente la tarea que tiene asignada.

En programación es muy difícil acertar a la primera. Normalmente es necesario ejecutar el programa una y otra vez hasta conseguir detectar y corregir todos sus fallos. Existen técnicas para probar los programas de forma exhaustiva y utilidades (depuradores) que ayudan a detectar y corregir los errores de programación. Los errores de programación se clasifican en:

• Errores de compilación (sintácticos). Detectados por el compilador cuando el código fuente no se ajusta a lenguaje C. Ejemplos: falta de de paréntesis, llaves, punto y coma al final de cada línea, utilización de palabras reservadas como identificadores, etc.

• Errores en tiempo de ejecución (semánticos). El programa compila pero no resuelve correctamente el problema, su comportamiento no se ajusta al esperado, el programa “se cuelga”, etc. Estos errores son generalmente difíciles de detectar, ya que el compilador no ayuda a detectarlos. Hay que recurrir al uso de técnicas de depuración, como la impresión de trazas del funcionamiento del programa, y al uso de programas depuradores.

DOCUMENTACIÓN.

La documentación se compone de tres partes:

a. Documentación Interna: Son los comentarios o mensajes que se añaden al código fuente para hacer más claro el entendimiento de los procesos que lo conforman, incluyendo las precondiciones y las poscondiciones de cada función.

b. Documentación Externa: Se define en un documento escrito con los siguientes puntos:

Descripción del Problema

Datos del Autor

Algoritmo (diagrama de flujo o Pseudocódigo)

Diccionario de Datos

Código Fuente (programa)

c. Manual de Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.

 

MANTENIMIENTO.


Una vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad, es importante mantener una estructura de actualización, verificación y validación que permitan a dicho programa ser útil y mantenerse actualizado según las necesidades o requerimientos planteados durante el tiempo de su existencia. Para realizar un adecuado mantenimiento, es necesario contar con una buena documentación del mismo, pues si no se documenta se puede perder la forma de programar y tendría que comenzar el procedimiento.

 

COCLO DE DESARROLLO DE PREGRAMAS


Proceso para el desarrollo de softwar

Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software. Por ejemplo, hay varios procesos de desarrollo de software específicos que se ajustan a un modelo de ciclo de vida de espiral.

Actividades del desarrollo de software

Actividades del proceso de desarrollo de software representados en el desarrollo en cascada. Hay algunos modelos más para representar este proceso.

Planificación

La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software.

Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional.

Implementación, pruebas y documentación

La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto.

Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.

La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior.

Despliegue y mantenimiento

El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.

Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.

El mantenimiento o mejora del software de un software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de mantenimiento.



 


 


Contacto

Red de Educación Computacional a Distancia México 5518898349 recd_compani@hotmail.com