Está en la página 1de 12

Definición

Un programa se escribe en un lenguaje de programación y las operaciones que conducen a


expresar un algoritmo en forma de programa se llaman programación., y el algoritmo escrito en un
lenguaje de programación se denomina código fuente. Los lenguajes de programación se utilizan
para escribir programas. Los programas de las computadoras modernas constan de secuencias de
instrucciones que se codifican como secuencias de dígitos numéricos que podrán entender dichas
computadoras. El sistema de codificación se conoce como lenguaje máquina que es el lenguaje
nativo de una computadora.

Diagrama

Se necesitan lenguajes de programación “amigables con el programador” que permitan escribir


los programas para poder “charlar” con facilidad con las computadoras. Sin embargo, las
computadoras sólo entienden las instrucciones en lenguaje máquina, por lo que será preciso
traducir los programas resultantes a lenguajes de máquina antes de que puedan ser ejecutadas
por ellas.
Instrucciones básicas

Instrucciones

Las instrucciones básicas y comunes en casi todos los lenguajes de programación son:

 Instrucciones de entrada/salida.
 Instrucciones de cálculo.
 Instrucciones de control.
 Instrucciones de entrada/salida.

Instrucciones de entrada/salida. Instrucciones de transferencia de información entre dispositivos


periféricos y la memoria central, tales como "leer de..." o bien "escribir en...". Instrucciones de
cálculo. Instrucciones para que la computadora pueda realizar operaciones aritméticas.
Instrucciones de control. Instrucciones que modifican la secuencia de la ejecución del programa.

Tipos de lenguajes de programación

 Los principales tipos de lenguajes de programación son:


 Lenguajes máquina.
 Lenguajes de bajo nivel (ensambladores).
 Lenguajes de alto nivel.
TRADUCTORES DE LENGUAJE: EL PROCESO DE TRADUCCIÓN DE UN PROGRAMA

El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un lenguaje


máquina comprensible por la computadora, se realiza mediante programas llamados
“traductores”. Los traductores de lenguaje son programas que traducen a su vez los programas
fuente escritos en lenguajes de alto nivel a código máquina.

Los traductores se dividen en compiladores e intérpretes.

Traductores

INTÉRPRETES

Un intérprete es un traductor que toma un programa fuente, lo traduce y, a continuación, lo


ejecuta. Los programas intérpretes clásicos como BASIC, prácticamente ya no se utilizan, más que
en circunstancias especiales. Sin embargo, está muy extendida la versión interpretada del lenguaje
Smalltalk, un lenguaje orientado a objetos puro.
COMPILADORES

Un compilador es un programa que traduce los programas fuente escritos en lenguaje de alto nivel
a lenguaje máquina. La traducción del programa completo se realiza en una sola operación
denominada compilación del programa; es decir, se traducen todas las instrucciones del programa
en un solo bloque. El programa compilado y depurado (eliminados los errores del código fuente)
se denomina programa ejecutable

En la década de los cuarenta cuando nacían las primeras computadoras digitales el lenguaje que se
utilizaba para programar era el lenguaje máquina que traducía directamente el código máquina
(código binario) comprensible para las computadoras. Las instrucciones en lenguaje máquina
dependían de cada computadora y debido a la dificultad de su escritura, los investigadores de la
época simplificaron el proceso de programación desarrollando sistemas de notación en los cuales
las instrucciones se representaban en formatos nemónicos (nemotécnicos) en vez de en formatos
numéricos que eran más difíciles de recordar.

Evolución

Para convertir los programas escritos en código nemotécnico a lenguaje máquina, se desarrollaron
programas ensambladores (assemblers). Es decir, los ensambladores son programas que traducen
otros programas escritos en código nemotécnico en instrucciones numéricas en lenguaje máquina
que son compatibles y legibles por la máquina. Estos programas de traducción se llaman
ensambladores porque su tarea es ensamblar las instrucciones reales de la máquina con los
nemotécnicos e identificadores que representan las instrucciones escritas en ensamblador
LENGUAJES IMPERATIVOS

El paradigma imperativo o procedimental representa el enfoque o método tradicional de


programación.

Un lenguaje imperativo es un conjunto de instrucciones que se ejecutan una por una, de principio
a fin, de modo secuencial excepto cuando intervienen instrucciones de salto de secuencia o
control. Este paradigma define el proceso de programación como el desarrollo de una secuencia
de órdenes (comandos) que manipulan los datos para producir los resultados deseados.

Por consiguiente, el paradigma imperativo señala un enfoque del proceso de programación


mediante la realización de un algoritmo que resuelve de modo manual el problema y a
continuación expresa ese algoritmo como una secuencia de órdenes.

Lenguajes Procedimentales

 Los lenguajes de programación procedimentales, por excelencia, son:


 FORTRAN
 COBOL
 Pascal
 BASIC
 ALGOL
 C
 Ada

(aunque sus últimas versiones ya tienen un carácter completamente orientado a objetos).

Ejemplos

LENGUAJES DECLARATIVOS

En contraste con el paradigma imperativo el paradigma declarativo solicita al programador que


describa el problema en lugar de encontrar una solución algorítmica al problema; es decir, un
lenguaje declarativo utiliza el principio del razonamiento lógico para responder a las preguntas o
cuestiones consultadas. Se basa en la lógica formal y en el cálculo de predicados de primer orden.
El razonamiento lógico se basa en la deducción. El lenguaje declarativo por excelencia es Prolog.
LENGUAJES ORIENTADOS A OBJETOS (POO)

El paradigma orientado a objetos se asocia con el proceso de programación llamado programación


orientada a objetos (POO) consistente en un enfoque totalmente distinto al proceso
procedimental. El enfoque orientado a objetos guarda analogía con la vida real.

El desarrollo de software OO se basa en el diseño y construcción de objetos que se componen a su


vez de datos y operaciones que manipulan esos datos. El programador define en primer lugar los
objetos del problema y a continuación los datos y operaciones que actuarán sobre esos datos.

LENGUAJE DE DISEÑO DEL PROGRAMA (LDP)

El lenguaje de diseño del programa (LDP), también llamado castellano estructurado o


seudocódigo, incorpora la estructura lógica de un lenguaje de programación y la expresividad de
forma libre de un lenguaje natural (como el castellano). Se incrusta el texto de la narración (en
castellano) en una sintaxis de programación parecida al idioma. Para mejorar la aplicación del LDP
se utilizan herramientas automatizadas. Una sintaxis básica de LDP debe incluir construcciones
para: definir los componentes, describir la interfaz, hacer la declaración de los datos, estructurar
bloques, hacer construcciones condicionales, de repetición y de entrada y salida (E/S).
LENGUAJES DE ESPECIFICACIÓN FORMAL

Un lenguaje de especificación formal por lo general se compone de tres componentes primarios:

1) una sintaxis que define la notación específica con la que se representa la especificación,

2) semántica para ayudar a definir un “universo de objetos” que se usarán para describir el
sistema y

3) un conjunto de relaciones que definen las reglas que indican cuáles objetos satisfacen
adecuadamente la especificación.

Lenguajes de especificación formal (Dominio sintactico)

El dominio sintáctico de un lenguaje de especificación formal con frecuencia se basa en una


sintaxis que se deriva de la notación estándar de la teoría de conjuntos y del cálculo de
predicados. El dominio semántico de un lenguaje de especificación indica cómo representa el
lenguaje los requerimientos del sistema. Es posible usar diferentes abstracciones semánticas para
describir el mismo sistema en formas distintas. En los capítulos 6 y 7, se hizo esto de manera
menos formal. Se representaron información, función y comportamiento. Para representar el
mismo sistema, puede usarse una notación de modelado diferente. La semántica de cada
representación proporciona visiones complementarias del sistema.

LENGUAJE DE RESTRICCIÓN DE OBJETO (OCL)

El lenguaje de restricción de objeto (OCL) es una notación formal desarrollada de modo que los
usuarios de UML puedan agregar más precisión a sus especificaciones. En el lenguaje está
disponible todo el poder de la lógica y de la matemática discreta. Sin embargo, los diseñadores de
OCL decidieron que, en los enunciados OCL, sólo deberían usarse caracteres ASCII (en lugar de la
notación matemática tradicional). Esto hace que el lenguaje sea más amistoso para las personas
que tienen menos inclinación matemática y que la computadora lo procese más fácilmente. Pero
también hace al OCL un poco farragoso en algunos lugares. Para usar OCL, comience con uno o
más diagramas UML: los diagramas de clase, estado o actividad más comunes. Se agregan
expresiones OCL y hechos de estado acerca de elementos de los diagramas.

OCL

Como un lenguaje de programación orientado a objeto, una expresión OCL involucra operadores
que operan sobre objetos. Sin embargo, el resultado de una expresión completa siempre debe ser
booleana, es decir, verdadero o falso. Los objetos pueden ser instancias de la clase Collection OCL,
de la cual Set (conjunto) y Sequence (secuencia) son dos subclases.

EL LENGUAJE DE ESPECIFICACIÓN Z

Z es un lenguaje de especificación que se usa ampliamente dentro de la comunidad de métodos


formales. El lenguaje Z se aplica a conjuntos escritos, relaciones y funciones dentro del contexto
de la lógica de predicados de primer orden para construir esquemas, un medio para estructurar la
especificación formal.

Las especificaciones Z se organizan como un conjunto de esquemas, una estructura de lenguaje


que introduce variables y que especifica la relación entre dichas variables. Un esquema es en
esencia la especificación formal análoga del componente de lenguaje de programación.

Los esquemas se usan para estructurar una especificación formal en la misma forma en la que los
componentes se usan para estructurar un sistema.

La estructura genérica de un esquema toma la forma:

——— esquemaNombre——————————————

declaraciones

———————————————————————

invariante

————————————————————————

donde las declaraciones identifican las variables que abarca el estado del sistema y la invariante
impone restricciones en la forma en la que puede evolucionar el estado.

LENGUAJE DE MODELADO

Un modelo es una simplificación de la realidad que se consigue mediante una abstracción. El


modelado de un sistema pretende capturar las partes fundamentales o esenciales de un sistema.
El modelado se representa mediante una notación gráfica.

Un modelo se expresa en un lenguaje de modelado y consta de notación —símbolos utilizados en


los modelos— y un conjunto de reglas que instruyen cómo utilizarlas.
Las reglas son sintácticas, semánticas y pragmáticas.

Sintácticas

• Sintaxis, nos indica cómo se utilizan los símbolos para representar elementos y cómo se
combinan los símbolos en el lenguaje de modelado. La sintaxis es comparable con las palabras del
lenguaje natural; es importante conocer cómo se escriben correctamente y cómo poner los
elementos para formar una sentencia.

Reglas semánticas

• Semántica, las reglas semánticas explican lo que significa cada símbolo y cómo se deben
interpretar, bien por sí misma o en el contexto de otros símbolos.

Reglas pragmáticas

• Pragmática, las reglas de pragmática definen las intenciones de los símbolos a través de los
cuáles se consigue el propósito de un modelo y se hace comprensible para los demás. Esta
característica se corresponde en lenguaje natural con las reglas de construcción de frases que son
claras y comprensibles. Para utilizar bien un lenguaje de modelado es necesario aprender estas
reglas.

Un modelo UML tiene dos características muy importantes:

• Estructura estática: describe los tipos de objetos más importantes para modelar el sistema.

• Comportamiento dinámico: describe los ciclos de vida de los objetos y cómo interactúan entre sí
para conseguir la funcionalidad del sistema requerida.

Estas dos características están estrechamente relacionadas entre sí.


Características

Las principales ventajas de UML son:

a) Es un lenguaje formal, cada elemento del lenguaje está rigurosamente definido.

b)Es conciso.

c)Es comprensible, completo, describe todos los aspectos importantes de un sistema.

d)Es escalable, sirve para gestionar grandes proyectos, pero también pequeños proyectos.

e)Está construido sobre la filosofía de “lecciones aprendidas”, ya que recogió lo mejor de 3


métodos ya muy probados y desde su primer borrador, en 1994, ha incorporado las mejores
prácticas de la comunidad de orientación a objetos.

f)Es un estándar, ya que está avalado por la OMG, organización con difusión y reconocimiento
mundial.

Ventajas

DISEÑO DE SOFTWARE CON UML

Cuando se aplica UML al diseño de software, UML trata de llevar la idea original o la abstracción
del problema a una parte o bloque de software y su implementación. UML proporciona un medio
para capturar y examinar requisitos a nivel de requisitos (diagramas de caso de uso), un concepto
muy importante, pero, a veces, difícil de comprensión para un programador novel. Existen
diagramas para capturar cuáles son las partes del software que realizan ciertos requisitos
(diagramas de colaboración). Otros diagramas sirven para capturar exactamente cómo realizan sus
requisitos esas partes del sistema (diagramas de secuencia y diagramas de cartas de estado). Por
último, hay diagramas para mostrar todo lo que se acopla y ejecuta de modo conjunto (diagramas
de componentes y diagramas de cartas y de despliegue).

UML divide los diagramas en dos categorías:

 Diagramas estructurales
 Diagramas de comportamientos.

Los diagramas estructurados se utilizan para capturar la organización física de las cosas del
sistema, por ejemplo, cómo se relacionan unos objetos con otros.

Estructurales

Los diagramas estructurados o estructurales, son:

 Diagramas de clases o de estructuras.


 Diagramas de componentes.
 Diagramas de estructuras compuestas.
 Diagramas de despliegue.
 Diagramas de objetos.
 Diagramas de comportamientos
Los diagramas de comportamiento se centran en el comportamiento de los elementos de un
sistema.

Un uso típico de los diagramas de comportamiento es:

 Diagramas de actividad.
 Diagramas de comunicación.
 Diagramas de interacción.
 Diagramas de secuencia.
 Diagramas de máquinas de estado.
 Diagramas de tiempo.
 Diagramas de caso de uso.

DESARROLLO DE SOFTWARE ORIENTADO A OBJETOS CON UML

UML tiene sus orígenes en la orientación a objetos. Por esta razón se puede definir UML como:
“un lenguaje de modelado orientado a objetos para desarrollo de sistemas de software
modernos”. Al ser un lenguaje de modelado orientado a objetos, todos los elementos y diagramas
en UML se basan en el paradigma orientado a objetos. El desarrollo orientado a objetos se centra
en el mundo real y resuelve los problemas a través de la interpretación de “objetos” que
representan los elementos tangibles de un sistema.

La idea fundamental de UML es modelar software y sistemas como colecciones de objetos que
interactúan entre sí. Esta idea se adapta muy bien al desarrollo de software y a los lenguajes
orientados a objetos, así como a numerosas aplicaciones, tales como los procesos de negocios.  
ESPECIFICACIONES DE UML

UML es un conjunto de especificaciones de OMG. UML 2 está distribuido en cuatro


especificaciones: la Especificación de Intercambio de Diagramas, la Infraestructura UML, la
Superestructura UML, y el Lenguaje de Restricciones de objetos OCL (Object Constraint Language).

Por otra parte, los modelos UML tienen al menos dos dimensiones: una dimensión gráfica para
visualizar el modelo usando diagramas e iconos (notaciones) y otra dimensión con texto que
describe las especificaciones de distintos elementos de modelado.

La especificación o lenguaje OCL define un lenguaje para escritura de restricciones y expresiones


de los elementos del modelo.

También podría gustarte