Está en la página 1de 15

CAPITULO II METODOS Y MODELOS

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

2. MTODOS Y MODELOS 2.1 DEFINICIN DE "MTODO" Al estudiar las metodologas de anlisis y diseo orientadas a objetos, se manejan algunos conceptos que es bueno definir de manera precisa. Mtodo. Es un conjunto de lineamientos y reglas, incluyendo los siguientes componentes. Conceptos de modelado. Permiten la captura de la semntica y el conocimiento acerca de un problema y su solucin. Modelo es una representacin formal de un sistema con cierto nivel de abstraccin. En las etapas de especificacin de requerimientos y anlisis el nivel de abstraccin normalmente es alto, omitiendo detalles de implementacin. o Meta modelo. Es un modelo que describe otros modelos, describe los conceptos del mtodo modelo y sus relaciones, define los modelos legales que pueden ser construidos dentro del mtodo, describe la informacin que debe ser capturada usando herramientas CASE que soporten el mtodo.

Vistas y notaciones. Son tiles en la presentacin fundamental del modelo de informacin para que los seres humanos puedan comprenderla, examinarla y modificarla en su caso. o o Una vista solo muestra una parte de la semntica del modelo y diferentes vistas pueden presentar la misma informacin en varias formas. Notacin. Permite construir, examinar y manipular modelos, el mismo modelo se puede dibujar de diferentes maneras mediante el uso de diferentes smbolos, donde algunos de ellos pueden tener el mismo significado. Cada persona puede adoptar su propio formato para describir sus diagramas. Artifacts. Estn representados por los modelos y los diagramas del proceso de desarrollo. Son los documentos de desarrollo que los expertos del dominio, directores y clientes pueden examinar, comentar acerca de ellos y criticar. Son las variables que miden el progreso, son aquellos que las herramientas debern de producir. Son los archivos que pueden ser intercambiados entre diseadores y entre herramientas. Proceso de desarrollo iterativo. Representa una secuencia de pasos para la construccin e implementacin de modelos. El proceso puede estar distribuido en varios niveles de detalle, desde el nivel ms alto del proyecto, hasta etapas especficas para la construccin de modelos de bajo nivel. El proceso indica que modelos se debern construir y como construirlos. ! Proceso. Es la gua que indica como producir un modelo, proporciona un esqueleto de trabajo (frameworks) para el desarrollo, describe los artifacts a ser producidos y las etapas para producirlos. A alto nivel, describe el desarrollo del ciclo de vida y las etapas de iteracin dentro de l. A bajo nivel describe un esqueleto de trabajo para la produccin de modelos; las etapas para la construccin del modelo, lineamientos para describir componentes de l, principios de diseo a seguirse, mediciones de calidad, referencias cruzadas, reglas de consistencia y banderas rojas para identificar posibles problemas. Patrn. Es una solucin estndar escrita para resolver un problema, basada en una secuencia de tiempo. No existen museos de programas donde los nuevos diseadores puedan aprender, emulando programas que all existen, mas bien, tratan de captar ideas de los diseadores expertos. Actualmente existe un Movimiento de Patrones, con el propsito de coleccionar, catalogar y explicar patrones tiles de diseo, de tal forma que otros diseadores puedan aprender de ellos. Por lo tanto, Los Patrones, son resmenes de casos de diseo basados en la experiencia.

Paola Romero Guilln

20

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

o o

Reglas de Diseo. Son estados o propiedades que debern llevarse a cabo u omitirse en un diseo o estrategias generales de diseo a utilizar. Tips y Reglas de dedo. Son recomendaciones que se aplican donde sea necesario, no se organizan en etapas. Son presentaciones informales de patrones.

2.1.1 Modelos Orientados a Objetos (OO) Cuando analizamos sistemas, creamos modelos del rea de aplicacin que nos interesa. Un modelo puede incorporar un sistema, centrarse en el rea de la empresa o abarcar toda la empresa. El modelo de empresas es importante para la planeacin de la automatizacin de las mismas. El modelo representa un aspecto de la realidad y se construye de modo que nos ayude a comprender a esta. El modelo es mucho ms sencillo que la realidad, al igual que un avin a escala es mucho ms sencillo que un avin de verdad. Podemos manejar el modelo y esto nos ayudara a idear sistemas o redisear reas de una empresa. Con el anlisis orientado a objetos, la forma de modelar la realidad difiere del anlisis convencional. Modelamos el mundo en trminos de tipos de objetos y lo que le ocurre a stos. Esto implica tambin disear y construir sistemas de forma orientada a objetos. Los modelos que construimos en el anlisis OO reflejan la realidad de modo ms natural que los del anlisis tradicional de sistemas. Despus de todo, la realidad consta de objetos y eventos que cambian el estado de dichos objetos. Mediante las tcnicas OO, construimos software que modela mas fielmente el mundo real. Cuando el mundo real cambia, nuestro software es ms fcil de cambiar, lo que es una ventaja real. 2.2 MODELANDO EL MUNDO REAL. Cuando se analizan sistemas se crean modelos del rea de la aplicacin en cuestin. El modelo representa un aspecto del mundo real y se construye de modo que ayude a comprender a ste. El modelo debe ser mucho ms sencillo que la realidad, es una abstraccin de sta, se puede lidiar con el modelo, cosa en muchas situaciones no sera posible hacer en el mundo real. En el anlisis orientado a objetos se modela en el mundo real en trminos de tipos de objetos y lo que les ocurre a stos En la Figura # 1 se ilustra de manera grfica la forma de construir sistemas: El anlisis crea un modelo en el dominio de la aplicacin. El modelo se convierte en un diseo El diseo se convierte en cdigo.

El modelo debe representar la forma en que los usuarios finales perciben el rea de dominio en cuestin, en la medida de lo posible el modelo debe ser presentado de forma que sea comprensible para los usuarios finales. Los modelos construidos en el anlisis orientado a objetos reflejan la entidad del mundo real de forma ms natural que en el anlisis tradicional de sistemas, ya que el mundo esta formado por objetos y eventos que cambian el estado de dichos objetos. Utilizando las tcnicas orientadas a objetos, se construye software que modela el mundo real de manera ms fiel, entonces, cuando el mundo real cambia, el software es ms fcil de cambiar, lo que representa una verdadera ventaja.

Paola Romero Guilln

21

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

Mundo real

El modelo debe representar la realidad de manera que tenga sentido para los usuarios finales

El diseo debe tener la misma estructura bsica que el modelo Modelo OO El cdigo se debe generar lo ms automticamente posible a partir del diseo.

Diseo OO

Cdigo

Figura # 1

En el proceso de anlisis se captura el punto de vista de los usuarios con respecto al rea de dominio del mundo real y posteriormente se traduce a software de la manera ms automticamente posible, por lo tanto, al cambiar las necesidades de los usuarios, el software cambiar con ellas. El anlisis orientado a objetos es anlisis, pero tambin contiene una cierta cantidad de sntesis. La abstraccin de requisitos del usuario y la identificacin de los objetos clave del rea de dominio van seguidas por el ensamblaje de estos objetos en estructuras, de una forma que admita el diseo fsico en alguna fase posterior. El aspecto de sntesis aparece precisamente porque se esta utilizando un sistema, en otras palabras, porque se est imponiendo una estructura al rea de dominio. Los sistemas pueden ser descritos en tres dimensiones: a) Los datos, objetos o conceptos y su estructura. b) Arquitectura o proceso no temporal. c) La dinmica, comportamiento del sistema o el control del sistema.

Datos

Dinmica Figura # 2

Procesos

Para validar la congruencia de estos aspectos, se realiza una comprobacin cruzada, de tal manera de comprobar que procesos usan cuales datos y como estn siendo utilizados stos, aunque estas verificaciones incrementan los gastos tan solo en trminos de documentacin, sin
Paola Romero Guilln 22

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

embargo, se asegura que se traten todos los aspectos del sistema, siempre y cuando no sea deficiente la extraccin de conocimientos. Tambin se tiene la ventaja de que se utilizan dos tcnicas para llegar a la misma conclusin; por lo tanto, si concuerdan los resultados, el grado de confianza ser mayor. La orientacin a objetos, combina 2 de estos aspectos, los datos y los procesos, encapsulando los datos, tambin es posible encapsular el control. De esta forma, un anlisis orientado a objetos se puede considerar como una manera de traslado de silogismos, que parte de lo particular (las clases), atraviesa lo individual (las instancias) y llega a lo universal (el control). 2.2.1 Modelado del mundo real La solucin de problemas comprende el entendimiento o conceptualizacin del problema, su resolucin e implementacin de su solucin. Conceptualizar un problema involucra su representacin usando construcciones representativas (nociones mentales o ideas). El solucionar el problema involucra la manipulacin de las construcciones representativas del dominio del problema y del dominio de la solucin para derivar hacia la representacin de la solucin deseada. La realizacin de la solucin involucra el mapeo de las construcciones representativas de la solucin en el entorno de la solucin, o sea, construir la solucin. El uso de las construcciones representativas es un proceso muy natural que a menudo ocurre sutilmente y a veces inconscientemente en la solucin del problema. Subyacente a este esquema est el uso de un paradigma en la determinacin de los posibles tipos de representaciones usadas en los esfuerzos de resolucin del problema. El paradigma orientado al objeto deriva de la convergencia de otros paradigmas fundamentales, y se reduce a los otros paradigmas tanto como sea requerido por su aplicacin a travs de un lenguaje o mtodo. La flexibilidad alcanzada usando este paradigma puede ser entendida mejor examinando las races del mismo dentro de la Teora de las Formas de Platn. El Mundo Real El mundo real es el dominio que abarca problemas, soluciones y esfuerzos para resolver los problemas. El mundo real incluye: Cosas o entidades que tienen un propsito o rol dentro del mundo. Las entidades tiene caractersticas estructurales que representan lo que las cosas "saben" y caractersticas de comportamiento que representan lo que las cosas "hacen". Una entidad agregada puede contener entidades componentes que son caractersticas estructurales y de comportamiento. Relaciones entre entidades. Las relaciones pueden ser tratadas como caractersticas estructurales compartidas entre mltiples entidades que tienen una relacin con alguna otra. Una entidad agregada puede contener entidades componentes que estn relacionadas va un atributo de la entidad agregada. Ocurrencias entre entidades. Las ocurrencias pueden ser tratadas como caractersticas de comportamiento compartidas entre mltiples entidades que interactan con alguna otra. Una entidad agregada puede contener entidades componentes que son manipuladas va una operacin de la entidad agregada. Estos conceptos son fundamentales para la interaccin con el mundo real.

Paola Romero Guilln

23

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

2.3 TIPOS BSICOS DE LOS MTODOS ORIENTADOS A OBJETOS. Los mtodos de anlisis y diseo orientados a objetos pueden ser desglosados en dos tipos bsicos: a) Ternaria o trilateral. La que utilizan los mtodos estructurados ya existentes mediante tres notaciones distintas; datos, dinmica y procesos. Es fcil de entender tanto su filosofa como sus notaciones por personas familiarizadas con los mtodos estructurados. Las metodologas orientadas a objetos ms conocidas que usan esta aproximacin son: Tcnica de Modelado de Objetos, OMT de Rumbaugh 1991. Es un mtodo muy rico, pero resulta difcil de aprender, es pobre en la especificacin de reglas y limitaciones. Ptech modificado de Martn Odell 1992. Es sencillo. Anlisis de Sistemas Orientados a Objetos, OSA de Embly 1992. Es sencillo, permite escribir limitaciones en los diagramas como si fuese un pensamiento posterior adicional. b) Unira. Dado que los objetos combinan de manera innata los procesos (mtodos) y los datos, solamente es necesaria una notacin, son Ms congruentes con la metfora de orientacin a objetos. Ms fciles de aprender, partiendo desde cero. Las metodologas orientadas a objetos ms conocidas que usan esta aproximacin son: Clase, Responsabilidad, Colaboracin, CRC de Rebecca Wirfs y Brock 1990. Tambin se le conoce como "Diseo Controlado por Responsabilidades" (RDD). Resulta til para documentar diseos orientados a objetos y tambin para ensear los conceptos bsicos. Tiene la ventaja de no necesitar nada mas que una caja de fichas de cartn como herramienta CASE. Coad y Yourdon 1990. Es sencillo pero carece de apoyo para describir la dinmica del sistema.

2.4 CONCEPTOS BSICOS DE TECNOLOGA DE OBJETOS. 2.4.1 Introduccin. Las aplicaciones de software de hoy son ms capaces y ms fciles de usar que antes. Estos han llegado a ser cada vez ms difciles y costosos para disear, mantener, mejorar e integrar. La mayora de las aplicaciones son monolticas, proveyendo ricos conjuntos de caractersticas pero no fciles de manejar en su futura modificacin, mejoramiento y actualizacin de nuevas caractersticas y/o implementaciones. Los sistemas operativos tienen un conjunto comn de problemas. Porque la mayora de los sistemas operativos no son suficientemente modulares, actualizados, reemplazables, o capaces de imponerse a los servicios existentes de una manera fcil y flexible (Difcil acoplamiento entre plataformas). A la opinin de los desarrolladores de aplicaciones, los ejecutivos de sistemas encaran la difcil eleccin de qu mejoramientos se necesitan, en funcin de mantener la compatibilidad con versiones anteriores o nuevas posibilidades en tecnologa de Software. Tecnologa de Objetos (Object technology, OT) en ingeniera de software facilita el desarrollo, mantenimiento y rehso de un rango de aplicaciones amplio. La Tecnologa de Objetos hace lo posible por romper aplicaciones monolticas en mdulos funcionales, o componentes, que pueden agregarse o ser eliminados segn la aplicacin lo requiera.
Paola Romero Guilln 24

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

La tecnologa de objetos puede potencialmente reducir el gasto de implementar nuevos objetos por los ya disponibles, mediante mecanismos como el encapsulamiento, herencia, polimorfismo, y la agregacin, etc. haciendo uso extensivo de la re-utilizacin (uso de objetos ya existentes). Estas aplicaciones estn relacionadas con el procesamiento y transferencia de datos, interfase de usuario. Existen dos tecnologas de objetos bsicas: 1).- Tecnologa Orientada a Objetos (Object Oriented Technology, OOT) que incluye: " " Programacin orientada a objetos, Anlisis, diseo y modelado orientado a objetos.

2).- Tecnologa Basada en Objetos (Object Based Technology, OBT), usa mecanismos cliente / servidor, incluyendo: " " " Programacin basada en componentes Anlisis, diseo y modelado de componentes (objetos) distribuidos Computo distribuido y concurrente.

Estas tecnologas tienen muchas ideas y enfoques en comn, su principal diferencia es que los mtodos orientados a objetos usan herencia y son presentados en especificaciones de programas o cdigos y los mtodos basados en objetos usan herencia de interfaces y son presentados en cdigo binario ejecutable o cdigo basado en DLL (La biblioteca de vnculos dinmicos). Esta clasificacin es muy parecida al concepto "white box" y "black box" donde en el concepto de caja negra el usuario no sabe nada sobre estructura de componente y puede usar comportamiento de esta caja en sus metas solo a travs de las interfaces, pero para caja blanca conocemos propiedades de esta "caja" y podemos re-usar estos conocimientos en nuestras metas a travs de herencia, u otras tecnologas.

2.5 TIPOS BASICOS DE METODOS ORIENTADOS A OBJETOS 2.5.1 Anlisis y diseo orientados a objetos Si damos una ojeada al panorama actual de anlisis y diseo orientados a objetos nos encontraremos con pocas metodologas y muchos mtodos, buena parte de los cuales observan un carcter bsicamente "propietario", siendo muy pocos los que cubren el ciclo completo de vida del software. Aparecer claro, a la vez, que existe un escaso inters, ajeno a las cuitas comerciales, en estandarizar los mtodos: es ms: cuando el OMG (Object Management Group), en un intento normalizador, requiri la colaboracin de los autores de mtodos de OOA/OOD, un nutrido e importante grupo de stos replic con una carta pblica en la que afirmaban que tal estandarizacin no era en absoluto deseable. Parece que es ridculo pensar que existe un mtodo orientado a objetos bueno para todo, como es risible afirmar que no existe ningn hombre absolutamente estpido. Se aprecia, tambin, la difuminacin del hasta ahora habitual gap semntico entre anlisis y diseo, pero aun esto resulta turbador, pues la planificacin prctica usualmente necesita de fases claras que permitan la evaluacin de resultados y los pertinentes controles de integridad y estabilidad. Las grafas, por ltimo, resultan sospechosamente parecidas entre s, y oscilan entre la simplicidad sospechosa y la prolijidad culpable. Tras todo lo anterior no hay que intimidarse, la orientacin a objetos realmente "funciona", y ya existe un importante acervo prctico de soluciones de software basadas en anlisis y diseos orientados a objetos. Pero tambin existe un nada despreciable anecdotario de fracasos y despropsitos. La realidad es que el camino de la productividad, como el del infierno, est fatalmente empedrado de ilusiones e intentos aventurados.

Paola Romero Guilln

25

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

Se necesitar alguna luz. Se intentar una revisin de los mtodos comerciales.

2.6 METODOS COMERCIALES DE OOA/OOD Es opinin extendida que en la arena de los mtodos OOA/OOD existen dos corrientes principales, dividiendo a estos en: Estticos (enfocados a datos), en lo que lo importante es la estructura de datos anexa a los objetos y las operaciones que sobre ella operan. Dinmicos (enfocados a comportamientos o enfocados a responsabilidades): un objeto tiene sentido en estos mtodos cuando exhibe un comportamiento diferencial respecto del resto de los objetos. Tal comportamiento puede referirse bien al objeto en s (los cambios que pueden operarse en su representacin interna), o bien a sus relaciones con otros objetos. Pero la verdad es que sta es una diferencia puramente acadmica. Lo cierto es que la mayora de los mtodos viene desplazndose, afianzados en el borboteo comercial de las Bases de Objetos (OODBMSs), hacia esquemas puramente dinmicos. Y es que divisiones como la anterior pueden encontrarse con demasiada frecuencia en la literatura, cada vez ms extensa, sobre el tema, fundamentalmente debido a la gran profusin de mtodos con bases tericas un tanto difusas. Y si no chenle un vistazo a algunos (imposible disponer de una lista actualizada de todos ellos) de los actuales mtodos de OOA/OOD (intencionadamente desordenados, para no generar falsas esperanzas):

METODOS
Object Oriented Design Object Behaviour Analysis Methodology for Object Oriented Software Engineering of Systems General Object Oriented Design OOD OBA

SIGLAS

AUTORES
Grady Booch Rubin & Goldberg

MOSES GOOD

Henderson-Sellers & Edwards Seidewitz & Stark Ivar Jacobson

Object Oriented Software OOSE Engineering Visual Modeling Technique VMT IBM Texel Object Modeling Technique Better Object Notation Object Oriented System Analysis Object Oriented Structured Design Systems Engineering OO Syntropy OMT BOM OOSA OOSD SEOO

Texel Rumbaugh y otros Nerson Shlaer & Mellor Wasserman et al. LBMS Cook y otros

Paola Romero Guilln

26

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

METODOS
Object Oriented Jackson Structured Design Hierarchical Object Oriented Design Object Oriented Analysis Object Oriented Design Object Oriented System Analysis Colbert Frame Object Analysis Semantic Object Modelling Approach Berard ADM3 Ptech Object Oriented Rle Analysis Synthesis and Structuring Fusion Desfray OOA&D SOMA OOJSD HOOD OOA OOD OSA FOA

SIGLAS
Jackson ESA

AUTORES

Coad & Yourdon Coad & Yourdon Embley y otros

Embley y otros E. Colbert Andleigh/Gretzingr Ian Graham Berard Donald Firesmith Martin & Odell

OORASS

Reenskaug et al. Coleman y otros Softeam

Como fcilmente se comprobar, en la tabla anterior se mezclan mtodos de anlisis y de diseo porque, pese a lo que anuncien sus autores o aun su mismo nombre, la distincin entre anlisis y diseo se difumina, como antes comentbamos, de forma turbadora (aunque claramente deseable respecto al modelado de la realidad).

2.7 METODOS DE ANALISIS ORIENTADOS A OBJETOS 2.7.1 Mtodo OOSA de Shlaer/Mellor El primer paso del mtodo de Shaler y Mellor es la definicin de objetos y de sus atributos. La notacin de modelado de entidades desciende de la notacin de Ward/Mellor. Este mtodo se puede clasificar como trilateral, y se desarrolla creando un modelo de informacin (o de datos) que muestran los objetos, atributos y relaciones. Este mtodo recibe un apoyo parcial de la herramienta CASE, llamada teamwork.

Paola Romero Guilln

27

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

2.7.2 Mtodo Coad Yourdon Existe una aproximacin que surgi de los sicarios de Yourdon y se debe mucho a la tradicin de modelado de entidades y relaciones, esta aproximacin se resume en Coad Yourdon y resulto especialmente interesante al ser la primera descripcin ampliamente difundida de un mtodo de anlisis y una notacin de apoyo razonablemente completos, prcticos, orientados a objetos y adecuados para proyectos comerciales. Coad Yourdon presenta una notacin menos torpe que la que se encontraba en Booch, Shlaer/Mellor o a la mayora de las aproximaciones de diseo orientado a objetos. Una de las caractersticas ms notables de las notaciones de Shlaer/Mellor y Coad Yourdon es que los atributos resultan completamente explcitos. Coad Yourdon sugiere que el anlisis se produce en cinco fases a las que dan los nombres siguientes: Temas: los temas son de tamao tratable en cuanto contendrn solo aproximadamente entre cinco y nueve objetos. Objetos: se identifican los objetos con detalle. Estructuras: se identifican dos estructuras completamente distintas. " Estructuras de clasificacin. " Estructuras de composicin. Atributos: los atributos son detallados y se especifican las relaciones de modalidad y de multiplicidad. Servicios: esta es la palabra que emplea Coad Yourdon para las operaciones.

El mtodo no es perfecto pero resulta sencillo y unario. 2.7.3 Mtodo Rumbaugh-OMT La tcnica de modelado de objetos (OMT) es considerado ampliamente como uno de los sistemas de anlisis orientados a objetos ms completos que se han publicado hasta el momento. OMT consta de tres fases o actividades principales: anlisis, diseo de sistemas y diseo de objetos. El anlisis presupone que existe una especificacin de los requisitos y se desarrolla construyendo tres modelos distintos mediante el uso de tres notaciones diferentes. El diseo de sistemas se realiza organizando los objetos en subsistemas identificando la concurrencia a partir del modelo dinmico (DM), asignando subsistemas a procesadores o tareas, diciendo si los datos deben o no estar almacenados en archivos, en memoria o en un sistema de administracin de base de datos, diciendo el uso de perifricos, y recursos globales. El diseo de objetos implica transformar la informacin del DM y del modelo funcional (FM) en operaciones de modelo objeto (OM), los pasos restantes consisten en: 1. 2. 3. 4. 5. 6. 7. Disear algoritmos. Optimizar vas de acceso. Realizar el control. Ajustar estructuras. Indicar los detalles de los atributos. Empaquetar las estructuras en mdulos. Escribir el informe de diseo, incluyendo un OM, DM, y FM detallados.

Paola Romero Guilln

28

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

El OMT tiene la intencin de ser un mtodo tanto para el anlisis como para el diseo, pero, aun cuando contiene un mtodo bastante completo para el anlisis, solamente tiende a dar indicaciones practicas para el diseo. El OMT abarca mas temas que la mayora de los dems mtodos, pero sigue siendo incompleto en algunos aspectos y resulta muy complejo aprender y utilizar sus notaciones. 2.7.4 Mtodo Soma Es un mtodo semnticamente rico en anlisis orientado a objetos. Aade reglas, conjuntos difusos, capas con una semntica clara y adems permite a los diseadores transformar las reglas en afirmaciones. Se desarrolla empleando siete actividades: Capas Objetos Estructuras Estructuras de utilizacin Estructuras de clasificacin Estructuras de descomposicin Semntica de asociaciones y datos Modalidad y multiplicidad Atributos Tipos, valores por omisin, validacin, seguridad Mtodos u operaciones Parmetros y sus tipos, afirmaciones Reglas Reglas de control Reglas de negocios Actividades

2.8 METODOS DE DISEO ORIENTADO A OBJETOS Los cambios de diseo necesarios estn localizados, y son improbables las interacciones inesperadas con otros mdulos del programa. El diseo basado en objetos es adecuado para una realizacin distribuida, paralela o secuencial. Se eliminan las zonas compartidas de datos, reduciendo, de esta manera, la posibilidad de modificaciones inesperadas, as como otras anomalas en la actualizacin. Los mtodos de diseo orientados a objetos comparten los siguientes pasos bsicos de diseo, aunque los detalles varen mucho. " " " " Se identifican los objetos y sus atributos, as como los nombres de los mtodos. Se establece la visibilidad de cada objeto en relacin con los dems objetos. Se establece la interfaz de cada objeto y el tratamiento de excepciones. Se realizan y comprueban los objetos.

2.8.1 Mtodo de Booch El mtodo original de Booch comienza por un anlisis de flujo de datos, que se utiliza entonces como ayuda para identificar objetos, buscando tanto objetos concretos como objetos abstractos en el espacio del problema, que se encontraran a partir de las burbujas y almacenes de datos en el diagrama de flujo de datos (DFD).

Paola Romero Guilln

29

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

La notacin y mtodo de diseo revisados de Booch consta de 4 actividades principales y 6 notaciones. Los primeros pasos tratan los aspectos estticos del sistema, tanto en su aspecto lgico como en su aspecto fsico. Estructura lgica Diagramas de clases Diagramas de objetos Estructura fsica Diagramas de mdulos Diagramas de procesos Dinmica de clases Diagramas de transicin de estados Dinmica de instancias Diagramas temporales El de Booch es uno de los mtodos de diseo mejor desarrollado y es superior a GOOD y a HOOD, en tanto en cuanto no esta relacionado con Ada, y por poseer, adems una nocin de estructura mucho mas general. 2.8.2 Mtodo Good El mtodo de diseo general orientado a objetos (GOOD) fue desarrollado en la NASA por Seidewitz y Stark (1983). Trata tanto la especificacin de requisitos como el diseo de proyectos en Ada. El mtodo se desarrolla, al igual que sucede con el de Booch, partiendo de un conjunto preliminar de diagramas de flujo por capas, llegando hasta la identificacin de los objetos implicados. En estos DFD se buscan objetos externos, depsitos de datos, interfaces de control y depsitos de control. 2.8.3 Mtodo Hood La nocin de la jerarqua de prioridades es aprovechada tambin por otro mtodo, HOOD. La H de HOOD quiere decir jerrquico. Este mtodo tambin esta muy orientado al desarrollo en Ada y fue desarrollado en la agencia espacial europea. Sufri la influencia directa de GOOD, y tambin se basa en el mtodo de maquinas abstractas. En HOOD los objetos son o pasivos o activos. Los objetos pasivos solamente son capaces de utilizar los objetos de otros objetos pasivos, pero los activos pueden utilizar los servicios de cualquier objeto. HOOD es un mtodo de refinamiento progresivo que se basa en la descomposicin de un objeto del mximo nivel y, posteriormente, en la descomposicin de los objetos as resultantes. El mtodo HOOD utiliza un cierto numero de pasos para descomponer cada objeto, comenzando por un paso de diseo bsico que podra implicar tcnicas de realizacin de diagramas de procedentes de otros mtodos de anlisis y diseo estructurado. El paso siguiente consiste en generar una estrategia informal de soluciones. Esto se descompone en un cierto numero de tareas: un esbozo del lenguaje natural, diagramas HOOD de primera mano y una descripcin del nivel actual de abstraccin. El tercer paso consiste en formalizar la estrategia de solucin. Esto se hace por fases, identificando y describiendo los objetos y sus operaciones. 2.8.4 Mtodo OOSD El diseo estructurado orientado a objetos (OOSD), que fuera presentado por Wasserman, Picher y Muller (1990). Hablando estrictamente OOSD no es un mtodo sino una notacin a la cual se pueden agregar reglas metodolgicas. Esta notacin es probablemente la que ms prxima se encuentra al espritu de la orientacin a objetos. OOSD es una notacin no propietaria para el
Paola Romero Guilln 30

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

diseo arquitectnico, que cambia el diseo por refinamiento progresivo estructurado y el diseo orientado a objetos. Una vez mas OOSD emplea una notacin que se deriva de la de Booch, pero, tambin tiene influencia de los diagramas estructurales. OOSD no es tanto un mtodo como una notacin para apoyar los mtodos de diseo orientado a objetos en general. Los usuarios de OOSD pueden aadir reglas de diseo segn cual sea el mtodo concreto que est utilizando. Otros puntos importantes de OOSD son la facilidad con la que es aceptado por los desarrolladores que ya estn familiarizados con el diseo estructurado as como lo adecuado que resulta para los sistemas de tiempo real. OOSD es una de las notaciones de diseo mas avanzadas hbrido orientado a objetos de bajo nivel. Parece improbable que sea posible extenderla hasta una notacin de anlisis congruente, como consecuencia de la dificultad que surge al tratar un gran numero de mtodos y como consecuencia tambin de la ausencia de una forma en la que se puedan tratar estructuras y atributos de datos muy complejos. Por otra parte, resulta mas adecuada para el diseo arquitectnico o lgico que para el diseo fsico. 2.8.5 Mtodo JSD y OOJSD El diseo estructurado de Jackson (JSD) es un mtodo basado en objetos mas que un mtodo completamente orientado a objetos. Los modelos JSD se descomponen en trminos de sucesos o de acciones y de sus dependencias temporales. Dentro de estos sucesos la aproximacin JSD define, en primer lugar los objetos. El paso siguiente construye una especificacin en trminos de procesos secuenciales que se comunican, y que pueden acceder los unos al estado de los otros. El mtodo puede resultar til si el diseo orientado a objetos debe realizarse en un lenguaje convencional. Es posible identificar un cierto numero de similitudes entre JSD y los mtodos de diseo orientados a objetos. JSD contiene tcnicas tiles para la identificacin de entidades y de mtodos dentro de su fase de modelado. Adems, la tcnica de anlisis por ordenacin temporal de JSD y el diseo orientado a objetos utilizan el concepto de los objetos de forma similar, aun cuando sus terminologas son distintas. 2.8.6 Mtodo OODLE El OODLE (lenguaje de diseo orientado a objetos) es un componente especifico de diseo del mtodo Shlaer/Mellor, cuya aproximacin al anlisis orientado a objetos, prescribe 4 tipos de diagramas, interrelacionados mediante un esquema de capas que ayuda con la documentacin y con un potencial de apoyo automtico. Se dice que la notacin es independiente del lenguaje, aun cuando se aprecia ciertos aspectos de Ada en la notacin y el apoyo de los amigos recuerda al de C++. Los tipos de diagramas son los siguientes: Diagramas de dependencia, que muestran relaciones de utilizacin (cliente/servidor) y de amigos entre clases. Diagramas de clases, que muestran el aspecto externo de la clase de forma similar a Booch. Diagramas de estructuras de clases que muestran la estructura de los mtodos de la clase, y el flujo de datos y de control Diagramas de herencia, que representan la herencia

2.9 CONCLUSION Podemos mencionar en lo que respecta a este captulo, que la propuesta de la metodologa es tomada como una comparacin, en donde lo que nos interesa saber, es lo que se entiende por una tecnologa basada en una metodologa, para as tener un inters para regresar y
Paola Romero Guilln 31

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

comprender el significado de lo que es orientado a objetos. Y ver como una metodologa responde con respecto a otras metodologas. En muchos instancias individuales u organizaciones de compaas han iniciado con la evaluacin y seleccin de una metodologa para el uso de desarrollo de software. En algunos casos estas instancias tienen un tiempo lmite para llevar acabo este recurso, por lo tanto para ellos la comparacin de metodologa viene de un atajo de punto medio de seleccin. Desafortunadamente la calidad de la decisin descansa nicamente con la calidad de la comparacin de la metodologa en uso. La comparacin entre metodologas da la pauta para estar seguro que la seleccin inicial es la correcta a otras metodologas apropiadas ya existentes. La justificacin de la tecnologa dice que existe una gran comunidad en la ingeniera de software que ve el cambio. En algunos casos el cambio es encontrar cambios en la practica. Por eso la razn de la comparacin de las metodologas. Se comparan las ideas, pasos, conceptos, notacin, mecanismo de comunicacin y la especificacin tcnica de 6 mtodos aceptados. Los seis mtodos son: Booch, Martn/Odell, Coad Yourdon, Rumbaugh, Wirfs-Brock y Shlaer Mellor.

2.10 RESUMEN Mtodo. Es un conjunto de lineamientos y reglas, incluyendo los siguientes componentes. Conceptos de modelado. Permiten la captura de la semntica y el conocimiento acerca de un problema y su solucin. Modelo es una representacin formal de un sistema con cierto nivel de abstraccin. Metamodelo. Es un modelo que describe otros modelos, describe los conceptos del mtodo modelo y sus relaciones. Proceso de desarrollo iterativo. Representa una secuencia de pasos para la construccin e implementacin de modelos. Modelos Orientados a Objetos El modelo representa un aspecto de la realidad y se construye de modo que nos ayude a comprender a esta. El modelo es mucho ms sencillo que la realidad, al igual que un avin a escala es mucho ms sencillo que un avin de verdad. Podemos manejar el modelo y esto nos ayudara a idear sistemas o redisear reas de la empresa. El Mundo Real El mundo real es el dominio que abarca problemas, soluciones y esfuerzos para resolver los problemas. El mundo real incluye: " " " Cosas o entidades que tienen un propsito o rol dentro del mundo. Relaciones entre entidades. Ocurrencias entre entidades.

Paola Romero Guilln

32

Instituto Tecnolgico de la Laguna

Anlisis y Diseo Orientado a Objetos

Los mtodos de anlisis y diseo orientados a objetos pueden ser desglosados en dos tipos bsicos: TERNARIA o TRILATERAL. La que utilizan los mtodos estructurados ya existentes mediante tres notaciones distintas; datos, dinmica y procesos. Es fcil de entender tanto su filosofa como sus notaciones por personas familiarizadas con los mtodos estructurados. UNARIA. Dado que los objetos combinan de manera innata los procesos (mtodos) y los datos, solamente es necesaria una notacin, son " Ms congruentes con la metfora de orientacin a objetos. " Ms fciles de aprender, partiendo desde cero. Mtodos comerciales de OOA/OOD Es opinin extendida que en la arena de los mtodos OOA/OOD existen dos corrientes principales, dividiendo a estos en: " " Estticos (enfocados a datos), en lo que lo importante es la estructura de datos anexa a los objetos y las operaciones que sobre ella operan. Dinmicos (enfocados a comportamientos o enfocados a responsabilidades): un objeto tiene sentido en estos mtodos cuando exhibe un comportamiento diferencial respecto del resto de los objetos. Tal comportamiento puede referirse bien al objeto en s (los cambios que pueden operarse en su representacin interna), o bien a sus relaciones con otros objetos.

2.11 CUESTIONARIO 1. 2. 3. 4. 5. 6. 7. Qu es un mtodo? Qu diferencia hay entre un mtodo y una metodologa? Qu es un metamodelo? Explique a que se refiere modelado del mundo real. En que consiste lo comercial del AOO y DOO. Mencione algunos mtodos de AOO Mencione algunos mtodos de DOO

Paola Romero Guilln

33