Anallsls Y Diseno Orientado A Objetos
Enviado por • 2 de Octubre de 2013 • Informes • 1.161 Palabras (5 Páginas) • 292 Visitas
ANALlSlS Y DISENO ORIENTADO A OBJETOS
El problema fundamental que debe asumir un equipo de desarrollo de software
es convertir el mundo real en un programa informática. En esencia, la tarea
clave de la piogramación es describir las tareas de especificación del programa
que lesuelve el problema dado,
Un problema de programación se desciibe normalmente con un conjunto
de especificaciones (detalles que constituyen el problema real) Las especificaciones
son parte de lo que se denomina análisis orientado a objetos (AOO),
que iesponde en realidad a la pregunta «¿Qué hace?» Durante la fase de
análisis se piensa en las especificaciones en términos intuitivos y con independencia
del lenguaje y de la máquina La etapa crítica de esta actividad es
deducir los tipos de objetos del mundo real que están implicados y obtenei
los atributos de estos objetos deteiminando su comportamiento e interacciones
La siguiente fase del proceso de desarrollo de software es el diseño orientado
a objetos (DOO), que responde a la pregunta «j,Cómo lo hace?» Durante esta
fase se comienza a crear un modelo de computadora basado en el análisis que
realice la tarea específica concreta En esta etapa se piensa en objetos del
mundo real que pueden ser representados como objetos del mundo inforinático
Se deben especificar los objetos con mayor precisión especificando en
detalle lo que los objetos conocen y lo que pueden hacer, y describe con
prudencia sus interacciones Durante la fase de diseño se pueden encontrar
atributos útiles adicionales y comportamiento de los objetos que no.aparecieron
en la fase de análisis o no estaban definidos con claridad
La diferencia entre A00 y DO0 no es clara, y es difícil definir la transición
entre ambas etapas De hecho, ninguna de las metodologías de 00 clásicas,
como Yourdon/Coad, Booch o Rumbaugh (OMT) proporcionan reglas precisas
para pasar de una etapa a otra De hecho, las fases A00 y DO0 no
representan un proceso estricto de dos etapas, y a veces se funden en una sola
Normalmente, ocurrirá que el modelo inicial que se selecciona no es el apropueden descubrir especificacioiles adicionales que no se conocían al comenzar
su trabajo iriicial y encontrar que los atributos o comportamiento de un objeto
sean diferentes de lo que se decidió en la etapa de análisis De cualquier forma,
el mejor medio para practicar desarrollo de software orientado a objetos es
realizar el análisis y diseño de ejemplos de todo tipo Por esta causa, en el
libro se incluyen numerosos ejemplos que tratan de ayudar al lector a familiarizarse
con la PO0
L.a fase de diseño conduce a la fase de iinplementación, que consiste en
traducir dicho diseño en un código real en un lenguaje de programación 00
La fase de codificación del proceso de desarrollo 00 se llama programación
orientada a objetos (POO).
El proceso de desarrollo orientado a objetos supone, en síntesis, la construcción
de un modelo del mundo real que se pueda traducir posteriormente
en un código real escrito en un lenguaje de programación 00 En realidad,
las tres fases, análisis, diseño y programación, interactúan entre sí L.as decisiones
de progiamación pueden cambiar algunos aspectos del modelo o pueden
refinar lealmente algunas decisiones anteriores
Los objetos pueden cambiar, o incluso modificarse o deducirse de otros
objetos; atributos y comportamiento se pueden también modificar o añadir a
cada objeto En resumen, el análisis, diseño y programación no constituyen
un proceso único de tres etapas para la resolución de un problema, sino que
todas las etapas interactúan entre sí para resolver los problemas del mundo
real Sin embargo, como regla general, el análisis se debe hacer antes del
diseño, y éste se ha de hacer antes de la programación o codificación
NOTACIONES ORIENTADAS A OBJETOS
El mejor sistema para modelar el mundo real con objetos de un modo práctico
es disponer de una notacióii gráfica consistente y eficiente Cada metodología
de análisis y diseño orientado a objetos posee su propia notación
Nuestra experiencia en estos cinco últimos años impartiendo cu~sos de
A00 y DO0 a estudiantes de pregrado, postgrado y profesionales nos ha
llevado a seleccionar las notaciones que personalmente hemos comprobado
que son las más idóneas, tanto desde el punto de vista pedagógico como
profesional Pensando en un aprendizaje rápido y gradual, hemos seleccionado
tres metodologías de las más populares:
Coad/Yourdon
Booch'93
OMT (Rumbaugh et al)
Junto con otras dos notaciones, que si bien no son tan conocidas, a
nosotros nos han resultado de gran valor y podemos considerarlas excelentes
para el aprendizaje de objetos Son las notaciones de Raimund K Ege y David
T'aylor, que hemos incluido en el texto y con ejemplos inspirados en sus textosrecomendamos como lecturas notables y excelentes, así como referencia obligada
de todo buen estudioso de las tecnologías de objetos
PROGRAMACION ORIENTADA A OBJETOS
La programación orientada a objetos es una extensión natural de la actual
tecnología de programación, y representa un enfoque nuevo y distinto al
tradicional Al igual que cualquier otro programa, el diseño de un programa
orientado a objetos tiene lugar durante la fase de diseño del ciclo de vida de
desarrollo de software El diseño de un programa 00 es único en el sentido
de que se organiza en función de los objetos que manipulará De hecho,
probablemente la parte más difícil de la creación de software orientado a
objetos es identificar las clases necesarias y el modo en que interactúan entre sí
Desgiaciadamente, no hay reglas fáciles para determinar las clases de un
programa dado L.a identificación de clases puede ser tanto arte como ciencia
El proceso es algo impreciso, y por esta causa han surgido numerosos métodos
que propoicionan reglas para la identificación de clases y las relaciones que
existen entre ellas; estos métodos son los citados anteriormente
EL LENGUAJE C++
C+i todavía no es un lenguaje estándar, aunque ya se encuentra en la fase
final de estandarización C++ es sin duda el lenguaje del futuro, y marca las
pautas de desarrollo para nuevos lenguajes, como es el caso de Java, el
lenguaje de programación orientado a objetos para desarrollo en Internet, o
Ada-95, el lenguaje de desarrollo para sistemas en tiempo leal también orientado
a objetos
L.as caracteristicas comunes más importantes a las nuevas veisiones de
C++ son:
C++ es esencialmente un superconjunto de C ANSI,
C++ tiene las mismas características de tipificación que C ANSI para
propiedades no 00
Los compiladores de C++ aceptan normalmente código escrito en la
versión original de K&R (Kernighan y Ritchie) Generalmente, los co111-
piladores de C++ propoicionan mensajes de error o advertencia cuando
el código C no tiene prototipos
Desde el punto de vista específico de sintaxis, algunas caracteristicas de
C han sido mejoradas notablemente:
1 Las funciones de entradalsalida printf y scanf se utilizan raramente
en C++, y en su lugar se emplean cin y cout, que realizan
un trabajo mejor y más eficiente2 Las constantes #define y las macios han sido sustituidas por el
calificador const y las funciones inline
3 Identificadores de tipos en tiempo de ejecución
4 Espacios de nombre
L.as piincipales diferencias entre los diversos compiladores de C++ son,
adeinás del precio, entornos integrados de desarrollo (editores, depuradores,
etc ), velocidad de compilación, velocidad del código ejecutable, sistema en
tiempo de ejecución, calidad de mensajes de error e interoperabilidad de
código con otro software: tales como sistemas operativos, sistemas de ventana,
enlazadores u otros programas de aplicación
Otras diferencias incluyen soporte para inanejadores de excepciones y
plantillas (templates) La mayoría de los compiladores actuales proporcionan
soporte para ambas propiedades Los manejadores (haizdleis) de excepciones
son construcciones que permiten a los programas recuperar su control ante
eirores en tiempo de ejecucióil no previstos Las plantillas permitirán a las
clases ser definidas mediante tipos genéricos de datos
...