Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es...

23
Computación Avanzada. Ing. Daniel Capriles M.

Transcript of Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es...

Page 1: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Computación Avanzada.

Ing. Daniel Capriles M.

Page 2: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Es un modelo que engloba a ciertos lenguajes que comparten

elementos estructurales o metodológicos similares.

Según Robert Floyd quien habló por primera vez del término

Paradigmas de Programación, lo definió como un proceso de

diseño que va más allá de una gramática, reglas semánticas y

algoritmos, sino que es un conjunto de métodos sistemáticos

aplicables en todos los niveles del diseño de programas

Page 3: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que
Page 4: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Consiste en dividir un programa en módulos o subprogramas

con el fin de hacerlo más legible y manejable.

La programación modular consta de varias secciones dividas de

forma que interactúan a través de llamadas a procedimientos,

que integran el programa en su totalidad.

El programa principal coordina las llamadas a los módulos

secundarios y pasa los datos necesarios en forma de

parámetros.

A su vez cada modulo puede contener sus propios datos y

llamar a otros módulos o funciones.

la programación modular implementa el paradigma divide y

vencerás

Page 5: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Se plantea una operación como un todo y se divide ensegmentos más sencillos o de menor complejidad. Una vezterminado todos los segmentos del programa, se procede aunificar las aplicaciones realizadas.

Utiliza un número limitado de estructuras de control,reduciendo así considerablemente los errores.

La programación estructurada propone segregar los procesosen estructuras lo más simple posibles, las cuales se conocencomo secuencia, selección e interacción. Ellas estándisponibles en todos los lenguajes modernos de programaciónimperativa en forma de sentencias. Combinando esquemassencillos se pueden llegar a construir sistemas amplios ycomplejos pero de fácil entendimiento.

Page 6: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Esta técnica incorpora:

Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.

Recursos abstractos (simplicidad): consiste en descomponer las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.

Estructuras básicas: Existen tres tipos de estructuras básicas:

Estructuras secuénciales: cada acción sigue a otra acciónsecuencialmente. La salida de una acción es la entrada deotra.

Estructuras selectivas: en estas estructuras se evalúan lascondiciones y en función del resultado de las mismas serealizan unas acciones u otras. Se utilizan expresioneslógicas.

Estructuras repetitivas: son secuencias de instrucciones quese repiten un número determinado de veces.

Page 7: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Las principales ventajas de la programación estructurada son:

Se reduce la complejidad de las pruebas

Aumenta la productividad del programador

Los programas son mas fáciles de entender

Los programas queden mejor documentados internamente

Page 8: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Se trata de una técnica que aumenta considerablemente la

velocidad de desarrollo de los programas gracias a la

reutilización de los objetos.

El elemento principal de la programación orientada a objetos es

el objeto.

El objeto es un conjunto complejo de datos y programas que

poseen estructura y forman parte de una organización.

Un objeto contiene varios datos bien estructurados y pueden

ser visibles o no dependiendo del programador y las acciones

del programa en ese momento.

Page 9: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Uno de los más usados en la actualidad.

Consiste en una colección de "objetos" que intercambianmensajes entre sí.

Cada "objeto" es una entidad que agrupa cierta información oestado y un conjunto de mecanismos para manipularla(métodos).

Un buen ejemplo para ejemplificar este concepto es unbombillo. Este "objeto" tiene dos "estados" ( Encendido yApagado ), y posee un "método" que se usa para cambiar esosestados que sería el interruptor.

Toda la entidad esta encapsulada y el usuario solo puedeaccesar al método y no a los estados directamente. Losmétodos del objeto son los que se encarga de cambiar elestado.

Ejemplos: Lenguaje C++, Perl, Java, etc.

Page 10: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Según las siguientes normas de calidad del software:

Definición del problema,

Codificación en unidades lógicas que permitan la fácil

lectura, la compresión.

El mantenimiento del programa,

Implementación de una buena documentación.

Page 11: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

El primer paso en la planeación de un proyecto de

programación es preparar un enunciado breve del problema

que se solucionará y de las restricciones que existen en su

resolución. El enunciado definitivo del problema debe de incluir

una descripción de la situación actual y de las metas que debe

lograr el nuevo sistema.

La definición del problema requiere de un entendimiento cabal

del dominio del problema y del entorno de éste.

Es importante que se conozca lo que se desea que realice la

computadora; mientras esto no se conozca del todo no tiene

mucho caso continuar con la siguiente etapa.

Page 12: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Las acciones definidas en el algoritmo deben

ser convertidas a instrucciones.

El lenguaje de programación, es un lenguaje

artificial que permite escribir las instrucciones

de un programa informático. Permite al

programador comunicarse con la computadora

para decirle que es lo que tiene que hacer.

Page 13: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Tipos de Lenguaje.

Lenguaje de Maquina o Binario:

es el único que entiende la computadora.

Son 2 símbolos 0 y 1.

Lenguaje de bajo nivel o ensambladores:

es un derivado del lenguaje maquina y esta formado porabreviaturas de letras y números llamadasmnemotécnicos. Con la aparición de este lenguaje secrearon los programas traductores para poder pasar losprogramas escritos en lenguaje ensamblador a lenguajemáquina. Como ventaja con respecto al código máquinaes que los códigos fuentes eran más cortos y losprogramas creados ocupaban menos memoria.

Lenguaje de alto nivel:

Se usan palabras o expresiones sintácticas muy similares al ingles (case, if, for, while).

Page 14: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Interprete:

Se caracteriza por traducir y ejecutar, de una en unalas instrucciones del código fuente de un programa,pero sin generar como salida código objeto.

Tipos de errores:

De Sintaxis: se detectan en el proceso de traduccióndel código fuente a código binario.

De ejecución: el ordenador no puede ejecutaralguna instrucción de forma correcta. Ej: c=5/0

De Lógica: los resultados obtenidos no son losesperados. C=a*b en vez de c=a+b

Page 15: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Reparación:

Se solventan los errores no detectados en

las fases anteriores del programa.

Modificaciones:

Se implementan para ampliar o cambiar

alguna funcionalidad.

Page 16: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Se divide en 3 fases:

Documentación Interna.

Documentación Externa.

Manual del Usuario.

Manual Técnico.

Page 17: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Documentación Interna:

Son los comentarios o mensaje que se añaden al códigofuente para hacer mas claro el entendimiento de unproceso.

Los programas, a veces, son estudiados y modificadospor personas distintas de las que originalmente lacrearon, por lo que la legibilidad de un programa es unpunto importante

No es lo mismo tardar 5 minutos en entender un código, atardar un par de horas en intentar saber que es lo quehace porque no tiene unos buenos comentarios y no estácorrectamente estructurado. El ahorro de tiempo esincreíble.

Una buena documentación interna no sólo va a ayudar alresto de personas a entender tu código, sino que a titambién te puede resultar beneficioso

Page 18: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Documentación Externa.

Cuando el programa ya se tiene listo para ejecutar, es

conveniente hacer una documentación externa siguiendo las

normas de la instalación o las recomendaciones indicadas por el

profesor. Una buena documentación incluye siempre:

-Descripción del problema.

-Nombre del autor.

-Narrativo con la descripción de la solución.

-Relación de las variables o campos utilizados en el programa,

cada uno con su respectiva función. (Código Fuente).

-Diagrama del programa.

-Listado de la última compilación.

-Resultados de la ejecución del programa.

Page 19: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Manual del Usuario.

Este es un documento destinado al usuario de la aplicación.

La información del manual de usuario proviene del manual

técnico, pero se presenta de forma comprensible para el

usuario, centrándose sobre todo en los procesos de

entrada/salida.

Debe estar redactado en un estilo claro, evitando en lo

posible el uso de terminología técnica. En general, todo

manual de usuario debe contar con estos apartados:

Índice de los temas

Forma de uso de la guía

Especificaciones hardware y software del sistema donde se

vaya a usar la aplicación

Page 20: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Descripción general de la aplicación

Forma de ejecutar la aplicación

Orden en el que se desarrollan los procesos

Descripción de las pantallas de entrada de datos

Descripción de todas las pantallas y de la forma en que se

pasa de una a otra

Controles que se realizan sobre los datos y posibles

mensajes de error

Descripción de los informes impresos

Ejemplos de uso

Solución de problemas frecuentes durante el uso del

programa

Ayuda en línea

Realización de copias de seguridad de los datos

Page 21: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

Manual Técnico.

El manual técnico es un documento donde queda reflejado

el diseño de la aplicación, la codificación de los módulos y

las pruebas realizadas. Está destinado al personal técnico

(analistas y programadores) y tiene el objeto de facilitar el

desarrollo y el mantenimiento del software.

El manual técnico se compone de tres grupos de

documentos:

El cuaderno de Carga.

El programa fuente.

Juego de pruebas.

Page 22: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

El cuaderno de carga.

Es el conjunto de documentos donde se refleja el diseño de

la aplicación a partir de la fase de análisis. Está destinado a

los programadores de la aplicación, que lo utilizarán para

saber qué módulos tienen que codificar, qué función realiza

cada uno y cómo se comunican con los otros módulos. Es

un documento fundamental para permitir que varios

programadores puedan trabajar en el mismo proyecto sin

pisarse el trabajo unos a otros.

Page 23: Computación Avanzada. · El primer paso en la planeación de un proyecto de programación es preparar un enunciado breve del problema que se solucionará y de las restricciones que

El programa fuente.

el código fuente completo también suele incluirse en la guía

técnica, y debe ir autodocumentado, es decir, con

comentarios dentro del código realizados por el

programador.

Juego de Pruebas.

Se trata de un documento en el que se detallan las pruebasque se han realizado a la aplicación o a partes de la misma.Las pruebas pueden ser de tres tipos: unitarias (se prueba unmódulo por separado), de integración (se prueban variosmódulos que se llaman unos a otros) y de sistema (pruebas detoda la aplicación). Se debe detallar en qué ha consistido laprueba, cuáles han sido los datos de entrada y qué resultadoha producido el programa.