Вы находитесь на странице: 1из 10

INTRODUCCION

En el presente trabajo de investigacin se darn a conocer alunas metodologas de programacin utilizadas en


la creacin de softwares. Una metodologa es un conjunto de principios generales que un programador ha de
seguir para desarrollar un programa. Cada lenguaje de programacin permite al programador seguir una
metodologa determinada, por tanto los lenguajes de programacin se pueden tambin clasificar segn la
metodologa que sigan. Las metodologas de programacin definen cmo se organizan los diferentes
elementos de un programa, como esos elementos interactan entre ellos, etc. Actualmente, las metodologas
de programacin ms comnmente usadas son los siguientes:

PROGRAMACIN ESTRUCTURADA
PROGRAMACIN ORIENTADA A OBJETOS
MODULARIZACIN

Pero existen otras mas tales como:

Mtodo de Warnier
Mtodo de Jackson
Mtodo de Bertini
Mtodo de Tabourier
Mtodo de Chapin

Etc.

A continuacin se detallan cada uno de estos puntos.

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.

COMO RESUMEN DIREMOS QUE LA PROGRAMACIN ESTRUCTURADA:

Postula el principio de divisin de un programa en unidades algortmicas ms pequeas llamadas funciones o


procedimientos. Una vez definidos, el programador puede invocar a un procedimiento desde otro.
Tpicamente un programa estructurado se realiza diseando primeramente un conjunto de estructuras de datos,
y posteriormente un conjunto de algoritmos (procedimientos) que actan sobre esas estructuras de datos. Por
ejemplo, si queremos desarrollar un programa para calcular la media de diversos conjuntos de variables, el
programador desarrolla un procedimiento al que llama media donde implementa el algoritmo mediante el cual
se calcula la media para cualquier conjunto de variables. Posteriormente invoca a ese procedimiento por cada
conjunto de variables de los cuales quiera calcular la media. Algunos lenguajes que siguen metodologa de la

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.

Programacin Orientada a Objeto (OOP)

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

En cuanto a los Objetos en s, el principio fundamental es que un Objeto es la representacin de un concepto.


Como tal, tendr unas caractersticas (atributos) y un comportamiento, plasmado en una serie de operaciones.

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.

Conceptos fundamentales de POO

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

La unidad lgica de programacin es el objeto.

Los objetos tienen relaciones.

Existen clases que agrupan conceptualmente los objetos.

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.

Un objeto es designado con un nombre o un identificador.

OBJETO = DATOS + OPERACIONES

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 objeto (datos + operaciones)

Comunicacin entre objetos (proceso de simulacin)

Concepto de clase (estructura que agrupa el comportamiento y caractersticas de varios objetos)

Concepto de herencia (heredar datos y mtodos)

Fuertemente tipificado (comprobacin de tipos en tiempo de compilacin)

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 .

2. Ocultacin : de las caractersticas de los objetos.

3. Compilacin Incremental : compilacin separada.

4
4. Genericidad : reutilizacin de cdigo.

5. Paso de mensajes .

6. Polimorfismo : basado en la ligadura dinmica.

7. Excepciones : sistema seguro.

8. Concurrencia : "el mundo real es concurrente".

9. Datos compartidos : entre varios objetos.

Modularizacin

Descomponer un programa en un nmero pequeo de abstracciones coherentes que pertenecen al

dominio del problema y enmascaran la complejidad interna.

* Existen muchas acepciones del concepto de modularidad.

* Van desde una subrutina hasta la asignacin de trabajo para

un programador. Todas son correctas

* La modularidad consiste en subdividir el software en partes

denominadas mdulos, cada uno con un propsito especifico,que

se integran para satisfacer los requerimientos de un problema

* La modularidad es el atributo mas sencillo del software,que

permite a un programa ser manejable intelectualmente

* Asimismo, la modularidad es un enfoque comunmente aceptado

tanto para anlisis como para diseo.

* La modularidad proporciona:

Calidad de diseo

Facilidad de instrumentacin

Facilidad de depuracin

Facilidad de pruebas

Facilidad de documentacin

Facilidad de mantenimiento

5
* Sea:

E > Esfuerzo en coste

C > Complejidad

C(P1) > C(P2) ======> E(P1) > E(P2)

C(P1 + P2) > C(P1) + C(P2)

||

\/

E(P1 + P2) > E(P1) + E(P2)

* Nos lleva

Cuantos ms mdulos mejor ===> mayor sencillez

Contingencia: interfaces entre mdulos

Problema: buscar M (n de mdulos) adecuado

Segn

Liskov , modularizar es dividir un programa en mdulos que pueden ser compilados

separadamente pero existiendo conexiones entre los mdulos.

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

Es la interaccin entre mdulos, sus propiedades deberan ser:

Facilitar la sustitucin de un mdulo realizando pocos cambios en los otros.


Facilitar el seguimiento y aislamiento de un error (mdulo defectuoso).

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.

Se trata de un mtodo para la representacin de programas cuyo resultado final se

denomina diagrama de Warnier. En eI podemos utilizar toda la terminologa estudiada

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.

La representaci6n del algoritmo se basa en los siguientes puntos:

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.

FASES DE LA METODOLOGA DE WARNIER

Las fases que se siguen para desarrollar un programa son:

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.

La metodologa de Jackson es un proceso sistemtico para la realizacin de un programa, utilizando la tcnica


del diseo descendente (TopDown), cuyo producto final es el programa escrito en el pseudocdigo propio
del mtodo, de tal forma que su codificaci6n posterior en cualquier lenguaje de programaci6n es relativamente
sencilla, bien manualmente o de forma automatica.

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

A REALIZAR SOBRE LOS DATOS

MTODO O ALGORITMO

PROGRAMA

OPERACIONES

DATOS DE ENTRADA DATOS DE SALIDA

DATOS

Los objetivos pretendidos en la realizaci6n de programas, siguiendo esta metodologa son los siguientes:

Obtenci6n de programas fiables. Fiabilidad.

Obtenci6n de programas sencillos. Simplicidad.

Facilidad en la puesta a punto de los programas.

Facilidad en el mantenimiento de los programas.

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:

Una base consistente para la definicin de los programas.


Las operaciones se ubicaran en el programa de forma lgica.
El programa ser fiel reflejo del problema a resolver.

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.

FASES DE LA METODOLOGA DE JACKSON

La metodologa de Jackson desarrolla un programa en 5 fases que realizan consecutivamente. Estas fases son:

Definir las estructuras de datos.


Encontrar correspondencias entre las estructuras de datos.

8
Formar la estructura del programa.
Listar y asignar las operaciones y condiciones a realizar.
Escribir la lgica esquematizada.

MTODO DE BERTINI

Al igual que el de Jackson la representacin de programas es en forma de rbol denominada diagrama


arborescente de Bertini.

Un diagrama de Bertini consta de:

Definicin detallada de los datos de entrada y salida, incluyendo los archivos lgicos utilizados.
Representacin del proceso o algoritmo.

La simbologa utilizada se basa en el empleo de rectngulos horizontales y crculos.

La lectura del diagrama se hace recorriendo el rbol en orden inverso (RDI), lo que supone realizar :

Situarse en la raz (R)


Recorrer el subrbol derecho (D)
Recorrer el subrbol izquierdo (I)

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.

Un diagrama de Tabourier consta de:

Definicin detallada de los datos de entrada y salida.


Representacin del proceso o algoritmo.

La simbologa utilizada se basa en el empleo de rectngulos y rombos horizontales.

La lectura del diagrama se hace recorriendo el rbol en preorden (RID), lo que supone realizar :

Situarse en la raz (R)


Recorrer el subrbol izquierdo (I)
Recorrer el subrbol derecho (D)

Cada subrbol se recorre igualmente en preorden hasta llegar a las hojas o nodos terminales del rbol.

MTODO DE CHAPIN (NASSI / SCHNEIDERMAN)

Se trata de un mtodo de representacin de programas en forma de bloque compacto. Tambien en este caso se
puede utilizar la terminologa comn.

Un diagrama de Chapin consta de:

Definicin detallada de los datos de entrada y salida.

9
Representacin del proceso o algoritmo.

La simbologa utilizada se basa en el empleo de rectngulos.

La lectura del diagrama se hace de arriba abajo

BIBLIOGRAFA

LIBRO: METODOLOGA DE LA PROGRAMACIN.

AUTORES: EDUARDO ALCALDE Y MIGUEL GARCIA.

EDICIN: SEGUNDA EDICIN.

EDITORIAL: MC GRAW HILL / INTERAMERICANA DE ESPAA S.A.

AO: 1993.

10

Вам также может понравиться