Consultar ensayos de calidad


Actividad de organización y jerarquización



Actividad de organización y jerarquización
FASES
FUENTE 1
FUENTE 2
FUENTE 3
LIBRO DE TIC

1
Comprender el problema

Definición del problema

Analisis del problema
DEFINICION DEL PROBLEMA
2

Plantear una logica

Analisis del problema

Diseño de algoritmo
ANALISIS DEL PROBLEMA
3

Codificación del programa

Diseño de la solución

Codificación de un programa
DISEÑO
4
Traducir el programa a lenguaje de maquina

codificación

Comparación y ejecución
CODIFICACION
5

Prueba del programa

Prueba de depuración

Verificación y depuración de un programa
DEPURACION
6

Ejecución del programa

Documentación


IMPLANTACION DEL PROGRAMA


7


implementación

MANTENIMIENTO DEL PROGRAMA
8

Mantenimiento


1. https://www.usabilidadweb.com.ar/prog.php
El proceso de Programación
Componentes y operaciones de las computadoras
Los dos componentes principales de un computador son su Hardware (dispositivos asociados a la computadora) y su Software (programas con las instrucciones).
Juntos, Hardware y Software, ejecutan cuatro operaciones principales
1. Entrada
2. Procesamiento
3.
Salida
4.
Almacenamiento
Ejemplos de dispositivos de entrada son el ratón y el teclado, a través de estos, se introducen los datos y/o eventos en la computadora.
Procesar datos puede significar
Organizarlos
Realizar operaciones lógicas
Realizar operaciones aritméticas
Comprobar su exactitud
la parte del Hardware que realiza este tipo de tareas es la Unidad Central de Proceso (CPU). Luego de procesados los datosse pueden enviar a un monitor, impresora, teléfono celular o cualquier otro dispositivo.
El Hardware, por si solo, no estaría en capacidad de ejecutar nada y requiere de las instrucciones almacenadas en el software, estas instrucciones de maquina se escriben en un lenguaje de programación (Pascal, Java, etc.)
Los lenguajes tienen reglas denominadas Sintaxis que deben seguirse para poder ser utilizados, a menos que la sintaxis sea correcta, la computadora no interpretara nada.
Los circuitos electrónicos de las computadoras se pueden entender como miles de millones de interruptores On/Off (operación Digital, en contraposición al funcionamiento Analógico), estos a partir de las puertas lógicas (AND / OR / NAND/ NOR /EXOR) se combinan formando estructuras cada vez mas complejas (memorias biestables, registros de desplazamiento, memorias RAM / ROM, contadores) hasta llegar a la estructura de los Microprocesadores.
Cada lenguaje de programación usa un fragmento de software para traducir el lenguaje de programación específico al lenguaje maquina, esto es, a lo que pueden comprender los circuitos digitales antes mencionados. El lenguaje de traducción de software se llama compilador o intérprete.
Una vez que se han introducido instrucciones en una computadora y estas se han traducido al lenguaje maquina, un programa esta en condiciones de ser arrancado oejecutado.
Fases de la Programación
Los programadores escribimos instrucciones y este proceso se puede dividir en pasos
1. Comprender el problema
2. Plantear la lógica
3.
Codificar el programa
4.
Traducirel programa a lenguaje maquina
5.
Prueba del programa
6. Ejecución del programa


Comprender el problema
En la programación profesional se escriben programas para satisfacer las necesidades de otros, comprender que necesita el cliente, puede llegar a ser una tarea complicada y si esta etapa no esta claramente resuelta, no se podra avanzar.
El usuario en general no sabe expresar bien lo que necesita y requiere la amplia colaboración del programador.
Un usuario puede requerir una base de datos para gestionar su empresa y por ejemplo quiere tener siempre a mano una pagina web que despliegue la nómina de empleados de su empresa que tengan mas de 5 años de antiguedad y un sueldo menor a $ 2000 y que a su vez no acumulen mas de 2 ausencias por año y no haber tenido sanciones disciplinarias, para sortear un viaje entre ellos.
Esta solicitud planteada por el usuario podría parecer suficiente información para el programador, pero este podría consultar por ejemplo, si las ausencias se debieron a enfermedades certificadas por el médico de la empresas, esas personas deben ser excluidas igualmente?, la salida de datos necesitan incorporar el número de legajo?, la lista debe incluir a los empleados de media jornada?, todas las categorias estan incluidas o independientemente de los ingresos hay dependencia de las mismas y un muy largo etc. Estas consultas ayudan a poner en claro al usuario en su definición. No hay que olvidar que en el caso de una base de datos pasada la etapa de normalización un cambio puede implicar comenzar nuevamente el proyecto.


Planteo de lalógica
La esencia del proceso de programación consiste en el planteo de la lógica del programa. Aquí se plantean los pasos a incluir y el órden de los mismos. En general se utilizan diagramas de flujo o pseudocódigo, esto implica un planteo natural y sin preocupación por la sintaxis. Lo importante es determinar la secuencia de sucesos que llevaran los datos de entrada a la salida deseada.
Codificar el programa
Una vez establecida la lógica del programa se podra elegir el lenguaje mas adecuado para llevar a cabo la codificación. Aqui si, hay que usar la sintaxis correcta. Todos estos pasos estan sujetos a la complejidad del programa, cuando es muy sencillo se puede escribir como si fuese una carta a alguien, a medida que la complejidad aumenta se requiere diferenciar los pasos y trabajar sobre cada uno de ellos.
Traducción del programa a lenguaje maquina
Lenguajes de programación hay muchos pero los computadores sólo entienden 0 y 1 lógicos. Uno puede utilizar un lenguaje porque existen los compiladores e interprete del mismo que cambia el lenguaje de alto nivel con el que se escribe el programa, a lenguaje maquina de bajo nivel, que es el que la computadora entiende. Los errores de sintaxis o gramatica son detectados por estos sistemas al momento de querer ejecutar el programa y en general hay un reporte del error.


Prueba del programa
Un programa libre de errores de sintaxis no necesariamente lo esta de errores lógicos. El programa puede ejecutarse correctamente pero el resultado de la salida no ser el esperado. Esta etapa implica poner a punto la sintaxisy la lógica.
Ejecución del programa
Terminadas y verificadas todas las etapas el programa puede ser utilizado por la empresa para obtener los resultados planeados.

Escritura de paginas web
Los lenguajes estandares utilizados para la escritura de paginas web son lenguajes de marcas y alli las consideraciones a efectuar son otras, quedando excluidos de estas consideraciones. Aquí interesan la estructura del documento, la semantica, la accesibilidad, la info para los motores de búsquedas, etc
2. Fuente de consulta https://www.galeon.com/neoprogramadores/fasesprg.htm
Las Fases de la Programación

El proceso de la creación de software requiere el uso de una metodología sistematica de desarrollo que permita un acercamiento gradual a la solución del problema que se intenta resolver. Esta metodología, llamada Ciclo de Desarrollo del Software, consta de una serie de pasos lógicos secuenciales denominadosFases, las cuales son el tema de este artículo. Aunque es posible crear programas sin la aplicación de esta metodología, el producto resultante carece de los beneficios que provee la utilización de este enfoque.

Las Fases de la Programación son
1. Definición del problema
2. Analisis del problema
3.
Diseño de la solución
4.
Codificación
5.
Prueba y Depuración (Puesta a Punto o Testing
6. Documentación
7.
Implementación (Producción
8. Mantenimiento
Aunque el proceso de crear software es esencialmente un proceso creativo, el seguir esta serie de pasos lógicos conduce a la obtención de programas de mayor calidad. Es muy común que los principiantesse salten algunos pasos de esta metodología por desconocimiento o pereza, y procedan directo a la codificación de los programas. Esta practica no sólo es incorrecta, sino que hace perder tiempo, dinero y esfuerzo. Aún los programadores experimentados y los profesionales utilizan esta metodología en el desarrollo de su programas. Los resultados que se obtienen con su aplicación son mas confiables, rapidos y seguros que los obtenidos mediante practicas incorrectas y desordenadas.

1. Definición del Problema
Consiste en la obtención sin ambigüedades de una visión general y clara del problema. Ayuda a identificar los elementos claves del problema y los de la futura solución, así como fijar los límites de los mismos basados en su planteamiento textual sobre el papel. Un problema mal planteado, incompleto o mal comprendido es un mal inicio para la programación. Las respuestas a las siguientes preguntas son claves para la correcta definición de un problema
¿Qué entradas se requieren, de qué tipo, en qué orden y qué cantidad?
¿Qué salidas se desean, de qué tipo, en qué orden y qué cantidad?
¿Qué método(s) o fórmula(s) produce(n), o puede(n) producir las salidas deseadas?
Dependiendo de qué tan precisas sean las respuestas a esas preguntas, así sera la definición del problema, sobre todo en cuanto al orden explícito de las entradas y las salidas esperadas. Mientras no se comprenda con claridad el problema por resolver no puede pasarse a la fase siguiente.

2. Analisis del Problema
Es la comprensión a fondo del problema y sus detalles y es un requisito paralograr una solución eficaz. Es precesamente en esta fase donde se definen formal y correctamente la Entrada que recibira el programa (datos o materia prima), la Salida que producira (información o resultados) y el Proceso necesario para su solución (el método para convertir los datos de entrada en información de salida). Cada uno de estos aspectos coincide respectivamente con las preguntas planteadas en la fase de Definición del Problema. A este enfoque se le conoce comúnmente como E-P-S (Entrada-Proceso-Salida).

3. Diseño de la solución
En esta fase se diseña la lógica de la solución a usar, o sea, cómo hara el programa la tarea que se desea automatizar usando los datos de entrada para generar los datos de salida, enfatizandose los diseños limpios, sencillos y claros. Pueden plantearse diferentes alternativas de solución al problema y elegir la mas adecuada, la que produzca los resultados esperados en el menor tiempo y al menor costo. El proceso de diseño se realiza en dos pasos

3.1 Elaboración del Algoritmo
Un algoritmo es una secuencia lógica y cronológica de pasos encaminados a resolver un problema. Las acciones basicas que puede llevar a cabo un algoritmo son: pedir datos, desplegar datos, evaluar condiciones y ejecutar operaciones.

Los programas se estructuran a partir de los algoritmos, los cuales se pueden escribir utilizando la técnica convencional del pseudocódigo (mezcla de lenguaje común, términos técnicos de computación, símbolos y palabras reservadas de algún lenguaje de programación) y los diagramas de flujo (flujogramas) que son larepresentación grafica de un algoritmo, plasmados en papel para su estudio. En el caso de emplear diagramas de flujo pueden emplearse herramientas de software tales como el DFD v1.0. Si se opta por el pseudocódigo, se recomienda escribirlos a doble interlínea para efecto de facilitar modificaciones o adición de acciones no consideradas y dotarlos de las siguientes características.

3.1.1 Características de los Algoritmos
Un
algoritmo debe tener un punto de inicio o partida.
Debe ser preciso e indicar el orden de realización de cada paso.
Debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Debe ser finito (tener un número finito de pasos). Si se sigue un algoritmo, se debe terminar en algún momento.
La definición de un algoritmo debe describir con claridad las tres partes fundamentales del problema: Entrada, Proceso y Salida encontradas en las fases deDefinición y Analisis del problema.

Se deja sentado que todos los programas empiezan primero en papel, no directamente frente a la computadora. Aún los programadores mas experimentados plasman en papel sus ideas y soluciones antes de programarlas. Pero es común que los novatos vayan directamente a la computadora sin haber siquiera leído bien el problema o pensado siquiera el algoritmo. Eventualmente podran concluir el programa y alcanzar una solución, pero sólo después de probar diferentes ideas, hacer miles de cambios y perder gran cantidad de tiempo y esfuerzo. Los que se toman tiempo para analizar el problema, pensar y plasmar su solución enpapel mediante un algoritmo tendran un tiempo de respuesta (el tiempo para obtener el programa terminado) mucho menor, y se convierten en mejores programadores. Es un hecho.

Los problemas complejos pueden solucionarse mas eficazmente utilizando el método 'Divide y Venceras', el que consiste en fraccionar un problema complejo en otros mas simples y mas faciles de solucionar. Esto conduce a la Modulación del programa auxiliado por el método de diseño Top-Down o Descendente en el que se da un refinamiento de los pasos del algoritmo. De hecho, el enfoque E-P-S mencionado anteriemente es un buen ejemplo de esto, pues al concentrarse en resolver cada uno de los tres aspectos del enfoque de manera independiente se lograr la solución del problema completo.

3.2 Realización de Pruebas de Escritorio
O sea, comprobaciones a mano del algoritmo planteado (en pseudocódigo o en diagrama de flujo) con datos y resultados de prueba conocidos, papel, lapiz y calculadora (si es necesaria) para simular su ejecución y evaluar su correcta operación. Si la lógica es correcta, los resultados seran satisfactorios. Si no, el algoritmo debera modificarse y volverlo a probar hasta que esté correcto. Algunos programas no son faciles de probar a mano por su complejidad y/o tamaño, pero en tu ayuda esta la verificación durante la programación inicial (la creación del algoritmo), el trace and debugging (rastreo y detección de errores) automatico que incorporan los lenguajes de compiladores de los lenguajes de programación y otras técnicas. Se hace notar que éste acapite depende de losanteriores. Si la definición y el analisis son errados, el diseño del programa también lo sera, por lo que se tendra que rehacer, retrocediendo quiza hasta la fase de Definición del problema.

4. Codificación
En este paso se traduce el algoritmo ya estructurado, verificado y comprobado a mano, al lenguaje de programación que vaya a utilizarse. Sólo se convierten las acciones del algoritmo en instrucciones de computadora usando la sintaxis de un lenguaje particular, pero requiere de conocimientos del lenguaje y de sumo cuidado en la colocación de las instrucciones, las que deben apegarse y seguir fielmente a la lógica del algoritmo y la semantica y sintaxis del lenguaje.

La digitación, el acto de teclear el algoritmo codificado, se lleva a cabo para almacenar el programa en la memoria de la computadora (virtual o física) y pueda ser aceptado por esta. Con frecuencia los programadores realizan la codificación y la digitación al mismo tiempo a fin de ahorrar tiempo, pero esto puede conducir a errores debido a la pérdida de concentración que implica el uso de un editor.

La compilación, o corrección de los errores sintacticos y semanticos del código, es la eliminación de los errores 'gramaticales' según las reglas de construcción de instrucciones particulares del propio lenguaje (la sintaxis). Puede hacerse a medida que se traduce, pero es mejor al final para no perder la secuencia de la codificación. Al terminar debe tenerse el código libre de los errores antes mencionados.

Para realizar la compilación puede hacerse uso de un compilador, el cual es unprograma especial que analiza todo el código fuente y detecta los errores antes mencionados ocasionados durante la codificación o la digitación. Las fallas de lógica que puedan existir en nuestro programa no son detectadas por este software. Los errores que sí son evidenciados por el compilador deben corregirse modificando el programa fuente.

5. Prueba y Depuración (Puesta a Punto o Testing
Una vez compilado el programa, este es sometido a pruebas a fin de determinar si resuelve o no el problema planteado en forma satisfactoria. Para ello le suministramos datos de prueba, como lo hicimos en la prueba de escritorio. El programa codificado y compilado no garantiza que funcione correctamente. Debe depurarse (librarse de errores de lógica o de ejecución) realizando corridas de prueba continuas con datos y respuestas conocidas como lo hicimos en la prueba de escritorio, verificando todas las posibles alternativas del programa y sus respuestas y haciendo el mayor número de variantes con sus combinaciones, a fin de determinar si resuelve o no el problema planteado en forma satisfactoria.

Las pruebas que se aplican al programa son de diversa índole y generalmente dependen del tipo de problema que se esta resolviendo. Comúnmente se inicia la prueba de un programa introduciendo datos validos, invalidos e incongruentes y observando como reacciona en cada ocasión.

Los resultados obtenidos en las pruebas pueden ser cualquiera de los siguientes
a. La lógica del programa esta bien, pero hay errores sencillos, los cuales los corregimos eliminando o modificandoalgunas instrucciones o incluyendo nuevas.
b. Hay errores ocasionados por fallas en la lógica, lo que nos obliga a regresar a las fases de Diseño y Codificación para revisión y modificación del diagrama.
c. Hay errores muy graves y lo mas aconsejable es que regresemos a la fase 2 para analizar nuevamente el problema, y repetir todo el proceso.
d. No hay errores y los resultados son los esperados. En este caso guardamos el programa permanentemente en un medio de almacenamiento.
Puede ser necesario en la mayoría de los casos retroceder a fases previas de desarrollo, revisar el algoritmo otra vez en caso de errores de analisis y/o lógica (que son los mas difíciles de detectar, a diferencia de los de sintaxis y semantica), realizar ajustes al código y una serie de nuevas ejecuciones de prueba para que el programa funcione correctamente. Si no existen errores en el programa, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.

Si se esta automatizando alguna tarea manual, es común poner a funcionar por un tiempo y de forma paralela ambas alternativas, a fin de comparar las salidas de ambas y adquirir confianza en la solución automatizada.

6. Documentación
Es la fase mas ignorada por la mayoría de los programadores noveles, por razones de tiempo, costos o simple pereza. Pero no documentar los programas es un mal habito en programación y un gran error. Sera muy difícil a los usuarios entender un programa si no cuentan con un manual de operaciones (el Manual de Usuario). Tambiénpara los programadores que necesiten darle mantenimiento o hacerle modificaciones si no existe ninguna documentación acerca de sus fases de desarrollo. Incluso sera difícil de entender para el mismo autor, algún tiempo después.

La documentación es la guía o comunicación escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas y sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). Recoge todos los elementos encontrados y material creado en las diferentes fases del desarrollo, ademas de las normas de instalación o las recomendaciones para la ejecución del programa.

La documentación se divide en tres partes
Documentación Interna
Documentación Externa
Manual del Usuario
Documentación Interna: Son los comentarios que se añaden al código fuente para clarificarlo.

Documentación Externa: Es todo el material creado y empleado en las diferentes fases del desarrollo del programa. Incluye
Descripción del Problema
Narrativo con la descripción de la solución
Autor(s)
Algoritmo (diagrama de flujo y/o pseudocódigo)
Código Fuente (programa)
Relación de los elementos utilizados en el programa, cada uno con su respectiva función
Limitaciones del programa
Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que los usuarios pueda operarlo correctamente y obtener los resultados deseados.

7. Implementación (Producción
El programa ya probado, revisado y mejorado se considera terminado y puede utilizarse con un alto grado deconfianza para resolver los problemas que dieron origen a su creación. Si se esta automatizando alguna tarea manual, ésta última se desecha para emplear solamente la programa.

8. Mantenimiento
Es posible que el programa deba revisarse cada cierto tiempo para ajustes. Estos cambios pueden ser por la dinamica del problema, por la naturaleza del código, las exigencias del tiempo o las modernas necesidades que surgen frecuentemente, por lo que se considera que ningún programa es estatico. Los programas siempre son susceptibles de mejoras y de mantenimiento. Por tales razones, es común que se tenga que retornar a una de las fases iniciales de desarrollo para corregir o añadir funcionalidades, repitiendo el proceso en cada fase subsiguiente para introducir los cambios pertinentes y lograr que el programa funcione correctamente con los cambios realizados. Se enfatiza el hecho de que cualquier actualización o cambio en el programa debera reflejarse en su documentación para que ésta mantenga su vigencia.-

3.
fuente de consulta
https://www.informaticalrc2012.blogspot.mx/2012/02/fases-para-la-programacion.html
Fases para la Programación


FASES PARA LA PROGRAMACION
Este proceso es la creación de un programa y su correspondiente ejecución aunque requierende una serie de pasos siguientes:
1. Analisis del problema
 Podríamos resumir a responderse a las tres siguientes preguntas:a. ¿Qué entradas se requieren? Tipo y cantidad.b. ¿Qué salida se desea? Tipo y cantidad.c. ¿Qué método o proceso se empleara para obtener la salida deseada?.En esta etapa practicamentedeterminamos el QUE es lo que hace el programa a diseñar.
2. Diseño del Algoritmo
 En esta etapa se determina el COMO hace el programa la tarea solicitada. El diseño del algoritmo es independiente del lenguaje de programación en el que se va a codificar posteriormente. Para el diseño de un algoritmo tenemos que utilizar los resultados del analisis del problema y realizar con ello una estructura modular (diseño modular) que consiste en un conjunto de módulos. Es decir la solución de un problema complejo se realiza dividiendo el problema en subproblemas y estos subproblemas en otros de nivel mas bajo hasta conseguir soluciones unitarias. Cada solución unitaria o subprograma o subproblema se le conoce como MODULO y tiene un punto de entrada y una salida. Cualquier programa bien diseñado consta de un programa principal (módulo de nivel mas alto) que llama a subprogramas (módulos de nivel mas bajo). Todo este diseño se le conoce como TOP-DOWN o diseño descendente y la programación en este diseño se le conoce como programación modular. Por otra parte, la programación modular nos conduce a la programación estructurada que significa escribir un programa de acuerdo a las siguientes reglas:- El programa tiene un diseño modular.- Los módulos son diseñados de modo descendente.- Cada módulo se codifica utilizando las tres estructuras de control basicas: secuencia, selección y repetición. Para diseñar un algoritmo se requiere de herramientas, las cuales hay varias; para nuestro estudio solo estudiaremos 2 de ellas
Diagramas de flujo (Flowchart) y pseudocódigo. Ud.puede usar cualquiera de ellas en forma regular. Por su importancia y extensión lo veremos posteriormente.
3. Codificación de un Programa
 Es la escritura en un lenguaje de programación de la representación del algoritmo desarrollado en la etapa anterior, en cierto modo la codificación es un proceso mecanico porque el algoritmo ya esta hecho y solo queda la transformación a un lenguaje requerido obteniéndose así el programa fuente.
4. Compilación y ejecución
 Hecho el programa fuente debe ser traducido a lenguaje maquina con el compilador, en este proceso si hay errores del programa se procede a su corrección para luego obtener así un programa objeto, si a este programa se hace una fase de montaje o Link, se transforma en un programa ejecutable
5. Verificación y depuración de un programa.
 En esta etapa el programa se ejecuta con una amplia variedad de datos de entrada llamados datos de test o prueba que determina si el programa tiene errores ('bugs').Si se encuentra errores entonces hay que depurar y corregir. Los errores frecuentes a conseguir son:
a. errores de compilación- de sintaxis, de escritura, etc.
b. errores de ejecución- división por cero, de overflow, etc.
c. errores lógicos- de lógica interna, de secuencia, etc

Universidad Autonoma de Nuevo Leon
Preparatoria No. 9



Ornelas Olivares Damaris.
Matricula: 1675098
Grupo: 216
Actividad de organización y jerarquización
Fases de la programación
TIC 2







Monterrey Nuevo León a 14 de febrero de 2014


Política de privacidad