La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguajes y Herramientas de Desarrollo

Presentaciones similares


Presentación del tema: "Lenguajes y Herramientas de Desarrollo"— Transcripción de la presentación:

1 Lenguajes y Herramientas de Desarrollo
Técnica.Com Lenguajes y Herramientas de Desarrollo

2 ¿Qué son los lenguajes de programación?
Los lenguajes de programación son estructuras simbólicas que permiten disponer de los dispositivos de una computadora. Cada lenguaje cuenta con los siguientes elementos: Sintaxis Palabras reservadas Comandos (open, close, quit, call) Funciones ( log(), abs(), tan(), cos() ) Operadores lógicos ( and, or, xor, not ) Operadores aritméticos ( +, -, *, / ) Operadores relacionales ( >, <, >=, <=, <> ) Semántica Estructura general Técnica.com Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

3 The application matrix: ¿qué se busca programar?
Richard Ball (1987) a través de una herramienta llamada “The application matrix”, propone que la aplicación que se desea desarrollar determina el lenguaje apropiado. Separa las aplicaciones en tres categorías (A, B,C), que se afectan en cuanto a los atributos de los datos, los atributos de la aplicación, y los atributos del proyecto. Técnica.com Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.

4 Clasificaciones de los lenguajes.
Los lenguajes pueden ser clasificados de muchas formas: Propósito General En cuanto al alcance de su propósito Propósito Específico Bajo Nivel En cuanto a Nivel Alto Nivel Técnica.com Primera Generación Segunda Generación En cuanto a Generación Lenguajes Tercera Generación Cuarta Generación Lenguaje Natural Procedimientos En cuanto a Orientación Objetos Lógica Reglas Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

5 Los lenguajes y el alcance de su propósito.
Lenguajes de propósito general.- Son aquellos lenguajes que nacieron pensando en el manejo de cualquier aplicación computacional, sin importar la rama específica del conocimiento que se utilice. Una forma de reconocerlos es viendo que las funciónes implícitas del lenguaje comprenden gestión de texto, funciones matemáticas, funciones financieras, funciones gráficas, gestión de bases de datos, etc. Claramente se puede notar que no están pensados para un tipo de aplicación en específico. Ejemplos: C, BASIC, Pascal, PL/I y el Ada. Lenguajes de própósito específico.- Son aquellos que fueron pensados para el desarrollo de sistemas, de una determinada rama o tendencia del conocimiento. Ejemplo: FORTRAN (orientación hacia desarrrollos matemáticos y cálculos), VPExpert (lenguaje basado en reglas, para codificar conocimiento y crear sistemas expertos). Técnica.com Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

6 Los lenguajes y su nivel.
Los lenguajes de programación se dividen en dos categorías fundamentales: lenguajes de bajo y alto nivel. Los lenguajes de bajo nivel son dependientes de la máquina; es decir, que están diseñados para ejecutarse en una determinada computadora. Los lenguajes de alto nivel (por ejemplo, COBOL y BASIC) son independientes de la máquina y se puede utilizar en una variedad de computadoras. Los lenguajes de muy alto nivel (por ejemplo generadores de código, CASE, y aplicaciones de lenguaje natural), son lenguajes con mecanismos inteligentes que ayudan a la utilización de lenguajes de más bajo nivel. Son especie de “facilitadores” para el empleo de otris lenguajes. Técnica.com Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

7 Generaciones: 1a y 2a; bajo nivel.
Cada computadora sólo tiene un lenguaje de programación que se puede ejecutar: el lenguaje máquina. Primera Generación: Lenguaje máquina.- Están escritos en el nivel mas básico de operación de la computadora. En el lenguaje máquina, se codifica las instrucciones como una serie de uno (1) y cero (0). Segunda Generación: Lenguajes ensambladores.- Un conjunto de instrucciones para un lenguaje ensamblador corresponde, sobre a una base uno a uno, a las instrucciones de la maquina. Al igual que los lenguajes de la maquina, los lenguajes ensambladores son únicos para una computadora lo hace ser lenguaje de bajo nivel. La gran diferencia entre los lenguajes es la manera en que los programadores representan las instrucciones. En lugar de utilizar una serie confusa de unos (1) y cero (0) para representar instrucciones, los lenguajes ensambladores utilizan símbolos fáciles de reconocer, conocidos como nemotécnicos. Técnica.com Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

8 Generaciones: 3a, alto nivel.
Los lenguajes de tercera generación (3GL; third-generation languages) son los lenguajes propiamente como los conocemos (poseen instrucciones, funciones, sintaxis, semántica); ya trascienden el uso de los términos nemotécnicos. Una instrucción puede indicar 1 o más tareas para el computador. Pueden dividirse como sigue: Lenguajes empresariales Orientados a procedimientos Técnica.com Lenguajes científicos Orientados a los problemas Lenguajes de 3a Generación Orientados a objetos Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

9 Generaciones: 3a, Lenguajes orientados a procedimiento.
Lenguajes orientados al procedimiento.- Los lenguajes orientados al procedimiento requieren que los programadores resuelvan problemas de programación utilizando la lógica de programación tradicional; esto es, los programadores codifican o escriben las instrucciones en la secuencia en que deben ejecutar para solucionar el problema. Se dividen en: Lenguajes empresariales. Los 3GL orientados a las empresas se diseñan para ser instrumentos efectivos para desarrollar sistemas de información empresarial. La fuerza de la 3GL empresariales consiste en su capacidad de almacenar, recuperar y manejar datos alfanuméricos. COBOL, el primer lenguaje de programación empresarial, se introdujo en Este lenguaje sigue siendo el mas popular. La intención original del os creadores del COBOL (Common Bussines Oriented Language; lenguajes común orientado a la empresa) era hacer que sus instrucciones se aproximan al inglés. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

10 Generaciones: 3a, Lenguajes orientados a procedimiento.
Lenguaje científicos. Estos lenguajes del tipo de una formula algebraica están diseñado en particular para satisfacer las necesidades de procedimientos repetitivo, la expresión y la solución de ecuaciones matemáticas y demás operaciones pertinentes. FORTRAN. (Formula Translator), el primer lenguaje orientado a procedimientos, se desarrollo en Fue y sigue siendo el lenguaje científico más popula. APL. (A Programming Language un lenguaje de programación), introducido en 1968, es un lenguaje de programación interactivo que es común entre los ingenieros, matemáticos y científicos. Un tablero especial con símbolos “taquigráficos” ayuda a la rapidez del proceso de cifrado. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

11 Generaciones: 3a, Lenguajes orientados a procedimiento.
Otros lenguajes orientados al procedimiento. El análisis anterior de los lenguajes al procedimiento no pretende ser exhaustivo. Entre estos se incluyen los siguientes: LISP ( List Processing [procesamiento de listas], 1959). Un lenguaje de procesamiento de listas eficiente para el manejo de datos no numéricos, tales como símbolos y texto (se utiliza en el desarrollo de la inteligencia artificial y los compiladores). LOGO (1967). Hace uso de una “tortuga” para enseñar a los niños geometría, matemáticas y programación. FORTH (1971). Se utiliza para aplicaciones de control de dispositivos, juegos de video y robótica. Prolog (Programming in Logic [programación en lógica], Es capaz de manejar relaciones entre hechos ( se utiliza en el desarrollo de sistemas expertos). Modula-2 (1981). Permite combinar módulos independientes en un programa. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

12 Lenguaje de 4a Generación.
Lenguajes de la cuarta generación (4GL, fourth-generation languages ). Son de alto nivel y amigables; los programadores profesionales que utilizan 4GL sostienen que experimentan incrementos en la productividad de 200 a 1,000% en comparación con los lenguajes orientados al procedimiento de la tercera generación (COBOL, FORTRAN, BASIC y demás ). Hay dos tipos de 4GL: Técnica.com Orientados a la producción Lenguajes de 4a Generación Orientados al usuario Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

13 Lenguaje de 4a Generación.
Lenguajes de la cuarta generación orientados a la producción. Los lenguajes de la cuarta generación orientados a la producción están diseñados sobre todo para profesionales en la computación, quienes usan 4GL como el Ideal de ADR, el Natural 2 de Software AG y el Mantis de Cincom. Lenguajes de la cuarta generación orientados al usuario. Los usuarios escriben programas para consultar (extraer información ) de una base de datos y para crear sistemas de información personales o departamentales. Los lenguajes de la cuarta generación orientados al usuario incluyen el RAMIS II de Mathematica Products Group y el FOCUS de Information Builders. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

14 Capacidades de los 4GL. Ejemplos: Desventajas:
Debe tener integrado un manejador de base de datos Debe contar con un reporteador basado en objetos Debe haber independencia total entre los datos y las aplicaciones Debe contar con un diccionario o repositorio de datos Debe proporcionar apoyo para un esquema de seguridad por usuarios Debe contar con un lenguaje de rastreo basado en ejemplos (Query By Example) Debe hacer hincapié en el modelo de datos y no en la programación del código Debe poseer herramientas para la fácil documentación de análisis, diseño, y modelo de datos. Ejemplos: Informix, Progress, Sisinf. Desventajas: Requieren conocimientos especializados y su operación requiere personal calificado (lo cual es caro). Su precio como producto también es caro. Técnica.com Fuente: “Análisis y modelación de bases de datos relacionales”, Técnica.Com, José F. Ramírez. D.R.

15 Computer Aided Software Engineering (CASE)
Técnica.com La tecnología CASE busca automatizar el proceso de ingeniería de software, propiamente el desarrollo, de tal manera que los términos conceptuales sirvan para generar los términos formales. Especificar el qué, para que la computadora se encargue del cómo. Se espera que en un futuro no muy lejano, las actividades de desarrollo de sistemas estén simplificadas al máximo, dejando a cargo del recurso humano aquellos aspectos creativos que requieran el human touch.. Fuente: Curso en línea “Analisis y modelación de bases de datos”, Técnica.Com, José F. Ramírez. D.R.

16 Nichos de mercado para las herramientas CASE.
Mantenimiento Desarrollo tradicional Técnicas nuevas Herramientas CASE para Mainframe Herramientas Reverse Engineering CASE inteligente Metodologías estructuradas y generación de código COBOL Documentación y estructuras Técnica.com Herramientas CASE de tipo OO y Knowledge System Based. Mainframe Herramientas CASE Técnicas Estaciones de trabajo UNIX PC/MAC CASE Tools PC & MAC Equipo Tendencia de herramientas Productos Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

17 Upper CASE Tools (Herramientas de análisis y diseño).
Tipos de productos CASE. Upper CASE Tools (Herramientas de análisis y diseño). Lower CASE Tools (Generadores de código, generadores de interfaz). 4GL (Generadores de aplicaciones que no dependen de una metodología). i-CASE (Productos integrados, Upper & Lower CASE). CASE de dominio específico (Herramientas para el desarrollo de tipos específicos de aplicaciones). Meta-CASE (Herramientas para desarrollar herramientas CASE). Herramientas de administración del proceso de desarrollo (Lifecycle Managment Tools). Técnica.com Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

18 Alcance de los productos CASE (Método tradicional).
Análisis Diseño Programación Pruebas e implementación Mantenimiento Upper CASE Lower CASE Técnica.com Herramientas 4GL i-CASE Herramientas CASE de dominio específico Meta CASE Lifecycle Managment Tools Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

19 Lenguaje Natural. La habilidad de operar computadoras utilizando instrucciones habladas o tecleadas en la forma común y corriente, como lo hacemos de manera natural, ha sido un sueño perseguido por usuarios y desarrolladores de software. El término Lenguajes Naturales se refiere al software que permite que los sistemas de información acepten, interpreten y ejecuten instrucciones en el lenguaje materno o “natural” del usuario final, casi siempre el inglés. La premisa implícita en un lenguaje natural es que el programador o el usuario necesita poca o ninguna capacitación. El programador sólo escribe, o tal visualiza, las especificaciones del procedimiento sin tomar en cuenta la sintaxis (las reglas que se observan para la formulación de las instrucciones). Otro término bastante aceptado de lenguaje natural es “todos los elementos computacionales, incluyendo hardware y software, que de cierta forma procesan entradas a través de lenguaje natural”. Técnica.com Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

20 ¿Cómo opera el lenguaje natural?.
Consideraciones de la Entrada Restringida / No restringida Sintaxis y Vocabulario Hablado Continuo o Discreto Técnica.com La forma más compleja de entrada es la que implica entrada hablada, ya que se requiere el uso de tecnología de reconocimiento de voz; en la actualidad dicha entrada es restringida (sólo se pueden ordenar ciertas cosas), con sintaxis y vocabulario limitado, y utilizando un hablado discreto (breves pausas entre palabras). Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

21 Entrada y salida en Lenguaje Natural
Interpretando y entendiendo la entrada Descompone los fonemas en palabras. Agrupa las palabras en sentencias con significado. Reconoce la estructura de la sentencia. Compara la entrada con el modelo interno y determina una representación interna libre de ambigüedad. Interpreta el sentido de la sentencia en el marco contextual en que se encuentra. Reconoce el objeto del usuario (lo que quiso decir) y prepara una respuesta apropiada. Técnica.com Generando salida Reconoce el objeto del usuario (lo que quiso decir) y prepara una respuesta apropiada. Utiliza la representación interna libre de ambigüedad y genera un mensaje apropiado de salida. Determina la forma apropiada de la sentencia en que debe ser dicho el mensaje. Organiza la estructura de la sentencia. Genera las palabras que son necesarias para la sentencia. Genera los fonemas que crean el texto hablado. Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

22 Arquitectura de un sistema de consulta basado en LN.
¿Cuántos artículos 2453 se vendieron en marzo de 1999? Interprete 3: El interprete analiza el modelo interno y genera la consulta de bases de datos. Select count(Venta.cveart) from Ventas where month(Ventas.fventa) = 03 and year (Ventas.fventa) = 1999 1: Se identifican las palabras y se seccionan en componentes con significado. Sólo persisten palabras y frases reconocidas. Diccionario Parser Conceptos registrados Técnica.com 4: La interfaz interactua con la BD, considerando el lenguaje de la empresa (Dominio). Base de Datos Interfaz de base de datos Conocimiento de Dominio 2: Se genera un modelo interno libre de ambigüedades, en representación interna del lenguaje. Generador de lenguaje Se genera representación interna (#Ventas, A2453, M03, Y1999) Se vendieron 300 unidades de 2453. Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

23 Aplicaciones del lenguaje natural
Las aplicaciones basadas en Lenguaje Natural más comunes son: Font-End de base de datos basados en Lenguaje Natural.- Convierten requerimientos tecleados en lenguaje natural, que son traducidos a estatutos SQL y consultas. Categorización de texto, Análisis de contenidos, y sistemas de recuperación de datos.- Análisis contextual de texto, para búsqueda y recuperación de información. Sistemas de traducción.- Sistemas de traducción de lenguajes; de uno a otro. Programas de edición de Texto.- Análisis gramatical de las frases. TalkWriters.- Llamados programas de dictado. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

24 Clasificaciones de los lenguajes (en el tiempo).
Natural Muy Alto Nivel Generador de Aplicaciones 4GL 4GL Orientados a producción. 4GL Orientados al usuario. Orientados a objetos Técnica.com Alto Nivel Orientados a problemas 3GL Orientados a procedimientos Empresariales Científicos 2GL Ensamblador Bajo Nivel 1GL Máquina Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

25 Estilos de programación, según Bobrow y Stefik.
Bobrow y Stefik definen un estilo de programación como un medio de organización de programas sobre la base de algún modelo conceptual de programación y un lenguaje apropiado para hacer programas en un estilo claro. Ellos sugieren cuatro estilos básicos de programación: Orientado a procedimientos (basados en algoritmos). Orientados a objetos (basados en clases y objetos). Orientados a lógica (expresado en cálculo de predicados). Orientados en reglas (basado en reglas if - then). Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

26 Programación orientada a procedimientos (Programación Estructurada).
La programación estructurada se emplea desde la década de los setenta; llamada también técnica descendente o de refinamiento sucesivo, comienza descomponiendo un programa en piezas manejables más pequeñas, conocidas como funciones (subrutinas, subprogramas, procedimientos), que realizan tareas menos complejas. Técnica.com Variables globales Funciones Funciones Funciones Funciones Funciones Variables Locales Variables Locales Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

27 Orientación a Objetos. La Orientación a Objetos puede describirse como el conjunto de disciplinas (ingeniería) que desarrollan y modelizan software que facilita la construcción de sistemas complejos a partir de componentes, llamados objetos. En la programación orientada a objetos todo se organiza en torno a los objetos. Un objeto tiene un nombre y posee datos y procedimientos. En cierto sentido, un objeto es un programa virtual. Dado ciertos datos de entrada, el objeto aplica los procedimientos sobre dichos datos y genera una salida. Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

28 Los 4 elementos más impotrantes de este modelo son los siguientes:
Orientación a Objetos. Los 4 elementos más impotrantes de este modelo son los siguientes: Abstracción.- Propiedad que permite representar las características escenciales de un objeto, sin preocuparse de las características no escenciales. Encapsulamiento.- Propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y viceversa. Modularidad.- Propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible, de la aplicación en sí y de las restantes partes. Jerarquía.- Es una propiedad que permite una ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases is-a (generalización/especialización), y estructura de objetos part-of (agregación). Técnica.com Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

29 Orientación a Objetos. La jerarquía de generalización/especialización se conoce como herencia. Básicamente la herencia define la relación entre clases, en donde una clase comparte la estructura o comportamiento definido en una o más clases (herencia simple o herencia compuesta, respectivamente). La agregacíón es el concepto que permite el agrupamiento físico de estructuras relacionadas lógicamente. El Poliformismo es la propiedad que indica, literalmente la posibilidad de que una entidad tome muchas formas. Técnica.com Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.

30 Los objetos y su jerarquía.
Técnica.com Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.

31 + Clases + Herencia Taxonomía de lenguajes OO de Wegner. Ada - 83
Lenguajes basados en objeto + Clases Ada - 83 Actor Clipper 5.x + Herencia Basados en clases Clu Orientado a objetos Técnica.com C++ Eiffel Simula SmallTalk Turbo Borland Pascal Delphi Visual Objects Visual COBOL Ada - 95 Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.


Descargar ppt "Lenguajes y Herramientas de Desarrollo"

Presentaciones similares


Anuncios Google