Fundamentos de Programacion

Get Started. It's Free
or sign up with your email address
Fundamentos de Programacion by Mind Map: Fundamentos de Programacion

1. Metodos Formales de Verificacion de Programas

1.1. Aserciones

1.1.1. Una parte importante de una verificación formal es la documentación de un programa a través de asertos o afirmaciones

1.1.2. Son sentencias lógicas acerca del programa que se declaran verdaderas

1.1.3. Un aserto es una frase sobre una condición específica en un cierto punto de un algoritmo o programa.

1.2. Programacion Segura contra Fallos

1.2.1. Para conseguir este objetivo se han de comprobar los errores en datos de entrada y en la lógica del programa.

2. Factores en la Calidad del Software

2.1. La construcción de software requiere el cumplimiento de numerosas características.

2.1.1. Eficiencia

2.1.2. Transportabilidad

2.1.3. Integridad

2.1.4. Facil de Usar

2.1.5. Correccion

2.1.6. Robustes

2.1.7. Extensibilidad

2.1.8. Reutilizacion

2.1.9. Compatibilidad

3. Representacion Grafica de Algoritmos

3.1. métodos usuales para representar un algoritmo

3.1.1. 1diagrama de flujo,

3.1.1.1. es un diagrama que utiliza los símbolos (cajas) estándar y que tiene los pasos de algoritmo escritos en esas cajas unidas por flechas,

3.1.2. Diagrama Nasi-Schneiderman

3.1.2.1. es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas.

3.1.2.2. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.

3.1.3. Pseudocodigos

3.1.4. Lenguaje español inigles

3.1.5. Formulas

4. El Ciclo de Vida del Software

4.1. Analisis

4.1.1. La primera etapa en la producción de un sistema de software es decidir exactamente qué se supone ha de hacer el sistema.

4.2. Diseño

4.2.1. La especificación de un sistema indica lo que el sistema debe hacer. La etapa de diseño del sistemaindica cómo ha de hacerse.

4.2.2. El proyecto se ha de dividir en módulos utilizando los principios de diseño descendente.

4.2.3. se debe indicar la interacción entre módulos; un diagrama de estructuras pro- porciona un esquema claro de estas relaciones’.  En este punto, es importante especificar claramente no sólo el propósito de cada módulo, sino también el flujo de datos entre módulos.

4.3. Implementacion

4.3.1. La etapa de implementación (codificación) traduce los algoritmos del diseño en un programa escrito en un lenguaje de programación.

4.4. Depruracion

4.4.1. La verificación formal implica la aplicación de reglas formales para mostrar que un programa cumple su especificación: la verificación.

4.4.2. grandes. La teoría de la verificación requiere conocimientos matemáticos avanzados

4.5. Mantenimiento

4.5.1. aunque el programa  funcione correctamente, el software debe ser mantenido y actualizado.

4.5.2. La corrección de los errores de software son parte del mantenimiento.

4.5.3. Otro aspecto de la fase de mantenimiento es la mejora del software  añadiendo más características o modificando partes existentes que se adapten mejor.

5. Fases en la Resolución de Problemas

5.1. Analisis del Problema

5.1.1. En esta fase se tiene que definir que es lo que queremos que haga el programa.

5.1.2. Para definir el problema hay que preguntarnos:

5.1.2.1. ¿,Qué entradas se requieren? . ¿Cuál es la salida deseada?.  ¿Qué método produce la salida deseada'?

5.2. Diseño del Algoritmo

5.2.1. En esta etapa se define como queremos que se haga el programa.

5.2.2. Para el diseño de este, el problema se tiene que dividir en subproblemas y los subproblemas se dividen en niveles mas bajos, a este metodo se le llama top-down o modular.

5.2.3. Cada programa se resuelve mediante subrogramas (modulos) que tienen un solo punto de entrada y uno de salida.

5.2.4. Los módulos pueden  ser planeados, codificados, comprobados y depurados independientemente y a continuación combinarlos entre sí.

5.2.5. Para el proceso de ejecucion se tienen que cumplir los siguientes pasos:

5.2.5.1. 1. Programar un módulo.  2. Comprobar el módulo.3. Si es necesario, depurar el módulo. 4. Combinar el módulo con los módulos anteriores.

5.3. Herramientas de la Programacion

5.3.1. Se usan 2 herramientas para programar: diagrama de flujo y pseudocodigo.

5.3.2. El diagrama de flujo es una representación gráfica de un algoritmo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización

5.3.3. El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocódigo se puede definir como un lenguaje de algoritmos

5.4. Codificacion de un Programa

5.4.1. La codificacion es un algoritmo en un lenguaje de programacion desarrollado por etapas.

6. Programacion Modular

6.1. En la programacion modular el programa se divide en modulos dond cada uno de los modulos ejecuta una tarea unica.

6.2. Cada programa contiene un modulo principal que controla todo lo que sucede.

6.3. El proceso sucesivo de subdivisión de módulos  continúa hasta que cada módulo tenga solamente una tarea específica que ejecutar.

7. Programacion Estructurada

7.1. Para la programacion estructurada se tienen que seguir las siguientes reglas.

7.1.1. 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 básicas: secuencia, selección y  repetición.

7.2. La programacion estructurada lleva tecnicas como:

7.2.1. recursos abstractos, diseño descendente (top-down), estructuras básicas.

7.3. Recursos Abstractos

7.3.1. consiste en descomponer una determinada acción compleja en términos de un número de acciones más simples capa- ces de ejecutarlas.