UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.

Slides:



Advertisements
Presentaciones similares
SISTEMAS DE INFORMACIÓN I
Advertisements

MODELOS ORIENTADOS A OBJETOS
Ingeniería de Software II
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
TEMA 3 Parte A Lenguajes de programación. Criterios de clasificación según su nivel de abstracción según la forma de ejecución según el paradigma de programación.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Resolución de Problemas Algoritmos y Programación
INSTITUTO TECNOLOGICO DE MINATITLAN
Introducción a la Programación
DSOO - María Eugenia Valencia
Técnico en programación de Software
Ciclo de desarrollo del software
Fundamentos de Ingeniería de Software
Guia Diseño Robert Echeverria
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Programación 1 Introducción
Administración de Procesos de Pruebas
Ingeniería del Software
Evaluación de Productos
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
PROGRAMACIÓN LÓGICA.
Fundamentos de Programación
Proceso de información en la computadora
Ingeniería de Software
Inteligencia artificial
Sistema de Información
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
Ingenieria de software
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Metodología para solución de problemas
FUNDAMENTOS DE PROGRAMACION
Metodología para la construcción de programas
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Facultad de Ingeniería
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
“PARADIGMAS Y LENGUAJES DE PROGRAMACION”
UNIVERSIDAD LATINA II. FUNCIONES DEL ADMINISTRADOR.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Actividades en el Proceso de desarrollo de Software
Desarrollo de lógica algorítmica.
Ciclo de desarrollo del software
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Software.
Proceso de desarrollo de Software
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
UNIVERSIDAD LATINA II.- CONSTRUCCIÓN DE LA BASE DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
EI, Profesor Ramón Castro Liceaga IV. AREAS DE EVALUACIÓN DE LA AUDITORIA EN INFORMÁTICA. UNIVERSIDAD LATINA (UNILA)
Las fases del ciclo de la vida de desarrollo de sistemas
UNIVERSIDAD LATINA (UNILA) III.- PLAN DE IMPLEMENTACIÓN
NZ/EA/abril Introducción Julio NZ/EA/abril ¿ Que es la IS ? Disciplina que trata los aspectos concernientes al desarrollo de sistemas.
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
UNIVERSIDAD LATINA (UNILA)
Fundamentos de Programación Unidad I Conceptos Básicos.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Diccionario/Directorio de Datos
Entregables del Proyecto
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS. LE, EI, Profesor Ramón Castro Liceaga

Que son los paradigmas de programación ? Un paradigma de programación son las técnicas que proveen y determinan la visión y métodos de un programador en la construcción de un algoritmo, programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación). Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo: Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El lenguaje de programación Scheme, en cambio, soporta sólo programación funcional. En cambio Python, soporta múltiples paradigmas.

Programación imperativa (instrucciones) Es también conocida como programación procedural, está basada en los lenguajes imperativos, que son la forma tradicional de programación. Este tipo de programación se basa en la especificación explícita de los pasos que se deben seguir para obtener el resultado deseado. Utiliza variables y operaciones de asignación para el almacenamiento de información, define procedimientos bien claros en donde se procesan las variables de acuerdo con operaciones explícitas. Algunos de los lenguajes para programación imperativa son Basic, Pascal, C y Modula - 2.

Programación lógica (lógica formal) Es un tipo de programación declarativa y relacional que está basada en lógica de primer orden. La programación declarativa describe relaciones entre variables en términos de funciones y reglas de inferencia dejando en manos del traductor la aplicación de un algoritmo fijo sobre estas relaciones para producir un resultado. La programación relacional genera salidas en función de atributos y argumentos. El lenguaje de programación lógica por excelencia es Prolog, es utilizado para la inteligencia artificial y basa su funcionamiento en cláusulas formadas por un conjunto de literales atómicas donde por lo menos una es positiva. Hechos y reglas son conocidos, en su conjunto, como cláusulas. Otros lenguajes de programación lógica son: ALF (Another logical framework), Gödel programming language, Mercury programming language y CLP(FD)

Programación funcional (basada en funciones) Este paradigma basa su programación en la definición de un conjunto de funciones (posiblemente recursivas) y una expresión cuyo valor de salida se utilizará para representar el resultado del algoritmo. Los programas escritos en lenguaje funcional tienden a ser compactos y elegantes, aunque también son lentos y requieren de gran cantidad de memoria para su ejecución. Algunos de los principales lenguajes de programación funcional son: DR Racket, Clean, FP, Haskell, Hope, LML, Miranda, SML y LISP.

programación declarativa (declaraciones) La programación declarativa es un estilo de programación en el que el está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. Ejemplos: Prolog, Maude, SQL y Haskell

programación dirigida por eventos (eventos/componentes) La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarán determinados por el lenguaje de programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador. Ejemplos: Visual Basic, Visual C# y C++, JavaScript, ASP

programación orientada a aspectos (POA) Es un paradigma de programación relativamente reciente cuya intención es permitir una adecuada modularización de las aplicaciones y posibilitar una mejor separación de incumbencias. Gracias a la POA se pueden encapsular los diferentes conceptos que componen una aplicación en entidades bien definidas, eliminando las dependencias entre cada uno de los módulos Ejemplos: AspectC++, AspectJ, AspycAOP y Flow3

programación orientada a componentes (Componentes) Es una rama de la ingeniería del software, con énfasis en la descomposición de sistemas ya conformados en componentes funcionales o lógicos con interfaces bien definidas usadas para la comunicación entre componentes. Ejemplos: COM, Enterprice Java Beans

programación orientada a objetos (Clases y Objetos) Tiene por principio la representación de los objetos de la realidad en un lenguaje de programación que permita acercarse lo más posible al pensamiento humano. La programación orientada a objetos postula la identificación de los objetos que participan en el problema o situación que se quiere solucionar a través de un algoritmo. Realizada la identificación de los objetos, se lleva a cabo una abstracción de sus características más relevantes, así como de las principales operaciones que efectúan, posteriormente, se busca asociar objetos con características y operaciones comunes para llegar a la definición de una clase. Ejemplos: Java, Smalltalk, Ruby, Python, ActionScript 3, C++ y C#.

Computación en Nube La computación en nube es un sistema informático basado en Internet y centros de datos remotos para gestionar servicios de información y aplicaciones. La computación en nube permite que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin necesidad de instalarlas en cualquier computadora con acceso a Internet. Esta tecnología ofrece un uso mucho más eficiente de recursos, como almacenamiento, memoria, procesamiento y ancho de banda, al proveer solamente los recursos necesarios en cada momento

Evaluación de algoritmos La evaluación de algoritmos es un proceso de análisis de desempeño del tiempo de ejecución que este tarda los algoritmos en encontrar una solución y la cantidad de recursos empleados para ello. Entre las técnicas más confiables se encuentran aquellas que miden la complejidad de algoritmos a través de funciones matemáticas

Depuración y Prueba Es el proceso de identificación y corrección de errores en algoritmos y de programación. Para depurar el código fuente, el programador se vale de herramientas de software que le facilitan la localización y depuración de errores. Los compiladores son un ejemplo de estas

Documentación del algoritmo y programa Es la documentación detallada de los procedimientos, algoritmos y programas que realiza el desarrollador del software y debe incluir: 1. Nombre del Programa (código). Indicará código que identifica el programa y el título del programa. 2. Descripción. Indicará la función que realiza el programador. 3. Frecuencia de Procesamiento. Diaria, semanal, quincenal, mensual, etcétera. 4. Fecha de Vigencia. Fecha a partir de la cual se comienza a ejecutar en producción la versión modificada o desarrollada del programa. 5. Archivos de Entrada. 6. Lista de Archivos de Salida: Indicará el nombre y copia y descripción de los archivos. 7. Lista de Informes y/o Totales de Control. Se indicará el nombre de los informes y se incluirá ejemplo de los informes y/o totales de control producidos por el programa, utilizando los datos de prueba. 8. Datos de Prueba. Se incluirá una copia de los datos usados para prueba. 9. Mensajes al Operador - Pantallas la definición de todos los mensajes al operador por consola y las posibles contestaciones con una breve explicación de cada una de ellas. 10. Datos de Control para ejecutar el programa (parámetros). 11. Transacciones. 12. Nombre del Programador Deberá indicar el nombre del programador que escribió el algoritmo y programa o que efectuó el cambio, según sea el caso. 13. Fecha. Indicará fecha en que se escribió el programa o que se efectuó el cambio, según sea el caso. 14. Diccionario de datos. En caso que aplique, se incluirá detalle de las diferentes tablas y códigos usados; con los valores, explicaciones y su uso en el programa. 15. Lista de Programas. Deberá incluir copia de la última compilación del programa con todas las opciones.

Mantenimiento de algoritmos y programas. Los usuarios de los programas solicitarán los cambios necesarios al área de sistemas con el fin de que los programas sigan operando correctamente. Para ello, periódicamente se le debe dar el mantenimiento que requieren los algoritmos y programas, el cual puede ser de tres tipos: Preventivo: Los programas no presentan error alguno, pero hay necesidad de regenerar los índices de los registros, realizar respaldos, verificar la eficiencia de los algoritmos y la integridad de los programas, actualizar porcentajes y tablas de datos, etcétera. Correctivo: Los programas presentan algún error en algún reporte, por lo que es necesario revisar la codificación para depurarlo y compilarlo. Se debe realizar las pruebas al sistema, imprimiendo los reportes que genera y verificar si los cálculos que estos presentan son correctos. Adaptativo: Los algoritmos y programas no tienen error alguno, pero se requiere alguna actualización por una nueva versión del programa, una nueva plataforma de sistema operativo o un nuevo equipo de cómputo con ciertas características, es decir, hay que adaptar los algoritmos y los programas a la nueva tecnología tanto de software como de hardware.