Enviado por araceli_lecuandaEl propósito de este trabajo es complementar mi examen profesional con el tema: Sistemas de Información, para la Licenciatura de Sistemas Computacionales. En esta investigación se comparan varias Metdologías Modernas para el Desarrollo de Sistemas de Información. Estas utilizan el paradigma de Orientación a Objetos. Este es el enfoque actual de los Desarrollos de Sistemas; primero se tuvo un enfoque en Desarrollo Convencional, despues Estructurado y actualmente Orientado a Objetos.
En esta comparación lo que se busca es en primer lugar saber cuales son los nombres de tantas metodologías existentes y en segundo lugar, conocer el enfoque de cada una, la manera en que definen los conceptos básicos de Orientación a Objetos, cómo son sus notaciones, sus procesos, qué parte del ciclo de vida abarcan o si abarcan todo el ciclo de vida. Qué recursos disponibles hay para utilizar una de estas metodologías, existen libros disponibles, qué tipo de conocimientos necesitamos tener para poder utilizarlas, en qué lenguajes de programación se apoyan.
Y teneniendo esta base de conocimientos, ahora sí poder elegir una de ellas para utilizarla en el desarrollo de los sistemas en los que sea participe tanto yo, como cualquier persona que lea este documento.
Las primeras computadoras salieron en la década de los 40s, se llamó la primera generación, las computadoras estaban construidas por medio de tubos de vacío y eran programadas en lenguaje de máquina.
En la década de los 50s se empezó con los Sistemas de Procesamiento de Transacciones, el objetivo de muchos de esos primeros sistemas era reducir costos, el cual era posible mediante la automatización de numersos sistemas administrativos rutinarios y de trabajo intensivo. Las computadoras son de la segunda generación; estaban construídas con circuitos de transistores. Eran programadas con tarjetas perforadas, con lenguajes llamados de alto nivel. No contaban con disco duro. Tampoco existían los discos flexibles. Aparecen los procesadores de plabras como Word Star, hoja de cálculo como Visicalc. Los sistemas de información que sobresalieron son: Cuentas por Cobrar y Nómina.
Los Sistemas de Información administrativos, empezaron a desarrollarse en la decada de los 60s y se caracterizaron por utilizarlos para producir informes administrativos que en la mayoría de los casos eran elaborados de manera periódica. La programación Orientada a Objetos fue discutida primeramente a finales de los 60s por la comunidad de SIMULA. Surge la tercera generación de las computadoras. Su fabricación electrónica estaba basada en circuitos integrados. Se manejaban por medio de lenguajes de control de los sistemas operativos. Aparecen las minicomputadoras. Los sistemas de información que sobresalieron son: Flujo de Efectivo, Presupuestos, Manejo de Personal y de Manufactura.
En los 70s aparecen las computadoras de cuarta generación. Aparecen los microprocesadores, las computadoras se hacen más pequeñas y baratas por lo que se extiende su uso al mercado industrial. Surgen mas aplicaciones, paquetes gráficos. A principios de los 70s, fue una importante parte de el lenguanje Smalltalk desarrollado por Xerox PARK. Mientras, el resto del mundo salía adelante con lenguajes como COBOL o FORTRAN y usaban métodos de descomposición funcional para manejar los problemas de diseño e implementación en los SI. Había pocas si no es que ninguna, discusiones enfocadas en diseño de orientación a objetos, y virtualmente ninguna sobre análisis basado en orientación a objetos. El procesador principal de esta década es el 404. Los sistemas de información que sobresalieron son de Planeación y Pronóstico.
En la década de los 80s, los grandes avances tecnológicos permitieron el desarrollo de SI de menor costo y mayor potencia que los anteriores. Empleados de todos los niveles comenzaron a utilizar computadoras personales para realizar las mas diversas tareas; ya no dependían solo del departamento de sistemas de información para resolver todas sus necesidades informativas. La gente se dio cuenta entonces de que era posible utilizar los sistemas de computación en apoyo a actividades adicionales de toma de decisiones. Y se generaron os Sistemas de Apoyo para la toma de Decisiones. Las computadoras entonces cambiaron a ser de quinta generación. En las que se cuentan los procesadores 8080, 8086, 80286. Los sistemas de información que sobresalieron son: Sistemas de Soporte a Decisiones, Pago a Usuarios Finales y Planeación Estratégica. Surge la Administración de Recursos de Información y los Centros de Información
A partir de los 90s surgen los procesadores 80386, 80486, y Microprocesadores Pentium. En esta se han conseguido importantes avances tanto en la IA como en los SE. El valor excepcional de los sistemas expertos radica en el hecho de que permiten a los organizadores proveerse de y utilizar el saber de expertos y especialistas. Por lo tanto, años de experiencia y habilidades especificas no se pierden del todo cuando un experto muere, se retira o cambia de trabajo. Son aplicables a casi cualquier campo o disciplina. Los temas principales en los sistemas de información son: Servicios de Información, Estaciones de Trabajo y Administración de datos centralizados.
Cuatro cambios ocurrieron a través de las décadas pasadas y ahora son factores claves para los 90s:
En el 2000 la información ha ejercido un profundo impacto en la sociedad, al grado de que hay quienes llaman a esta época la Era de la Información. La sociedad industrial ha dado paso a una nueva sociedad, en donde la mayoría de las personas trabajan con información en lugar de producir bienes. Los procesadores principales son los Pentium. Y el tema principal en Sistemas de Información es el Internet, y los Sistemas de Información de la Linea del Frente.
Qué es Orientado a Objetos?
Significa que el sistema se organiza como una colección de objetos que interactúan entre sí y que contienen tanto estructuras de datos como un comportamiento.
Esto se opone a la programación convencional, en la cual las estructuras de datos y el comportamiento solamente estan relacionadas de forma débil, ya que estos se enfocan principalmente a las funciones.
Objeto.
Los objetos son las cosas físicas y conceptuales que encontramos en el universo alrededor de nosotros. Hadware, software, documentos, seres humanos, los conceptos son todos los ejemplos de los objetos.
Características de los Objetos.
Identidad. Los datos estan cuantificados en entidades discretas y distinguibles denominadas objetos. Ejem una televisión, una bicicleta, un árbol. Los objetos pueden ser concretos, como un archivo en un sistema de archivos, o bien conceptuales como la política de planificación en un sistema operativo con multiprocesos. Cada objeto posee su propia identidad inherente. En otras palabras: dos objetos seran distintos aun cuando los valores de todos sus atributos (tales como el nombre y el tamaño) sean idénticos.
Clasificación. Significa que los objetos con la misma estructura de datos (atributos) y comportamiento (operaciones) se reunen para formar una clase. La selección de clases es arbitraria y depende de la aplicación.
Objetos: Bicicleta de montaña, Bicicleta de carreras, Bicicleta de niños
Clase Bicicleta:
Atributos: Tamaño del cuadro, tamaño de rueda, material, marca, velocidad
Operaciones: mover, reparar, cambiar velocidad
Objetos: Triangulo, Cuadrado, Octagono
Clase Poligonos:
Atributos: vertices, color del borde, color del interior
Operaciones: dibujar, borrar, mover
Polimorfismo. Significa que una misma operación puede comportarse de modos distintos en distintas clases. La operación mover por ejem, se puede comportar de modo distinto en las clases Ventana y Pieza de ajedrez. Una operación es una acción o una transformación que se lleva a cabo o que se aplica a un objeto. Justificar a la derecha, visualizar y mover son ejemplos de operaciones. Una implementación específica de una operación por parte de una cierta clase es lo que se denomina método. Dado que los operadores orientados a objetos son polimórficos es posible que haya más de un método que lo implemente.
En el mundo real una operación es simplemente, una abstracción de comportamiento análogo entre distintas clases de objetos. Cada objeto "sabe" llevar a cabo sus propias operaciones. Sin embargo, en un lenguaje orientado a objetos es este el que selecciona automaticamente el método correcto para implementar una operación basandose en el nombre de la operación y en la clase del objeto que esta siendo afectado. El usuario de una operación no necesita ser consciente del número de métodos que existen para implementar una cierta operación polimórfica. Se pueden añadir nuevas clases sin modificar el código existente, siempre y cuando se proporcionen métodos para todas las operaciones aplicables a las nuevas clases.
Herencia. Es compartir atributos y operaciones entre clases tomando como base una relación jerárquica. En términos generales se puede definir una clase que después se irá refinando sucesivamente para producir subclases. Todas las subclases poseen o heredan, todas y cada una de las popiedades de su superclase y añaden, además, sus propiedades exclusivas. No es necesario repetir las propiedades de las superclases en cada subclase. Por ejem Ventanadedesplazamiento y ventanafija son subclases de ventana. Ambas subclases heredan las propiedades de ventana tales como una región visible de la pantalla. La ventanadedesplazamiento añade una barra de desplazamiento y un ascensor. La capacidad de sacar factor común a las propiedades de varias clases en una superclase común y de heredar las propiedades de la superclase puede reducir muchísimo la repteción en el diseño y en los programas siendo una de las ventajas pricipales de un sistema orientado a objetos.
Metodología. Conjunto de métodos empleados para el desarrollo de sistemas automatizados.
Una metodología completa es algo más que una notación, un proceso, y herramientas. Además de una "notación, de un proceso, y de herramientas," estas "metodologías completas" proporcionan:
5. EL ENFOQUE DE ESTA INVESTIGACION
Este trabajo consiste en una comparación de modernas metodologías de desarrollo de sistemas orientados a objetos en las que se identificará y cuantificará la ayuda de estas para el proceso de desarrollo.
Debido a que a la fecha ninguna de las metodologías que se van a comprar cumplen completamente con las características mencionadas anteriormente, ya que falta mucho trabajo por hacer para que sean unas metodologías completas. La comparación se hace con ese conocimiento y entonces "metodología" se considera tambien como un método.
Las metodologías a comparar, ordenadas alfabéticamente son:
En esta comparación se consideran cuatro áreas específicamente:
La pragmática de una metodología consiste en:
La expectativa de cualquier comparación de la metodología es que proporcionará una base para desechar las metodologías que no parecen dar valor dependiendo de la situación. Esta comparación maneja esta expectativa. Planteando preguntas de las metodologías presentadas y usando los resultados documentados para contestar a las necesidades particulares. Estas preguntas sirven como punto que partida para una investigación posterior. Una muestra de las preguntas incluye:
En esta sección se cita a cada metodología para comprarar la opinión de cada autor de un número de conceptos orientados al objeto.
A. DEFINICIÓN DEL "OBJETO" EN CADA METODOLOGIA
Berard 1992.
Un objeto que se utiliza para crear las instancias, es decir, una plantilla, descripción, patrón, o "modelo" un una categoría o colección de artículos muy similares. Entre otras cosas, una clase describe el interfaz que los estos artículos presentarán al mundo exterior, los métodos, las constantes, y las excepciones es decir, disponibles y apropiados. Una clase representa una abstracción de los artículos. Una clase es realmente una familia de clases muy de cerca relacionadas. La clase es un concepto recurrente. Específicamente, podemos definir clases como un compuesto de otras clases (es decir, las clases compuestas heterogéneas y clases compuestas homogéneas), en términos de sí mismo (una clase recurrentemente definida), como herencia de características de unas o más otras clases (es decir, los superclasses de la clase), y como abastecimiento de características a otras clases (es decir, las subclases de la clase). En algunos lugares, se definen las clases como "el sistema de todos las instancias de un tipo," y del término "tipo" se da la definición antedicha para la clase.
Booch 1991.
Algo a lo que se le pueden hacer cosas. Un objeto tiene estado, comportamiento, e identidad; la estructura y el comportamiento de objetos similares se definen en su clase común. Los términos instancia y objeto son intercambiables.
Coad y Yourdon 1990.
Una abstracción de algo en un dominio del problema, reflejando las capacidades de un sistema a mantener la información de este, interactúa recíprocamente con esta información, o ambas (interactuar y mantener); una encapsulación de los valores atributos y sus usos exclusivos (sinónimo: una instancia)
Embley y Kurtz 1990.
Un objeto es una persona, un lugar, o una cosa. Un objeto puede ser físico o conceptual... La idea es que un objeto es una sola entidad o noción. Cada objeto es un individuo único. Un objeto se puede relacionar con o componer de otros objetos, pero cada objeto es único.
Martin y Odell 1992.
Cualquier cosa a la cual un concepto, o tipo de objeto, se aplica – una instancia de un concepto o tipo de objeto. En OOPLs, es cualquier instancia de una clase."
Rumbaugh 1991.
Definimos un objeto como un concepto, una abstracción, o cosa con límites para el problema actual. Los objetos responden a dos propósitos: Promueven la comprensión del mundo verdadero y proporcionan una base práctica para la puesta en práctica de la computadora. La descomposición de un problema en objetos depende del juicio y de la naturaleza del problema. No hay una representación correcta.
Shlaer y Mellor 1992.
Un objeto es una abstracción de un sistema de cosas del mundo real, tales como:
Un objeto en OOA representa un solo caso típico pero sin especificar algo en el mundo verdadero - cualquier avión, no importa cual, mientras sea representativo. El analista orientado al objeto distingue este concepto de un caso específico: Avión número 8945, una fuerza aérea, o un avión de Aeromexico, por ejemplo.
Wrifs-Brock 1990.
Los objetos saben ciertos datos sobre sí mismos (como por ejemplo, una persona sabe los colores de su pelo y ojos), y los objetos saben como hacer ciertas funciones (asi como una persona sabe comprar en el mercado o hacer su trabajo).
En un sentido, un objeto se puede ver como una declaración, que cierto conocimiento y ciertas operaciones están relacionados conceptualmente con otro, de modo que tenga sentido el unirlos.
ANALISIS
En las definciones del término "Objeto", se concluye lo siguiente:
Indica que ciertos métodos integran la mención de abstracción a sus definiciones del objeto, y otros consideran unicidad e identidad como crítica (solamente Rumbaugh menciona ambos). Además, la mención el comportamiento y estado se percibe limitada a esos métodos el centrarse en unicidad.
|
Metodología |
Mención de abstracción |
Unicidad o identidad |
Comportamiento o acciones |
Estado |
|
Berard |
X |
X |
||
|
Booch |
X |
X |
X |
|
|
Coad y Yourdon |
X |
X |
||
|
Embley |
X |
|||
|
Martin y Odell |
X |
|||
|
Rumbaugh |
X |
|||
|
Shlaer y Mellor |
X |
|||
|
Wirfs-Brock |
X |
X |
X |
B. DEFINICIÓN DE "CLASE" EN CADA METODOLOGIA
Berard 1992.
Un objeto el cual es utilizado para crear instancias, es decir, una plantilla, descripción, patrón, o "modelo" de una categoría o de una colección de artículos muy similares. Entre otras cosas, una clase describe la interfaz que los artículos presentarán al mundo exterior, ejem. los métodos apropiados y disponibles, las constantes, y las excepciones. Una clase representa una abstracción de los artículos. Una clase puede a si misma darse parámetros (ejem, representa realmente una familia de clases muy estrechamente relacionadas), a esto le llamamos dar parametos a la clase. Clase es un concepto recursivo. Específicamente, podemos definir clases como un compuesto de otras clases (es decir, clases compuestas heterogéneamente y clases compuestas homogéneamente), en términos de sí mismo (una clase definida recursivamente), como características de herencia de una o más clases (es decir, los superclasses de la clase), y como abastecimiento de características a otras clases (es decir, las subclases de la clase). En algunos lugares, las clases se definen como "el conjunto de todas los instancias de un tipo," y del término "tipo" se da la definición para clase.
Booch 1991.
Un conjunto de objetos que comparten una estructura común y un comportamiento común. Los términos clase y tipo son generalmente (pero no siempre) intercambiables; y una clase es un concepto levemente distinto a tipo, en el hecho que acentúa la importancia de jerarquías de clases.
Coad y Yourdon 1990.
Una descripción de uno o más objetos con un conjunto uniforme de cualidades y de servicios, incluyendo una descripción de cómo crear nuevos objetos en la clase.
Clase-Objeto. Un significado del término "una clase y los objetos en esa clase."
Embley y Kurtz 1990.
Identificación de conjunto de objetos que pertenecen juntos por una cierta razón lógica llamada clasificación. En OSA, un sistema de objetos que pertenecen juntos por una cierta razón lógica se le llama clase del objeto. El modelo de la Objeto-Relacion insita a los analistas a que organicen objetos en clases del objeto. Cada clase del objeto tiene un nombre genérico y denota a cualquier miembro de la clase del objeto. Así, en un ORM, una clase del objeto con nombre X señala una clasificación de los objetos cada uno de los cuales se considera ser un X. Como cada objeto en clase del objeto X es un X, los objetos en la clase son semejantes, por lo menos en un cierto sentido.
Martin y Odell 1992.
Una implementación de un concepto o de un tipo de objeto. En lenguajes de programación OO, los tipos de datos abstractos se llaman clases. En matemáticas, el significado de la clase es similar a el de sistema. El significado de la definición de OOPL de la clase se presentó de la definición matemática.
Rumbaugh 1991.
Una clase del objeto describe un grupo de objetos con las características similares (cualidades), el comportamiento común (operaciones), relaciones comunes a otros objetos, y la semántica común. La persona, la compañía, el animal, el proceso, y la ventana son todas las clases del objeto.
Shlaer y Mellor 1992.
No provee una definición explicita de "clase"
Wrifs-Brock 1990.
Los objetos que comparten el mismo comportamiento se dice que pertenecen a la misma clase. Una clase es una especificación genérica para un número arbitrario de objetos similares. Se puede pensar en una clase como plantilla para una clase específica de objeto.
ANALISIS
Mientras que el método de Shlaer y de Mellor utiliza diagramas de la clase y hace la mención significativa del término "clase" en su aproximación, no proveen ninguna definición explícita de la clase. Otra nota es que, Rumbaugh menciona que una clase debe identificar sus relaciones con otras clases, mientras que Embley menciona que el modelo de la Objeto-Relacion es útil en identificar clases. Estos dos métodos difieren de los otros métodos en su enfoque en relaciones como fundamental para el uso del término "clase."
|
Metodología |
Mención de abstracción |
Mención de Estructura |
Mención de Comportamiento |
Estado |
Relaciones |
|
Berard |
X |
X |
X |
||
|
Booch |
X |
X |
|||
|
Coad y Yourdon |
X |
X |
|||
|
Embley |
X |
X |
|||
|
Martin y Odell |
X |
X |
|||
|
Rumbaugh |
X |
X |
X |
X |
|
|
Shlaer y Mellor |
|||||
|
Wirfs-Brock |
X |
C. DEFINICIÓN DE "OPERACION" EN CADA METODOLOGIA
Berard 1992.
Una acción que es afectada por, o requerida por un objeto. Las operaciones pueden ser selectoras, constructivas, o iterativas. Una operación es contenida en la interfaz del objeto y tiene sus detalles descritos en un método correspondiente. Las operaciones pueden ser compuestas, es decir, integrada por otras operaciones. Sin embargo no es alentada, la encapsulación de operaciones compuestas dentro de la interfaz a un objeto.
Booch 1991.
Una cierta acción que un objeto realiza sobre otro para sacar una reacción. Todas las operaciones sobre un objeto específico se pueden encontrar en subprogramas libres y funciones o métodos. Los términos mensaje, método, y operación son generalmente intercambiables.
Coad y Yourdon 1990.
Un servicio es un comportamiento específico que un objeto es responsable de exhibir.
Embley y Kurtz 1990.
Además de estados y de transiciones entre estados, también deseamos modelar las acciones que un objeto realiza. Una acción puede causar acontecimientos, crear o destruir objetos y relaciones, observar objetos y relaciones, y enviar o recibir mensajes.
"Ponemos acciones en dos categorías en OSA: acciones no-interrumpibles y acciones interrumpibles. Las acciones no-interrumptibles son las acciones que el analista espera correr al terminar a menos que ocurran las excepciones o los fallos del sistema. Las acciones interrumpibles pueden ser suspendidas antes de que acaben de ejecutarse y puedan reasumir la ejecución despues. En OSA, pensamos en las acciones asociadas a transiciones como no-interrumptible, mientras que las acciones asociadas a los estados son interrumpibles."
Martin y Odell 1992.
Un proceso que se puede solicitar como unidad. Un solo paso que se realiza en una serie de pasos. Las operaciones pueden o pueden no cambiar el estado de un objeto. Las funciones son las operaciones que no cambian el estado. Sin embargo, en un esquema del acontecimiento, las operaciones que dan lugar a acontecimientos cambian estados (y se podrían más correctamente llamar las operaciones-cambia-estados).. Sin embargo cada operación estado-cambia puede estar como transacción. Una transacción es un proceso o una serie de procesos que actúan como unidad para cambiar el estado de un objeto. Los casos de operaciones se llaman operaciones invocadas. La especificación de cómo una operación debe ser realizada se llama método.
Rumbaugh 1991.
Una operación es una función o una transformación a la cual puede ser aplicada para o por los objetos en una clase. Contratar, despedir, y pagar utilidades son operaciones en la clase Compañía. Abiertas, cerradas, escondidas, y desplegadas son las operaciones de la clase ventana. Todos los objetos en una clase comparten las mismas operaciones.
Shlaer y Mellor 1992.
Tomadores de acontecimientos. Define una operación publicada que corresponde a cada acontecimiento generado por el objeto bajo consideración. Tales operaciones publicadas se conocen como tomadores de acontecimientos. Hay dos casos a considerar:
Wrifs-Brock 1990.
Cuando un objeto recibe un mensaje, realiza la operación solicitada ejecutando un método.
ANALISIS
En el repaso de cada definición de la "Operación", solamente Booch indica que el método y la operación son equivalentes. Algunos métodos visualizan los métodos de un objeto de una perspectiva externa, mientras que otros se centran en los métodos de un objeto de una perspectiva interna. El método solamente de Martin y de Odell no hace caso de la aplicación métodos externos o internos.
|
Metodología |
Operación = Método |
Externo |
Interno |
Estado |
|
Berard |
X |
X |
||
|
Booch |
X |
X |
||
|
Coad y Yourdon |
X |
|||
|
Embley |
X |
|||
|
Martin y Odell |
X |
|||
|
Rumbaugh |
X |
X |
||
|
Shlaer y Mellor |
X |
X |
X |
|
|
Wirfs-Brock |
X |
D. DEFINICIÓN DE "METACLASE" EN CADA METODOLOGIA
Berard 1992.
Metaclase: una clase que sus isntancias son asi mismos clases.
Booch 1991.
Metaclase: la clase de una clase; una clase que sus instancias son asi mismos clases
Coad y Yourdon 1990.
No se hace ninguna mención explícita de metaclase.
Embley y Kurtz 1990.
No se hace ninguna mención explícita de metaclase.
Martin y Odell 1992.
No se hace ninguna mención explícita de metaclase.
Rumbaugh 1991.
Las clases se pueden también considerar como objetos, pero son meta-objetos y objetos no del mundo real. El objeto del descriptor de la clase tiene características, y alternadamente tienen sus propias clases, que se llaman metaclases. Tratar todo como objeto proporciona una puesta en práctica más uniforme y una mayor funcionalidad para solucionar problemas complejos. Metaclase: una clase que describe otras clases.
Shlaer y Mellor 1992.
No se hace ninguna mención explícita de metaclase.
Wrifs-Brock 1990.
No se hace ninguna mención explícita de metaclase.
E. SIMBOLOGIA UTILIZADA PARA REPRESENTAR LOS CONCEPTOS POR BOOCH, COAD & YOURDON, Y RUMBAUGH
OBJETOS
CLASES
ASOCIACION
HERENCIA
AGREGACION
F. COMO LIDIA EL METODO CON CONCEPTOS QUE SON MAS GRANDES Y QUE PUEDEN SER REPRESENTADOS RAZONABLEMENTE POR UNA CLASE
Berard 1992.
El dominio del análisis orientado a objetos intenta identificar los artículos reutilizables localizados alrededor de los objetos, ejem clases, de instancias, sistemas de objetos interactuando, y kits.
Kit: una colección de objetos (ejem, clases, metaclasses, instancias de no-clase, otros kits, y los sistemas de objetos interactuando) que apoyan a un solo concepto, grande, coherente, orientado al objeto, ejem, ventanas, interruptores, y pólizas de seguro. Puede de hecho haber una cierta conexión física entre algunos miembros de un kit dado. Sin embargo, los kits son "granulares," es decir, mientras que todos los componentes de un kit son lógicamente relacionados, allí son muy pocas conexiones físicas las que los unen.
Sistema de objetos interactuando: una colección de objetos (ejem, clases, metaclasses, instancias de no-clase, kits, y otros los sistemas de objetos interactuando) todos aquellos que apoyan un concepto solo, grande, coherente, orientado al objeto, y en cuales allí deben ser una conexión física directa o indirecta entre cualquier dos objetos arbitrarios dentro de la colección. Además, los sistemas de objetos interactuando tienen por lo menos uno interno, independientemente del control ejecutado
Booch 1991.
Sin embargo, la estructura de la clase de un sistema grande puede contener varios cientos o algunos miles de clases. El intentar poner todas estas clases en un diagrama de la clase llega a ser poco manejable. Para ocuparse de este problema, necesitamos algunos medios de organización de clases en pedazos significativos, que nos conduce a la idea de una categoría de clase.
... el dominio del análisis intenta identificar las clases y los objetos que son comunes a todos los usos dentro de un dominio dado, tal como un software de la contabilidad.
... subsistema una colección de módulos, algunos de los cuales son visibles a otros subsistemas y otros de las cuales se ocultan.
Coad y Yourdon 1990.
Tema. Un tema es un mecanismo para dirigir a un lector (analista, experto del dominio del problema, encargado, cliente) a través de un modelo grande, complejo. Los temas son también provechosos para los paquetes del trabajo de la organización en proyectos más grandes, basado sobre investigaciones iniciales de OOA.
Embley y Kurtz 1990.
Una clase de alto nivel de objetos agrupa las clases de los objetos, sistemas de relaciones, y notas en una sola clase objeto.
Martin y Odell 1992.
No se hace ninguna mención explícita de esto.
Rumbaugh 1991.
Subsistema un componente importante de un sistema organizado alrededor de un cierto tema coherente. Un sistema se puede dividir en subsistemas usando particiones o capas. Sistema: colección organizada de componentes que interactúan. Partición: un subsistema que povee un tipo de servicio; una partición puede por si misma construir subsistemas de nivel mas bajo. Capas: un subsistema que provee múltiples servicios, todos los cuales estan en el mismo nivel de abstracción, construye en sistemas de nivel bajo de abstracción.
Shlaer y Mellor 1992.
Mientras que un dominio pequeño (consistiendo en cincuenta o pocos objetos) se puede analizar generalmente como unidad, los dominios grandes se deben particionar para hacer que el análisis sea una tarea manejable. Para hacer tal particionamiento, nos aprovechamos del hecho de que los objetos en un modelo de información tienden a formar racimos: grupos de objetos que son interconectados el uno con el otro por muchas relaciones. Por el contrario, relativamente pocas relaciones conectan objetos en diversos racimos. Al particionar un dominio, dividimos el modelo de la información de modo que permanezcan los racimos intactos... Cada sección del modelo de información entonces se convierte en un subsistema separado. Observe que cuando el modelo de información se particiona en subsistemas, cada objeto está asignado a exactamente un subsistema.
Wrifs-Brock 1990.
Hemos estado hablando de clases como si fueran las únicas entidades conceptuales que componían una aplicación. Pero dependiendo de la complejidad de su diseño, los varios niveles de la encapsulación se pueden jerarquizar, una dentro del otro... Un subsistema es un sistema de clases (y posiblemente de otros subsistemas) que colaboran para satisfacer un sistema de responsabilidades. Aunque no existen los subsistemas mientras que el software se ejecuta, son entidades conceptuales útiles.
Los aplicaciones son programas completos. Una simulación completamente desarrollada, un sistema del procesamiento de textos, una hoja de cálculo, una calculadora, o un sistema del pago de la nómina son ejemplos de aplicaciones.
G. ENFOQUE A LA ORIENTACION DE OBJETOS
Solamente Booch y Berard tienen una cantidad significativa de texto en describir el dominio del análisis orientado a objetos.
Shlaer y Mellor sugieren que los objetos se puedan localizar usando las fuentes siguientes:
Coad y Yourdon recomiendan la busqueda de objetos con las siguientes fuentes:
Estas dos aproximaciones, aunque son útiles, son limitados.
Booch, Berard, y Wirfs-Brock parecen ser los más orientados al objeto, con su énfasis terminante en objetos, y el bajo enfoque en asociaciones y relaciones.
Coad y Yourdon parecen ser los siguientes, con las carácterísticas de los datos (las cualidades y las variables de la isntancia).
Después Rumbaugh, Embley y Kurtz, y Shlaer y Mellor, con un énfasis fuerte en asociaciones y relaciones casi en un nivel que hace a estos pares de los artículos de objetos.
Martin y Odell son los menos orientados a objetos, aparentemente presentando extensiones leves a la ingeniería de información con una orientación del comportamiento muy pesada.
A. COMPONENTES DE LA NOTACIÓN DE LAS MÉTODOLOGIAS
Cada metodología es caracterizada por un sistema específico de modelos (componentes de la notación)
Berard 1992.
Booch 1991.
Coad y Yourdon 1990.
Embley y Kurtz 1990.
Martin y Odell 1992.
Rumbaugh 1991.
Shlaer y Mellor 1992.
Wirfs-Brock 1990.
B. REPRESENTACIONES GRAFICAS DE ALGUNOS DIAGRAMAS UTILIZADOS POR BOOCH, COAD & YOURDON, Y RUMBAUGH
BOOCH
Para ver el gráfico seleccione la opción "Descargar"
COAD & YOURDON
Para ver el gráfico seleccione la opción "Descargar"
RUMBAUGH
Para ver el gráfico seleccione la opción "Descargar"
C. CONCEPTOS ESTÁTICOS QUE LA NOTACIÓN ES CAPAZ DE EXPRESAR
Se consideraron los siguientes conceptos:
|
Metodología |
Agregación |
Especialización |
Comunicación |
Módulo de Interfaz |
Calificaciones para la reutilización |
|
Berard |
Red de Semantica |
Red de Semantica |
Diagrama Objeto Mensaje |
Grafica de la unidad del Programa |
Red de Semantica |
|
Booch |
Diagrama de Clases |
Diagrama de Clases |
Diagrama de Clases |
Modulo |
Diagrama de Objetos |
|
Coad y Yourdon |
Entero-Parte |
Estrcutura Generalizacion-Especializacion |
Mensaje |
||
|
Embley |
Modelo Relacion Objeto |
Modelo Relacion Objeto |
Modelo Relacion Objeto |
||
|
Martin y Odell |
Diagrama de composicion de objetos |
Diagrama de la Jerarqia Objeto Generalizacion |
Diagramas de flujo del objeto |
||
|
Rumbaugh |
Modelo del Objeto |
Modelo del Objeto |
Escenario |
||
|
Shlaer y Mellor |
Herencia |
Modelo Comunicacion de Objetos |
Diagrama de clases |
||
|
Wirfs-Brock |
Tarjeta de Clases |
Jerarquias |
Colaboradores |
D. CONCEPTOS DINÁMICOS QUE LA NOTACIÓN ES CAPAZ DE EXPRESAR
La representación de los cambios de estado, la sincronización, y en cierta forma las interacciones del objeto son elementos esenciales para modelar el comportamiento de los sistemas.
|
Metodologia |
Cambios de Estado |
Tiempos |
|
Berard |
Diagrama Transicion Estado / Grafica Petri Net |
Diagrama de Tiempos |
|
Booch |
Diagrama Transicion Estado |
Diagrama de Tiempos |
|
Coad y Yourdon |
Diagrama Estado |
|
|
Embley |
Red de Estado |
Red de Estado |
|
Martin y Odell |
Cambios de Estado |
|
|
Rumbaugh |
Diagrama de Estado |
Estado Extendido |
|
Shlaer y Mellor |
Modelo de Estado |
|
|
Wirfs-Brock |
E. REGLAS EXPLÍCITAS PARA DEFINIR LOS SÍMBOLOS DE LAS NOTACIONES
Cada método fue repasado para determinar si los símbolos del método fueron definidos explícitamente, y si así es, donde se definieron; y si existen ejemplos.
|
Berard |
La notación no es formalmente definida. Se proporcionan numerosos ejemplos |
|
Booch |
La notación se documenta en parte de su libro. Se proporcionan numerosos ejemplos |
|
Coad y Yourdon |
Proporciona las reglas específicas para la simbología de la notación el apéndice A, del análisis orientado a objetos y proporciona numerosos ejemplos. |
|
Embley |
La notación es formalmente definida en el Apendice A, y proporciona numerosos ejemplos |
|
Martin y Odell |
Se define la notacion en uno de sus capitulos y tambien Diagramas Estandares son recomendados |
|
Rumbaugh |
La notación si se define en su libro. |
|
Shlaer y Mellor |
La notacion es formalmente definida a traves de sus libro. |
|
Wirfs-Brock |
La notación no se define formalmente, pero se presentan numerosos ejemplos |
Además, de la definición de la semántica de las notaciones, se buscaron también ejemplos y heurística para la construcción de modelos.
|
Metodologia |
Sintaxis Definida |
Semántica Definida |
Provisión de Ejemplos |
Heurísticas Presentadas |
|
Berard |
X |
X |
||
|
Booch |
X |
X |
X |
X |
|
Coad y Yourdon |
X |
X |
X |
X |
|
Embley |
X |
X |
X |
X |
|
Martin y Odell |
X |
X |
X |
|
|
Rumbaugh |
X |
X |
X |
X |
|
Shlaer y Mellor |
X |
X |
X |
X |
|
Wirfs-Brock |
X |
X |
X |
X |
En general, cada notación (excepto Berard) provee una definición explícita de la semántica de su notación, ejemplos y heurística. En muchos casos los ejemplos son bastante completos, estos son, de los modelos requeridos para un problema específico, o de una variedad de problemas.
E. MECANISMO DE PARTICION DENTRO DE LA NOTACION
Mientras que el tamaño de un sistema aumenta, se requiere un cierto mecanismo para limitar la visibilidad de la información solamente a esos objetos de interés en un momento particular. Estos son los mecanismos que proporciona cada metodología:
|
Metodología |
Mecanismo de Partición |
|
Berard |
Kits, sistemas de Interaccion de Objetos |
|
Booch |
Subsistemas, Procesadores |
|
Coad y Yourdon |
Temas |
|
Embley |
Vistas de Alto Nivel |
|
Martin y Odell |
* |
|
Rumbaugh |
Subsistemas |
|
Shlaer y Mellor |
Subsistemas |
|
Wirfs-Brock |
Subsistemas y Frameworks |
* Martin y Odell mencionan "reinos" y "especificaciones del reino" en su glosario, pero no proporcionan ninguna referencia de cómo ésta se relaciona con la partición del sistema.
A. PASOS DEL PROCESO DE DESARROLLO DE CADA METODOLOGÍA
Berard 1992.
Booch 1991.
Coad y Yourdon 1990.
Diseñar el componente del dominio del problema
Diseñar el Componente Humano de la Interacción
Diseño del componente del Manejo de tareas
Diseño del Componente del Manejo de Datos
Embley y Kurtz 1990.
Martin y Odell 1992.
Rumbaugh 1991.
2Escribir u obtener una descripción inicial del problema (declaración del problema)
3Construir in modelo del Objeto
4Desarrollar un Modelo Dinámico
5Construir un Modelo Funcional
6Verificar, iterar, y refinar los tres modelos
7Diseño del Sistema
8Diseño del Objeto
9Diseño de algoritmos para implementar las operaciones:
Shlaer y Mellor 1992.
Busqueda
Desarrollo y Refinación de los Modelos
Integrar con Otros Modelos
Revisar
Construir el Modelo Estado
Verificar las interacciones entre los modelos estados y los modelos de comunicación de objetos
Construir o modificar, los modelos de comunicación de subsistemas
Revisar que esten correctos y su consistencia
Construcción de Diagramas de Flujo de Datos Activos
Integrar con las Tablas de Proceso de Estado y producir los modelos de acceso de datos para los subsistemas y modificar los modelos de acceso a subsistemas
Revisar
Wirfs-Brock 1990.
Modelo de objetos físicos
Modelo conceptual de entidades
Uso de un termino solo para cada concepto
Ser cuidadoso en el uso de adjectivos
Modelo de categorias de objetos
Modelo de interfaces externas
Modelo los valores de los abributos de los objetos
Recuerde el propósito de cada clase, según lo implicado por su nombre y especificado en la declaración del propósito
Extraiga responsabilidades de la especificación buscando acciones e información
Identifique responsabilidades implicadas por las relaciones entre clases.
Distribuir uniformemente la inteligencia del sistema
Definir responsabilidades lo mas posible
Matnener el comportamiento con la informacion relacionada
Mantener la información de cada cosa en un lugar
Compartir responsibilidades a través de las clases relacionadas.
Utilizar relaciones "es-tipo-de" para encontrar herencias en las relaciones.
Utilizar relaciones "es-analogo-para" para encongrar superclases perdidas.
Utilizar relaciones "es-parte-de" para encontrar otras clases perdidas.
B. VISION GRAFICA DEL PROCESO DE DESARROLLO DE BOOCH, COAD & YOURDON, Y RUMBAUGH
BOOCH
Para ver el gráfico seleccione la opción "Descargar"
COAD & YOURDON
Para ver el gráfico seleccione la opción "Descargar"
RUMBAUGH
Para ver el gráfico seleccione la opción "Descargar"
C. ENTREGAS QUÉ GENERA EL PROCESO DEL DESARROLLO
Una cualidad de cualquier proceso del desarrollo es el número y los tipos de entregas que el proceso genera. La documentación del ciclo de vida incluye generalmente especificaciones de requerimientos, especificaciones de diseño, especificación del sistema y subsistemas, así como casos de prueba. Las entregas para cada método se evalúan usando los criterios siguientes:
|
Metodología |
Requerimientos |
Diseño |
Pruebas |
Objetos/Clases |
Subsistemas |
Total |
|
Berard |
2 |
5 |
5 |
5 |
2 |
19 |
|
Booch |
1 |
2 |
0 |
1 |
1 |
5 |
|
Coad y Yourdon |
2 |
2 |
0 |
5 |
0 |
9 |
|
Embley |
5 |
1 |
0 |
1 |
1 |
8 |
|
Martin y Odell |
0 |
0 |
0 |
0 |
0 |
0 |
|
Rumbaugh |
2 |
2 |
0 |
5 |
0 |
9 |
|
Shlaer y Mellor |
5 |
5 |
0 |
5 |
4 |
19 |
|
Wirfs-Brock |
1 |
5 |
0 |
5 |
5 |
16 |
La carencia de especificaciones claras, bien-construidas es una debilidad significativa en muchos de los métodos. Sin tales especificaciones, no puede haber reutilización a excepción del código desarrollado (ningún esfuerzo del análisis o del diseño puede ser reutilizado, puesto que no esta documentado). Además, la prueba se afecta seriamente puesto que las pruebas no se pueden hacer sin tales especificaciones. Algunos métodos consideran las especificaciones como solamente necesarias cuando la "programación es grande." Rumbaugh, por ejemplo, comenta que la documentación de clases y métodos es importante al escribir grandes y complejos programas, que implican equipos de programadores; asumiendo que aparentemente es menos importante para los programas pequeños.
D. ASPECTOS DEL CICLO DE VIDA QUE SON CUBIERTOS POR LA APROXIMACION
La cobertura del ciclo de vida proporciona una idea de lo completo de la metodología. Una metodología que cubre todos los aspectos del ciclo de vida del desarrollo del sistema ofrece una solución atractiva a la organización ya que la metodología por sí misma asegura algo completo y consistente. Si una organización, por ejemplo, requiere o decide "mezclar y emparejar" una aproximación del análisis de una metodología con la aproximación del diseño de otra, la organización debe enfrentar la responsabilidad de la consistencia y de la completa transición a partir de una fase del ciclo de vida a otra. Tales estrategias de "mezcla y emparejamiento" introducen un elemento del riesgo en la aproximación.
|
Metodología |
Dominio de Análisis |
Requerimientos en el Análisis |
Diseño |
Implementación |
Pruebas |
Total |
|
Berard |
4 |
4 |
5 |
5 |
5 |
23 |
|
Booch |
4 |
2 |
5 |
4 |
0 |
15 |
|
Coad y Yourdon |
1 |
5 |
5 |
3 |
3 |
17 |
|
Embley |
0 |
5 |
1 |
0 |
0 |
6 |
|
Martin y Odell |
0 |
3 |
5 |
0 |
0 |
8 |
|
Rumbaugh |
0 |
5 |
5 |
3 |
2 |
15 |
|
Shlaer y Mellor |
0 |
5 |
5 |
1 |
0 |
11 |
|
Wirfs-Brock |
0 |
3 |
5 |
4 |
3 |
15 |
E. DEFINICION DE LOS PASOS DEL PROCESO
Cada metodología debe describir un proceso que, si es seguido, debe brindar un sistema apropiado de productos (ejem, productos del análisis, productos del diseño, código, y casos de la prueba). La claridad de un proceso simplifica la ejecución y la introducción del proceso en una organización de desarrollo. Un proceso bien definido tiene las siguientes cualidades:
|
Metodología |
Definición de Pasos |
Entradas |
Salidas |
Rol |
QA |
Total |
|
Berard |
X |
X |
X |
X |
X |
5 |
|
Booch |
X |
X |
X |
X |
4 |
|
|
Coad and Yourdon |
X |
X |
X |
X |
4 |
|
|
Embley and Kurtz |
X |
X |
2 |
|||
|
Martin and Odell |
X |
X |
2 |
|||
|
Rumbaugh |
X |
X |
X |
X |
4 |
|
|
Shlaer and Mellor |
X |
X |
2 |
|||
|
Wirfs-Brock |
X |
X |
X |
3 |
F. HEURÍSTICA DISPONIBLE PARA LOS PASOS DE PROCESO
La heurística proporciona tips para asistir al analista y al diseñador en la ejecución de los pasos del proceso. En algunos casos esta heurística es simple y obvia, mientras que en otros son menos obvias. La disponibilidad de un sistema grande de heurística simplifica la ejecución del proceso. Estos puntos sirven como un indicador al grado de ayuda que el método proporciona para la heurística. Un "1" indica pocos si no es que ninguna heurística, mientras que "3" indica cinco o más heurística.
Metodología |
Identificación de Clases |
Identificación de Operaciones |
Colocación de Operaciones |
Identifincación de Subsistemas |
Identifincación de Estados |
Total |
|
Berard |
1 |
1 |
1 |
3 |
1 |
7 |
|
Booch |
3 |
3 |
3 |
3 |
3 |
15 |
|
Coad and Yourdon |
3 |
3 |
0 |
0 |
1 |
7 |
|
Embley and Kurtz |
3 |
3 |
1 |
1 |
3 |
11 |
|
Martin and Odell |
3 |
3 |
1 |
- |
3 |
10 |
|
Rumbaugh |
3 |
3 |
1 |
2 |
3 |
12 |
|
Shlaer and Mellor |
3 |
1 |
1 |
3 |
3 |
11 |
|
Wirfs-Brock |
3 |
1 |
1 |
3 |
- |
8 |
G. VERIFICACION DEL PROCESO
Un proceso definido debe contener reglas para verificar los productos desarrollados. Por ejemplo, los diversos modelos construidos pueden presentar la información que permite la verificación de otros modelos. O una especificación del objeto y de la clase puede ser comprobable contra los modelos usados en su construcción. Sin tales reglas, no son posibles, la verificación de las especificaciones y otros productos.
Metodología |
Reglas de Verificación |
|
Berard |
Si provee |
|
Booch |
|
|
Coad and Yourdon |
Si provee |
|
Embley and Kurtz |
Si provee |
|
Martin and Odell |
|
|
Rumbaugh |
Si provee |
|
Shlaer and Mellor |
Si provee |
|
Wirfs-Brock |
Si provee |
H. VALIDACION DEL PROCESO
Cada metodología debe proporcionar una forma que permita la validación independiente de los productos del desarrollo con el cliente, independientemente de la notación de la misma. Modelos ejecutables, prototipos, y los flujos de escenarios son algunos ejemplos.
|
Metodología |
Reglas de Validación |
|
Berard |
Prototipo |
|
Booch |
Prototipo |
|
Coad and Yourdon |
Prototipo |
|
Embley and Kurtz |
|
|
Martin and Odell |
Prototipo |
|
Rumbaugh |
Flujo de Eventos |
|
Shlaer and Mellor |
|
|
Wirfs-Brock |
Prototipo |
A. RECURSOS DE AYUDA DISPONIBLE
La tabla siguiente identifica los recursos disponibles para apoyar la metodología. Estos recursos incluyen en sitio o entrenamiento público, si el entrenamiento está disponible en fuentes solas o múltiples, la disponibilidad de las cintas video del entrenamiento, el número de los textos disponibles que se ocupan de la metodología, y los servicios de consulta disponibles. Además, las librerías de componentes reutilizables disponibles que se construyeron para usar la metodología.
|
Metodogías |
Entrenamiento |
Recursos |
Video |
Textos |
Librerías |
|
Berard |
Ambas |
2 |
3 |
1 |
|
|
Booch |
Ambas |
Por lo menos 2 |
Si |
1 |
1 |
|
Coad and Yourdon |
Ambas |
1 |
Si |
2 |
|
|
Embley and Kurtz |
1 |
||||
|
Martin and Odell |
Ambas |
1 |
Si |
1 |
|
|
Rumbaugh |
Ambas |
1 |
Si |
1 |
|
|
Shlaer and Mellor |
Ambas |
1 |
2 |
||
|
Wirfs-Brock |
Ambas |
Por lo menos 2 |
1 |
B. ENTRENAMIENTO REQUERIDO PARA LA UTILIZACION DE LA METODOLOGIA (Independiente del entrenamiento del Lenguaje de programación)
Esta es una valoración subjetiva de la complejidad de cada método. Esta valoración se basa en el número de los modelos presentes en cada notación, la cantidad de maestría requerida para utilizar el método, el número de los pasos presentes en cada proceso, y la claridad de la aproximación. De acuerdo con estos factores, se hace una estimación del entrenamiento requerido necesitado para utilizar con eficacia el método. Los métodos altamente complejos requieren la mayoría del entrenamiento (mas de 6 semanas), los métodos medios de la complejidad requerirán aproximadamente 3-6 semanas de entrenamiento, y los métodos bajos de la complejidad requerirán menos de 3 semanas de entrenamiento. En todos los casos al período del tiempo será requerido (3-6 meses) antes de que el personal haga uso del método.
|
Metodología |
Complejidad |
|
Berard |
Medio |
|
Booch |
Medio |
|
Coad and Yourdon |
Bajo |
|
Embley and Kurtz |
Alto |
|
Martin and Odell |
Alto |
|
Rumbaugh |
Medio |
|
Shlaer and Mellor |
Alto |
|
Wirfs-Brock |
Medio |
C. LENGUAJES QUE UTILIZAN LAS METODOLOGIAS
La independencia del lenguaje es una cualidad deseable de cualquier metodología esto provee una portabilidad de los productos del análisis y del diseño a través de los lenguajes.
|
Metodogias |
Ada |
Eiffel |
Smalltalk |
C++ |
CLOS |
Total |
|
Berard |
X |
X |
X |
X |
X |
5 |
|
Booch |
X |
X |
X |
X |
X |
5 |
|
Coad and Yourdon |
X |
X |
X |
3 |
||
|
Embley and Kurtz |
0 |
|||||
|
Martin and Odell |
0 |
|||||
|
Rumbaugh |
X |
X |
X |
X |
4 |
|
|
Shlaer and Mellor |
X |
X |
2 |
|||
|
Wirfs-Brock |
X |
1 |
D. HERRAMIENTAS AUTOMATIZADAS DISPONIBLES PARA CADA METODOLOGIA
Estas son algunas de las herramientas CASE orientadas a objetos disponibles para las metodologias presentadas en este documento.
|
Nombre de la herramienta |
Plataforma en la que trabaja |
Descripcion y Metodologias que Suporta |
|
Ptech |
Unix (DECStation, RS6000, Silicon Graphics) |
Martin y Odell |
|
Teamwork |
VAX/VMS, Unix, OS/2, PC-DOS |
set de herramientas CASE con capacidades de orientacion a objetos Shlaer/Mellor, HOOD |
|
OMTool |
Unix |
Analisis y diseño orientados a objetos Rumbaugh |
|
Iconix Power Tools |
Macintosh |
Multiusuario, set de herramientas de desarrollo OO Rumbaugh, Coad/Yourdon, y Booch |
|
OMW |
WIndows and Unix |
Martin and Odell |
|
ObjectMaker |
MS-Windows, Unix, Macintosh |
Analisis y diseño orientado a objetos Berard, Booch, Coad/Yourdon, Rumbaugh, |
|
OOATool |
Unix, Macintosh, MS-Windows |
Analisis Orientado a Objetos Coad/Yourdon |
|
Object System/Designer |
MS-Windows |
Diseño Orientado a Objetos Booch |
|
System Architect |
MS-Windows, OS/2 |
Diseño Orientado a Objetos Booch |
|
Rose |
Unix, AIX |
Analisis y Diseño Orientado a Objetos Booch |
|
ATRIOM |
MS-Windows |
Analisis y Diseño Orientado a Objetos Booch, Coad/Yourdon, Rumbaugh Shlaer/Mellor |
|
TurboCase |
Macintosh |
Analisis Orientado a Objetos, Diseño estructurado Wirfs-Brock |
|
OOTher |
Windows |
Herramienta de documentacion OO Coad/Yourdon |
|
Metodologia |
Numero de Herramientas Disponibles |
|
Berard |
2 |
|
Booch |
7 |
|
Coad and Yourdon |
7 |
|
Embley and Kurtz |
- |
|
Martin and Odell |
2 |
|
Rumbaugh |
4 |
|
Shlaer and Mellor |
3 |
|
Wirfs-Brock |
1 |
En las metodologías tradicionales se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos. Y por otro lado, la orientación al objeto de un enfoque unificador de ambos aspectos, que seunen en los objetos.
En las metodologías tradicionales las herramientas que utilizan para el análisis son: Diagramas de Flujos de Datos, Diccionarios de Datos, Diagramas Entidad-Relación, Diagramas de Trancisión de Estado, Especificaciones de procesos. En las metodologías orientadas a objetos se emplean distintos modelos depende de la metodología, entre los principales están Modelo de objetos, Modelo de Estado u Objeto-Estado, entre otros.
A continuación veremos un ejemplo de un sistema de Cuentas Bancarias, visto por los dos enfoques:
METODOLOGIA TRADICIONAL
Representada por Diagrama de Flujo de Datos
Para ver el gráfico seleccione la opción "Descargar"
METODOLOGIA ORIENTADA A OBJETOS
Representada por Diagrama de Objetos de Rumbaugh
Para ver el gráfico seleccione la opción "Descargar"
Ahora veamos un ejemplo de la representación de dinámica de un sistema de Clima (Aire acondicionado), modelado por los dos enfoques de metodologías:
METODOLOGIA TRADICIONAL
Representada por Diagrama de Flujo
Para ver el gráfico seleccione la opción "Descargar"
METODOLOGIA ORIENTADA A OBJETOS
Representada por un Diagrama de Transición de Estado de Booch
Para ver el gráfico seleccione la opción "Descargar"
Seleccione los mas altos candidatos de conceptos, como son: Booch, Berard, y Wirfs-Brock.
Seleccione a candidatos que tienen conceptos que no son tan altos en orientacion a objetos. Tales como Rumbaugh, Shlaer y Mellor, y Kurtz y Embley puesto que no están muy "orientados al objeto." Como cada uno de estas aproximaciones todavía hace el uso significativo en modelos de datos, y el impacto en las herramientas, la tecnología, y el entrenamiento sería mínimamente afectado.
Seleccione los metodos donde el proceso se ocupa de las ediciones grandes de aplicaciones, y de la pragmática basada en tamaño del proyecto y ayuda en tiempo real. Booch, Berard, Shlaer y Mellor, y posiblemente, Rumbaugh son los posibles a elegir.
Berard provee una gran ayuda en esto, Booch, Shlaer/Mellor, y Rumbaugh le siguen.
Seleccione el modelo y la pragmática donde su desarrollo esta basado en la reutilización. Berard y Booch proporcionan la mayoría de esta ayuda.
Seleccione los metodos de Rumbaugh, Shlaer y Mellor, Wirfs-Brock, Berard, son procesos relativamente bien definidos.
En el transcurso del tiempo el ambiente computacional ha ido evolucionando en todos los aspectos, las computadoras cada día son mejores y más rapidas. Los usuarios se vuelven cada vez mas exigentes y buscan el servicio de los sistemas estando en cualquier parte del mundo, no solamente en sus oficinas. La tecnología de la información ha ejercido un profundo impacto en la sociedad por lo que ahora se le llama la Era de la Información. Los empleados administrativos rebasaron el número de los trabajadores de producción. La sociedad industrial ha dado paso a una nueva sociedad, en donde la mayoría de las personas trabajan con información en lugar de producir bienes.
Los sistemas se han ido enfocando mas a la comodidad del usuario lo cual ha provocado dos cosas, que se realicen sistemas cada vez mas complejos y que se desarrollen muchas metodologías buscando la manera optima de desarrollarlos.
Las metodogías también han evolucionado. Inicialmente hubo un periodo de Desarrollo Convencional, después surge el Desarrollo Estructurado y en la actualidad aparece el paradigma de la Orientación a Objetos como un nuevo enfoque en la ingeniería de software.
A la fecha se han desarrollado muchísimas metodología enfocadas a la Orientación a Objetos, en esta investigación solo vimos 8 de ellas, siendo de las mas representativas de este paradigma.
Cuando inicié esta investigación yo contaba con ninguna o poquísimas bases de Orientación a Objetos. Poco a poco al ir leyendo y conociendo cada metodología entendí mejor este paradigma. Una de las metodologías que me ayudaron mucho a comprender la Orientación a Objetos fue la de Booch, ya que se apoya de muchos gráficos para definir los conceptos básicos de Orientación a Objetos, por lo que yo la recomiendo para principiantes.
Por otro lado Rumbaugh me pareció muy completa porque es una de las que más puntuación tiene con respecto a entregas de productos dentro de cada etapa del ciclo de vida, cuenta con bastantes tips para el analista y diseñadores para la identificación de clases, operaciones, estados y subsistemas; cuenta con reglas de verificación y de validación y existen suficientes recursos para aprenderla.
Debido a las comparaciones realizadas en este documento, podemos darnos cuenta que la debilidad que tiene en cierta area una metodología se compensa con alguna fuerza que tiene en otro punto, siendo asi todas útiles dependiendo del caso que tengamos para aplicarlas. Pero por lo que a mi respecta, y con lo anteriormente expuesto, las metodologías con las que yo propongo para desarrollar sistemas de calidad basados en Orientación a Objetos son Booch y Rumbaugh.
Berard, Edward V. (1998). Basic Object-Oriented Concepts. Consultado a www.toa.com/pub/oobasics/oobasics.htm en fecha 26 de Nov. de 2002.
Booch, G. (1996). Análisis y Diseño Orientado a Objetos con aplicaciones. México: Pearson Educación.
Brinkkemper, S.; Hong, S.; Bulthuis, A.; Goor, G. (1994). Object-Oriented Analysis and Design Methods Contents. Consultado a http://panoramix.univ_paris1.fr/crinfo/ dmrg/oodoc/oodoc/oo-contents.html en fecha 29 de Nov. de 2002.
Coleman, D.; Arnold, P.; Bodoff, S.; Dollin, C.; Gilchrist, H.; Hayes, F.; Jeremaes, P. Object-Oriented Development The Fusion Method. Estados Unidos: Prentice Hall
Rumbaugh, J.; Blaha, M.; Premerlani, W.; Eddy, F.; Lorensen, W. (1999); Modelado y Diseño Orientados a Objetos; Metodología OMT. España: Prentice Hall.
Shneider, P. (S.F.). The Booch Method. Consultado a www.ifra.ing.tu-bs.de/docs/BoochReferenz/ en fecha 29 de Nov. de 2002.
The Object Agency, Inc. (1995). A Comparison of Object-Oriented Development Methodologies. Consultado a www.toa.com/smnn?mcr.html en fecha 26 de Nov. de 2002.
Yourdon, E. (1994). Object-Oriented Systems Design an Integrated Approach. Estados Unidos: Yourdon Press.
Autor:
Araceli Torres Lecuanda
araceli_lecuanda[arroba]yahoo.com
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
Trabajos relacionados
Ver mas trabajos de General |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.