Vous êtes sur la page 1sur 27

1

Consulta sobre anlisis y desarrollo estructurado y orientado a objetos

Adriana Patricia Granados Jaimes


Frank David Leal Rivera
Grupo 11

Servicio Nacional de Aprendizaje - SENA


Anlisis y desarrollo de sistemas de informacin - 1181601
2016

2
Contenido

Pg.

1. Consulta sobre anlisis y desarrollo estructurado y orientado a objetos

1.2 Programacin estructurada

1.2.1 Caractersticas de la programacin estructurada

1.2.2 Desventajas de la programacin estructurada

13

1.3 Programacin orientada a objetos

14

1.3.1 Los principios en que se apoyan las tecnologias orientadas a objetos

19

1.3.2 Las propiedades de la programacin orientada a objetos

19

2. Cuadro comparativo programacin estructurada y orientado a objetos

23

3. Anlisis programacin estructurada y orientado a objetos: Cul es mejor?

25

Bibliografa

27

3
1. Consulta sobre anlisis y desarrollo estructurado y orientado a objetos

1.1 Tipos de programacin


Existen varias clases de programacin, dependiendo de los mtodos utilizados y las
tcnicas empleadas. Los tipos o tcnicas de programacin son bastante variados, en la mayora
de los casos, las tcnicas se centran en programacin modular y programacin estructurada, pero
existen otros tipos de programacin1, entre los que se encuentran:

a. Programacin estructurada (PE)


La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido
evolucionando aumentando considerablemente la productividad del programa reduciendo el
tiempo de depuracin y mantenimiento del mismo.
Esta programacin estructurada utiliza un nmero limitado de estructuras de control,
reduciendo as considerablemente los errores.
Esta tcnica incorpora:
Diseo descendente (top-dow): el problema se descompone en etapas o estructuras
jerrquicas.
Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en
otras ms simples capaces de ser resueltas con mayor facilidad.
Estructuras bsicas: existen tres tipos de estructuras bsicas:
- Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de
una accin es la entrada de otra.
1 Articulo Tipos de programacin. Internet < http://www.desarrolloweb.com/articulos/2477.php >

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.

Las principales ventajas de la programacin estructurada son:

Los programas son mas fciles de entender


Se reduce la complejidad de las pruebas
Aumenta la productividad del programador
Los programas queden mejor documentados internamente.

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.

c. Programacin orientada a objetos (POO)

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)

La metodologa de programacin estructurada se fundamenta en tcnicas de


segmentacin, la cual plantea que un problema se puede dividir en problemas ms pequeos
(mdulos) y ms simples de resolver 2, de tal forma que la suma de las soluciones de cada
problema sea el resultado de la solucin total de ste.

Figura 1. Programacin estructurada: solucion a problema

2 B. Kerningham & D. Ritchie Lenguaje de Programacin C. Prentice Hall 1991 9688802050

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.

Figura 2. Programa estructurado

A medida que la complejidad de un programa crece, tambin crece su independencia de


los tipos de datos fundamentales que procesa. En un programa estructurado, las estructuras de
datos de un programa son tan importantes como las operaciones realizadas sobre ellas. Esto se
hace ms evidente a medida que crece un programa en tamao. Los tipos de datos se procesan en
3 Programacin orientada a objetos. Luis Joyanes Aguilar. McGraw-Hill. Pagina 67

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.

Figura 3. Variables globales y locales

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.

1.2.1 Caractersticas de la programacin estructurada

La programacin estructurada es la tcnica de desarrollo de programas de la forma ms


clara posible haciendo uso de tres estructuras de control: la secuencia, la seleccin y
la interaccin. Estas estructuras pueden combinarse para crear programas que manejen cualquier
necesidad de procesamiento de datos.4

4 Programacin estructurada. Caracteristicas, estructuras de control, segmentacin e identacin. Articulo de


mailxmail.com.

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.

A diferencia de otros estilos de programacin, los programas estructurados pueden ser


ledos secuencialmente, desde el inicio hasta el final, sin perder la continuidad.

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.

a. Estructuras de control: Son estructuras que permiten controlar el orden de ejecucin


de las instrucciones contenidas dentro de ellas dependiendo de condiciones previamente
establecidas.

11

Todos los programas pueden desarrollarse utilizando nicamente con las tres estructuras
de control caractersticas de la programacin estructurada.

b. Secuencia: Se refiere al orden en la que las instrucciones de un programa son


ejecutadas, tal y como se tienen en el programa.

Los elementos 1, 2 y 3 pueden ser instrucciones o bloques que indican que


independientemente de su complejidad o tamao, su ejecucin es realizada en el orden indicado.

c. Seleccin: Es la posibilidad de elegir entre dos instrucciones, donde la decisin se


toma en base a la evaluacin de una expresin a la que llamamos condicin.

La imagen indica que si se cumple la condicin 1, se avanza al punto 2 y se llega al punto


4, en caso de no cumplirse la condicin 1 entonces se avanza al punto 3 y as se llega al punto 4.

12
d. Iteracin: Es una estructura que se utiliza para repetir alguna instruccin o grupo de
instrucciones siempre que se cumpla una condicin.

Si se cumple la condicin 1, se avanza al punto 2 y se llega al punto 3 donde se encuentra


una nueva condicin 3 que si se cumple se regresa a la condicin 1 y si no se cumple, se contina
al punto 4.

e. Segmentacin: Para favorecer la comprensin del cdigo de los programas


desarrollados, es conveniente establecer segmentos del programa para que estos no excedan una
pgina de codificacin (50 lneas en promedio).
No se trata nicamente de dividir un programa en trozos donde la longitud sea de 50
lneas; la segmentacin debe cumplir con las siguientes caractersticas bsicas:
- Las partes se deben relacionar entre s de forma jerrquica, formando una estructura de
rbol.
- Debe mostrar claramente las relaciones existentes entre las funciones para permitir
comprender lo que debe hacer el programa de forma fcil.
- La comunicacin entre los segmentos se debe realizar cuidadosamente y de forma
controlada.
La comunicacin entre los segmentos se debe realizar a travs de una lista de parmetros,
lo cual reduce la oportunidad de se relacionen entre ellos de forma indeseada o inentendible.

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.

1.2.2 Desventajas de la programacin estructurada


Cuando diferentes programadores trabajan en equipo para disear una aplicacin, a cada
programador se le asigna la construccin de un conjunto especfico de funciones y tipos de datos.
Dado que los diferentes programadores manipulan funciones independientes que relacionan a
tipos de datos compartidos mutuamente, los cambios que un programador hace a los datos se
deben reflejar en el trabajo del resto del equipo. Aunque los programas estructurados son ms
fciles de disear en grupo, los errores de comunicacin entre miembros de equipos pueden
conducir a gastar tiempo en rescritura.5
Por otra parte, los lenguajes tradicionales presentan una dificultad aadida: la creacin de
nuevos tipos de datos. Los lenguajes de programacin tpicamente tienen tipos de datos
incorporados: enteros, coma flotante, caracteres, etc Cmo inventar sus propios tipos de datos?.
Los tipos definidos por el usuario y la facilidad para crear tipos abstractos de datos en
determinados lenguajes es la propiedad conocida como extensibilidad. Los lenguajes
tradicionales no son normalmente extensibles, y eso hace que los programas tradicionales sean
ms complejos de escribir y mantener.
5 Programacin orientada a objetos. Luis Joyanes Aguilar. McGraw-Hill. Pagina 69

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.

1.3 Programacin orientada a objetos

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.

El desarrollo de programas orientados a objetos implica la creacin de modelos del


mundo real y la construccin de programas informticos basados en esos modelos. El proceso
completo de programacin comienza con la construccin de un modelo del suceso (evento) real.
El resultado final del proceso es un programa de computadora que contiene caractersticas que
representan algunos de los objetos del mundo real que son parte del suceso.7
El principio bsico de la programacin orientada a objetos es que un sistema de software
se ve como una secuencia de transformaciones en un conjunto de objetos. El trmino de objeto
tiene el mismo significado que un nombre o una frase nominal, la mayoria de los objetos del
mundo real tienen atributos (caracteristicas que los describen), estos a su vez tienen
comportamientos que representan el conjunto de cosas que puede hacer un objeto.
7 Programacin orientada a objetos. Luis Joyanes Aguilar. McGraw-Hill. Prologo

16

La programacin orientada a objetos es una extensin natural de la actual tecnologa de


programacin, y representa un enfoque nuevo y distinto al tradicional. Al igual que cualquier
otro programa, el diseo de un programa orientado a objetos tiene lugar durante la fase de
diseo del ciclo de vida de desarrollo de software. El diseo de un programa OO (Orientacin a
Objetos) es nico en el sentido que se organiza en funcin de los objetos que manipular.
De hecho, probablemente la parte ms difcil de la creacin de software orientado a
objetos es identificar las clases necesarias y el modelo en que interactan entre s.

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.

Figura. Diagrama orientado a objetos

17

Tipos abstractos de datos y clases


Una clase es una caracterizacin abstracta de un conjunto de objetos; todos los objetos
similares pertenecen a una clase determinada. Por ejemplo, un conjunto de objetos tales como
cuadrados, tringulos, crculos, lneas, etc, pertenecen a una clase Figura. De modo ms formal
una clase define variables (datos) y mtodos (operaciones) comunes a un conjunto de objetos.
En realidad una clase es un prototipo o generador de un conjunto de objetos.
Una clase bien diseada especifica un tipo abstracto de dato (TAD). Un tipo de dato es
abstracto si las operaciones de alto nivel adecuadas a los tipos de datos estn aisladas de los
detalles de la implementacin asociados con el tipo de datos.
As, por ejemplo, si diseamos una clase crculo que convierte a un crculo en un tipo
abstracto de dato, la clase nos proporciona mtodos (funciones) tales como dibujar,
mover,ampliar, contraer, borrar, etc. Se pueden utilizar estos mtodos para manipular obetos
crculo de todas las formas esperadas.

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

1.3.1 Los principios en que se apoyan las tecnologias orientadas a objetos

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

funcin que involucra para actuar sobre un objeto.


Mensajes: Un mensaje es la accin que hace un objeto. El conjunto de mensajes a los
cuales puede responder un objeto se denomina protocolo del objeto.

1.3.2 Las propiedades de la programacin orientada a objetos

Abstraccin: propiedad que permite representar las caractersticas esenciales de un

objeto sin preocuparse de las restantes caractersticas (no esenciales).


Encapsulacin: propiedad que permite asegurar que el contenido de la informacin de
un objeto est oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y
viceversa. En esencia es el proceso de ocultar todos los secretos de un objeto que no

constribuyen a sus caractersticas esenciales.


Modularidad: propiedad que permite subdividir una aplicacin en partes ms pequeas
(llamadas mdulos), cada una las cuales debe ser tan independiente como sea posible de

la aplicacin en s y de las partes restantes.


Jerarqua: propiedad que permite una ordenacin de las abstracciones. Las dos
jerarquas ms importantes de un sistema complejo son: estructura de clases ( jerarqua

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
-

comportamiento definido en una o ms clases (herencia simple y herencia mltiple).


Agregacin: permite el agrupamiento fsico de estructuras relacionadas lgicamente.
As un camin se compone de ruedas, motor, sistema de transmisin y chasis; en
consecuencia camin es una agregacin, y ruedas, motor, transmisin y chasis son

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.

Razones que estan influyendo en la importancia de la Programacin orientada a objetos


Algunas de las causas que estn nfluyendo considerablemente en el notable desarrollo de las
tcnicas orientadas a objetos son:

La OO (Orientacin a Objetos) es especialmente adecuada para realizar determinadas

aplicaciones, sobre todo realizacin de prototipos y simulacin de programas.


Los mecanismos de encapsulacin de POO soportan un alto grado de reutilizacin de
codigo, que se incrementa por sus mecanismos de herencia.

21

En el entorno de las bases de datos, la OO se adjunta bien a los modelos semnticos de


datos para solucionar las limitaciones de los modelos tradicionales, incluido el modelo

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

PROGRAMACION ORIENTADO A OBJETOS

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.

modificar un objeto los cambios se reflejan en


todos los aspectos relacionados
Rapidez de desarrollo por las propiedades de

Se incrementa el rendimiento del programador. los objetos: abstraccin, encapsulacin,


modularidad, jerarqua y polimorfismo.
Ms fciles de mantener porque se utilizan
Los programas quedan mejor documentados
objetos que representan abstracciones ms
internamente.
cercanos a la realidad.
DESVENTAJAS
Se obtiene un bloque nico de programa que
Dificultad en la abstraccin, porque deben
cuando se hace demasiado grande puede ser

quedar bien definidos los objetos y sus

problemtico para el manejo del cdigo fuente. atributos.


Se pueden presentar errores en la modificacin Producen aplicanciones de tamao
de los tipos de datos compartidos puesto que

considerable por la herencia de clases a partir

los cambios que realiza un programador se

de clases existentes, esto es porque se

deben realizar en el resto del trabajo que

comparten latodas las caracteristicas entre los

desarrolla el equipo de programadores, siendo

miembros de la clase aun cuando no todos las

que se gasta tiempo en rescritura.


Los lenguajes tradicionales no son

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?

Para seleccionar cual tipo de programacin es el ms adecuado hay que considerar el


tamao del proyecto a realizar puesto que El problema fundamental que debe asumir un equipo
de desarrollo de software es convertir el mundo real en un programa informtico, en esencia la
tarea clave de la programacin es describir las tareas del programa que resuelve el problema
dado.8 Esto quiere decir que, an seleccionando un tipo de programacin o el otro, si no se tiene
claridad sobre lo que se quiere desarrollar y todos los elementos esenciales que se deben
incorporar, existe una amplia posibilidad de cometer errores y desperdiciar tiempo en la
correccin de las fallas.
Otro aspecto importante a considerar es el nivel de experticia del equipo de
programadores, esto es necesario porque para principiantes como nosotros estudiantes del SENA
en el programa de Anlisis y desarrollo de sistemas de informacin es mucho ms conveniente
implementar una programacin estructurada, puesto que realiza una secuencia de pasos en los
que es posible desarrollar un proceso detallado desde la organizacin de la informacin del
proyecto hasta la determinacin y/o especificacin de las caractersticas funcionales,
procedimientos y datos que compondrn el sistema de informacin o software a construir.
Por otro lado si los programadores tienen mayor experiencia podrn emplear una
estructura orientada a objetos, puesto que pueden relacionar las caractersticas y funciones de los
distintos objetos que son necesarios para la construccin del proyecto de software, siendo que al
conocer los procedimientos para el empleo de las distintas propiedades de los objetos:
abstraccin, encapsulacin, modularidad, jerarqua y polimorfismo, podrn estructurar el
funcionamiento del software de forma eficiente y con pleno conocimiento de los atributos que
8 Programacin orientada a objetos. Luis Joyanes Aguilar. McGraw-Hill. Prologo

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

Tipos de programacin. Articulo de Desarrolloweb.com. Publicado en 18 de mayo de


2006 . Rescatado de Internet: < http://www.desarrolloweb.com/articulos/2477.php>

Diapositivas Programacin estructurada. Ing. Francisco Javier Baltazar. Universidad


Autnoma del Estado hidalgo Huejutla. Rescatado de Internet:
<http://www.uaeh.edu.mx/docencia/P_Presentaciones/huejutla/sistemas/programa_estruc/pro_est
ructurada.pdf >

Programacin orientada a objetos. Luis Joyanes Aguilar. McGraw-Hill. Internet:


<https://unefazuliasistemas.files.wordpress.com/2011/04/programacion-orientada-a-objetos-luisjoyanes-aguilar.pdf>

Programacin estructurada. Caracteristicas, estructuras de control, segmentacin e


identacin. Articulo de mailxmail.com. Publicado en 26 de noviembre de 2012. Rescatado de
Internet: < http://www.mailxmail.com/programacion-estructurada-caracteristicas-estructurascontrol-segmentacion-identacion_h>

Cuadro comparativo de programacin estructurada y programacin orientada a


objetos. Articulo de Bitcora 330B 03y D.Publicado en 30 de noviembre de 2012. Rescatado de
Internet: < http://bitacora330b.blogspot.com.co/2012/11/cuadro-comparativo-deprogramacion.html >

27

Vous aimerez peut-être aussi