Академический Документы
Профессиональный Документы
Культура Документы
PROGRAMACIN ESTRUCTURADA
PROGRAMACIN ORIENTADA A OBJETOS
MODULARIZACIN
Mtodo de Warnier
Mtodo de Jackson
Mtodo de Bertini
Mtodo de Tabourier
Mtodo de Chapin
Etc.
PROGRAMACIN ESTRUCTURADA
A finales de los aos 1970 y principios de los 1980, se cre una nueva filosofa de diseo de programas
llamada programacin estructurada. Esta idea elimin ese tipo de cdigo largo, monoltico y lineal que
saltaba de un lugar a otro con sentencias tipo GOTO. En su lugar, los programadores seccionaban el cdigo en
secciones claramente definidas mediante prrafos cortos los cuales eran llamados por un mdulo principal. En
lugar de la utilizacin del lenguaje Assembler los lenguajes de tercera generacin, tales como COBOL,
PASCAL y BASIC se hicieron muy populares. Adems, un hardware de ordenador ms sofisticado y ms
rpido hizo posible las bases de datos relacionales, permitiendo el almacenamiento de la informacin en
diskettes y en discos duros. A finales de los 1970 y comienzos de los 1980 era muy caro hacer esto, pero los
beneficios eran tremendos. Por no ms tiempo del que necesitabas para cerrar un sobre podas almacenar 80
caracteres de informacin. Ahora podas almacenar y recuperar decenas de miles de registros y tenerlos
disponibles en un terminal de ordenador.
1
programacin estructurada son el C, Pascal, Basic, Fortran, Cobol, etc.
Aunque la programacin estructurada es una metodologa que se ha usado durante mucho tiempo y an se usa
en la actualidad, existe un lmite en la complejidad de los programas que se pueden realizar manteniendo los
costes de mantenimiento y modificacin de los programas razonablemente bajos. Es otras palabras, modificar
un programa complejo en Pascal o COBOL puede ser una tarea altamente costosa en trminos de tiempo. Para
sobrepasar estos problemas se cre la metodologa de la programacin orientada a objetos, que postula la
divisin de un programa en unidades autocontenidas llamadas objetos. A diferencia de los procedimientos que
contienen slo algoritmos y los datos sobre los que actan estn aparte, un objeto contiene un conjunto de
algoritmos junto con los datos sobre los que actan. De esta manera cuando un programador invoca
algoritmos en un objeto, no necesita saber qu tipo de datos el objeto maneja de forma interna. Adems los
objetos pueden ser organizados en jerarquas, de forma unos objetos pueden heredar datos y algoritmos de
otros objetos. Con esto lo que se consigue es que la organizacin de un programa orientado a objetos sea ms
modular y rica que la organizacin de un programa estructurado, con lo que la arquitectura de los programas
complejos puede ser acomodada a cambios ms fcilmente.
Con la introduccin de sistemas operativos grficos tales como Windows, ha surgido un nuevo concepto de
programacin. Los programadores ahora disean aplicaciones a base de unir diferentes piezas de cdigo ya
escrito y probado con anterioridad, cada una de estas piezas se llama "objeto". Los objetos pueden tener
propiedades, tales como forma, tamao, color, y tipo de datos. Un ejemplo podra ser un cuadro en la pantalla
conteniendo una cuenta de dinero. Usted podra cambiar el tamao de este cuadro, cambiar el color, cambiar
la forma en la que se muestra la figura de la cuenta de dinero. Entonces usted podra realizar operaciones en
esa cuenta, controlando los eventos que se hicieran sobre ella, tales como una pulsacin del ratn que podra
disparar una determinada operacin, o mover la caja sobre la pantalla. Gracias al entorno del sistema
operativo subyacente tras ello, usted puede hacer todo esto colocando propiedades en lugar de escribir todo un
cdigo. Y no slo esto, usted puede crear una aplicacin con una base de datos subyacente tras ella, utilizando
todas las plantillas preprogramadas sobre la estructura de la base de datos. En los das del antiguo lenguaje
assembler, tal sistema hubiera sido extraordinario, si no imposible, de llevarlo a la prctica, adems el tamao
y la complejidad seran horrendos. Pero mucha de esa complejidad est ya realizada en el sistema operativo de
los ordenadores que ejecutan estos programas "orientados a objeto". Lo bueno de esto es que muchas de las
funciones que antes llevaban meses para programarlas, hoy se pueden hacer fcilmente en unos das, incluso
en cuestin de horas. Adems, el coste econmico de los sistemas operativos de ordenador se ha
revolucionado, debido a que los costes del hardware caen en picado. Hoy da es normal que un ordenador
personal medio tenga 64 megas de memoria RAM y 8 gigas de disco en una mquina que cuesta 1/40 de lo
que costaba nuestro pobre sistema Univac en 1978. Esta tendencia no muestra tendencias de ir a cambiar La
Orientacin a Objetos (OO) se configura como la metodologa de desarrollo de software predominante para
los prximos aos. Segn algunos estudios recientes, ms del 50% de las corporaciones que desarrollan
aplicaciones informticas, a nivel mundial, ya han abordado de alguna manera estas tcnicas, empezando por
proyectos piloto con el fin de explorar las ventajas conseguidas con ellas. El soporte que todas las empresas
informticas estn dando a la OO (desde fabricantes de ordenadores, bases de datos, hasta lenguajes tanto de
tercera como de cuarta generacin) hace que la dificultad de migrar a esta tecnologa sea cada vez menor.
La Orientacin a Objetos (OO), que inicialmente fue un conjunto de tcnicas de programacin soportadas en
el uso de lenguajes especiales (orientados a objetos), ha ido poco a poco ms all de la propia programacin
hasta convertirse en una metodologa genrica y de gran potencia para construir modelos de sistemas, que
puede ser aplicada en todas las fases del desarrollo de aplicaciones: anlisis, diseo, programacin y
mantenimiento.
Frente a otras metodologas tiene la ventaja de ser ms natural (ms prxima a la forma de pensar y hablar de
las personas) e integrar los principios generales de la ingeniera del software en un paradigma coherente (el
2
concepto de "objeto").
Los conceptos fundamentales de Objetos estn en la actualidad bien asentados. A continuacin se citan los
ms importantes, desde nuestro punto de vista. Un Modelo de Objetos es un conjunto de entidades
(denominadas objetos) que colaboran entre ellos para desempear una serie de servicios. Esos servicios se
solicitan por medio del intercambio de mensajes. Todos los objetos del modelo pertenecen a algn tipo
(Clase).
Pero, si bien estos conceptos son aceptados generalmente, en cambio en las metodologas para construir
modelos de objetos hay grandes diferencias entre las distintas escuelas, lo cual est perjudicando en cierta
medida la implantacin de las tcnicas OO, ya que se les achaca an una cierta inmadurez.
Aunque la programacin estructurada es una metodologa que se ha usado durante mucho tiempo y an se usa
en la actualidad, existe un lmite en la complejidad de los programas que se pueden realizar manteniendo los
costes de mantenimiento y modificacin de los programas razonablemente bajos. Es otras palabras, modificar
un programa complejo en Pascal o COBOL puede ser una tarea altamente costosa en trminos de tiempo. Para
sobrepasar estos problemas se cre la metodologa de la programacin orientada a objetos, que postula la
divisin de un programa en unidades autocontenidas llamadas objetos. A diferencia de los procedimientos que
contienen slo algoritmos y los datos sobre los que actan estn aparte, un objeto contiene un conjunto de
algoritmos junto con los datos sobre los que actan. De esta manera cuando un programador invoca
algoritmos en un objeto, no necesita saber qu tipo de datos el objeto maneja de forma interna. Adems los
objetos pueden ser organizados en jerarquas, de forma unos objetos pueden heredar datos y algoritmos de
otros objetos. Con esto lo que se consigue es que la organizacin de un programa orientado a objetos sea ms
modular y rica que la organizacin de un programa estructurado, con lo que la arquitectura de los programas
complejos puede ser acomodada a cambios ms fcilmente.
Definicin de Booch
La POO es el mtodo de implementacin en el que los programas se organizan como colecciones cooperativas
de objetos, cada uno de los cuales representa un ejemplar de una clase y cuyas clases son miembros de una
jerarqua de clases unidas mediante relaciones de herencia.
Conclusiones
Las clases pertenecen a una jerarqua (son las clases las que heredan y no los objetos).
Objeto
Entidad que contiene los atributos que describen el estado de un objeto del mundo real y las acciones
3
que se asocian con el objeto del mundo real.
Los datos deberan estar ocultos en el objeto, y las operaciones seran el interface del objeto con el exterior,
pero estas operaciones estn encapsuladas en "cajas negras".
Lenguajes de POO
SIMULA
Se considera que SIMULA es el primer Lenguaje de Programacin Orientado a Objetos (en adelante LPOO),
fue diseado por Kristen Nygaard y Ole Johan Dhal , del Norwegan Computer Center (NCC). Se concibi
para el desarrollo de simulaciones de procesos industriales y cientficos, pero lleg a considerarse apto para
desarrollar grandes aplicaciones.
La versin SIMULA_67 tena caractersticas de ALGOL_60 , y ya era casi un LPOO, con estas
caractersticas:
Concepto de ligadura dinmica " polimorfismo" (tener interfaces idnticos para activar diferentes
propiedades.
Smalltalk
Ms tarde surge el primer LPOO en sentido estricto: Smalltalk_80 , diseado por Alan Kay y Adele Goldberg
, de la XEROX PARC . Adems de ser considerado como primer LPOO es el ms puro (slo tiene objetos,
NO ES programacin estructurada).
ACTUALMENTE SE ENCUENTRAN:
JAVA y C++
Caractersticas de un LPOO
1. Tipificacin fuerte : comprobacin de tipos en tiempo de compilacin. Hay una excepcin : Smalltalk .
4
4. Genericidad : reutilizacin de cdigo.
5. Paso de mensajes .
Modularizacin
* La modularidad proporciona:
Calidad de diseo
Facilidad de instrumentacin
Facilidad de depuracin
Facilidad de pruebas
Facilidad de documentacin
Facilidad de mantenimiento
5
* Sea:
C > Complejidad
||
\/
* Nos lleva
Segn
Parnas dice adems que deben (las conexiones) seguir el criterio de ocultacin.
Booch piensa que la modularizacin deber ser propiedad de un sistema que ha sido descompuesto en un
conjunto de mdulos cohesivos y dbilmente acoplados.
Acoplamiento
Cohesin
Es la interaccin interna de un mdulo: todos los elementos de un mdulo han de tener relacin.
METODO DE WARNIER
La metodologa Warnier fue creada por Jean D. Warnier en 1975, y se dio a conocer en el libro Entrainement
a la Programmation. Construction des Programes.
Es una metodologa estructurada, formada por un conjunto de normas y herramientas que nos permiten
6
solucionar un problema de forma clara y sencilla.
Se basa fundamentalmente en la jerarqua de los datos, tanto de entrada como de salida, siendo estos ltimos
los que de forma directa ejercen una influencia esencial en la definicin y control del programa.
hasta ahora en lo que respecta a identificadores, constantes, variables, expresiones y operadores. teniendo en
cuenta que la caracterstica fundamental en relacin con todo lo anteriormente visto es la forma de disear el
programa. que ser descendentemente y la representacin utilizada.
Este mtodo se basa en el empleo de Ilaves de distintos tamaos que relacionan entre si todas las tareas y
operaciones.
Un programa se representa por un solo diagrama en el cual se engloban todas las operaciones
necesarias para la resolucin del problema. Estas operaciones estan colocadas secuencialmente a la
derecha de una llave. en cuya parte izquierda figura el nombre del programa.
En la parte superior de la llave anterior figurar el comentario INICIO.
En la parte inferior figurar FIN.
La forma de conectar con distintas paginas es a travs de la palabra PROCESO seguida de un numero
o un nombre que tenga relacin con las operaciones que se realizan en la siguiente pagina. Estas
palabras figuraran en el diagrama principal (diagrama que ocupa la primera pagina). En las siguientes
figurar un diagrama sujeto a las mismas normas, salvo que el nombre del programa ser la palabra
anteriormente citada. Las sucesivas conexiones se hacen de forma similar.
Estudio de los datos de salida. Trata de crear el archivo lgico de salida (ALS).
Estudio de los datos de entrada. Trata de crear el archivo lgico de entrada (ALE).
Hacer el cuadro de descomposicin de secuencias.
Dibujar el organigrama de secuencias de Warnier.
Construir la lista de instrucciones y asignarlas en el organigrama de secuencias.
Desarrollar el juego de datos de ensayo y analizar los resultados.
MTODO DE JACKSON
En 1957 Michael A. Jackson. Describe el mtodo de programacin estructurada de Jackson (JSP), como
mtodo de diseo de programas con aplicacin a la mayoria de los lenguajes de programacin.
Para el diseio de un programa, en general. se parte de unas especificaciones proporcionadas por el usuario en
las cuales se definen y detallan:
7
Las funciones a realizar y su naturaleza.
Los datos a manejar y su naturaleza.
El resultado final ser un programa o conjunto de programas capaces de resolver el problema solicitado. El
siguiente grafico nos muestra. esquemticamente. el proceso de creacin' de un programa.
ESPECIFICACIONES DE USUARIO
FUNCIONES INFORMACIN
MTODO O ALGORITMO
PROGRAMA
OPERACIONES
DATOS
Los objetivos pretendidos en la realizaci6n de programas, siguiendo esta metodologa son los siguientes:
El punto de punto de partida en la metodologa de Jackson es el de la definicin de los datos que vamos a
manejar tanto en la entrada como en la salida y como consecuencia del tratamiento en estos datos se obtiene el
programa.
Desarrollar la estructura de un programa sobre la estructura de los datos que va a manejar ofrece:
Esta metodologa permite la realizacin de los programas siguiendo las directrices de la programacin
estructurada puesto que la representacin de los datos se basa en las estructuras bsicas: secuencial, alternativa
y repetitiva, admitiendo adems un sencillo descendente y modular.
La metodologa de Jackson desarrolla un programa en 5 fases que realizan consecutivamente. Estas fases son:
8
Formar la estructura del programa.
Listar y asignar las operaciones y condiciones a realizar.
Escribir la lgica esquematizada.
MTODO DE BERTINI
Definicin detallada de los datos de entrada y salida, incluyendo los archivos lgicos utilizados.
Representacin del proceso o algoritmo.
La lectura del diagrama se hace recorriendo el rbol en orden inverso (RDI), lo que supone realizar :
Cada subrbol se recorre igualmente en orden inverso hasta llegar a las hojas o nodos terminales del rbol.
MTODO DE TABOURIER
Se trata de una representacin de programas en forma de rbol denominado Diagrama de Tabourier. Para ello
se puede utilizar a si mismo la terminologa comn.
La lectura del diagrama se hace recorriendo el rbol en preorden (RID), lo que supone realizar :
Cada subrbol se recorre igualmente en preorden hasta llegar a las hojas o nodos terminales del rbol.
Se trata de un mtodo de representacin de programas en forma de bloque compacto. Tambien en este caso se
puede utilizar la terminologa comn.
9
Representacin del proceso o algoritmo.
BIBLIOGRAFA
AO: 1993.
10