Sei sulla pagina 1di 11

Programacin estructurada

La programacin estructurada es una tcnica para escribir programas (programacin de


computadora) de manera clara. Para ello se utilizan nicamente tres estructuras: secuencia,
seleccin e iteracin; siendo innecesario el uso de la instruccin o instrucciones de
transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples
RETURN).

Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de
programacin existentes en los aos 1960, principalmente debido a las aplicaciones
grficas, por lo que las tcnicas de programacin estructurada no son suficientes. Ello ha
llevado al desarrollo de nuevas tcnicas, tales como la programacin orientada a objetos y
el desarrollo de entornos de programacin que facilitan la programacin de grandes
aplicaciones.

Contenido 1 Orgenes de la programacin estructurada 1.1 Estructura secuencial 1.2


Estructura selectiva o de seleccin 1.3 Estructura iterativa 1.4 Anidamiento 2 Ventajas de la
programacin estructurada 3 Inconvenientes de la programacin estructurada 4 Bibliografia
5 Vase tambin 6 Enlaces externos [editar]Orgenes de la programacin estructurada

A finales de los aos 1960 surgi una nueva forma de programar que no solamente daba
lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que
facilitaba su comprensin posterior.

El teorema del programa estructurado, propuesto por Bhm-Jacopini, demuestra que todo
programa puede escribirse utilizando nicamente las tres instrucciones de control
siguientes:

Secuencia Instruccin condicional. Iteracin (bucle de instrucciones) con condicin al


principio. Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor repertorio de
estructuras de control, stas pueden ser construidas mediante las tres bsicas citadas.

[editar]Estructura secuencial Una estructura de programa es secuencial si las instrucciones


se ejecutan una tras otra, a modo de secuencia lineal, es decir que una instruccin no se
ejecuta hasta que finaliza la anterior, ni se bifurca el flujo del programa.

Ejemplo:

INPUT x
INPUT y
auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y

Ventajas de la programacin estructurada


1. Los programas son ms fciles de entender, pueden ser ledos de forma secuencial, no
hay necesidad de hacer engorrosos seguimientos en saltos de lnea (GOTO) dentro de los
bloques de cdigo para intentar entender la lgica.

2. La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas o
relacionadas entre s.

3. Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los fallos o


errores del programa ("debugging") se facilita debido a su estructura ms sencilla y
comprensible, por lo que los errores se pueden detectar y corregir ms fcilmente.

4. Reduccin de los costos de mantenimiento. Anlogamente a la depuracin, durante la


fase de mantenimiento, modificar o extender los programas resulta ms fcil.

5. Programas son ms sencillos y ms rpidos de confeccionar (y se facilita su


optimizacin).

6. Los bloques de cdigo son casi auto-explicativos, lo que reduce y facilita la


documentacin.

7. Las instrucciones de salto, GOTO, quedan reservadas para construir las instrucciones
bsicas, si fuera realmente imprescindible. Aunque no se usan de forma directa, por estar
prohibida su utilizacin, estn incluidas implcitamente en las instrucciones de seleccin e
iteracin.

8. Un programa escrito de acuerdo a los principios de programacin estructurada no


solamente tendr una mejor estructura sino tambin una excelente presentacin.

9. Se incrementa el rendimiento de los programadores, comparada con la forma tradicional


que utiliza GOTO.

La programacin orientada a objetos (POO, u OOP segn sus siglas en ingls) es un paradigma de
programacin que viene a innovar la forma de obtener resultados. Los objetos manipulan los
datos de entrada para la obtencin de datos de salida especficos, donde cada objeto ofrece una
funcionalidad especial.

Muchos de los objetos pre-diseados de los lenguajes de programacin actuales permiten la


agrupacin en bibliotecas o libreras, sin embargo, muchos de estos lenguajes permiten al usuario
la creacin de sus propias bibliotecas.

Est basada en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo,


acoplamiento y encapsulamiento.

Su uso se populariz a principios de la dcada de 1990. En la actualidad, existe una gran variedad
de lenguajes de programacin que soportan la orientacin a objetos.
Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la
propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder
tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos
conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podra producir el
hbito errneo de crear clases contenedoras de informacin por un lado y clases con mtodos que
manejen a las primeras por el otro. De esta manera se estara realizando una "programacin
estructurada camuflada" en un lenguaje de POO.

La programacin orientada a objetos difiere de la programacin estructurada tradicional, en la que


los datos y los procedimientos estn separados y sin relacin, ya que lo nico que se busca es el
procesamiento de unos datos de entrada para obtener otros de salida. La programacin
estructurada anima al programador a pensar sobre todo en trminos de procedimientos o
funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la
programacin estructurada solo se escriben funciones que procesan datos. Los programadores
que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes
solicitndoles que realicen sus mtodos por s mismos.

Conceptos fundamentales

La POO es una forma de programar que trata de encontrar una solucin a estos problemas.
Introduce nuevos conceptos, que superan y amplan conceptos antiguos ya conocidos. Entre ellos
destacan los siguientes:

Clase

Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La


instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ella.

Herencia

Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual la clase D hereda
en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones
hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos mtodos y variables
registrados como "pblicos" (public) en C. Los componentes registrados como "privados" (private)
tambin se heredan pero se mantienen escondidos al programador y slo pueden ser accedidos a
travs de otros mtodos pblicos. Para poder acceder a un atributo u operacin de una clase en
cualquiera de sus subclases pero mantenerla oculta para otras clases es necesario registrar los
componentes como "protegidos" (protected), de esta manera sern visibles en C y en D pero no
en otras clases.
Objeto

Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de


comportamiento o funcionalidad (mtodos), los mismos que consecuentemente reaccionan a
eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos
del sistema (del programa).

Mtodo

Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la
recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto
puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin
de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento

Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje
enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto
pertinente. Tambin se puede definir como evento la reaccin que puede desencadenar un
objeto; es decir, la accin que genera.

Atributos

Caractersticas que tiene la clase.

Mensaje

Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con
ciertos parmetros asociados al evento que lo gener.

Propiedad o atributo

Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los
datos visibles desde fuera del objeto y esto se define como sus caractersticas predeterminadas, y
cuyo valor puede ser alterado por la ejecucin de algn mtodo.

Estado interno

Es una variable que se declara privada, que puede ser nicamente accedida y alterada por un
mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o
clase de objetos). No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto

Atributos, identidad, relaciones y mtodos.

Identificacin de un objeto
Un objeto se representa por medio de una tabla o entidad que est compuesta por sus atributos
y funciones correspondientes.

En comparacin con un lenguaje imperativo, una "variable" no es ms que un contenedor interno


del atributo del objeto o de un estado interno, as como la "funcin" es un procedimiento interno
del mtodo del objeto.

Caractersticas de la POO

Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a objetos". Las


caractersticas siguientes son las ms importantes:1

Abstraccin

Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos.


Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo,
informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar "cmo"
se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin
ser abstrados, y, cuando lo estn, una variedad de tcnicas son requeridas para ampliar una
abstraccin. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de
un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el
mundo real. La abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que
mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el
problema que se quiere atacar.

Encapsulamiento

Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin (diseo estructurado)
de los componentes del sistema. Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.

Polimorfismo

Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo


nombre; al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto
que se est usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden
contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia
producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto
ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin
dinmica. Algunos lenguajes proporcionan medios ms estticos (en "tiempo de compilacin") de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia
Las clases no se encuentran aisladas, sino que se relacionan entre s, formando una jerarqua de
clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las
que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo
a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos
pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto
suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que
reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que
hay herencia mltiple; siendo de alta complejidad tcnica por lo cual suele recurrirse a la herencia
virtual para evitar la duplicacin de datos.

Modularidad

Se denomina "modularidad" a la propiedad que permite subdividir una aplicacin en partes ms


pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea
posible de la aplicacin en s y de las restantes partes. Estos mdulos se pueden compilar por
separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes
soportan la modularidad de diversas formas.

Principio de ocultacin

Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una
"interfaz" a otros objetos que especfica cmo pueden interactuar con los objetos de la clase. El
aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga
derecho a acceder a ellas; solamente los propios mtodos internos del objeto pueden acceder a su
estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de
manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos
lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una
manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un
agregado o rompecabezas de objetos.

Recoleccin de basura

La recoleccin de basura (garbage collection) es la tcnica por la cual el entorno de objetos se


encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos
que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe
preocuparse por la asignacin o liberacin de memoria, ya que el entorno la asignar al crear un
nuevo objeto y la liberar cuando nadie lo est usando. En la mayora de los lenguajes hbridos
que se extendieron para soportar el Paradigma de Programacin Orientada a Objetos como C++ u
Object Pascal, esta caracterstica no existe y la memoria debe desasignarse expresamente.
Arquitectura de las base de datos ( nivel de abstraccin , independencia lgica, fsica)

Arquitectura de base de datos

La arquitectura de un sistema de base de datos est influenciada en gran medida por el sistema
informtico subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un
sistema de base de datos se reflejan aspectos como la conexin de red, el paralelismo y la
distribucin.

La conexin de red: de varias computadoras permite que algunas tareas se ejecuten en un


sistema servidor y que otras se ejecuten en los sistemas clientes. Esta divisin de trabajo ha
conducido al desarrollo de sistemas de base de datos cliente-servidor.

El procesamiento paralelo: dentro de una computadora permite acelerar las actitudes del
sistema de base de datos, proporcionando a las transacciones una respuesta ms rpida, as como
la capacidad de ejecutar ms transacciones por segundo.

La distribucin de datos: A travs de las distintas sedes o departamentos de una organizacin


permite que estos datos residan donde han sido generados o donde son ms necesarios, pero
continuar siendo accesibles desde otros lugares o departamentos diferentes.

Niveles de abstraccin:

Podemos destacar tres niveles principales segn la visin y la funcin que realice el usuario sobre
la base de datos:

- Nivel fsico: El nivel ms bajo de abstraccin describe como se almacenan realmente los datos. En
el nivel fsico se describen en detalle las estructuras de datos complejas de bajo nivel.

- Nivel conceptual: Que es el siguiente nivel ms alto de abstraccin, se describe cules son los
datos reales que estn almacenados en la base de datos y qu relaciones existen entre los datos.

-Nivel lgico: El siguiente nivel ms alto de abstraccin describe que datos se almacenan en la
base de datos y que relaciones existen entre esos datos. La base de datos completa se describe as
en trminos de un nmero pequeo de estructuras relativamente simples en el nivel fsico, los
usuarios del nivel lgico no necesitan preocuparse de esta complejidad. Los administradores de
base de datos, que deben decidir la informacin que se mantiene en la base de datos, usan el nivel
lgico de abstraccin.

Independencia lgica y fsica de los datos.

El concepto de independencia de datos lo podemos definir como la capacidad para modificar el


esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior.
Se pueden definir dos tipos de independencia de datos:
La independencia lgica: Es la capacidad de modificar el esquema conceptual sin tener que alterar
los esquemas externos ni los programas de aplicacin. Se puede modificar el esquema conceptual
para ampliar la base de datos o para reducirla. Si, por ejemplo, se reduce la base de datos
eliminando una entidad, los esquemas externos que no se refieran a ella no debern verse
afectados.

La independencia fsica: Es la capacidad de modificar el esquema interno sin tener que alterar el
esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos
ficheros fsicos con el fin de mejorar el rendimiento de las operaciones de consulta o de
actualizacin de datos. Dado que la independencia fsica se refiere slo a la separacin entre las
aplicaciones y las estructuras fsicas de almacenamiento, es ms fcil de conseguir que la
independencia lgica.

Por este motivo una base de datos debe presentar los datos de forma que el usuario pueda
interpretarlos y modificarlos. Evidentemente esto no lo podemos aplicar a un informtico
que necesite saber donde se encuentran fsicamente los datos para poder tratarlos.

Podemos destacar tres niveles principales segn la visin y la funcin que realice el usuario
sobre la base de datos:

Nivel Interno: es el nivel ms cercano al almacenamiento fsico de los datos.


Permite escribirlos tal y como estn almacenados en el ordenador. En este nivel se
disean los archivos que contienen la informacin, la ubicacin de los mismos y su
organizacin, es decir se crean los archivos de configuracin.
Nivel conceptual: En este nivel se representan los datos que se van a utilizar sin
tener en cuenta aspectos como lo que representamos en el nivel interno.
Nivel externo: es el ms cercano al usuario. En este nivel se describen los datos o
parte de los datos que ms interesan a los usuarios.

Estos tres niveles de visin de usuarios los proporcionan los sistemas gestores de base de
datos (ya veremos ms adelante que significa esto).

Una base de datos especfica tiene un nico nivel interno y un nico nivel conceptual pero
puede tener varios niveles externos.

https://es.slideshare.net/LucelyDelgadoSnche
z/arquitectura-de-base-de-datos-75546628
Que modelos de base de datos existen?

Modelos de bases de datos

Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar
de acuerdo a su modelo de administracin de datos.

Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de


datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y
recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son
abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo
general se refieren a algoritmos, y conceptos matemticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerrquicas

Artculo principal: Base de datos jerrquica

stas son bases de datos que, como su nombre indica, almacenan su informacin en una
estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto
al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene
padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un
gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y
de gran rendimiento.

Una de las principales limitaciones de este modelo es su incapacidad de representar


eficientemente la redundancia de datos.

Base de datos de red

Artculo principal: Base de datos de red

ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la


modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerrquico).

Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al
problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la
informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora
por programadores ms que por usuarios finales.

Bases de datos transaccionales

Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas
bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad,
datos de produccin e industrial, es importante entender que su fin nico es recolectar y
recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de
informacin no es un problema como con las dems bases de datos, por lo general para poderlas
aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales.

Bases de datos relacionales

Artculo principal: Modelo relacional

Artculo principal: Base de datos relacional

ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos
dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los
laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en
los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones
podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta
es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se
conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si
fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las
tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de
que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La
informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia
flexibilidad y poder para administrar la informacin.

El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL,
Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por
los principales motores o sistemas de gestin de bases de datos relacionales.

Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como
normalizacin de una base de datos.

Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de
programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBase no
utilizaba SQL como lenguaje base para su gestin.

https://es.wikipedia.org/wiki/Modelo_de_base_de
_datos

Potrebbero piacerti anche