Académique Documents
Professionnel Documents
Culture Documents
2
Contenido
Pg.
13
14
19
19
23
25
Bibliografa
27
3
1. Consulta sobre anlisis y desarrollo estructurado y orientado a objetos
4
- Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del
resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas.
-Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero
determinado de veces.
Un programa esta estructurado si posee un nico punto de entrada y slo uno de salida,
existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que todas
las instrucciones son ejecutables sin que aparezcan bucles infinitos.
b. Programacin modular
En la programacin modular consta de varias secciones dividas de forma que interactan
a travs de llamadas a procedimientos, que integran el programa en su totalidad.
En la programacin modular, el programa principal coordina las llamadas a los mdulos
secundarios y pasa los datos necesarios en forma de parmetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o
funciones.
5
Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los
programas gracias a la reutilizacin de los objetos. El elemento principal de la programacin
orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que
poseen estructura y forman parte de una organizacin.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento. Algunas de sus
principales caractersticas son polimorfismo y herencia.
d. Programacin concurrente
Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma
simultnea. Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados
lentos en las acciones.
e. Programacin funcional
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras
funciones.
f. Programacin lgica
Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de
una programacin basada en el clculo de predicados (una teora matemtica que permite lograr
que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).
1.2 Programacin estructurada
A finales de los aos 1960 surgio 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. El teorema del programa estructurado demuestra que todo programa puede
escribirse utilizando nicamente las tres instrucciones de control siguientes:
Secuencia Instruccin condicional Iteracin (bucle de instrucciones)
7
La tcnica descendente o el refinamiento sucesivo comienza descomponiendo el
programa en piezas manejables ms pequeas, conocidas como funciones ( subrutinas,
subprogramas o procedimientos), que realizan tareas menos complejas. Un programa
estructurado se construye rompiendo el programa en funciones. Esta divisin permite escribir
cdigo ms claro y mantener el control sobre cada funcin.3
Un concepto importante se introdujo con la programacin estructurada, la abstraccin,
que se puede definir como la capacidad para examinar algo sin preocuparse de sus datos internos.
En un programa estructurado es sufucuente conocer que un procedimiento dado realiza una tarea
especfica. El cmo se realiza esta tarea no es importante, sino conocer cmo se utiliza
correctamente la funcin y lo que hace.
8
muchas funciones dentro de un programa estructurado, y cuando se producen cambios en esos
tipos de datos, las modificaciones se deben hacer en cada posicin que acta sobre esos tipos de
datos dentro del programa. Esta tarea puede ser frustrante y consumir un tiempo considerable en
programas con millones de lneas de cdigo y centenares de funciones.
En un programa estructurado, los datos locales se ocultan dentro de funciones y los datos
compartidos se pasan como argumentos.
Otro problema es que, dado que muchas funciones acceden a los mismos datos, el medio
en que se almacenan los datos se hace ms critico. La disposicin de los datos no se pueden
cambiar sin modificar todas las funciones que acceden a ellos. Si por ejemplo se aaden nuevos
datos, se necesitar modificar las funciones que acceden a los datos, de modo que ellos puedan
tambin acceder a esos elementos.
9
Figura 4. Descomposicin de un programa en mdulos (funciones)
Los programas basados en funciones son difciles de disear. El problema es que sus
componentes principales funciones y estructuras de datos- no modelan bien el mundo real. Por
ejemplo, supongamos que se est escribiendo un programa para crear los elementos de un
interfaz grfico de usuario: mens, ventanas, cuadros de dilogo, etc. Qu funciones se
necesitarn? Qu estructuras de datos?. La solucin sera ms aproximada si hubiera una
correspondencia lo ms estrecha posible entre los mens y ventanas y sus correspondientes
elementos de programa.
10
Composicin. La programacin estructurada est compuesta por segmentos de
cdigo que pueden incluir desde una instruccin hasta varias pginas de estas.
Cada uno de los segmentos de un programa, debe cumplir con dos procesos bsicos: la
entrada y la salida de datos.
Los programas escritos con estos principios tienen no solo una estructura fcil de leer,
sino que adems tienen una excelente presentacin, que permite comprender el cdigo con
mayor facilidad. La estructuracin del contenido facilita la revisin de la codificacin y reduce el
tiempo de prueba y depuracin de programas.
11
Todos los programas pueden desarrollarse utilizando nicamente con las tres estructuras
de control caractersticas de la programacin estructurada.
12
d. Iteracin: Es una estructura que se utiliza para repetir alguna instruccin o grupo de
instrucciones siempre que se cumpla una condicin.
13
f. Identacin: Es el espacio o sangra que se asigna a una lnea de cdigo y dependiendo
de su longitud, esta indica si una instruccin o grupo de instrucciones pertenecen a determinado
bloque.
Este espacio es importante ya que facilita la lectura del programa respecto a las relaciones
existentes entre las instrucciones y los segmentos.
14
En resumen, con los mtodos tradicionales, un programa se divide en dos componentes:
procedimientos y datos. Cada procedimiento acta como una caja negra. Esto es, es un
componente que realiza una tarea especfica, tal como convertir un conjunto de nmeros o
visualizar una ventana. Este procedimiento permite empaquetar cdigo programa en funciones,
pero qu sucede con los datos? Las estructuras de datos utilizadas en programas son con
frecuencia globales o se pasan explcitamente con parmetros.
Grady Booch, autor del mtodo orientado a objetos, define la programacin orientada a
objetos POO como : un mtodo de implementacin en que los programas se organizan como
colecciones cooperativas de objetos, cada uno de los cuales representan una instancia de alguna
clase, y cuyas clases son todas miembros de una jerarqua de clases unidas mediante relaciones
de herencia6
Existen tres importantes partes en la definicin: la programacin orientada a objetos 1)
utiliza objetos, no algortmicos, como bloques de construccin lgicos (jerarqua de objetos); 2)
cada objeto es una instancia de una clase, y 3) las clases se relacionan unas con otras por medio
de relaciones de herencia.
Un programa puede parecer orientado a objetos, pero si cualquiera de estos elementos no
existe, no es un programa orientado a objetos. Especficamente, la programacin sin herencia es
distinta de la programacin orientada a objetos; se denomina programacin con tipos abstractos
de datos o programacin basada en objetos.
6 BOOCH, Grady: Anlisis y diseo orientado a objetos con aplicaciones. 2 edicin Addison-Wesley/Das de
Santos, 1995.
15
El concepto de objeto, al igual que los tipos abstractos de datos o tipos definidos por el
usuario es una coleccin de elementos de datos, junto con las funciones asociadas utilizadas para
operar sobre esos datos. Sin embargo, la potencia real de los objetos reside en el modo en que los
objetos pueden definir otros objetos. Este proceso, se denomina herencia y es el mecanismo que
ayuda a construir programas que se modifican fcilmente y se adaptan a aplicaciones diferentes.
La programacin orientada a objetos es un importante conjunto de tcnicas que pueden
utilizarse para hacer el desarrollo de programas ms eficientes, a la par que mejora la fiabilidad
de los programas de computadora. En la programacin orientada a objetos, los objetos son
elementos principales de construccin. Sin embargo, la simple comprensin de lo que es un
objeto, o bien el uso de objetos en un programa, no significa que est programando en un modo
orientado a objetos. Lo que cuenta es el sistema en el cual los objetos se interconectan y
comunican entre si.
16
No hay reglas fciles para determinar las clases de un programa dado. La identificacin
de clases puede ser tanto arte como ciencia. El proceso es algo impreciso, y por esta causa han
surgido numerosos mtodos que proporcionan reglas para la identificacin de clases y las
relaciones que existen entre ellas.
Cuando se ejecuta un programa orientado a objetos ocurren tres suceos, primero, los
objetos se crean a medida que se necesitan; segunso, los mensajes se mueven de un objeto a otro
(o desde el usuario a un objeto) a medidaa que el programa procesa informacin internamente o
responde a la entrada del usuario y tercero, cuando los objetos ya no son necesarios, se borran y
se libera la memoria.
17
18
Los mtodos son todo lo que se necesita conocer sobre la clase crculo. Una estructura de
datos fundamental de un crculo puede ser un array, un registro, una cadena de caracteres, etc.
Los detalles de la representacin interna de un crculo se pueden ignorar mientras se crean,
amplan o mueven crculos. Un crculo como tipo abstracto de dato se centra exclsivamente en
operaciones (mtodos) apropiadas a los crculos; un crculo como tipo abstracto de dato ignora
totalmente la representacin interna de un crculo.
La clase es el bloque de construccin fundamental de un lenguaje de programacin
orientada a objetos. Una clase es un tipo abstracto de datos junto con un conjunto de
transformaciones permitidas de dicho tipo abstracto de datos; puede definir tambin su interfaz a
otras clases o funciones, descubriendo para ello que parte de su descripcin interna de datos o
conjunto de transformaciones permitidas pueden hacerse pblicos. La regla por defecto es que
nada de na clase es pblica, a menos que se declare explcitamente por el desarrollador de
software que defini la clase.
Aunque no es completamente una terminologia estandar el POO, el trmino objeto se
utiliza normalmente para represetnar una instancia de una clase. Otra visin de la clase es que un
tiempo de ejecucim tiene un estado, un comportamiento y una entidad.
El entorno orientado a objetos oculta los detalles de implementacin de un objeto. Es la
propiedad conocida como ocultacin de la informacin. La parte que no est oculta de un
objeto es su interfaz pblico, que consta de los mensajes que se pueden enviar al objeto. Los
mensajes representan operaciones de alto nivel, tales como dibujar un crculo. El trmino
encapsulamiento se utiliza tambin para enfatizar un aspecto especfico de un tipo abstracto de
datos. Un TAD combina mtodos (operaciones) y representacin interna (implementacin).
19
Las clases se organizan para modelar el mundo real en las siguientes relaciones:
Herencia (generalizacin/especializacin)
Agregacin
Asociacin
Uso
Objetos como instancia de una clase: Un objeto se compone de datos y funciones que
operan sobre esos objetos. Los objetos se comunican entre s pasando mensajes.
Mtodos: tambin se denominan funciones miembro, residen en el objeto y determinan
como actan los objetos cuando reciben un mensaje. Un mtodo es el procedimiento o
20
es-un (is a): generalizacin/especializacin), se conocen como herencia y estructura
de objetos ( jerarqua parte-de (part-of): agregacin).
- Herencia (generalizacin/especializacin): propiedad que permite a un objeto pasar
sus propiedades a otro objeto, o dicho de otro modo, un objeto puede heredar de otro
objeto. Define la relacin entre clases, en donde una clase comparte la estructura o
-
agregados de camin.
Polimorfismo: propiedad que indica la posibilidad de que una entidad tome muchas
formas, permite referirse a objetos de clases diferentes mediante el mismo elemento de
programa y realizar la misma operacin de diferentes formas segn sea el objeto que se
referencia en ese momento.
21
relacional.
Aumento espectacular de LPOO ( Lenguajes de Programacin Orientados a Objetos).
Interfaces de usuario grficos (por iconos) y visuales. Los interfaces de usuario de una
aplicacin manipulan la entrada y salida del usuario. Por consiguiente, su funcin
principal es la comunicacin con el usuario final. La entrada al sistema se puede controlar
a travs de lneas de rdenes (enfoque utilizado por DOS y UNIX), o alternativamente el
usuario puede interactuar con el sistema, con construcciones de programacin visuales,
tales como iconos de mens, Windows, Macintosh, etc.
Estas razones hacen fundamentalmente que dentro de las tendencias actuales de la ingenieria
de software, el marco de POO se revela como el ms adecuado para la elaboracin del diseo y
desarrollo de aplicaciones.
Este marco se caracteriza por la utilizacin del diseo modular OO y la reutilizacin del
software. Los TAD (Tipo Abstracto de Dato) han aumentado la capacidad para definir nuevos
tipos (clases) de objtos, cuyo significado se definir abstractamente, sin necesidad de especificar
los detalles de implementacin, tales como la estructura de datos a utilizar para la representacin
de los objetos definidos.
Los objetos pasan a ser los elementos fundamentales en este nuevo marco en detrimento
de los subprogramas que lo han sido en los marcos tradicionales.
22
2. Cuadro comparativo programacin estructurada y orientado a objetos
PROGRAMACION ESTRUCTURADA
VENTAJAS
La reutilizacin de software es una de las
Los programas son ms fciles de leer y
propiedades ms importantes que presenta la
entender.
programacin orientada a objetos
Son extensibles, es decir que tienen facilidad
La estructura de los programas es ms clara.
para crear tipos abstractos de datos.
Facilidad de mantenimiento porque al
Reduccin de esfuerzo en las pruebas.
apliquen.
El tamao excesivo de las aplicaciones
23
normalmente extensibles (facilidad para crear
resultantes compromete la velocidad de
tipos abstractos de datos) , y eso hace que los
ejecucin y requiere especificaciones tcnicas
programas tradicionales sean ms complejos
especificas en los sistemas.
de escribir y mantener.
24
3. Anlisis programacin estructurada y orientado a objetos: Cul es mejor?
25
los objetos deben tener para garantizar el comportamiento e interacciones del sistema de
informacin con los datos que se emplearan.
Con base a esto, podemos concluir que pese a que existen distintos tipos de programacin
es importante mantener el objetivo principal que es abarcar un problema real mediante un
producto de software, el cual estar enmarcado bajo las condiciones tcnicas y tecnolgicas del
sitio donde se ha de poner en funcionamiento, as como el tiempo que disponible para el
desarrollo de dicho proyecto, donde juega un papel fundamental la capacidad del equipo de
programadores para abordar la labor y obtener resultados satisfactorios. Es por esto que la
estructura de programacin que se escoja para implementar debe contribuir para asegurar el
empleo eficiente de los recursos que poseen los programadores y el cliente, como tambin,
garantizar que el producto de software tendr una vida til en la que exista la integridad de los
datos y en los procesos que ejecuta.
26
Bibliografa
27