SlideShare una empresa de Scribd logo
20-octubre-1998 PRINCIPIA INFORMATICA 1
METODOLOGÍAS PARA EL
DESARROLLO DE SIOO
ALEJANDRO DOMÍNGUEZ
20-octubre-1998 PRINCIPIA INFORMATICA 2
Etapas del Desarrollo de SOO
AOO
DOO
POO
TOO
MOO
Entrega
ETAPAS
20-octubre-1998 PRINCIPIA INFORMATICA 3
ANALISIS ORIENTADO A
OBJETOS
20-octubre-1998 PRINCIPIA INFORMATICA 4
Consiste en...
• Determinar todos los objetos potenciales en
un sistema y capturar sus características y
relaciones en una notación formal.
• Construir un modelo abstracto del “que” de
la solución, manteniendo una
correspondencia entre los objetos abstractos
y sus contra partes del mundo real
20-octubre-1998 PRINCIPIA INFORMATICA 5
Características
• Difiere del Análisis Estructurado porque
primero construye el modelo de objeto, en
vez del modelo funcional (DFD’S).
• Integra objetos, atributos y operaciones, en
vez de separar entre el modelo funcional y
el modelo de datos.
20-octubre-1998 PRINCIPIA INFORMATICA 6
Principales exponentes
• Coad y Yourdon
• OMT-Rumbaugh et. al.’s Object Modelling
Technique
• Shlaer-Mellor
• Booch
20-octubre-1998 PRINCIPIA INFORMATICA 7
Coad y Yourdon (1)
• Este método se basa en cinco actividades:
– Encontrar clases y objetos
• Los objetos existen en el dominio del problema
• Las clases son abstracciones de los objetos
• Los objetos son instancias de las clases
• La primera actividad del método es identificar clases
y objetos
20-octubre-1998 PRINCIPIA INFORMATICA 8
Coad y Yourdon (2)
– Identificar estructuras
• Dos tipos de estructuras son reconocidas “estructura
generalización-especialización” y “estructura
totalidad-separa”. El tipo formado de estructura es
igual a un árbol genealógico, y la herencia es posible
entre miembros de la estructura.
– Identificar sujetos
• Organizar los sujetos desde un punto de vista.
– Definir atributos
• Características de cada clase.
20-octubre-1998 PRINCIPIA INFORMATICA 9
Coad y Yourdon (3)
– Definir servicios
• Lo que los objetos harán
• Definir los servicios es equivalente a definir las
funciones del sistema
• La principal debilidad de este método es su
compleja notación, el cual es difícil de usar
sin una herramienta que lo soporte.
20-octubre-1998 PRINCIPIA INFORMATICA 10
OMT (1)
• Trata el problema en tres modelos:
– Modelo del objeto
– Modelo dinámico
– Modelo funcional
20-octubre-1998 PRINCIPIA INFORMATICA 11
OMT (2)
• El modelo del objeto muestra la estructura estática
del mundo real
• Los procedimientos para construirlo son:
– identificar objetos
– identificar clases de objetos
– identificar las asociaciones (relaciones) entre objetos
– identificar los atributos del objeto
– usar la herencia para organizar y simplificar la
estructura de clase
– organizar el acoplo de clases y asociaciones entre
módulos;
– dotar un informe textual descriptivo de cada objeto
20-octubre-1998 PRINCIPIA INFORMATICA 12
OMT (3)
• El modelo dinámico muestra el comportamiento del
sistema, especialmente la secuencia de las
interacciones
• El procedimiento de su construcción es:
– Identificar la secuencia de los eventos en el dominio del
problema y documentarlo en el trace de eventos
– construir un diagrama de transición de estados para cada
objeto que es afectado por los eventos, mostrando los
mensajes que fluyen, acciones que son ejecutadas y
cambios de estados en los objetos que suceden cuando
los eventos ocurren.
20-octubre-1998 PRINCIPIA INFORMATICA 13
OMT (4)
• El procedimiento para construir el modelo
funcional no usa descomposición funcional, pero:
– identifica los valores de entrada y salida que el sistema
recibe y produce
– construye los diagramas de flujo de datos mostrando
cómo los valores de salida son computados desde los
valores de entrada
– identifica los objetos que son usados como depósitos
de datos
– identifica las operaciones de objetos que comprenda
cada proceso
20-octubre-1998 PRINCIPIA INFORMATICA 14
OMT (5)
• La ventaja de OMT es su simple pero
poderosa capacidad de notación
• La principal desventaja es la de carecer de
técnicas para integrar
– objetos
– modelos dinámicos
– modelos funcionales
20-octubre-1998 PRINCIPIA INFORMATICA 15
Shlaer-Mellor (1)
• Empieza por analizar e identificar los
dominios del problema del sistema
• Los dominios son divididos en subsistemas
• Cada dominio o subsistema es analizado
separadamente en tres pasos:
– modelado de la información
– modelado del estado
– modelado del proceso
20-octubre-1998 PRINCIPIA INFORMATICA 16
Shlaer-Mellor (2)
• El propósito de modelar la información es la
de identificar:
– objetos en el subsistema
– atributos de cada objeto
– relaciones entre cada objeto
• El modelo de información es documentado
por medio de diagramas y definiciones de
los objetos, atributos y relaciones
20-octubre-1998 PRINCIPIA INFORMATICA 17
Shlaer-Mellor (3)
• El propósito de modelar el estado es el de
identificar:
– estado de cada objeto, y las acciones que son
ejecutadas en ellos
– eventos que causan que los objetos cambien de
un estado a otro
– secuencia de estados que forman el ciclo de
vida de cada objeto
– secuencia de mensajes comunicando eventos
que fluyen entre objetos y subsistemas
20-octubre-1998 PRINCIPIA INFORMATICA 18
Análisis Orientado a Objetos
(14)
• Los modelos de estado son documentados
por medio de
– diagramas de modelos de estado
• mostrando la secuencia de estados
– diagramas de modelo de comunicación entre
objetos
• mostrando los mensajes que fluyen entre estados y
lista de eventos
20-octubre-1998 PRINCIPIA INFORMATICA 19
Análisis Orientado a Objetos
(15)
• El propósito del modelado de proceso es
identificar:
– operaciones de cada objeto requeridos en cada acción
– atributos de cada objeto que son almacenados en cada
acción
• Los modelos de estado son documentados por
medio de diagramas de flujo de datos y acción
– mostrando las operaciones y flujo de datos que ocurren
en cada acción
– los diagramas de modelo de acceso a un objeto
muestran el acceso de datos entre objetos
20-octubre-1998 PRINCIPIA INFORMATICA 20
Análisis Orientado a Objetos
(16)
• La ventaja de este método es su madurez y
existencia de técnicas para integrar la
información, y los modelos de estado y
proceso
• La principal desventaja de este método es
su complejidad
20-octubre-1998 PRINCIPIA INFORMATICA 21
Booch (1)
• Modela un diseño orientado a objetos en
cuanto a una vista lógica, la cual define
– las clases
– objetos y sus relaciones
– una vista física
• que define el módulo y el proceso arquitectónico
20-octubre-1998 PRINCIPIA INFORMATICA 22
Booch (2)
• Este método consiste de cuatro pasos:
• identificar las clases y objetos que proporcionan un
nivel de abstracción
• identificar la semántica de estas clases y objetos
• identificar las relaciones entre clases y objetos
• implementar las clases y objetos
20-octubre-1998 PRINCIPIA INFORMATICA 23
Booch (3)
• Booch provee de cuatro técnicas de
diagramación para la documentación de la
vista lógica:
– Diagramas de clases
• se usan para mostrar la existencia de clases y sus
relaciones
– Diagramas de objetos
• se usan para mostrar la existencia de objetos y su
comportamiento, especialmente para observar la
comunicación de mensajes
20-octubre-1998 PRINCIPIA INFORMATICA 24
Booch (4)
– Diagramas de transición de estados
• muestra los posibles estados de cada clase y los
eventos que causan la transición de un estado a otro
– Los diagramas de tiempo
• los cuales muestran la secuencia de las operaciones
de los objetos
• La notación de Booch es engorrosa y pocas
herramientas están disponibles.
20-octubre-1998 PRINCIPIA INFORMATICA 25
DISEÑO ORIENTADO A
OBJETOS
20-octubre-1998 PRINCIPIA INFORMATICA 26
Características (1)
• Se refiere a la construcción de la estructura
del sistema
• Se refiere al “cómo” de la solución
• Ofrece mayor soporte al rehuso que otros
métodos
• La función de herencia permite un rehuso
descendente de atributos y operaciones de
una superclase
20-octubre-1998 PRINCIPIA INFORMATICA 27
Características (2)
• Combina información y servicios,
propiciando el incremento de modularidad
• Las estructuras de control y datos pueden
ser definidos de una manera integrada
20-octubre-1998 PRINCIPIA INFORMATICA 28
Características (3)
• Es más efectivo cuando se implementa en
un lenguaje de POO que soporta la
definición de
– objetos
– herencia
– paso de mensajes
– polimorfismo
• Smalltalk, C++, Eiffel, Object Pascal soportan estas
funciones
20-octubre-1998 PRINCIPIA INFORMATICA 29
Utilización del DOO
• Un método orientado a objetos debe ser
utilizado durante todo el ciclo de desarrollo
• Esto indica que DOO debe ser seleccionado
si el AOO ha sido usado en la fase de
requerimientos de software
20-octubre-1998 PRINCIPIA INFORMATICA 30
Principales exponentes
• Coad y Yourdon
• OMT-Rumbaugh et. al.’s Object Modelling
Technique
• Shlaer-Mellor
• Booch
20-octubre-1998 PRINCIPIA INFORMATICA 31
Coad y Yourdon (1)
• Su diseño orientado a objetos se construye
mediante cuatro componentes:
– Componente del dominio del problema
– Componente de interacción humana
– Componente de administración de tareas
– Componente de administración de datos
20-octubre-1998 PRINCIPIA INFORMATICA 32
Coad y Yourdon (2)
• Cada componente está integrado por clases
y objetos
• El dominio del problema se basa en un
modelo construido en la fase de análisis
– Define el sujeto del sistema y sus
responsabilidades
20-octubre-1998 PRINCIPIA INFORMATICA 33
Coad y Yourdon (3)
• Si el sistema se implementa en un lenguaje
de POO
– la correspondencia entre las clases del dominio
del problema y los objetos serán uno a uno
• y el componente del dominio del problema podrá ser
directamente programado
• Sin embargo, el refinamiento sustancial del
modelo lógico es normalmente requerido,
resultando la adición de más atributos y
servicios
20-octubre-1998 PRINCIPIA INFORMATICA 34
Coad y Yourdon (4)
• La componente interacción humana maneja
envío y recepción de mensajes hacia y
desde el usuario
• Las clases y objetos tienen nombres que
toman el lenguaje de interfaz del usuario,
por ejemplo: ventana y menú
20-octubre-1998 PRINCIPIA INFORMATICA 35
Coad y Yourdon (5)
• La componente administración de datos
provee la estructura para almacenar y
obtener objetos
– puede ser un simple archivo de sistema
– un sistema manejador de base de datos
relacional o
– un sistema manejador de base de datos
orientada a objetos
20-octubre-1998 PRINCIPIA INFORMATICA 36
Coad y Yourdon (6)
• Las clases y objetos son organizados por
estructuras “generalización-especialización”
– son “árboles familiares”, con hijos que heredan
los atributos de sus padres
• Las estructuras “parte total” son formadas
cuando un objeto es descompuesto
20-octubre-1998 PRINCIPIA INFORMATICA 37
Coad y Yourdon (7)
• La ventaja de este método es su descripción
concisa y su uso de textos generales como
fuentes de definiciones
• Los principales inconvenientes es su
compleja notación
– la cual dificulta su uso sino se tiene una
herramienta que los soporte
• Algunos usuarios de este método usan la
diagramación OMT
20-octubre-1998 PRINCIPIA INFORMATICA 38
OMT (1)
• Contiene dos actividades de diseño:
– diseño de sistema
– diseño de objeto
• Los pasos para el diseño de sistema son:
– organizar el sistema en subsistemas y ordenarlos en
niveles y particiones
– identificar la concurrencia inherente en el problema
– destinar subsistemas a procesos
– definir la estrategia de implantación para administración
de datos
20-octubre-1998 PRINCIPIA INFORMATICA 39
OMT (2)
– identificar los recursos globales y definir los
mecanismos para el control de acceso a ellos
– seleccionar un acercamiento para implementar
el software de control
– Considerar las condiciones de restricción
• Muchos sistemas son bastante similares,
Rumbaugh sugiere que el diseño de
sistemas se base en el uso de varias
arquitecturas canónicas (patrones)
20-octubre-1998 PRINCIPIA INFORMATICA 40
Shlaer-Mellor (1)
• Describe un lenguaje de diseño orientado a
objetos (OODLE) derivados de la notación
de Booch y Buhr
• Existen cuatro tipos de diagramación:
– diagrama de clases
– estructura de clases
– diagrama de dependencia
– diagrama de herencia
20-octubre-1998 PRINCIPIA INFORMATICA 41
Shlaer-Mellor (2)
• Hay un diagrama de clase para cada clase
– el diagrama define las operaciones y los
atributos de la clase
• La gráfica de la estructura de clases define:
– la estructura de módulos de la clase
– el control y flujo de datos entre los módulos de
su clase
• Hay una gráfica de estructura de clase por
cada clase
20-octubre-1998 PRINCIPIA INFORMATICA 42
Shlaer-Mellor (3)
• Los diagramas de dependencia ilustran la
dependencia de clases, las cuales pueden
ser:
– Cliente-servidor
• existe cuando una clase (el cliente) llama las
operaciones de otra clase (el servidor)
– Amigos
• existe cuando una clase accesa los datos internos de
otra clase (esto es una violación a la información
oculta)
20-octubre-1998 PRINCIPIA INFORMATICA 43
Shlaer-Mellor (4)
• Los diagramas de herencia muestran las relaciones
de herencia entre clases
• Shlaer y Mellor definen un método de diseño
recursivo que utiliza la notación OODLE de la
siguiente manera:
– define cómo los procesos de cómputo genérico serán
implementados
– implementa el modelo de clases usando los procesos de
cómputo genérico
• Este método es más complejo que otros orientados
a objetos
20-octubre-1998 PRINCIPIA INFORMATICA 44
Booch (1)
• Modela el DOO en dos vistas
– lógica, la cual define clases, objetos, y sus
relaciones
• corresponde al modelo lógico de la fase de
requerimientos de software
– física, la cual define la arquitectura de módulo
y proceso
• corresponde al modelo físico en la construcción de
la fase de diseño
20-octubre-1998 PRINCIPIA INFORMATICA 45
Booch (2)
• Booch provee dos técnicas de diagramación
para documentar la vista física:
– Diagramas de módulo
• utilizados para mostrar la ubicación de clases y
objetos a módulos
– Los diagramas de proceso
• muestran la ubicación de módulos para procesos de
hardware
20-octubre-1998 PRINCIPIA INFORMATICA 46
PROGRAMACIÓN, PRUEBAS
Y MANTENIMIENTO
ORIENTADOS A OBJETOS
20-octubre-1998 PRINCIPIA INFORMATICA 47
La POO se basa en...
• La utilización de objetos, clases y mensajes
en vez de funciones y/o procedimientos
• La reutilización de código existente
Biblioteca de clases reutilizables
Nuevas
Clases
Clases
existentes
20-octubre-1998 PRINCIPIA INFORMATICA 48
Pruebas OO
• Su propósito principal es mejorar la calidad
del software
• Una buena modularidad ayuda a aislar los
defectos
20-octubre-1998 PRINCIPIA INFORMATICA 49
Mantenimiento Orientado a
Objetos
• La OO facilita el mantenimiento de 3 formas
diferentes
– Reduce la cantidad de mantenimiento ya que la calidad
inicial del software es alta debido a la reutilización de
componentes
– La relación entre los objetos del mundo real y los del
software hacen que éste sea más entendible y de fácil
mantenimiento
– La extensibilidad natural del SOO facilita la
incorporación de propiedades adicionales en etapas
posteriores

Más contenido relacionado

PPTX
BD I - Aula 06 B - Parte 2 - Teorico Formas Normais
PDF
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
PDF
Mô hình hóa dữ liệu mức quan niệm
PDF
Diagrama de classe aula 02 PDF para UML.
PDF
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
PPT
Bloque de control de procesos
PPT
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
BD I - Aula 06 B - Parte 2 - Teorico Formas Normais
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Mô hình hóa dữ liệu mức quan niệm
Diagrama de classe aula 02 PDF para UML.
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bloque de control de procesos
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones

La actualidad más candente (20)

PPTX
Entropia y neguentropia
PPT
Advanced data modeling
PDF
Data_Warehouse
PPT
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
DOCX
Requerimientos de instalación
PPT
PDF
Chuong 4 danh sach lien ket
PDF
Modelamiento del Data Warehouse (caso práctico)
DOCX
Esquema comparativo de los tipos de modelos y metodologías
PPT
Data Models.ppt
PDF
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
PPT
Introducción a UML
DOC
Phân tích thiết kế hệ thống quản lý bán nước giải khát
PPTX
Giới thiệu Trello
PDF
Exercício resolvido normalização
PDF
Chương 4. Chuẩn hóa cơ sở dữ liệu
PPTX
Understanding Data Flow Diagram
PDF
1. Modelo de Datos
PDF
PHP Aula07 - conexão Com Banco de Dados
PDF
Bài 5: Chuẩn hóa cơ sở dữ liệu
Entropia y neguentropia
Advanced data modeling
Data_Warehouse
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Requerimientos de instalación
Chuong 4 danh sach lien ket
Modelamiento del Data Warehouse (caso práctico)
Esquema comparativo de los tipos de modelos y metodologías
Data Models.ppt
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Introducción a UML
Phân tích thiết kế hệ thống quản lý bán nước giải khát
Giới thiệu Trello
Exercício resolvido normalização
Chương 4. Chuẩn hóa cơ sở dữ liệu
Understanding Data Flow Diagram
1. Modelo de Datos
PHP Aula07 - conexão Com Banco de Dados
Bài 5: Chuẩn hóa cơ sở dữ liệu
Publicidad

Destacado (20)

PPTX
Análisis y diseño orientado a objetos
PDF
Programación orientada a objetos - Introducción - ¿Qué es un objeto?
PPT
Algoritmica básica
PPTX
Unmsm01 2008
PPTX
Caracteristicas de la estrategia de flujo de datos
PPTX
Herramientas case
PDF
Diagramas de flujo - Algoritmos
PPT
Module 3 Object Oriented Data Models Object Oriented notations
PPTX
Estructura gráfica
PDF
PPTX
Analisis Y Diseño De Sistemas Orientado A Objetos
PDF
Metodologias[1]
PDF
Introduccion uml
PDF
DiseñO Orientado A Objetos
PDF
Técnicas y métodos para sistemas
PPTX
Analisis Y DiseñO Orientado A Objetos
PDF
SISTEMAS DE INVENTARIOS
PPTX
Modelo entidad relación de base de datos
Análisis y diseño orientado a objetos
Programación orientada a objetos - Introducción - ¿Qué es un objeto?
Algoritmica básica
Unmsm01 2008
Caracteristicas de la estrategia de flujo de datos
Herramientas case
Diagramas de flujo - Algoritmos
Module 3 Object Oriented Data Models Object Oriented notations
Estructura gráfica
Analisis Y Diseño De Sistemas Orientado A Objetos
Metodologias[1]
Introduccion uml
DiseñO Orientado A Objetos
Técnicas y métodos para sistemas
Analisis Y DiseñO Orientado A Objetos
SISTEMAS DE INVENTARIOS
Modelo entidad relación de base de datos
Publicidad

Similar a Metodologías para el desarrollo de sioo (20)

DOC
Metodologia para el proyecto
PPT
Poocpp2
PDF
Analisis y diseno_oo
PPTX
Ingenieria de software i
PPTX
Fundamentos del análisis orientado a objetos
PPTX
estadina
 
PPTX
Unidad II - Diagrama de Objetos - tema 1.pptx
PPTX
Unidad II - Diagrama de Objetos - tema 1.pptx
PDF
Paradigma Programación Orientada a Objetos
PDF
Metodologias de modelacion
PDF
Metodologias de modelización r. fernandez
PPTX
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
PDF
Metodologia omt
PDF
Tecnicas de modelado y metodologias para aplicaciones Web
PDF
Modelado y metodologias para aplicaciones web
PDF
Introducion al modelado de sistemas
PDF
Unidad 2 diseño orientado a objetos
PPTX
FUNDAMENTOS Y MÉTODOS DEL ANÁLISIS DE REQUISITOS | SISTEMAS II
PDF
Análisis y diseño orientado a objetos
Metodologia para el proyecto
Poocpp2
Analisis y diseno_oo
Ingenieria de software i
Fundamentos del análisis orientado a objetos
estadina
 
Unidad II - Diagrama de Objetos - tema 1.pptx
Unidad II - Diagrama de Objetos - tema 1.pptx
Paradigma Programación Orientada a Objetos
Metodologias de modelacion
Metodologias de modelización r. fernandez
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
Metodologia omt
Tecnicas de modelado y metodologias para aplicaciones Web
Modelado y metodologias para aplicaciones web
Introducion al modelado de sistemas
Unidad 2 diseño orientado a objetos
FUNDAMENTOS Y MÉTODOS DEL ANÁLISIS DE REQUISITOS | SISTEMAS II
Análisis y diseño orientado a objetos

Más de Alejandro Domínguez Torres (20)

PDF
Cómo elegir un posgrado webinar
PDF
La estrategia de Wile E. Coyote para atrapar al Correcaminos
PDF
A historical note on schwartz space and test or bump functions
PDF
Problemas actuales en la educación
PDF
Vida Después de la Universidad
PDF
Cómo no crear una oficina de dirección de proyectos
PDF
Después de una carrera técnica
PDF
Un emprendedor nunca deja de capacitarse
PDF
Teoría y tendencias actuales de la administración
PDF
Carreras con futuro
PDF
Cómo conseguir empleo
PDF
La vida después de la universidad
PDF
¿Todos los PMPs pueden ser directores de proyectos?
PDF
La profesionalización de la dirección de proyectos
PDF
El valor profesional y organizacional de la dirección de proyectos
PDF
La ingeniera social y la seguridad en ti
PDF
The limiting absorption principle for the elastic equations
PDF
Aplicaciones de los sistemas ecuaciones a la electricidad
PDF
Applications of analytic geometry
PDF
Plan estratégico de la calidad
Cómo elegir un posgrado webinar
La estrategia de Wile E. Coyote para atrapar al Correcaminos
A historical note on schwartz space and test or bump functions
Problemas actuales en la educación
Vida Después de la Universidad
Cómo no crear una oficina de dirección de proyectos
Después de una carrera técnica
Un emprendedor nunca deja de capacitarse
Teoría y tendencias actuales de la administración
Carreras con futuro
Cómo conseguir empleo
La vida después de la universidad
¿Todos los PMPs pueden ser directores de proyectos?
La profesionalización de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectos
La ingeniera social y la seguridad en ti
The limiting absorption principle for the elastic equations
Aplicaciones de los sistemas ecuaciones a la electricidad
Applications of analytic geometry
Plan estratégico de la calidad

Metodologías para el desarrollo de sioo

  • 1. 20-octubre-1998 PRINCIPIA INFORMATICA 1 METODOLOGÍAS PARA EL DESARROLLO DE SIOO ALEJANDRO DOMÍNGUEZ
  • 2. 20-octubre-1998 PRINCIPIA INFORMATICA 2 Etapas del Desarrollo de SOO AOO DOO POO TOO MOO Entrega ETAPAS
  • 3. 20-octubre-1998 PRINCIPIA INFORMATICA 3 ANALISIS ORIENTADO A OBJETOS
  • 4. 20-octubre-1998 PRINCIPIA INFORMATICA 4 Consiste en... • Determinar todos los objetos potenciales en un sistema y capturar sus características y relaciones en una notación formal. • Construir un modelo abstracto del “que” de la solución, manteniendo una correspondencia entre los objetos abstractos y sus contra partes del mundo real
  • 5. 20-octubre-1998 PRINCIPIA INFORMATICA 5 Características • Difiere del Análisis Estructurado porque primero construye el modelo de objeto, en vez del modelo funcional (DFD’S). • Integra objetos, atributos y operaciones, en vez de separar entre el modelo funcional y el modelo de datos.
  • 6. 20-octubre-1998 PRINCIPIA INFORMATICA 6 Principales exponentes • Coad y Yourdon • OMT-Rumbaugh et. al.’s Object Modelling Technique • Shlaer-Mellor • Booch
  • 7. 20-octubre-1998 PRINCIPIA INFORMATICA 7 Coad y Yourdon (1) • Este método se basa en cinco actividades: – Encontrar clases y objetos • Los objetos existen en el dominio del problema • Las clases son abstracciones de los objetos • Los objetos son instancias de las clases • La primera actividad del método es identificar clases y objetos
  • 8. 20-octubre-1998 PRINCIPIA INFORMATICA 8 Coad y Yourdon (2) – Identificar estructuras • Dos tipos de estructuras son reconocidas “estructura generalización-especialización” y “estructura totalidad-separa”. El tipo formado de estructura es igual a un árbol genealógico, y la herencia es posible entre miembros de la estructura. – Identificar sujetos • Organizar los sujetos desde un punto de vista. – Definir atributos • Características de cada clase.
  • 9. 20-octubre-1998 PRINCIPIA INFORMATICA 9 Coad y Yourdon (3) – Definir servicios • Lo que los objetos harán • Definir los servicios es equivalente a definir las funciones del sistema • La principal debilidad de este método es su compleja notación, el cual es difícil de usar sin una herramienta que lo soporte.
  • 10. 20-octubre-1998 PRINCIPIA INFORMATICA 10 OMT (1) • Trata el problema en tres modelos: – Modelo del objeto – Modelo dinámico – Modelo funcional
  • 11. 20-octubre-1998 PRINCIPIA INFORMATICA 11 OMT (2) • El modelo del objeto muestra la estructura estática del mundo real • Los procedimientos para construirlo son: – identificar objetos – identificar clases de objetos – identificar las asociaciones (relaciones) entre objetos – identificar los atributos del objeto – usar la herencia para organizar y simplificar la estructura de clase – organizar el acoplo de clases y asociaciones entre módulos; – dotar un informe textual descriptivo de cada objeto
  • 12. 20-octubre-1998 PRINCIPIA INFORMATICA 12 OMT (3) • El modelo dinámico muestra el comportamiento del sistema, especialmente la secuencia de las interacciones • El procedimiento de su construcción es: – Identificar la secuencia de los eventos en el dominio del problema y documentarlo en el trace de eventos – construir un diagrama de transición de estados para cada objeto que es afectado por los eventos, mostrando los mensajes que fluyen, acciones que son ejecutadas y cambios de estados en los objetos que suceden cuando los eventos ocurren.
  • 13. 20-octubre-1998 PRINCIPIA INFORMATICA 13 OMT (4) • El procedimiento para construir el modelo funcional no usa descomposición funcional, pero: – identifica los valores de entrada y salida que el sistema recibe y produce – construye los diagramas de flujo de datos mostrando cómo los valores de salida son computados desde los valores de entrada – identifica los objetos que son usados como depósitos de datos – identifica las operaciones de objetos que comprenda cada proceso
  • 14. 20-octubre-1998 PRINCIPIA INFORMATICA 14 OMT (5) • La ventaja de OMT es su simple pero poderosa capacidad de notación • La principal desventaja es la de carecer de técnicas para integrar – objetos – modelos dinámicos – modelos funcionales
  • 15. 20-octubre-1998 PRINCIPIA INFORMATICA 15 Shlaer-Mellor (1) • Empieza por analizar e identificar los dominios del problema del sistema • Los dominios son divididos en subsistemas • Cada dominio o subsistema es analizado separadamente en tres pasos: – modelado de la información – modelado del estado – modelado del proceso
  • 16. 20-octubre-1998 PRINCIPIA INFORMATICA 16 Shlaer-Mellor (2) • El propósito de modelar la información es la de identificar: – objetos en el subsistema – atributos de cada objeto – relaciones entre cada objeto • El modelo de información es documentado por medio de diagramas y definiciones de los objetos, atributos y relaciones
  • 17. 20-octubre-1998 PRINCIPIA INFORMATICA 17 Shlaer-Mellor (3) • El propósito de modelar el estado es el de identificar: – estado de cada objeto, y las acciones que son ejecutadas en ellos – eventos que causan que los objetos cambien de un estado a otro – secuencia de estados que forman el ciclo de vida de cada objeto – secuencia de mensajes comunicando eventos que fluyen entre objetos y subsistemas
  • 18. 20-octubre-1998 PRINCIPIA INFORMATICA 18 Análisis Orientado a Objetos (14) • Los modelos de estado son documentados por medio de – diagramas de modelos de estado • mostrando la secuencia de estados – diagramas de modelo de comunicación entre objetos • mostrando los mensajes que fluyen entre estados y lista de eventos
  • 19. 20-octubre-1998 PRINCIPIA INFORMATICA 19 Análisis Orientado a Objetos (15) • El propósito del modelado de proceso es identificar: – operaciones de cada objeto requeridos en cada acción – atributos de cada objeto que son almacenados en cada acción • Los modelos de estado son documentados por medio de diagramas de flujo de datos y acción – mostrando las operaciones y flujo de datos que ocurren en cada acción – los diagramas de modelo de acceso a un objeto muestran el acceso de datos entre objetos
  • 20. 20-octubre-1998 PRINCIPIA INFORMATICA 20 Análisis Orientado a Objetos (16) • La ventaja de este método es su madurez y existencia de técnicas para integrar la información, y los modelos de estado y proceso • La principal desventaja de este método es su complejidad
  • 21. 20-octubre-1998 PRINCIPIA INFORMATICA 21 Booch (1) • Modela un diseño orientado a objetos en cuanto a una vista lógica, la cual define – las clases – objetos y sus relaciones – una vista física • que define el módulo y el proceso arquitectónico
  • 22. 20-octubre-1998 PRINCIPIA INFORMATICA 22 Booch (2) • Este método consiste de cuatro pasos: • identificar las clases y objetos que proporcionan un nivel de abstracción • identificar la semántica de estas clases y objetos • identificar las relaciones entre clases y objetos • implementar las clases y objetos
  • 23. 20-octubre-1998 PRINCIPIA INFORMATICA 23 Booch (3) • Booch provee de cuatro técnicas de diagramación para la documentación de la vista lógica: – Diagramas de clases • se usan para mostrar la existencia de clases y sus relaciones – Diagramas de objetos • se usan para mostrar la existencia de objetos y su comportamiento, especialmente para observar la comunicación de mensajes
  • 24. 20-octubre-1998 PRINCIPIA INFORMATICA 24 Booch (4) – Diagramas de transición de estados • muestra los posibles estados de cada clase y los eventos que causan la transición de un estado a otro – Los diagramas de tiempo • los cuales muestran la secuencia de las operaciones de los objetos • La notación de Booch es engorrosa y pocas herramientas están disponibles.
  • 25. 20-octubre-1998 PRINCIPIA INFORMATICA 25 DISEÑO ORIENTADO A OBJETOS
  • 26. 20-octubre-1998 PRINCIPIA INFORMATICA 26 Características (1) • Se refiere a la construcción de la estructura del sistema • Se refiere al “cómo” de la solución • Ofrece mayor soporte al rehuso que otros métodos • La función de herencia permite un rehuso descendente de atributos y operaciones de una superclase
  • 27. 20-octubre-1998 PRINCIPIA INFORMATICA 27 Características (2) • Combina información y servicios, propiciando el incremento de modularidad • Las estructuras de control y datos pueden ser definidos de una manera integrada
  • 28. 20-octubre-1998 PRINCIPIA INFORMATICA 28 Características (3) • Es más efectivo cuando se implementa en un lenguaje de POO que soporta la definición de – objetos – herencia – paso de mensajes – polimorfismo • Smalltalk, C++, Eiffel, Object Pascal soportan estas funciones
  • 29. 20-octubre-1998 PRINCIPIA INFORMATICA 29 Utilización del DOO • Un método orientado a objetos debe ser utilizado durante todo el ciclo de desarrollo • Esto indica que DOO debe ser seleccionado si el AOO ha sido usado en la fase de requerimientos de software
  • 30. 20-octubre-1998 PRINCIPIA INFORMATICA 30 Principales exponentes • Coad y Yourdon • OMT-Rumbaugh et. al.’s Object Modelling Technique • Shlaer-Mellor • Booch
  • 31. 20-octubre-1998 PRINCIPIA INFORMATICA 31 Coad y Yourdon (1) • Su diseño orientado a objetos se construye mediante cuatro componentes: – Componente del dominio del problema – Componente de interacción humana – Componente de administración de tareas – Componente de administración de datos
  • 32. 20-octubre-1998 PRINCIPIA INFORMATICA 32 Coad y Yourdon (2) • Cada componente está integrado por clases y objetos • El dominio del problema se basa en un modelo construido en la fase de análisis – Define el sujeto del sistema y sus responsabilidades
  • 33. 20-octubre-1998 PRINCIPIA INFORMATICA 33 Coad y Yourdon (3) • Si el sistema se implementa en un lenguaje de POO – la correspondencia entre las clases del dominio del problema y los objetos serán uno a uno • y el componente del dominio del problema podrá ser directamente programado • Sin embargo, el refinamiento sustancial del modelo lógico es normalmente requerido, resultando la adición de más atributos y servicios
  • 34. 20-octubre-1998 PRINCIPIA INFORMATICA 34 Coad y Yourdon (4) • La componente interacción humana maneja envío y recepción de mensajes hacia y desde el usuario • Las clases y objetos tienen nombres que toman el lenguaje de interfaz del usuario, por ejemplo: ventana y menú
  • 35. 20-octubre-1998 PRINCIPIA INFORMATICA 35 Coad y Yourdon (5) • La componente administración de datos provee la estructura para almacenar y obtener objetos – puede ser un simple archivo de sistema – un sistema manejador de base de datos relacional o – un sistema manejador de base de datos orientada a objetos
  • 36. 20-octubre-1998 PRINCIPIA INFORMATICA 36 Coad y Yourdon (6) • Las clases y objetos son organizados por estructuras “generalización-especialización” – son “árboles familiares”, con hijos que heredan los atributos de sus padres • Las estructuras “parte total” son formadas cuando un objeto es descompuesto
  • 37. 20-octubre-1998 PRINCIPIA INFORMATICA 37 Coad y Yourdon (7) • La ventaja de este método es su descripción concisa y su uso de textos generales como fuentes de definiciones • Los principales inconvenientes es su compleja notación – la cual dificulta su uso sino se tiene una herramienta que los soporte • Algunos usuarios de este método usan la diagramación OMT
  • 38. 20-octubre-1998 PRINCIPIA INFORMATICA 38 OMT (1) • Contiene dos actividades de diseño: – diseño de sistema – diseño de objeto • Los pasos para el diseño de sistema son: – organizar el sistema en subsistemas y ordenarlos en niveles y particiones – identificar la concurrencia inherente en el problema – destinar subsistemas a procesos – definir la estrategia de implantación para administración de datos
  • 39. 20-octubre-1998 PRINCIPIA INFORMATICA 39 OMT (2) – identificar los recursos globales y definir los mecanismos para el control de acceso a ellos – seleccionar un acercamiento para implementar el software de control – Considerar las condiciones de restricción • Muchos sistemas son bastante similares, Rumbaugh sugiere que el diseño de sistemas se base en el uso de varias arquitecturas canónicas (patrones)
  • 40. 20-octubre-1998 PRINCIPIA INFORMATICA 40 Shlaer-Mellor (1) • Describe un lenguaje de diseño orientado a objetos (OODLE) derivados de la notación de Booch y Buhr • Existen cuatro tipos de diagramación: – diagrama de clases – estructura de clases – diagrama de dependencia – diagrama de herencia
  • 41. 20-octubre-1998 PRINCIPIA INFORMATICA 41 Shlaer-Mellor (2) • Hay un diagrama de clase para cada clase – el diagrama define las operaciones y los atributos de la clase • La gráfica de la estructura de clases define: – la estructura de módulos de la clase – el control y flujo de datos entre los módulos de su clase • Hay una gráfica de estructura de clase por cada clase
  • 42. 20-octubre-1998 PRINCIPIA INFORMATICA 42 Shlaer-Mellor (3) • Los diagramas de dependencia ilustran la dependencia de clases, las cuales pueden ser: – Cliente-servidor • existe cuando una clase (el cliente) llama las operaciones de otra clase (el servidor) – Amigos • existe cuando una clase accesa los datos internos de otra clase (esto es una violación a la información oculta)
  • 43. 20-octubre-1998 PRINCIPIA INFORMATICA 43 Shlaer-Mellor (4) • Los diagramas de herencia muestran las relaciones de herencia entre clases • Shlaer y Mellor definen un método de diseño recursivo que utiliza la notación OODLE de la siguiente manera: – define cómo los procesos de cómputo genérico serán implementados – implementa el modelo de clases usando los procesos de cómputo genérico • Este método es más complejo que otros orientados a objetos
  • 44. 20-octubre-1998 PRINCIPIA INFORMATICA 44 Booch (1) • Modela el DOO en dos vistas – lógica, la cual define clases, objetos, y sus relaciones • corresponde al modelo lógico de la fase de requerimientos de software – física, la cual define la arquitectura de módulo y proceso • corresponde al modelo físico en la construcción de la fase de diseño
  • 45. 20-octubre-1998 PRINCIPIA INFORMATICA 45 Booch (2) • Booch provee dos técnicas de diagramación para documentar la vista física: – Diagramas de módulo • utilizados para mostrar la ubicación de clases y objetos a módulos – Los diagramas de proceso • muestran la ubicación de módulos para procesos de hardware
  • 46. 20-octubre-1998 PRINCIPIA INFORMATICA 46 PROGRAMACIÓN, PRUEBAS Y MANTENIMIENTO ORIENTADOS A OBJETOS
  • 47. 20-octubre-1998 PRINCIPIA INFORMATICA 47 La POO se basa en... • La utilización de objetos, clases y mensajes en vez de funciones y/o procedimientos • La reutilización de código existente Biblioteca de clases reutilizables Nuevas Clases Clases existentes
  • 48. 20-octubre-1998 PRINCIPIA INFORMATICA 48 Pruebas OO • Su propósito principal es mejorar la calidad del software • Una buena modularidad ayuda a aislar los defectos
  • 49. 20-octubre-1998 PRINCIPIA INFORMATICA 49 Mantenimiento Orientado a Objetos • La OO facilita el mantenimiento de 3 formas diferentes – Reduce la cantidad de mantenimiento ya que la calidad inicial del software es alta debido a la reutilización de componentes – La relación entre los objetos del mundo real y los del software hacen que éste sea más entendible y de fácil mantenimiento – La extensibilidad natural del SOO facilita la incorporación de propiedades adicionales en etapas posteriores