METODOS Y MODELOS POO

15
CAPITULO II METODOS Y MODELOS

Transcript of METODOS Y MODELOS POO

Page 1: METODOS Y MODELOS POO

CAPITULO II

METODOS Y MODELOS

Page 2: METODOS Y MODELOS POO

20

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

2. MÉTODOS Y MODELOS

2.1 DEFINICIÓN DE "MÉTODO"

Al estudiar las metodologías de análisis y diseño orientadas a objetos, se manejan algunosconceptos que es bueno definir de manera precisa.

Método. Es un conjunto de lineamientos y reglas, incluyendo los siguientes componentes.

Conceptos de modelado. Permiten la captura de la semántica y el conocimiento acerca de unproblema y su solución.

• Modelo es una representación formal de un sistema con cierto nivel de abstracción. En lasetapas de especificación de requerimientos y análisis el nivel de abstracción normalmentees alto, omitiendo detalles de implementación.

o Meta modelo. Es un modelo que describe otros modelos, describe los conceptos delmétodo modelo y sus relaciones, define los modelos legales que pueden serconstruidos dentro del método, describe la información que debe ser capturada usandoherramientas CASE que soporten el método.

• Vistas y notaciones. Son útiles en la presentación fundamental del modelo de informaciónpara que los seres humanos puedan comprenderla, examinarla y modificarla en su caso.

o Una vista solo muestra una parte de la semántica del modelo y diferentes vistaspueden presentar la misma información en varias formas.

o Notación. Permite construir, examinar y manipular modelos, el mismo modelo se puededibujar de diferentes maneras mediante el uso de diferentes símbolos, donde algunosde ellos pueden tener el mismo significado. Cada persona puede adoptar su propioformato para describir sus diagramas.

o Artifacts. Están representados por los modelos y los diagramas del proceso dedesarrollo. Son los documentos de desarrollo que los expertos del dominio, directoresy clientes pueden examinar, comentar acerca de ellos y criticar. Son las variables quemiden el progreso, son aquellos que las herramientas deberán de producir. Son losarchivos que pueden ser intercambiados entre diseñadores y entre herramientas.

o Proceso de desarrollo iterativo. Representa una secuencia de pasos para laconstrucción e implementación de modelos. El proceso puede estar distribuido envarios niveles de detalle, desde el nivel más alto del proyecto, hasta etapas específicaspara la construcción de modelos de bajo nivel. El proceso indica que modelos sedeberán construir y como construirlos.! Proceso. Es la guía que indica como producir un modelo, proporciona un esqueleto

de trabajo (frameworks) para el desarrollo, describe los artifacts a ser producidos ylas etapas para producirlos. A alto nivel, describe el desarrollo del ciclo de vida ylas etapas de iteración dentro de él. A bajo nivel describe un esqueleto de trabajopara la producción de modelos; las etapas para la construcción del modelo,lineamientos para describir componentes de él, principios de diseño a seguirse,mediciones de calidad, referencias cruzadas, reglas de consistencia y banderasrojas para identificar posibles problemas.

o Patrón. Es una solución estándar escrita para resolver un problema, basada en unasecuencia de tiempo. No existen museos de programas donde los nuevos diseñadorespuedan aprender, emulando programas que allí existen, mas bien, tratan de captarideas de los diseñadores expertos. Actualmente existe un Movimiento de Patrones,con el propósito de coleccionar, catalogar y explicar patrones útiles de diseño, de talforma que otros diseñadores puedan aprender de ellos. Por lo tanto, Los Patrones,son resúmenes de casos de diseño basados en la experiencia.

Page 3: METODOS Y MODELOS POO

21

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

o Reglas de Diseño. Son estados o propiedades que deberán llevarse a cabo u omitirseen un diseño o estrategias generales de diseño a utilizar.

o Tips y Reglas de dedo. Son recomendaciones que se aplican donde sea necesario, nose organizan en etapas. Son presentaciones informales de patrones.

2.1.1 Modelos Orientados a Objetos (OO)

Cuando analizamos sistemas, creamos modelos del área de aplicación que nos interesa.Un modelo puede incorporar un sistema, centrarse en el área de la empresa o abarcar toda laempresa. El modelo de empresas es importante para la planeación de la automatización de lasmismas.

El modelo representa un aspecto de la realidad y se construye de modo que nos ayude acomprender a esta. El modelo es mucho más sencillo que la realidad, al igual que un avión aescala es mucho más sencillo que un avión de verdad. Podemos manejar el modelo y esto nosayudara a idear sistemas o rediseñar áreas de una empresa.

Con el análisis orientado a objetos, la forma de modelar la realidad difiere del análisisconvencional. Modelamos el mundo en términos de tipos de objetos y lo que le ocurre a éstos. Estoimplica también diseñar y construir sistemas de forma orientada a objetos.

Los modelos que construimos en el análisis OO reflejan la realidad de modo más naturalque los del análisis tradicional de sistemas. Después de todo, la realidad consta de objetos yeventos que cambian el estado de dichos objetos. Mediante las técnicas OO, construimos softwareque modela mas fielmente el mundo real. Cuando el mundo real cambia, nuestro software es másfácil 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 aplicación en cuestión. Elmodelo representa un aspecto del mundo real y se construye de modo que ayude a comprender aéste. El modelo debe ser mucho más sencillo que la realidad, es una abstracción de ésta, se puedelidiar con el modelo, cosa en muchas situaciones no sería posible hacer en el mundo real.

En el análisis orientado a objetos se modela en el mundo real en términos de tipos deobjetos y lo que les ocurre a éstos

En la Figura # 1 se ilustra de manera gráfica la forma de construir sistemas:

• El análisis crea un modelo en el dominio de la aplicación.• El modelo se convierte en un diseño• El diseño se convierte en código.

El modelo debe representar la forma en que los usuarios finales perciben el área dedominio en cuestión, en la medida de lo posible el modelo debe ser presentado de forma que seacomprensible para los usuarios finales.

Los modelos construidos en el análisis orientado a objetos reflejan la entidad del mundoreal de forma más natural que en el análisis tradicional de sistemas, ya que el mundo esta formadopor objetos y eventos que cambian el estado de dichos objetos. Utilizando las técnicas orientadas aobjetos, se construye software que modela el mundo real de manera más fiel, entonces, cuando elmundo real cambia, el software es más fácil de cambiar, lo que representa una verdadera ventaja.

Page 4: METODOS Y MODELOS POO

22

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

En el proceso de análisis se captura el punto de vista de los usuarios con respecto al áreade dominio del mundo real y posteriormente se traduce a software de la manera másautomáticamente posible, por lo tanto, al cambiar las necesidades de los usuarios, el softwarecambiará con ellas.

El análisis orientado a objetos es análisis, pero también contiene una cierta cantidad desíntesis. La abstracción de requisitos del usuario y la identificación de los objetos clave del área dedominio van seguidas por el ensamblaje de estos objetos en estructuras, de una forma que admitael diseño físico en alguna fase posterior. El aspecto de síntesis aparece precisamente porque seesta utilizando un sistema, en otras palabras, porque se está imponiendo una estructura al área dedominio.

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 dinámica, comportamiento del sistema o el control del sistema.

Para validar la congruencia de estos aspectos, se realiza una comprobación cruzada, de talmanera de comprobar que procesos usan cuales datos y como están siendo utilizados éstos,aunque estas verificaciones incrementan los gastos tan solo en términos de documentación, sin

Mundo real

Modelo OO

Diseño OO

Código

El modelo debe representar larealidad de manera que tengasentido para los usuarios finales

El diseño debe tener la mismaestructura básica que el modelo

El código se debe generar lomás automáticamenteposible a partir del diseño.

Figura # 1

Datos

Dinámica Procesos

Figura # 2

Page 5: METODOS Y MODELOS POO

23

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

embargo, se asegura que se traten todos los aspectos del sistema, siempre y cuando no seadeficiente la extracción de conocimientos. También se tiene la ventaja de que se utilizan dostécnicas para llegar a la misma conclusión; por lo tanto, si concuerdan los resultados, el grado deconfianza será mayor.

La orientación a objetos, combina 2 de estos aspectos, los datos y los procesos,encapsulando los datos, también es posible encapsular el control. De esta forma, un análisisorientado a objetos se puede considerar como una manera de traslado de silogismos, que parte delo particular (las clases), atraviesa lo individual (las instancias) y llega a lo universal (el control).

2.2.1 Modelado del mundo real

La solución de problemas comprende el entendimiento o conceptualización del problema,su resolución e implementación de su solución. Conceptualizar un problema involucra surepresentación usando construcciones representativas (nociones mentales o ideas). El solucionarel problema involucra la manipulación de las construcciones representativas del dominio delproblema y del dominio de la solución para derivar hacia la representación de la solución deseada.La realización de la solución involucra el mapeo de las construcciones representativas de lasolución en el entorno de la solución, o sea, construir la solución. El uso de las construccionesrepresentativas es un proceso muy natural que a menudo ocurre sutilmente y a vecesinconscientemente en la solución del problema. Subyacente a este esquema está el uso de unparadigma en la determinación de los posibles tipos de representaciones usadas en los esfuerzosde resolución del problema.

El paradigma orientado al objeto deriva de la convergencia de otros paradigmasfundamentales, y se reduce a los otros paradigmas tanto como sea requerido por su aplicación através de un lenguaje o método. La flexibilidad alcanzada usando este paradigma puede serentendida mejor examinando las raíces del mismo dentro de la Teoría de las Formas de Platón.

El Mundo Real

El mundo real es el dominio que abarca problemas, soluciones y esfuerzos para resolverlos problemas. El mundo real incluye:

Cosas o entidades que tienen un propósito o rol dentro del mundo.

Las entidades tiene características estructurales que representan lo que las cosas"saben" y características de comportamiento que representan lo que las cosas "hacen". Unaentidad agregada puede contener entidades componentes que son características estructurales yde comportamiento.

Relaciones entre entidades.

Las relaciones pueden ser tratadas como características estructurales compartidas entremúltiples entidades que tienen una relación con alguna otra. Una entidad agregada puede contenerentidades componentes que están relacionadas vía un atributo de la entidad agregada.

Ocurrencias entre entidades.

Las ocurrencias pueden ser tratadas como características de comportamiento compartidasentre múltiples entidades que interactúan con alguna otra. Una entidad agregada puede contenerentidades componentes que son manipuladas vía una operación de la entidad agregada.

Estos conceptos son fundamentales para la interacción con el mundo real.

Page 6: METODOS Y MODELOS POO

24

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

2.3 TIPOS BÁSICOS DE LOS MÉTODOS ORIENTADOS A OBJETOS.

Los métodos de análisis y diseño orientados a objetos pueden ser desglosados en dostipos básicos:

a) Ternaria o trilateral. La que utilizan los métodos estructurados ya existentes mediante tresnotaciones distintas; datos, dinámica y procesos. Es fácil de entender tanto su filosofíacomo sus notaciones por personas familiarizadas con los métodos estructurados. Lasmetodologías orientadas a objetos más conocidas que usan esta aproximación son:

• Técnica de Modelado de Objetos, OMT de Rumbaugh 1991. Es un método muyrico, pero resulta difícil de aprender, es pobre en la especificación de reglas ylimitaciones.

• Ptech modificado de Martín Odell 1992. Es sencillo.• Análisis de Sistemas Orientados a Objetos, OSA de Embly 1992. Es sencillo,

permite escribir limitaciones en los diagramas como si fuese un pensamientoposterior adicional.

b) Uniría. Dado que los objetos combinan de manera innata los procesos (métodos) y losdatos, solamente es necesaria una notación, son

• Más congruentes con la metáfora de orientación a objetos.• Más fáciles de aprender, partiendo desde cero.

Las metodologías orientadas a objetos más conocidas que usan esta aproximaciónson:• Clase, Responsabilidad, Colaboración, CRC de Rebecca Wirfs y Brock

1990. También se le conoce como "Diseño Controlado por Responsabilidades"(RDD). Resulta útil para documentar diseños orientados a objetos y tambiénpara enseñar los conceptos básicos. Tiene la ventaja de no necesitar nadamas que una caja de fichas de cartón como herramienta CASE.

• Coad y Yourdon 1990. Es sencillo pero carece de apoyo para describir ladinámica del sistema.

2.4 CONCEPTOS BÁSICOS DE TECNOLOGÍA DE OBJETOS.

2.4.1 Introducción.

Las aplicaciones de software de hoy son más capaces y más fáciles de usar que antes.Estos han llegado a ser cada vez más difíciles y costosos para diseñar, mantener, mejorar eintegrar. La mayoría de las aplicaciones son monolíticas, proveyendo ricos conjuntos decaracterísticas pero no fáciles de manejar en su futura modificación, mejoramiento y actualizaciónde nuevas características y/o implementaciones.

Los sistemas operativos tienen un conjunto común de problemas. Porque la mayoría de lossistemas operativos no son suficientemente modulares, actualizados, reemplazables, o capaces deimponerse a los servicios existentes de una manera fácil y flexible (Difícil acoplamiento entreplataformas).

A la opinión de los desarrolladores de aplicaciones, los ejecutivos de sistemas encaran ladifícil elección de qué mejoramientos se necesitan, en función de mantener la compatibilidad conversiones anteriores o nuevas posibilidades en tecnología de Software.

Tecnología de Objetos (Object technology, OT) en ingeniería de software facilita eldesarrollo, mantenimiento y rehúso de un rango de aplicaciones amplio. La Tecnología de Objetoshace lo posible por romper aplicaciones monolíticas en módulos funcionales, o componentes, quepueden agregarse o ser eliminados según la aplicación lo requiera.

Page 7: METODOS Y MODELOS POO

25

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

La tecnología de objetos puede potencialmente reducir el gasto de implementar nuevosobjetos por los ya disponibles, mediante mecanismos como el encapsulamiento, herencia,polimorfismo, y la agregación, etc. haciendo uso extensivo de la re-utilización (uso de objetos yaexistentes). Estas aplicaciones están relacionadas con el procesamiento y transferencia de datos,interfase de usuario. Existen dos tecnologías de objetos básicas:

1).- Tecnología Orientada a Objetos (Object Oriented Technology, OOT) que incluye:

" Programación orientada a objetos," Análisis, diseño y modelado orientado a objetos.

2).- Tecnología Basada en Objetos (Object Based Technology, OBT), usa mecanismos cliente /servidor, incluyendo:

" Programación basada en componentes" Análisis, diseño y modelado de componentes (objetos) distribuidos" Computo distribuido y concurrente.

Estas tecnologías tienen muchas ideas y enfoques en común, su principal diferencia esque los métodos orientados a objetos usan herencia y son presentados en especificaciones deprogramas o códigos y los métodos basados en objetos usan herencia de interfaces y sonpresentados en código binario ejecutable o código basado en DLL (La biblioteca de vínculosdinámicos).

Esta clasificación es muy parecida al concepto "white box" y "black box" donde en elconcepto de caja negra el usuario no sabe nada sobre estructura de componente y puede usarcomportamiento de esta caja en sus metas solo a través de las interfaces, pero para caja blancaconocemos propiedades de esta "caja" y podemos re-usar estos conocimientos en nuestras metasa través de herencia, u otras tecnologías.

2.5 TIPOS BASICOS DE METODOS ORIENTADOS A OBJETOS

2.5.1 Análisis y diseño orientados a objetos

Si damos una ojeada al panorama actual de análisis y diseño orientados a objetos nosencontraremos con pocas metodologías y muchos métodos, buena parte de los cuales observanun carácter básicamente "propietario", siendo muy pocos los que cubren el ciclo completo de vidadel software. Aparecerá claro, a la vez, que existe un escaso interés, ajeno a las cuitascomerciales, en estandarizar los métodos: es más: cuando el OMG (Object Management Group),en un intento normalizador, requirió la colaboración de los autores de métodos de OOA/OOD, unnutrido e importante grupo de éstos replicó con una carta pública en la que afirmaban que talestandarización no era en absoluto deseable. Parece que es ridículo pensar que existe un métodoorientado a objetos bueno para todo, como es risible afirmar que no existe ningún hombreabsolutamente estúpido. Se aprecia, también, la difuminación del hasta ahora habitual gapsemántico entre análisis y diseño, pero aun esto resulta turbador, pues la planificación prácticausualmente necesita de fases claras que permitan la evaluación de resultados y los pertinentescontroles de integridad y estabilidad. Las grafías, por último, resultan sospechosamente parecidasentre sí, y oscilan entre la simplicidad sospechosa y la prolijidad culpable.

Tras todo lo anterior no hay que intimidarse, la orientación a objetos realmente "funciona",y ya existe un importante acervo práctico de soluciones de software basadas en análisis y diseñosorientados a objetos. Pero también existe un nada despreciable anecdotario de fracasos ydespropósitos. La realidad es que el camino de la productividad, como el del infierno, estáfatalmente empedrado de ilusiones e intentos aventurados.

Page 8: METODOS Y MODELOS POO

26

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

Se necesitará alguna luz. Se intentará una revisión de los métodos comerciales.

2.6 METODOS COMERCIALES DE OOA/OOD

Es opinión extendida que en la arena de los métodos OOA/OOD existen dos corrientesprincipales, dividiendo a estos en:

Estáticos (enfocados a datos), en lo que lo importante es la estructura de datos anexa alos objetos y las operaciones que sobre ella operan.

Dinámicos (enfocados a comportamientos o enfocados a responsabilidades): un objetotiene sentido en estos métodos cuando exhibe un comportamiento diferencial respecto del resto delos objetos. Tal comportamiento puede referirse bien al objeto en sí (los cambios que puedenoperarse en su representación interna), o bien a sus relaciones con otros objetos.

Pero la verdad es que ésta es una diferencia puramente académica. Lo cierto es que lamayoría de los métodos viene desplazándose, afianzados en el borboteo comercial de las Basesde Objetos (OODBMSs), hacia esquemas puramente dinámicos. Y es que divisiones como laanterior pueden encontrarse con demasiada frecuencia en la literatura, cada vez más extensa,sobre el tema, fundamentalmente debido a la gran profusión de métodos con bases teóricas untanto difusas. Y si no échenle un vistazo a algunos (imposible disponer de una lista actualizada detodos ellos) de los actuales métodos de OOA/OOD (intencionadamente desordenados, para nogenerar falsas esperanzas):

Object Oriented Design OOD Grady Booch

Object Behaviour Analysis OBA Rubin & Goldberg

Methodology for Object Oriented

Software Engineering of Systems MOSES Henderson-Sellers & Edwards

General Object Oriented Design GOOD Seidewitz & Stark

Object Oriented SoftwareEngineering

OOSE Ivar Jacobson

Visual Modeling Technique VMT IBM

Texel Texel

Object Modeling Technique OMT Rumbaugh y otros

Better Object Notation BOM Nerson

Object Oriented System Analysis OOSA Shlaer & Mellor

Object Oriented Structured Design OOSD Wasserman et al.

Systems Engineering OO SEOO LBMS

Syntropy Cook y otros

METODOS SIGLAS AUTORES

Page 9: METODOS Y MODELOS POO

27

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

Object Oriented Jackson OOJSD Jackson

Structured Design HOOD ESA

Hierarchical Object Oriented Design OOA Coad & Yourdon

Object Oriented Analysis OOD Coad & Yourdon

Object Oriented Design OSA Embley y otros

Object Oriented System Analysis FOAEmbley y otros

Colbert E. Colbert

Frame Object Analysis SOMA Andleigh/Gretzingr

Semantic Object Modelling Approach Ian Graham

Berard Berard

ADM3 Donald Firesmith

Ptech OOA&D Martin & Odell

Object Oriented Rôle Analysis

Synthesis and Structuring OORASS Reenskaug et al.

Fusion Coleman y otros

Desfray Softeam

Como fácilmente se comprobará, en la tabla anterior se mezclan métodos de análisis y dediseño porque, pese a lo que anuncien sus autores o aun su mismo nombre, la distinción entreanálisis y diseño se difumina, como antes comentábamos, de forma turbadora (aunque claramentedeseable respecto al modelado de la realidad).

2.7 METODOS DE ANALISIS ORIENTADOS A OBJETOS

2.7.1 Método OOSA de Shlaer/Mellor

El primer paso del método de Shaler y Mellor es la definición de objetos y de sus atributos.La notación de modelado de entidades desciende de la notación de Ward/Mellor. Este método sepuede clasificar como trilateral, y se desarrolla creando un modelo de información (o de datos) quemuestran los objetos, atributos y relaciones. Este método recibe un apoyo parcial de laherramienta CASE, llamada teamwork.

METODOS SIGLAS AUTORES

Page 10: METODOS Y MODELOS POO

28

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

2.7.2 Método Coad Yourdon

Existe una aproximación que surgió de los sicarios de Yourdon y se debe mucho a latradición de modelado de entidades y relaciones, esta aproximación se resume en Coad Yourdon yresulto especialmente interesante al ser la primera descripción ampliamente difundida de unmétodo de análisis y una notación de apoyo razonablemente completos, prácticos, orientados aobjetos y adecuados para proyectos comerciales. Coad Yourdon presenta una notación menostorpe que la que se encontraba en Booch, Shlaer/Mellor o a la mayoría de las aproximaciones dediseño orientado a objetos.

Una de las características más notables de las notaciones de Shlaer/Mellor y CoadYourdon es que los atributos resultan completamente explícitos. Coad Yourdon sugiere que elanálisis se produce en cinco fases a las que dan los nombres siguientes:

♦ Temas: los temas son de tamaño tratable en cuanto contendrán solo aproximadamente entrecinco y nueve objetos.

♦ Objetos: se identifican los objetos con detalle.

♦ Estructuras: se identifican dos estructuras completamente distintas." Estructuras de clasificación." Estructuras de composición.

♦ Atributos: los atributos son detallados y se especifican las relaciones de modalidad y demultiplicidad.

♦ Servicios: esta es la palabra que emplea Coad Yourdon para las operaciones.

El método no es perfecto pero resulta sencillo y unario.

2.7.3 Método Rumbaugh-OMT

La técnica de modelado de objetos (OMT) es considerado ampliamente como uno de lossistemas de análisis orientados a objetos más completos que se han publicado hasta el momento.OMT consta de tres fases o actividades principales: análisis, diseño de sistemas y diseño deobjetos.

El análisis presupone que existe una especificación de los requisitos y se desarrollaconstruyendo tres modelos distintos mediante el uso de tres notaciones diferentes.

El diseño de sistemas se realiza organizando los objetos en subsistemas identificando laconcurrencia a partir del modelo dinámico (DM), asignando subsistemas a procesadores o tareas,diciendo si los datos deben o no estar almacenados en archivos, en memoria o en un sistema deadministración de base de datos, diciendo el uso de periféricos, y recursos globales.

El diseño de objetos implica transformar la información del DM y del modelo funcional (FM)en operaciones de modelo objeto (OM), los pasos restantes consisten en:

1. Diseñar algoritmos.2. Optimizar vías de acceso.3. Realizar el control.4. Ajustar estructuras.5. Indicar los detalles de los atributos.6. Empaquetar las estructuras en módulos.7. Escribir el informe de diseño, incluyendo un OM, DM, y FM detallados.

Page 11: METODOS Y MODELOS POO

29

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

El OMT tiene la intención de ser un método tanto para el análisis como para el diseño,pero, aun cuando contiene un método bastante completo para el análisis, solamente tiende a darindicaciones practicas para el diseño. El OMT abarca mas temas que la mayoría de los demásmétodos, pero sigue siendo incompleto en algunos aspectos y resulta muy complejo aprender yutilizar sus notaciones.

2.7.4 Método Soma

Es un método semánticamente rico en análisis orientado a objetos. Añade reglas,conjuntos difusos, capas con una semántica clara y además permite a los diseñadores transformarlas reglas en afirmaciones. Se desarrolla empleando siete actividades:

♦ Capas♦ Objetos♦ Estructuras

Estructuras de utilizaciónEstructuras de clasificaciónEstructuras de descomposición

♦ Semántica de asociaciones y datosModalidad y multiplicidad

♦ AtributosTipos, valores por omisión, validación, seguridad

♦ Métodos u operacionesParámetros y sus tipos, afirmaciones

♦ ReglasReglas de controlReglas de negociosActividades

2.8 METODOS DE DISEÑO ORIENTADO A OBJETOS

Los cambios de diseño necesarios están localizados, y son improbables las interaccionesinesperadas con otros módulos del programa.

El diseño basado en objetos es adecuado para una realización distribuida, paralela osecuencial.

Se eliminan las zonas compartidas de datos, reduciendo, de esta manera, la posibilidad demodificaciones inesperadas, así como otras anomalías en la actualización.

Los métodos de diseño orientados a objetos comparten los siguientes pasos básicos dediseño, aunque los detalles varíen mucho.

" Se identifican los objetos y sus atributos, así como los nombres de los métodos." Se establece la visibilidad de cada objeto en relación con los demás objetos." Se establece la interfaz de cada objeto y el tratamiento de excepciones." Se realizan y comprueban los objetos.

2.8.1 Método de Booch

El método original de Booch comienza por un análisis de flujo de datos, que se utilizaentonces como ayuda para identificar objetos, buscando tanto objetos concretos como objetosabstractos en el espacio del problema, que se encontraran a partir de las burbujas y almacenes dedatos en el diagrama de flujo de datos (DFD).

Page 12: METODOS Y MODELOS POO

30

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

La notación y método de diseño revisados de Booch consta de 4 actividades principales y 6notaciones. Los primeros pasos tratan los aspectos estáticos del sistema, tanto en su aspectológico como en su aspecto físico.

Estructura lógica♦ Diagramas de clases♦ Diagramas de objetos

Estructura física♦ Diagramas de módulos♦ Diagramas de procesos

Dinámica de clases♦ Diagramas de transición de estados

Dinámica de instancias♦ Diagramas temporales

El de Booch es uno de los métodos de diseño mejor desarrollado y es superior a GOOD ya HOOD, en tanto en cuanto no esta relacionado con Ada, y por poseer, además una noción deestructura mucho mas general.

2.8.2 Método Good

El método de diseño general orientado a objetos (GOOD) fue desarrollado en la NASA porSeidewitz y Stark (1983). Trata tanto la especificación de requisitos como el diseño de proyectos enAda. El método se desarrolla, al igual que sucede con el de Booch, partiendo de un conjuntopreliminar de diagramas de flujo por capas, llegando hasta la identificación de los objetosimplicados. En estos DFD se buscan objetos externos, depósitos de datos, interfaces de control ydepósitos de control.

2.8.3 Método Hood

La noción de la jerarquía de prioridades es aprovechada también por otro método, HOOD.La “H” de HOOD quiere decir jerárquico. Este método también esta muy orientado al desarrollo enAda y fue desarrollado en la agencia espacial europea. Sufrió la influencia directa de GOOD, ytambién se basa en el método de maquinas abstractas. En HOOD los objetos son o pasivos oactivos. Los objetos pasivos solamente son capaces de utilizar los objetos de otros objetospasivos, pero los activos pueden utilizar los servicios de cualquier objeto. HOOD es un método derefinamiento progresivo que se basa en la descomposición de un objeto del máximo nivel y,posteriormente, en la descomposición de los objetos así resultantes.

El método HOOD utiliza un cierto numero de pasos para descomponer cada objeto,comenzando por un paso de diseño básico que podría implicar técnicas de realización dediagramas de procedentes de otros métodos de análisis y diseño estructurado. El paso siguienteconsiste en generar una estrategia informal de soluciones. Esto se descompone en un ciertonumero de tareas: un esbozo del lenguaje natural, diagramas HOOD de primera mano y unadescripción del nivel actual de abstracción. El tercer paso consiste en formalizar la estrategia desolución. Esto se hace por fases, identificando y describiendo los objetos y sus operaciones.

2.8.4 Método OOSD

El diseño estructurado orientado a objetos (OOSD), que fuera presentado por Wasserman,Picher y Muller (1990). Hablando estrictamente OOSD no es un método sino una notación a la cualse pueden agregar reglas metodológicas. Esta notación es probablemente la que más próxima seencuentra al espíritu de la orientación a objetos. OOSD es una notación no propietaria para el

Page 13: METODOS Y MODELOS POO

31

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

diseño arquitectónico, que cambia el diseño por refinamiento progresivo estructurado y el diseñoorientado a objetos. Una vez mas OOSD emplea una notación que se deriva de la de Booch, pero,también tiene influencia de los diagramas estructurales.

OOSD no es tanto un método como una notación para apoyar los métodos de diseñoorientado a objetos en general. Los usuarios de OOSD pueden añadir reglas de diseño según cualsea el método concreto que esté utilizando.

Otros puntos importantes de OOSD son la facilidad con la que es aceptado por losdesarrolladores que ya están familiarizados con el diseño estructurado así como lo adecuado queresulta para los sistemas de tiempo real.

OOSD es una de las notaciones de diseño mas avanzadas híbrido orientado a objetos debajo nivel. Parece improbable que sea posible extenderla hasta una notación de análisiscongruente, como consecuencia de la dificultad que surge al tratar un gran numero de métodos ycomo consecuencia también de la ausencia de una forma en la que se puedan tratar estructuras yatributos de datos muy complejos. Por otra parte, resulta mas adecuada para el diseñoarquitectónico o lógico que para el diseño físico.

2.8.5 Método JSD y OOJSD

El diseño estructurado de Jackson (JSD) es un método basado en objetos mas que unmétodo completamente orientado a objetos. Los modelos JSD se descomponen en términos desucesos o de acciones y de sus dependencias temporales. Dentro de estos sucesos laaproximación JSD define, en primer lugar los objetos. El paso siguiente construye unaespecificación en términos de procesos secuenciales que se comunican, y que pueden acceder losunos al estado de los otros. El método puede resultar útil si el diseño orientado a objetos deberealizarse en un lenguaje convencional.

Es posible identificar un cierto numero de similitudes entre JSD y los métodos de diseñoorientados a objetos. JSD contiene técnicas útiles para la identificación de entidades y de métodosdentro de su fase de modelado. Además, la técnica de análisis por ordenación temporal de JSD yel diseño orientado a objetos utilizan el concepto de los objetos de forma similar, aun cuando susterminologías son distintas.

2.8.6 Método OODLE

El OODLE (lenguaje de diseño orientado a objetos) es un componente especifico de diseñodel método Shlaer/Mellor, cuya aproximación al análisis orientado a objetos, prescribe 4 tipos dediagramas, interrelacionados mediante un esquema de capas que ayuda con la documentación ycon un potencial de apoyo automático. Se dice que la notación es independiente del lenguaje, auncuando se aprecia ciertos aspectos de Ada en la notación y el apoyo de los amigos recuerda al deC++. Los tipos de diagramas son los siguientes:

♦ Diagramas de dependencia, que muestran relaciones de utilización (cliente/servidor) y deamigos 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 métodos 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 capítulo, que la propuesta de lametodología es tomada como una comparación, en donde lo que nos interesa saber, es lo que seentiende por una tecnología basada en una metodología, para así tener un interés para regresar y

Page 14: METODOS Y MODELOS POO

32

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

comprender el significado de lo que es orientado a objetos. Y ver como una metodología respondecon respecto a otras metodologías.

En muchos instancias individuales u organizaciones de compañías han iniciado con laevaluación y selección de una metodología para el uso de desarrollo de software. En algunoscasos estas instancias tienen un tiempo límite para llevar acabo este recurso, por lo tanto paraellos la comparación de metodología viene de un atajo de punto medio de selección.Desafortunadamente la calidad de la decisión descansa únicamente con la calidad de lacomparación de la metodología en uso.

La comparación entre metodologías da la pauta para estar seguro que la selección iniciales la correcta a otras metodologías apropiadas ya existentes.

La justificación de la tecnología dice que existe una gran comunidad en la ingeniería desoftware que ve el cambio. En algunos casos el cambio es encontrar cambios en la practica. Poreso la razón de la comparación de las metodologías. Se comparan las ideas, pasos, conceptos,notación, mecanismo de comunicación y la especificación técnica de 6 métodos aceptados.

Los seis métodos son: Booch, Martín/Odell, Coad Yourdon, Rumbaugh, Wirfs-Brock yShlaer Mellor.

2.10 RESUMEN

Método. Es un conjunto de lineamientos y reglas, incluyendo los siguientes componentes.

Conceptos de modelado. Permiten la captura de la semántica y el conocimiento acerca de unproblema y su solución.

Modelo es una representación formal de un sistema con cierto nivel de abstracción.

Metamodelo. Es un modelo que describe otros modelos, describe los conceptos del métodomodelo y sus relaciones.

Proceso de desarrollo iterativo. Representa una secuencia de pasos para la construcción eimplementación de modelos.

Modelos Orientados a Objetos

El modelo representa un aspecto de la realidad y se construye de modo que nos ayude acomprender a esta. El modelo es mucho más sencillo que la realidad, al igual que un avión aescala es mucho más sencillo que un avión de verdad. Podemos manejar el modelo y esto nosayudara a idear sistemas o rediseñar áreas de la empresa.

El Mundo Real

El mundo real es el dominio que abarca problemas, soluciones y esfuerzos para resolverlos problemas. El mundo real incluye:

" Cosas o entidades que tienen un propósito o rol dentro del mundo." Relaciones entre entidades." Ocurrencias entre entidades.

Page 15: METODOS Y MODELOS POO

33

Análisis y Diseño Orientadoa Objetos

Instituto Tecnológicode la Laguna

Paola Romero Guillén

Los métodos de análisis y diseño orientados a objetos pueden ser desglosados en dostipos básicos:

TERNARIA o TRILATERAL. La que utilizan los métodos estructurados ya existentes mediante tresnotaciones distintas; datos, dinámica y procesos. Es fácil de entender tanto su filosofía como susnotaciones por personas familiarizadas con los métodos estructurados.

UNARIA. Dado que los objetos combinan de manera innata los procesos (métodos) y los datos,solamente es necesaria una notación, son" Más congruentes con la metáfora de orientación a objetos." Más fáciles de aprender, partiendo desde cero.

Métodos comerciales de OOA/OOD

Es opinión extendida que en la arena de los métodos OOA/OOD existen dos corrientesprincipales, dividiendo a estos en:

" Estáticos (enfocados a datos), en lo que lo importante es la estructura de datos anexa a losobjetos y las operaciones que sobre ella operan.

" Dinámicos (enfocados a comportamientos o enfocados a responsabilidades): un objeto tienesentido en estos métodos cuando exhibe un comportamiento diferencial respecto del resto delos objetos. Tal comportamiento puede referirse bien al objeto en sí (los cambios que puedenoperarse en su representación interna), o bien a sus relaciones con otros objetos.

2.11 CUESTIONARIO

1. ¿Qué es un método?2. ¿Qué diferencia hay entre un método y una metodología?3. ¿Qué es un metamodelo?4. Explique a que se refiere modelado del mundo real.5. En que consiste lo comercial del AOO y DOO.6. Mencione algunos métodos de AOO7. Mencione algunos métodos de DOO