33
Metodologías para Metodologías para análisis y diseño análisis y diseño orientado a objetos orientado a objetos y MDA y MDA Martín Guzmán, 08041 Martín Guzmán, 08041 Karen Andrea Tojin, 08091 Karen Andrea Tojin, 08091 Kevin Sánchez, 08302 Kevin Sánchez, 08302 Héctor Hurtarte, 08119 Héctor Hurtarte, 08119

Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Embed Size (px)

Citation preview

Page 1: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Metodologías para Metodologías para análisis y diseño análisis y diseño

orientado a objetos orientado a objetos y MDAy MDA

Martín Guzmán, 08041Martín Guzmán, 08041Karen Andrea Tojin, 08091Karen Andrea Tojin, 08091

Kevin Sánchez, 08302Kevin Sánchez, 08302Héctor Hurtarte, 08119Héctor Hurtarte, 08119

Page 2: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Metodología de Metodología de BoochBooch

Análisis y Diseño Análisis y Diseño Orientado a Objetos Orientado a Objetos

(ADOO)(ADOO)

Page 3: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

GENERALIDADES E GENERALIDADES E HISTORIAHISTORIA

¿De dónde surgió?¿De dónde surgió?

Page 4: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Metodología de BoochMetodología de Booch• Surge debido a los objetivos de la Surge debido a los objetivos de la

ingeniería de software ingeniería de software – Entregar un producto Software que Entregar un producto Software que

satisfaga las necesidades del usuario, de satisfaga las necesidades del usuario, de forma eficiente y predecible. forma eficiente y predecible.

• Abarca un «microproceso de Abarca un «microproceso de desarrollo» y un «macroproceso de desarrollo» y un «macroproceso de desarrollo». desarrollo».

• Fue creado por Grady Booch en 1994, Fue creado por Grady Booch en 1994, mientras estuvo en Rational Softwaremientras estuvo en Rational Software

Page 5: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

ASPECTOS RELEVANTESASPECTOS RELEVANTES

¿Qué es, cómo funciona, ¿Qué es, cómo funciona, para qué sirve?para qué sirve?

Page 6: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Modelos del Método de Modelos del Método de BoochBooch

• Modelo de Lógica: Modelo de Lógica: está representado en está representado en la estructura clase-objeto.la estructura clase-objeto.

• Modelo Estático:Modelo Estático: es representado por el es representado por el diagrama de clase, en el que se construye diagrama de clase, en el que se construye la arquitectura que se definirá para el la arquitectura que se definirá para el sistema.sistema.

• Modelo Dinámico: Modelo Dinámico: es representado por es representado por el diagrama de objeto que muestra cómo el diagrama de objeto que muestra cómo las clases interactúan unas con otras.las clases interactúan unas con otras.

Page 7: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

El Método de Booch El Método de Booch

• EstáEstá orientado a analizar orientado a analizar el modo, el modo, los documentos y requisitos del los documentos y requisitos del sistema en desarrollo. sistema en desarrollo.

• Booch, para desarrollar este método Booch, para desarrollar este método unió conceptos del su anterior unió conceptos del su anterior trabajo con los conceptos de trabajo con los conceptos de Objectory, OMT, y otros métodos.Objectory, OMT, y otros métodos.

Page 8: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Notación en el Método de Notación en el Método de BoochBooch

• La notación “es el pegamento que La notación “es el pegamento que mantiene unido el proceso”. mantiene unido el proceso”.

• Cumple con las siguientes funciones:Cumple con las siguientes funciones:– Comunicar decisiones.Comunicar decisiones.– Proporciona semántica suficiente.Proporciona semántica suficiente.– Manipulación de herramientasManipulación de herramientas

Page 9: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

El Método de Booch El Método de Booch

• Es un ciclo de vida iterativo e Es un ciclo de vida iterativo e incremental, en el cual se mira el incremental, en el cual se mira el desarrollo del producto como una desarrollo del producto como una serie de despacho (serie de despacho (releasesreleases) de ) de arquitectura que evolucionan hacia el arquitectura que evolucionan hacia el sistema final. sistema final.

• El cambio se prevé en todas las fases. El cambio se prevé en todas las fases. Se trata de una reducción del riesgo Se trata de una reducción del riesgo en el proceso impulsado.en el proceso impulsado.

Page 10: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Macro-ProcesoMacro-Proceso

• Engloba una actividad de planificación Engloba una actividad de planificación arquitectónica, que agrupa capas de arquitectónica, que agrupa capas de objetos por nivel de abstracción.objetos por nivel de abstracción.

• Identifica situaciones relevantes.Identifica situaciones relevantes.• Crea un prototipo de diseño y valida el Crea un prototipo de diseño y valida el

prototipo aplicándolo a situaciones de prototipo aplicándolo a situaciones de uso.uso.

• Es un proceso de alto nivel.Es un proceso de alto nivel.

Page 11: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Pasos del Macro-Proceso

Page 12: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Micro-ProcesoMicro-Proceso

• Define un conjunto de “reglas” que Define un conjunto de “reglas” que regulan el uso de operaciones y regulan el uso de operaciones y atributos, de reglas y políticas.atributos, de reglas y políticas.

• Desarrolla situaciones que describen Desarrolla situaciones que describen la semántica de las reglas y la semántica de las reglas y políticas.políticas.

• Crea un prototipo para cada política.Crea un prototipo para cada política.• Instrumenta y refina el prototipo.Instrumenta y refina el prototipo.• Es un proceso de bajo nivelEs un proceso de bajo nivel

Page 13: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Pasos del Micro-Proceso

Page 14: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Metodología de Metodología de RumbaughRumbaugh

Object Modeling Object Modeling Technique (OMT)Technique (OMT)

Page 15: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

GENERALIDADES E GENERALIDADES E HISTORIAHISTORIA

¿De dónde surgió?¿De dónde surgió?

Page 16: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

James RumbaughJames Rumbaugh

• Creador y principal desarrollador de Creador y principal desarrollador de OMT junto con Blaha, Bill Premerlani, OMT junto con Blaha, Bill Premerlani, Fred Eddy, y Bill Lorensen.Fred Eddy, y Bill Lorensen.

• Trabajó con Ivar Jacobson y Grady Trabajó con Ivar Jacobson y Grady Booch en Rational Software para Booch en Rational Software para desarrollar UML.desarrollar UML.

• Fusionaron sus metodologías: OMT, Fusionaron sus metodologías: OMT, OOSE y Booch en el Proceso Unificado OOSE y Booch en el Proceso Unificado Racional (RUP).Racional (RUP).

Page 17: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

ASPECTOS RELEVANTESASPECTOS RELEVANTES

¿Qué es, cómo funciona, ¿Qué es, cómo funciona, para qué sirve?para qué sirve?

Page 18: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

• OMT es una de las metodologías de OMT es una de las metodologías de análisis y diseño de desarrollo de análisis y diseño de desarrollo de software orientado a objetos más software orientado a objetos más eficiente que existe en la actualidad.eficiente que existe en la actualidad.

• Es uno de los precursores de UML.Es uno de los precursores de UML.

• Esta metodología se extiende del Esta metodología se extiende del análisis, al diseño, a la análisis, al diseño, a la implementación durante sus etapas.implementación durante sus etapas.

Page 19: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Etapas de OMTEtapas de OMT

1.1.Análisis: Análisis: es es una abstracción concisa y una abstracción concisa y precisa de qué debe hacer el sistema precisa de qué debe hacer el sistema deseado, no cómo debe ser hecho. deseado, no cómo debe ser hecho.

2.2.Diseño del Sistema:Diseño del Sistema: en esta etapa se en esta etapa se deben decidir las características del deben decidir las características del funcionamiento para optimizar el funcionamiento para optimizar el sistema, así como escoger una sistema, así como escoger una estrategia para atacar el problema.estrategia para atacar el problema.

Page 20: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

3. Diseño de Objetos: 3. Diseño de Objetos: se agregan los se agregan los detalles de implementación al modelo de detalles de implementación al modelo de diseño y las clases de objetos son diseño y las clases de objetos son reforzadas con las estructuras de datos y reforzadas con las estructuras de datos y algoritmos escogidos.algoritmos escogidos.

4. Implementación: 4. Implementación: las clases de objetos y las clases de objetos y las relaciones entre ellas definidas las relaciones entre ellas definidas durante el diseño de objetos son durante el diseño de objetos son trasladadas a un lenguaje de trasladadas a un lenguaje de programación, a una base de datos o programación, a una base de datos o implementación de hardware.implementación de hardware.

Page 21: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Modelos de OMTModelos de OMT

• Modelo de Objetos: Modelo de Objetos: describe la describe la estructura estática de los objetos de un estructura estática de los objetos de un sistema y sus relaciones. Utiliza diagramas sistema y sus relaciones. Utiliza diagramas de clases.de clases.

• Modelo Dinámico: Modelo Dinámico: determina cómo determina cómo los los aspectos del sistema que cambian a través aspectos del sistema que cambian a través del tiempo. Utiliza diagramas de estado. del tiempo. Utiliza diagramas de estado.

• Modelo Funcional: Modelo Funcional: describe las describe las trasformaciones de los valores de los datos trasformaciones de los valores de los datos dentro de un sistema. Utiliza diagramas de dentro de un sistema. Utiliza diagramas de flujo de datos.flujo de datos.

Page 22: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

HERRAMIENTAS O HERRAMIENTAS O SISTEMAS QUE LA SISTEMAS QUE LA EMPLEENEMPLEEN

¿Qué productos la soportan?¿Qué productos la soportan?

Page 23: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Algunas de las herramientas Algunas de las herramientas que lo soportan son: que lo soportan son:

• SmartDraw, Software Design Center SmartDraw, Software Design Center

• Excelerator II Intersolv Inc.Excelerator II Intersolv Inc.• MetaEdit MetaCASE Consulting YOMetaEdit MetaCASE Consulting YO• ObjectMarker, Mark V SoftwareObjectMarker, Mark V Software• BOCS, Berard Software Eng.BOCS, Berard Software Eng.

Page 24: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

• ObjectTeam, Candre Technologies, ObjectTeam, Candre Technologies, Inc.Inc.

• OMTool, Martin Marietta.OMTool, Martin Marietta.• Paradigm Plus, Protosoft.Paradigm Plus, Protosoft.• Software Through Pictures, Software Through Pictures,

Interactive Development EnviromentInteractive Development Enviroment• System Architect, Popkin Software. System Architect, Popkin Software.

Page 25: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

MDA (Model Driven MDA (Model Driven Architecture)Architecture)

Page 26: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

MDAMDA• Significa: Model Driven Architecture.Significa: Model Driven Architecture.• OMG (Object Management Group).OMG (Object Management Group).• Surgio en 1996.Surgio en 1996.• Hasta 1997 adoptaron las facilidades.Hasta 1997 adoptaron las facilidades.

– UML (Lenguaje unificado de modelado).UML (Lenguaje unificado de modelado).– MOF (Facilidades del metaobjeto).MOF (Facilidades del metaobjeto).

• Se basa en un (PIM).Se basa en un (PIM).• Sirve para llevar a cabo el retorno de la Sirve para llevar a cabo el retorno de la

inversion (ROI).inversion (ROI).

Page 27: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Para que sirvePara que sirve

• Desarrollar usos Desarrollar usos • Escribir especificaciones.Escribir especificaciones.

– Modelo independiente de plataformas Modelo independiente de plataformas (PIM)(PIM)• Puede tener varios.Puede tener varios.• Sirve para establecer requerimientos.Sirve para establecer requerimientos.

– Modelo especifico de plataformas (PSM)Modelo especifico de plataformas (PSM)• Una o mas.Una o mas.

– Una serie de definiciones de interfaces.Una serie de definiciones de interfaces.• Una por cada plataforma especifica (PSM).Una por cada plataforma especifica (PSM).

Page 28: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

BeneficiosBeneficios

• La arquitectura basada en MDA está La arquitectura basada en MDA está siempre lista para hacer frente a la siempre lista para hacer frente a la "próxima gran cosa" de ayer, de hoy "próxima gran cosa" de ayer, de hoy y de mañana. Además hace más fácil y de mañana. Además hace más fácil la integración de aplicaciones de la integración de aplicaciones de middleware y servicios a través de middleware y servicios a través de las fronteras.las fronteras.

Page 29: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

BeneficiosBeneficios

• El dominio de las especificaciones El dominio de las especificaciones definidas en el MDA por OMG del definidas en el MDA por OMG del control de grupos de trabajo mucho control de grupos de trabajo mucho más amplios facilitará la más amplios facilitará la interoperabilidad de siempre estar interoperabilidad de siempre estar disponible en un dominio preferido disponible en un dominio preferido de la plataforma, a través de de la plataforma, a través de múltiples plataformas y cuando es múltiples plataformas y cuando es necesario. necesario.

Page 30: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

Aplicaciones que lo usanAplicaciones que lo usan

• JavaJava– JavaEEJavaEE– J2MEJ2ME

• .NET.NET• CORBACORBA• Servicios WebServicios Web• BlueAgeBlueAge• Eclipse Modeling frameworkEclipse Modeling framework

Page 31: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

ConclusionesConclusiones• La metodología OMT (La metodología OMT (Object Object

Modeling TechniqueModeling Technique) desarrollada ) desarrollada por James Rumbaugh es base para el por James Rumbaugh es base para el desarrollo de software orientado a desarrollo de software orientado a objetos y se extiende del análisis, al objetos y se extiende del análisis, al diseño, a la implementacióndiseño, a la implementación

• La metodología OMT posee cuatro La metodología OMT posee cuatro etapas: análisis, diseño del sistema, etapas: análisis, diseño del sistema, diseño de objetos e implementación diseño de objetos e implementación definidas por tres modelos: el definidas por tres modelos: el modelo de objetos, el modelo modelo de objetos, el modelo dinámico y el modelo funcional.dinámico y el modelo funcional.

Page 32: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

ConclusionesConclusiones• La principal utilidad de MDA (La principal utilidad de MDA (Model Model

Driven ArchitectureDriven Architecture) es que separa ) es que separa los negocios de la lógica de la los negocios de la lógica de la aplicación, además de que cuenta aplicación, además de que cuenta con varios tipos de diagramas que con varios tipos de diagramas que ayudan a que la aplicaciayudan a que la aplicación ón sea más sea más eficiente y se pueda desarrollar de eficiente y se pueda desarrollar de una manera más ordenadauna manera más ordenada

• El método de Análisis y Diseño El método de Análisis y Diseño Orientado a Objetos, desarrollado Orientado a Objetos, desarrollado por Grady Booch, se basa en dividir por Grady Booch, se basa en dividir un solo proceso en un microproceso un solo proceso en un microproceso y un macroproceso.y un macroproceso.

Page 33: Metodologías Para AnáLisis Y DiseñO Orientado A Objetos

ConclusionesConclusiones• Grady Booch para desarrollar el Grady Booch para desarrollar el

método de Análisis y Diseño método de Análisis y Diseño Orientado a Objetos, unió conceptos Orientado a Objetos, unió conceptos de otras metodologías, incluyendo su de otras metodologías, incluyendo su trabajo anterior, Objectory, OMT, trabajo anterior, Objectory, OMT, entre otros.entre otros.

• El método de Booch se basa en el El método de Booch se basa en el desarrollo iterativo de un sistema, en desarrollo iterativo de un sistema, en el cual se mira el producto como una el cual se mira el producto como una serie de arquitecturas que serie de arquitecturas que evolucionan hacia el sistema el evolucionan hacia el sistema el desarrollo final. desarrollo final.