SlideShare una empresa de Scribd logo
DISEÑO 6ª
PARTE
INGENIERÍA DEL SOFTWARE 1
DISEÑO ORIENTADO A
OBJETOS
El paradigma de la programación orientada a
objetos se remonta a 1967, año en que los
investigadores noruegos O.J.Dahl y K. Nygaard
desarrollaron los conceptos básicos de este modelo
en un lenguaje llamado SIMULA. Hoy en día, éste es
el paradigma de programación más utilizado y los
lenguajes orientados a objetos – la mayoría
influenciados por SIMULA, tales como Smalltalk,
C++, Eiffel, Java o C#- cumplen ciertas propiedades
fundamentales de la orientación a objetos
encaminadas a mejorar la calidad del software
producido.
2
PROPIEDADES DE LA ORIENTACIÓN A OBJETOS
3
ABSTRACCIÓN: La abstracción se representa mediante el concepto de
clase, que representa un conjunto de objetos concretos, llamados
instancias, que tienen propiedades y operaciones comunes.
HERENCIA: Esta propiedad permite definir una clase a partir de otras
clases existentes, de modo tal que la nueva clase hereda las
características de la superclase, a las que se añadirán ciertas
características propias.
ENCAPSULAMIENTO: Los datos y operaciones de una clase están
organizados para que los clientes de la clase sólo necesiten conocer la
interfaz pública de la misma. Así sabrán cómo invocarlas porque
conocerán cómo pueden hacerlo, pero no cómo están implementadas.
POLIMORFISMO: Propiedad que permite que un mimsmo nombre de
método, esté asociado a distintos comportamientos, pudiendo ser de
dos tipos: estático o dinámico.
LA GUERRA DE LAS
METODOLOGÍAS
Con la aparición de los lenguajes orientados a
objetos surgieron numerosos métodos de diseño
orientados a objetos, con distintas notaciones y
herramientas, dando lugar a lo que algunos
denominaron “la guerra de las metodologías”. Entre
estas metodologías orientadas a objetos, destacaron
la de Booch, OMT (Object Modeling Technique) Y
OOSE/Objectory cuyos principales autores, Booch
Rumbaugh y Jacobson, se unieron dando lugar al
lenguaje unificado de modelado (UML-Unified
Modeling Language) y al Proceso Unificado.
4
UML
• Con el tiempo UML ha ido aglutinando las
notaciones más importantes de distintas
metodologías, convirtiéndose en el lenguaje
estándar y de referencia para el diseño
orientado a objetos. Se trata, como afirman sus
autores, de un lenguaje para visualizar,
especificar, construir y documentar sistemas en
general pero particularmente adaptado a
sistemas software construidos mediante el
paradigma de la orientación a objetos.
• Aunque UML es independiente del proceso que
se siga, está generalmente ligado a procesos
iterativos e incrementales como el Proceso
Unificado y Open Up.
5
LAS 4+1 VISTAS DE
KRUCHTEN
En procesos como el proceso unificado (Unified Process, UP) y
OpenUP, la arquitectura de un sistema se describe mediante
cuatro vistas complementarias más una vista adicional de
casos de uso que complementa la información de las otras
cuatro:
• La vista de diseño muestra cómo se llevan a cabo los
requisitos funcionales mediante la descomposición del
sistema en sus elementos componentes (clases y
relaciones)
• La vista de implementación describe la organización del
sistema en módulos, componentes y paquetes cubriendo el
ensamblado del sistema y la gestión de configuración,
reutilización y portabilidad.
• La vista de procesos describe no sólo los procesos y sus
comunicaciones, sino además los hilos de control en las
clases (concurrencia y distribución de procesos) cuando el
lenguaje lo permite y la implementación lo contempla.
• La vista de despliegue se utiliza para representar el
conjunto de nodos físicos que forman la topología
hardware del sistema.
• La vista de los casos de uso describe los requisitos
funcionales del sistema , utilizados para complementar las
otras vistas. Se trata de una vista transversal que se emplea
durante todo el ciclo de vida, por ejemplo y entre otros
cometidos, para crear los casos de prueba.
6
TIPOS DE DIAGRAMAS EN UML
En UML los diagramas están
estructurados en dos grupos:
DIAGRAMAS DE ESTRUCTURA: Que
reflejan la estructura física (estática) del
sistema por medio de sus clases,
métodos, atributos, interfaces, paquetes,
etc. y sus relaciones.
DIAGRAMAS DE COMPORTAMIENTO: Que
muestran la forma en los distintos
elementos del sistema, interaccionan,
colaboran y cambian de estado durante la
ejecución del sistema para proveer la
funcionalidad requerida.
7
DIAGRAMAS DE UML 2
DIAGRAMAS DE ESTRUCTURA
Clases Es el diagrama más importante. Muestra un conjunto de clases, interfaces y
colaboraciones con sus relaciones.
Objetos Muestra un conjunto de objetos y sus relaciones en un cierto estado. Generalmente,
representan la instanciación de un diagrama de clases en un determinado punto en el
tiempo.
Componentes Describe los componentes que conforman una aplicación, sus interrelaciones e interfaces
públicas.
Estructura
Compuesta
Permite visualizar de manera gráfica las partes que definen la estructura interna de un
clasificador, incluyendo sus puntos de interacción con otras partes del sistema.
Paquetes Muestran la organización en paquetes de los diferentes elementos que conforman el
sistema, permitiendo especificar de manera visual el nombre de los espacios de nombres.
Despliegue Muestra la arquitectura física de un sistema, los nodos en sus entornos de ejecución y
cómo se conectan.
8
DIAGRAMAS DE UML 2
DIAGRAMAS DINÁMICOS
Actividad Muestra los procesos de negocio y flujos de datos.
Comunicación Muestra la organización estructural de los objetos y el paso de mensajes entre ellos.
Interacción Variante del diagrama de actividades para mostrar el flujo de control de un sistema o
proceso de negocio.
Secuencia Modela la secuencia temporal lógica de mensajes entre participantes (generalmente
clases)
Estados Describe los distintos estados en que puede encontrarse un objeto, junto con las
transiciones entre los mismos. Muy útil para representar el comportamiento de
clases complejas.
Tiempos Muestra los cambios de estado o condición producidos en los objetos por eventos
externos.
Casos de uso Representa funcionalidades del sistema mediante casos de uso, actores y relaciones
entre ellos.
9
26 DISEÑO 6A PARTE.pdf
BIBLIOGRAFÍA
11
Sánchez Alonso, S. (2011). Ingeniería del software un enfoque desde la guía SWEBOK. Madrid, España: Alfaomega Grupo
Editor S.A. de C.V.
¡MUCHAS GRACIAS POR TU
VALIOSA ATENCIÓN!
12

Más contenido relacionado

DOCX
Unidad 1 y 2 de desarrollo
PPTX
Lenguaje unificado de modelado.pptx
PPT
Objeto de Aprendizaje : Introducción a UML
PPTX
Presentación1
PPTX
Presentación1
PPTX
PPTX
Desarrollo de uml
PPSX
Uml presentacion
Unidad 1 y 2 de desarrollo
Lenguaje unificado de modelado.pptx
Objeto de Aprendizaje : Introducción a UML
Presentación1
Presentación1
Desarrollo de uml
Uml presentacion

Similar a 26 DISEÑO 6A PARTE.pdf (20)

PPT
Uml
PDF
Sesion1.1 uml
PPTX
Uml lenguaje unificado de modelado
PPT
UML - Lenguaje de Modelamiento Unificado
PPT
Presentacion de-uml-formato-2-1227891304393749-8
PPT
ADS - Sesion2
PPT
Modelamiento visual-y-uml346
PPT
MODELAMIENTO VISUAL Y UML
PPT
Marifer diapositivas uml roisbel
PPTX
Generacion en los diferentes diagramas de uml
ODP
Trabajo uml romero
ODP
Trabajo uml romero
ODP
Trabajo uml romero
ODP
Trabajo uml romero
PPTX
2025 Análisis y Diseño de Sistemas Unidad 03 v01.pptx
Uml
Sesion1.1 uml
Uml lenguaje unificado de modelado
UML - Lenguaje de Modelamiento Unificado
Presentacion de-uml-formato-2-1227891304393749-8
ADS - Sesion2
Modelamiento visual-y-uml346
MODELAMIENTO VISUAL Y UML
Marifer diapositivas uml roisbel
Generacion en los diferentes diagramas de uml
Trabajo uml romero
Trabajo uml romero
Trabajo uml romero
Trabajo uml romero
2025 Análisis y Diseño de Sistemas Unidad 03 v01.pptx

Último (17)

PDF
Libro de Oraciones guia virgen peregrina
PPTX
presentación sobre Programación SQL.pptx
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PPTX
Plantilla-Hardware-Informático-oficce.pptx
DOCX
ESTRATEGIA DE APOYO TECNOLOGÍA 2 PERIODO
PPTX
presentacion_energias_renovables_renovable_.pptx
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PPT
redes.ppt unidad 2 perteneciente a la ing de software
PDF
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
PDF
COSMIC_DANCER_ORACLE.pdf tarot oráculo cartas
PPTX
Informática e inteligencia artificial (2).pptx
PPTX
Evolución de la computadora ACTUALMENTE.pptx
PPTX
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
PDF
Herramientaa de google google keep, maps.pdf
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
Libro de Oraciones guia virgen peregrina
presentación sobre Programación SQL.pptx
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
Plantilla-Hardware-Informático-oficce.pptx
ESTRATEGIA DE APOYO TECNOLOGÍA 2 PERIODO
presentacion_energias_renovables_renovable_.pptx
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
redes.ppt unidad 2 perteneciente a la ing de software
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
COSMIC_DANCER_ORACLE.pdf tarot oráculo cartas
Informática e inteligencia artificial (2).pptx
Evolución de la computadora ACTUALMENTE.pptx
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
Herramientaa de google google keep, maps.pdf
Qué es Google Classroom Insertar SlideShare U 6.pptx

26 DISEÑO 6A PARTE.pdf

  • 2. DISEÑO ORIENTADO A OBJETOS El paradigma de la programación orientada a objetos se remonta a 1967, año en que los investigadores noruegos O.J.Dahl y K. Nygaard desarrollaron los conceptos básicos de este modelo en un lenguaje llamado SIMULA. Hoy en día, éste es el paradigma de programación más utilizado y los lenguajes orientados a objetos – la mayoría influenciados por SIMULA, tales como Smalltalk, C++, Eiffel, Java o C#- cumplen ciertas propiedades fundamentales de la orientación a objetos encaminadas a mejorar la calidad del software producido. 2
  • 3. PROPIEDADES DE LA ORIENTACIÓN A OBJETOS 3 ABSTRACCIÓN: La abstracción se representa mediante el concepto de clase, que representa un conjunto de objetos concretos, llamados instancias, que tienen propiedades y operaciones comunes. HERENCIA: Esta propiedad permite definir una clase a partir de otras clases existentes, de modo tal que la nueva clase hereda las características de la superclase, a las que se añadirán ciertas características propias. ENCAPSULAMIENTO: Los datos y operaciones de una clase están organizados para que los clientes de la clase sólo necesiten conocer la interfaz pública de la misma. Así sabrán cómo invocarlas porque conocerán cómo pueden hacerlo, pero no cómo están implementadas. POLIMORFISMO: Propiedad que permite que un mimsmo nombre de método, esté asociado a distintos comportamientos, pudiendo ser de dos tipos: estático o dinámico.
  • 4. LA GUERRA DE LAS METODOLOGÍAS Con la aparición de los lenguajes orientados a objetos surgieron numerosos métodos de diseño orientados a objetos, con distintas notaciones y herramientas, dando lugar a lo que algunos denominaron “la guerra de las metodologías”. Entre estas metodologías orientadas a objetos, destacaron la de Booch, OMT (Object Modeling Technique) Y OOSE/Objectory cuyos principales autores, Booch Rumbaugh y Jacobson, se unieron dando lugar al lenguaje unificado de modelado (UML-Unified Modeling Language) y al Proceso Unificado. 4
  • 5. UML • Con el tiempo UML ha ido aglutinando las notaciones más importantes de distintas metodologías, convirtiéndose en el lenguaje estándar y de referencia para el diseño orientado a objetos. Se trata, como afirman sus autores, de un lenguaje para visualizar, especificar, construir y documentar sistemas en general pero particularmente adaptado a sistemas software construidos mediante el paradigma de la orientación a objetos. • Aunque UML es independiente del proceso que se siga, está generalmente ligado a procesos iterativos e incrementales como el Proceso Unificado y Open Up. 5
  • 6. LAS 4+1 VISTAS DE KRUCHTEN En procesos como el proceso unificado (Unified Process, UP) y OpenUP, la arquitectura de un sistema se describe mediante cuatro vistas complementarias más una vista adicional de casos de uso que complementa la información de las otras cuatro: • La vista de diseño muestra cómo se llevan a cabo los requisitos funcionales mediante la descomposición del sistema en sus elementos componentes (clases y relaciones) • La vista de implementación describe la organización del sistema en módulos, componentes y paquetes cubriendo el ensamblado del sistema y la gestión de configuración, reutilización y portabilidad. • La vista de procesos describe no sólo los procesos y sus comunicaciones, sino además los hilos de control en las clases (concurrencia y distribución de procesos) cuando el lenguaje lo permite y la implementación lo contempla. • La vista de despliegue se utiliza para representar el conjunto de nodos físicos que forman la topología hardware del sistema. • La vista de los casos de uso describe los requisitos funcionales del sistema , utilizados para complementar las otras vistas. Se trata de una vista transversal que se emplea durante todo el ciclo de vida, por ejemplo y entre otros cometidos, para crear los casos de prueba. 6
  • 7. TIPOS DE DIAGRAMAS EN UML En UML los diagramas están estructurados en dos grupos: DIAGRAMAS DE ESTRUCTURA: Que reflejan la estructura física (estática) del sistema por medio de sus clases, métodos, atributos, interfaces, paquetes, etc. y sus relaciones. DIAGRAMAS DE COMPORTAMIENTO: Que muestran la forma en los distintos elementos del sistema, interaccionan, colaboran y cambian de estado durante la ejecución del sistema para proveer la funcionalidad requerida. 7
  • 8. DIAGRAMAS DE UML 2 DIAGRAMAS DE ESTRUCTURA Clases Es el diagrama más importante. Muestra un conjunto de clases, interfaces y colaboraciones con sus relaciones. Objetos Muestra un conjunto de objetos y sus relaciones en un cierto estado. Generalmente, representan la instanciación de un diagrama de clases en un determinado punto en el tiempo. Componentes Describe los componentes que conforman una aplicación, sus interrelaciones e interfaces públicas. Estructura Compuesta Permite visualizar de manera gráfica las partes que definen la estructura interna de un clasificador, incluyendo sus puntos de interacción con otras partes del sistema. Paquetes Muestran la organización en paquetes de los diferentes elementos que conforman el sistema, permitiendo especificar de manera visual el nombre de los espacios de nombres. Despliegue Muestra la arquitectura física de un sistema, los nodos en sus entornos de ejecución y cómo se conectan. 8
  • 9. DIAGRAMAS DE UML 2 DIAGRAMAS DINÁMICOS Actividad Muestra los procesos de negocio y flujos de datos. Comunicación Muestra la organización estructural de los objetos y el paso de mensajes entre ellos. Interacción Variante del diagrama de actividades para mostrar el flujo de control de un sistema o proceso de negocio. Secuencia Modela la secuencia temporal lógica de mensajes entre participantes (generalmente clases) Estados Describe los distintos estados en que puede encontrarse un objeto, junto con las transiciones entre los mismos. Muy útil para representar el comportamiento de clases complejas. Tiempos Muestra los cambios de estado o condición producidos en los objetos por eventos externos. Casos de uso Representa funcionalidades del sistema mediante casos de uso, actores y relaciones entre ellos. 9
  • 11. BIBLIOGRAFÍA 11 Sánchez Alonso, S. (2011). Ingeniería del software un enfoque desde la guía SWEBOK. Madrid, España: Alfaomega Grupo Editor S.A. de C.V.
  • 12. ¡MUCHAS GRACIAS POR TU VALIOSA ATENCIÓN! 12