31
L L enguajes y enguajes y Herramientas de Herramientas de Desarrollo Desarrollo Técnica.Com Técnica.Com

L enguajes y Herramientas de Desarrollo Técnica.Com

Embed Size (px)

Citation preview

Page 1: L enguajes y Herramientas de Desarrollo Técnica.Com

LLenguajes y Herramientas de enguajes y Herramientas de DesarrolloDesarrollo

Técnica.ComTécnica.Com

Page 2: L enguajes y Herramientas de Desarrollo Técnica.Com

Los lenguajes de programaciónlenguajes 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

¿Qué son los lenguajes de programación?T

écn

ica.

com

Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

Page 3: L enguajes y Herramientas de Desarrollo Técnica.Com

Richard Ball (1987) a través de una herramienta llamada “The application matrixThe 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.

The application matrix: ¿qué se busca programar?T

écn

ica.

com

Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.

Atributo de… Clase A Clase B Clase CLos Datos Personales Departamentales Estratégicos

No estratégicos Alto volumenActualiza la base de datos de la empresa

Bajo volumenUtilizado por otros programas

IndependienteLa Aplicación Personal Coorporativa Compleja

Stand-AloneUtilizado por más de una persona

Extensa

El Proyecto 1 a 5 días de trabajo 6 a 20 días de trabajo20 a 40 días de trabajo, Aprobación formal del proyecto.

No hay proyecto formalAlgo de aprobación de proyecto

Más de 40 días de trabajo, Utilizar estándares de desarrollo de sistemas.

Herramientas de desarrollo

Word, Excel, Access.(Front-End) Visual Basic, C, C++, COBOL

(Front-End) Visual Basic, C++, (Back-End) Progress, SQL Server, Informix, ORACLE

Page 4: L enguajes y Herramientas de Desarrollo Técnica.Com

Los lenguajes pueden ser clasificados de muchas formas:

Clasificaciones de los lenguajes.T

écn

ica.

com

LenguajesLenguajes

En cuanto a NivelEn cuanto a Nivel

En cuanto a Generación

En cuanto a Generación

En cuanto a Orientación

En cuanto a Orientación

Bajo Nivel

Alto Nivel

Primera Generación

Segunda Generación

Tercera Generación

Cuarta Generación

Procedimientos

Objetos

Lógica

Reglas

Lenguaje Natural

En cuanto al alcance de su propósito

En cuanto al alcance de su propósito

Propósito General

Propósito Específico

Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

Page 5: L enguajes y Herramientas de Desarrollo Técnica.Com

• Lenguajes de propósito generalLenguajes 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íficoLenguajes 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).

Los lenguajes y el alcance de su propósito.T

écn

ica.

com

Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

Page 6: L enguajes y Herramientas de Desarrollo Técnica.Com

• Los lenguajes de programación se dividen en dos categorías fundamentales: lenguajes de bajo y alto nivel.

– Los lenguajes de bajo nivellenguajes 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 nivellenguajes 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 nivellenguajes 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.

Los lenguajes y su nivel.T

écn

ica.

com

Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

Page 7: L enguajes y Herramientas de Desarrollo Técnica.Com

• Cada computadora sólo tiene un lenguaje de programación que se puede ejecutar: el lenguaje máquina.

– Primera Generación: Lenguaje máquinaPrimera 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 ensambladoresSegunda 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.

Generaciones: 1a y 2a; bajo nivel.T

écn

ica.

com

Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.Fuente: “La Informática y el Derecho”, Técnica.Com, José F. Ramírez. D.R.

Page 8: L enguajes y Herramientas de Desarrollo Técnica.Com

• Los lenguajes de tercera generaciónlenguajes 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:

Generaciones: 3a, alto nivel.T

écn

ica.

com

Lenguajes de 3a Generación

Lenguajes de 3a Generación

Orientados a los problemas

Orientados a los problemas

Orientados a objetos

Orientados a objetos

Orientados a procedimientos

Orientados a procedimientos

Lenguajes empresariales

Lenguajes científicos

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 9: L enguajes y Herramientas de Desarrollo Técnica.Com

• Lenguajes orientados al procedimientoLenguajes 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 empresarialesLenguajes 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.

• COBOLCOBOL, el primer lenguaje de programación empresarial, se introdujo en 1959. 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.

Generaciones: 3a, Lenguajes orientados a procedimiento.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 10: L enguajes y Herramientas de Desarrollo Técnica.Com

– Lenguaje científicosLenguaje 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.

• FORTRANFORTRAN. (Formula Translator), el primer lenguaje orientado a procedimientos, se desarrollo en 1955. Fue y sigue siendo el lenguaje científico más popula.

• APLAPL. (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.

Generaciones: 3a, Lenguajes orientados a procedimiento.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 11: L enguajes y Herramientas de Desarrollo Técnica.Com

• Otros lenguajes orientados al procedimientoOtros lenguajes orientados al procedimiento. El análisis anterior de los lenguajes al procedimiento no pretende ser exhaustivo. Entre estos se incluyen los siguientes:

– LISPLISP ( 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).

– LOGOLOGO (1967). Hace uso de una “tortuga” para enseñar a los niños geometría, matemáticas y programación.

– FORTHFORTH (1971). Se utiliza para aplicaciones de control de dispositivos, juegos de video y robótica.

– PrologProlog (Programming in Logic [programación en lógica], 1972. Es capaz de manejar relaciones entre hechos ( se utiliza en el desarrollo de sistemas expertos).

– Modula-2Modula-2 (1981). Permite combinar módulos independientes en un programa.

Generaciones: 3a, Lenguajes orientados a procedimiento.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 12: L enguajes y Herramientas de Desarrollo Técnica.Com

• Lenguajes de la cuarta generaciónLenguajes 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:

Lenguaje de 4a Generación.T

écn

ica.

com

Lenguajes de 4a Generación

Lenguajes de 4a Generación

Orientados al usuario

Orientados al usuario

Orientados a la producción

Orientados a la producción

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 13: L enguajes y Herramientas de Desarrollo Técnica.Com

– Lenguajes de la cuarta generación orientados a la producciónLenguajes 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 usuarioLenguajes 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.

Lenguaje de 4a Generación.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 14: L enguajes y Herramientas de Desarrollo Técnica.Com

Capacidades de los 4GL.T

écn

ica.

com

Fuente: “Análisis y modelación de bases de datos relacionales”, Técnica.Com, José F. Ramírez. D.R.Fuente: “Análisis y modelación de bases de datos relacionales”, Técnica.Com, José F. Ramírez. D.R.

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: Ejemplos:

Informix, Progress, Sisinf.

Desventajas: Desventajas:

Requieren conocimientos especializados y su operación requiere personal calificado (lo cual es caro). Su precio como producto también es caro.

Page 15: L enguajes y Herramientas de Desarrollo Técnica.Com

La tecnología CASECASE 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 touchhuman touch..

Computer Aided Software Engineering (CASE)T

écn

ica.

com

Fuente: Curso en línea “Analisis y modelación de bases de datos”, Técnica.Com, José F. Ramírez. D.R.Fuente: Curso en línea “Analisis y modelación de bases de datos”, Técnica.Com, José F. Ramírez. D.R.

Page 16: L enguajes y Herramientas de Desarrollo Técnica.Com

Nichos de mercado para las herramientas CASE.T

écn

ica.

com

Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis HallFuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

Mantenimiento Desarrollo tradicional Técnicas nuevas

Mainframe

Equipo

Tendencia de herramientas

Productos

Estaciones de trabajo UNIX

PC & MAC

PC/MACCASE Tools

Herramientas CASE Técnicas

Herramientas CASE de tipo OO y Knowledge System Based.

Herramientas Reverse Engineering

Herramientas CASE para Mainframe

CASE inteligenteMetodologías estructuradas y generación de código COBOL

Documentación y estructuras

Page 17: L enguajes y Herramientas de Desarrollo Técnica.Com

Tipos de productos CASE.T

écn

ica.

com

Upper CASE ToolsUpper CASE Tools (Herramientas de análisis y diseño).

Lower CASE ToolsLower CASE Tools (Generadores de código, generadores de interfaz).

4GL4GL (Generadores de aplicaciones que no dependen de una metodología).

i-CASEi-CASE (Productos integrados, Upper & Lower CASE).

CASE de dominio específicoCASE de dominio específico (Herramientas para el desarrollo de tipos específicos de aplicaciones).

Meta-CASEMeta-CASE (Herramientas para desarrollar herramientas CASE).

Herramientas de administración del proceso de Herramientas de administración del proceso de desarrollodesarrollo (Lifecycle Managment Tools).

Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis HallFuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

Page 18: L enguajes y Herramientas de Desarrollo Técnica.Com

Alcance de los productos CASE (Método tradicional).T

écn

ica.

com

Fuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis HallFuente: Inteligent Software Systems Development, an IS Manager’s Guide, Wiley & Sons, Inc., Paul Harmon and Curtis Hall

AnálisisDiseño

ProgramaciónPruebas e implementación Mantenimiento

Upper CASE

Lower CASE

Herramientas 4GL

i-CASE

Herramientas CASE de dominio específico

Meta CASE

Lifecycle Managment Tools

Page 19: L enguajes y Herramientas de Desarrollo Técnica.Com

• 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 NaturalesLenguajes 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”.

Lenguaje Natural.T

écn

ica.

com

Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

Page 20: L enguajes y Herramientas de Desarrollo Técnica.Com

¿Cómo opera el lenguaje natural?.T

écn

ica.

com

Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

El programa analiza laentrada del usuario

De acuerdo a un modelo, sederiba una representación

interna no ambigua

El programagenera una salida

Entendimiento del Lenguaje Natural Generación de Lenguaje Natural

Entrada Tecleada

Datos Electrónicos

Entrada Hablada (Reconocimiento de Voz)

Salida Tecleada

Datos Electrónicos

Salida Hablada (Generación de Voz)

Consideraciones de la EntradaConsideraciones de la Entrada• Restringida / No restringida

• Sintaxis y Vocabulario

• Hablado Continuo o Discreto

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).

Page 21: L enguajes y Herramientas de Desarrollo Técnica.Com

Entrada y salida en Lenguaje NaturalT

écn

ica.

com

Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

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.

Interpretando y entendiendo la entradaInterpretando y entendiendo la entrada

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.

Generando salidaGenerando salida

Page 22: L enguajes y Herramientas de Desarrollo Técnica.Com

Arquitectura de un sistema de consulta basado en LN.T

écn

ica.

com

Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.Fuente: “Intelligent Software systems Development, an IS Manager’s Guide”, Paul Harmon & curtis Hall, Wilwy & Sons.

¿Cuántos artículos 2453 se vendieron en marzo de 1999?

1: Se identifican las palabras y se seccionan en componentes con significado.

Sólo persisten palabras y frases reconocidas.

Parser

Diccionario

Conceptos registrados

Se genera representación interna

(#Ventas, A2453, M03, Y1999)

2: Se genera un modelo interno libre de ambigüedades, en representación interna del lenguaje.

Interprete

Base de Datos

Conocimiento de Dominio

Interfaz de base de datos

Generador de lenguaje

Se vendieron 300 unidades de 2453.

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

4: La interfaz interactua con la BD, considerando el lenguaje de la empresa (Dominio).

Page 23: L enguajes y Herramientas de Desarrollo Técnica.Com

• Las aplicaciones basadas en Lenguaje NaturalLenguaje Natural más comunes son:

– Font-End de base de datos basados en Lenguaje Natural.-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 Categorización de texto, Análisis de contenidos, y sistemas de recuperación de datos.-datos.- Análisis contextual de texto, para búsqueda y recuperación de información.

– Sistemas de traducción.-Sistemas de traducción.- Sistemas de traducción de lenguajes; de uno a otro.

– Programas de edición de Texto.-Programas de edición de Texto.- Análisis gramatical de las frases.

– TalkWriters.-TalkWriters.- Llamados programas de dictado.

Aplicaciones del lenguaje naturalT

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 24: L enguajes y Herramientas de Desarrollo Técnica.Com

Clasificaciones de los lenguajes (en el tiempo).T

écn

ica.

com

Natural

Generador de Aplicaciones

4GL Orientados a producción. 4GL Orientados al usuario.

Orientados a objetos

Orientados a problemas

Empresariales CientíficosOrientados a procedimientos

Ensamblador

Máquina1GL1GL

2GL2GL

3GL3GL

4GL4GL

Bajo Bajo NivelNivel

Alto Alto NivelNivel

Muy Muy Alto Alto NivelNivel

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 25: L enguajes y Herramientas de Desarrollo Técnica.Com

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ónestilos 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).

Estilos de programación, según Bobrow y Stefik.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 26: L enguajes y Herramientas de Desarrollo Técnica.Com

La programación estructuradaprogramació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.

Programación orientada a procedimientos (Programación Estructurada).

Téc

nic

a.co

m

Funciones

Funciones Funciones

Funciones Funciones

Variables Locales

Variables globales

Variables Locales

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 27: L enguajes y Herramientas de Desarrollo Técnica.Com

La Orientación a ObjetosOrientació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.

Orientación a Objetos.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 28: L enguajes y Herramientas de Desarrollo Técnica.Com

Los 4 elementos más impotrantes de este modelo son los siguientes: AbstracciónAbstracción.- Propiedad que permite representar las características escenciales de un

objeto, sin preocuparse de las características no escenciales.

EncapsulamientoEncapsulamiento.- 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.

ModularidadModularidad.- 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íaJerarquí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).

Orientación a Objetos.T

écn

ica.

com

Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.Fuente: “Introducción a las computadoras y al procesamiento de información”, Larry Long, Prentice Hall.

Page 29: L enguajes y Herramientas de Desarrollo Técnica.Com

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.

Orientación a Objetos.T

écn

ica.

com

Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.Fuente: “Information Systems: Management Principles in Action”, Wysocki & Young, Wiley & Son’s.

Page 30: L enguajes y Herramientas de Desarrollo Técnica.Com

Los objetos y su jerarquía.T

écn

ica.

com

Animal

Mamífero

ConejoZorra

Huye de lasZorras

Caza conejos

BugsMovimiento

Pelaje

SangreCaliente

Peso (kg)

Saltos

Gris

2.3

Huye de lasZorras

FredMovimiento

Pelaje

Sangre Caliente

Peso (kg)

Corre

Rojo

20.5

Caza conejos

Instancia

Movimiento

Pelaje

SangreCaliente

Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.

Page 31: L enguajes y Herramientas de Desarrollo Técnica.Com

Taxonomía de lenguajes OO de Wegner.T

écn

ica.

com

Lenguajes basados Lenguajes basados en objetoen objeto

Ada - 83 Actor Clipper 5.x

Basados en clasesBasados en clases

CluOrientado a objetosOrientado a objetos

C++ Eiffel Simula SmallTalk Turbo Borland Pascal Delphi Visual Objects Visual COBOL Ada - 95

+ Clases

+ Herencia

Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.Fuente: “Intelligent Software Systems Development: an IS Managers Guide”, Paul Harmon & Curtis Hall, Wiley & Son’s.