Conceptos de PROGRAMACION
Enviado por Isaac Robles • 20 de Octubre de 2017 • Documentos de Investigación • 3.400 Palabras (14 Páginas) • 170 Visitas
Programa
Es una secuencia de instrucciones que se ejecutaran para realizar una función.
Sistema Operativo
Programa o conjunto de programas que administra la operación de la computadora asignando tiempo del procesador, espacio en memoria, recursos a los programas de aplicación que se ejecuten.
Ejemplos:
Windows
Linux
Unix
MacOS
Componentes más importantes de un sistema operativo
Procesador de texto
Administrador de tareas
Administrador de dispositivos
Interfase del usuario
Comunicaciones
Administrador de archivos
Administrador de memoria
Lenguajes de programación
Ensamblador
Compiladores
Interpretes
Depurador (Debug)
Aplicaciones
El Proceso de desarrollo de programas
El desarrollo de programas de computadora ha evolucionado desde el tiempo de hacer una lista de comandos en secuencia lineal, luego hacer un programa con instrucciones mas complejas con instrucciones concisas, funciones y rutinas o archivos entrelazados etc, después se adoptó la forma de programación estructurada hasta llegar al diseño de Programación Orientada a Objetos con versiones visuales de los lenguajes.
El ciclo de desarrollo de un programa de computadora implica las siguientes etapas que pueden realizarse en secuencia, traslapadas o iterativamente:
Análisis de los requerimientos
Conocer el problema
Conocer la solución
Hallar una solución
Diseño preliminar
Prototipo (si se requiere)
Diseño detallado
Codificación (Escribir el programa en el lenguaje de la computadora)
Interfase con el usuario(Preguntas, respuestas, Reportes, Formularios)
Manejo de la información
Formulas y procesamiento de la información
Pruebas
Mantenimiento (este se puede aplicar desde el diseño detallado)
Operación del Programa
El Modo de Operación del programa puede ser de varias formas, dependiendo de cómo se desee o se pueda realizar la ejecución del programa.
En el procesamiento por lotes “BATCH”, el programa se forma en una fila de comandos y se procesa cuando le toque el turno en secuencia “el primero en entrar es el primero en salir” (PEPS), en este tipo de procesamiento no se toma en cuenta la duración del procesamiento de una tarea.
Procesamiento en tiempo y recursos compartidos. (Multitatrea)
Multiprocesador. Repartir una tarea en varios procesadores y realizar operaciones en paralelo para que al final se reúnen los resultados parciales en un resultado final.
En el procesamiento por eventos la ejecución de una función del programa responde a un evento realizado por el usuario o por un dispositivo, mientras tanto el programa realiza un ciclo de espera hasta que sucede un evento, después realiza la función correspondiente, y regresa al ciclo de espera, normalmente es un lazo de programa “Polling”.
Procesamiento en tiempo real el programa toma las entradas de un proceso en operación, procesa la información y ajusta algún parámetro del proceso, toma alguna decisión o genera un bloque de información para ser usada lo más pronto posible. El procesamiento de imágenes puede ser útil para algunos procesos de manufactura, ensamble, de identificación o medición de objetos en línea.
Modos de Diseño de programas
El diseño de programas se ha venido realizando de acuerdo a las posibilidades y la tecnología disponible en cada época llamándoles “paradigmas” o modos de diseñar programas o “software”, que sin duda debe estar soportado por otros programas para ese propósito.
En la década de los 70s, se consideraba que programar en forma estructurada y de “arriba-abajo” top-down era la forma correcta de hacerlo, de esta manera se le dio solución al problema de hacer programas sin algún formato, solamente el código escrito según el criterio del programador comúnmente se le llamaba programas tipo “spaghetti” debido a la secuencia compleja del flujo de ejecución del programa.
El diseño de “arriba –abajo” se realiza escribiendo primero la interfase del usuario o las pantallas o formularios de entrada al programa, después se desarrollan rutinas del siguiente nivel y así sucesivamente, hasta escribir las rutinas controladoras de dispositivos al final. Existe la contraparte, el diseño de “abajo hacia arriba”, que es a la inversa del que se describió anteriormente. Las ventajas relevantes del método descendente “arriba abajo” son dos, primero es que la interfase entre un módulo y otro para pasar datos y tareas es desarrollado aun sin tener terminado el módulo del nivel siguiente, la segunda ventaja se deriva de la primera y se refiere a la posibilidad de demostrar avances ó emitir una versión de prueba del programa pero con algunas funciones deshabilitadas, debido a que no están terminadas.
El análisis estructurado descompone el problema a resolver en una secuencia estructurada de especificaciones que son: (1) Diagramas de Flujo de Datos (DFD), donde se muestra la descomposición toda la función en procesos, y el flujo de datos e interfases entre los procesos; (2) un diccionario de datos que documenta los datos y las interfases en el DFD, y (3) la descripción de transformaciones que documenta la función de cada proceso, del DFD.
El diseño estructurado pretende realizar un producto que satisface las especificaciones técnicas y las restricciones impuestas por el entorno computacional científico y comercial. El diseño estructurado produce componentes que se pueden llamar “cajas negras” porque se conoce su función, pero no como la hace.
...