SlideShare una empresa de Scribd logo
1 de 29
Ingeniería de software
Unidad II
Ingeniería de Software Orientado a Objetos
Principios Orientados a Objetos
Tema
Semana 7
Objetivos Generales:
Comprender correcta y eficientemente
los conceptos y principios del espectro
de técnicas de Ingeniería de Software
que puedan ser aplicadas en proyectos
de software.
Desarrollar una cultura de ingeniería
de software.
Objetivos Específicos:
Aplicar correctamente los conceptos y
principios relacionados a la Ingeniería de
Software en la resolución de casos
prácticos para la gestión de proyectos de
software de calidad.
Utilizar herramientas para el modelado y
gestión de proyectos de software.
Utilizar metodologías agiles en el
desarrollo de software.
Objetivos Instruccionales:
Comprender los conceptos relacionados
a los principios relacionados a la
orientación a objetos.
En que consiste
1. Un objeto encapsula tanto datos como los
procesos que se aplican a esos datos.
2. Esta característica permite construir clases
de objetos e inherentemente construir
bibliotecas de objetos y clases reutilizables.
3. Los componentes de software derivados de
objetos muestran características como la
independencia funcional, ocultación de la
información, asociados con el software de
alta calidad.
Paradigmaorientadoaobjetos
Cuales son los pasos
La ingeniería de software orientado a objetos sigue
los mismos pasos que el enfoque convencional
ANALISIS
DISEÑO
IMPLEMENTACION
PRUEBAS
Identifica las clases y objetos relevantes
en el dominio del problema
Proporciona detalles sobre la
arquitectura, las interfaces y los
componentes
Utilizando un lenguaje orientado a
objetos, transforma el diseño en
código
Chequean tanto la arquitectura como
las interfaces y los componentes
Paradigmaorientadoaobjetos
¿Que es un objeto?
Un objeto representa una entidad física, conceptual o
programa.
Entidad física:
Entidad conceptual:
Entidad programa:
Ómnibus
Fenómeno natural
Lista
enlazada
Conceptosdeorientaciónaobjetos
Definición formal de objeto
Un objeto es un concepto, una abstracción o una
cosa con limites bien definidas y significado para una
aplicación.
Un objeto es algo que tiene:
1. Estado
2. Comportamiento
3. Identidad
Conceptosdeorientaciónaobjetos
Un objeto tiene estado
•Un estado es una de las posibles condiciones en que el
objeto puede existir.
•El estado normalmente cambia en el transcurso del
tiempo.
•El estado de un objeto es implementado por un conjunto
de propiedades (llamadas atributos), con los valores de
las propiedades, además de las conexiones que deben
existir entre objetos.
Nombre: Andrés Rebaza Gutiérrez
Nº Cliente: 0081695
Fecha Ingreso: 29 Abril 2004
Estado: Activo
Conceptosdeorientaciónaobjetos
Un objeto tiene comportamiento
•El comportamiento de un objeto determina como este
actúa y reacciona frente a las peticiones de otros objetos.
•El comportamiento de un objeto es modelado por un
conjunto de mensajes a los que puede responder (las
operaciones que el objeto puede realizar).
Registro del sistema
Crear pedido : 040401
RetornaConfirmacion
Conceptosdeorientaciónaobjetos
Un objeto tiene una identidad
•Cada objeto tiene una identidad única, incluso si su
estado es idéntico al de otro objeto.
Nombre: G.
Washington
País : Perú
Nombre: G.
Washington
País : Perú
Nombre: G.
Washington
País : Perú
Conceptosdeorientaciónaobjetos
¿Que son clases?
• Una clase es una descripción de un grupo de
objetos con propiedades en común (atributos),
comportamiento similar (operaciones), la misma
manera de relacionarse entre objetos (asociaciones
y agregaciones) y una semántica en común.
• Una clase es una abstracción en la que:
1. Se enfatizan las características relevantes
2. Se suprimen otras características
• La abstracción nos ayuda a trabajar con cosas
complejas.
Conceptosdeorientaciónaobjetos
Ejemplo de una clase
Clase
Pedido
Comportamiento
Agregar un pedido
Borrar un pedido
Modificar un pedido
ListarPedidosAnulados
Estructura
NroPedido
Fecha
FormaDePago
Cliente
Conceptosdeorientaciónaobjetos
Relación entre clases y objetos
• Una clase es una definición abstracta de un objeto.
1. Define la estructura y el comportamiento compartidos por
los objetos
2. Sirve como modelo para la creación de objetos
• Los objetos pueden ser agrupados en clases.
Objetos
Cliente: Rojas Cliente: Vásquez
Cliente: Suárez
Cliente
RazonSocial
Direccion
Telefono
eMail
TipoCliente
AgregarCliente
ModificarCliente
EstadoCliente
Conceptosdeorientaciónaobjetos
Encontrando clases
• Una clase debe capturar una y solo una abstracción
clave.
• Mala abstracción: La clase estudiante que conoce la
información del estudiante y del programa del
semestre actual del estudiante.
• Buena abstracción: Clases separadas. Una para el
estudiante y otra programa de estudiantes.
Conceptosdeorientaciónaobjetos
Jerarquía de clases
Los atributos y métodos de una superclase son
heredados por sus subclases.
Conceptosdeorientaciónaobjetos
Mensajes
Medios por el cual los objetos intercambian
información entre si.
Conceptosdeorientaciónaobjetos
Herencia
Permite a las subclases reutilizar datos y métodos de la
superclase
Conceptosdeorientaciónaobjetos
Polimorfismo
Permite que varios objetos en una jerarquía de la clase
puedan tener métodos diferentes con el mismo nombre
Conceptosdeorientaciónaobjetos
Ventajas de la orientación a objetos
1. El ocultamiento de los datos y procedimientos
del mundo externo, reduce la propagación de
efectos laterales cuando se efectúan cambios.
2. La estructura de datos y operadores se unen
en una sola entidad o clase (esto facilita la
reutilización)
3. El encapsulamiento simplifica las interfaces
entre los objetos.
Conceptosdeorientaciónaobjetos
Opciones de construcción de clases
1. Construya nuevas clases desde el principio sin usar la
herencia.
2. Use la herencia para crear la nueva clase de la clase
existente que contiene la mayoría de los atributos y
funcionalidad deseada.
3. Reestructure la jerarquía de la clase para que los
atributos y funcionalidad requerida puedan ser
heredados por la clase recientemente creada
4. Reemplace algunos atributos o funcionalidad en una
clase existente y use la herencia para crear una nueva
clase con las versiones privadas de estos atributos y
funcionalidades.
Conceptosdeorientaciónaobjetos
De clases
Una clase de objeto describe a un grupo de objetos con
similares:
1. Propiedades
2. Comportamientos
3. Relaciones con otros objetos.
Elementosdeunmodelodeobjetos
De objetos
Se examina el planteamiento del problema realizando un
“análisis sintáctico gramatical” en la narrativa del sistema
que se va a construir. Los objetos se determinan
subrayando cada nombre.
Se manifiestan como:
1.Entidades externas (otros sistemas,
dispositivos, personas,etc),
2.Cosas (informes, presentaciones, etc),
3.Ocurrencias o sucesos (movimiento en un
robot),
4.Papeles o roles (director, vendedor,
ingeniero),
5.Estructuras (sensores, computadoras),
6.Unidades organizacionales (división, grupo,
equipo).
Características de selección:
1.Información retenida,
2.Servicios necesarios,
3.Atributos múltiples,
4.Atributos comunes,
5.Operaciones comunes,
6.Requisitos esenciales.
Para ser considerado un objeto valido a
incluir en el modelo de requisitos, debe
satisfacer todas o casi todas las
características.
Elementosdeunmodelodeobjetos
De atributos
1. Los atributos describen un objeto que ha sido
seleccionado para ser incluido en el modelo de
análisis.
2. En esencia son los atributos los que definen al
objeto, los que clarifican lo que representa el
objeto en el contexto del espacio del problema.
3. Para desarrollar un conjunto significativo de
atributos para un objeto, el analista puede
estudiar de nuevo la narrativa del proceso para
el problema y seleccionar aquellos elementos
que razonablemente “pertenecen” al objeto.
Elementosdeunmodelodeobjetos
Definición de operaciones
Definen el comportamiento de un objeto y cambian de
alguna manera, los atributos de dicho objeto. Las
operaciones se obtienen subrayando cada verbo.
Categorías:
1. Manipulan datos (añadiendo, seleccionando,
eliminación).
2. Realizan cálculos.
3. Monitorizan objetos a la ocurrencia de un suceso de
control.
A estas operaciones se añaden dos más: crear y
destruir.
Elementosdeunmodelodeobjetos
Actividades
GestióndeproyectosOO
1. Establecimiento de un marco de proceso común para
el proyecto
2. Uso del marco y de métricas históricas para desarrollar
estimaciones de esfuerzo y tiempo
3. Especificación de productos de trabajo e hitos que
permitirán medir el progreso
4. Definición de puntos de comprobación para la gestión
de riesgos, aseguramiento de la calidad y control
5. Gestión de los cambios que ocurren invariablemente al
progresar el proyecto
6. Seguimiento, monitorización y control del progreso
Resumen
1. El dominio del problema se caracteriza
mediante un conjunto de objetos con
atributos y comportamientos específicos.
2. Los objetos son manipulados mediante
una colección de funciones (llamadas
métodos) y se comunican entre ellos
mediante un protocolo de mensajes.
3. Los objetos se clasifican mediante clases
y subclases.
Ingeniería de software
Unidad II
Ingeniería de Software Orientado a Objetos
Principios Orientados a Objetos
Tema
Semana 7

Más contenido relacionado

La actualidad más candente

Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareSoftware Guru
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructuralesAutentia
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecysLeonel Narvaez Ruiz
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Primeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosPrimeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosHeliberto Arias
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
Prototipado ventajas-y-desventajas
Prototipado ventajas-y-desventajasPrototipado ventajas-y-desventajas
Prototipado ventajas-y-desventajasMisael Cruz
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboraciond-draem
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentesuitron
 

La actualidad más candente (20)

Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de Software
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
1. uml
1. uml1. uml
1. uml
 
Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecys
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Primeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosPrimeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datos
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Comandos java
Comandos javaComandos java
Comandos java
 
UML
UMLUML
UML
 
Prototipado ventajas-y-desventajas
Prototipado ventajas-y-desventajasPrototipado ventajas-y-desventajas
Prototipado ventajas-y-desventajas
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 

Destacado (9)

Curso
CursoCurso
Curso
 
DESARROLLO DE SOFTWARE ORIENTADO A OBJETOS
DESARROLLO DE SOFTWARE ORIENTADO A OBJETOSDESARROLLO DE SOFTWARE ORIENTADO A OBJETOS
DESARROLLO DE SOFTWARE ORIENTADO A OBJETOS
 
05 modelo de diseño
05 modelo de diseño05 modelo de diseño
05 modelo de diseño
 
04 modelo dean�lisis-2
04 modelo dean�lisis-204 modelo dean�lisis-2
04 modelo dean�lisis-2
 
Modelo de casos de uso
Modelo de casos de uso Modelo de casos de uso
Modelo de casos de uso
 
03 requerimientos
03 requerimientos03 requerimientos
03 requerimientos
 
03 casos deuso
03 casos deuso03 casos deuso
03 casos deuso
 
02 modelo delnegocio
02 modelo delnegocio02 modelo delnegocio
02 modelo delnegocio
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 

Similar a Principios OO ingeniería software

Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetosedwinlemmon
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAngel Laverde ID
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02luisortiz
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosdouglimar89
 

Similar a Principios OO ingeniería software (20)

Cap3.0
Cap3.0Cap3.0
Cap3.0
 
Diseño oo
Diseño ooDiseño oo
Diseño oo
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Analisis y Diseño de Sistemas II-1
Analisis y Diseño de Sistemas II-1Analisis y Diseño de Sistemas II-1
Analisis y Diseño de Sistemas II-1
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Analisis y diseno_oo
Analisis y diseno_ooAnalisis y diseno_oo
Analisis y diseno_oo
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
B dtrabajo2
B dtrabajo2B dtrabajo2
B dtrabajo2
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
 

Más de elprofenava2002

Más de elprofenava2002 (7)

resumen-de-redes.pptx
resumen-de-redes.pptxresumen-de-redes.pptx
resumen-de-redes.pptx
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
 
diagnostico
diagnosticodiagnostico
diagnostico
 
matematicas
matematicasmatematicas
matematicas
 
40 45
40 4540 45
40 45
 
Ensambles ecuencia didactica 1_3
Ensambles ecuencia didactica 1_3Ensambles ecuencia didactica 1_3
Ensambles ecuencia didactica 1_3
 
Ensambles ecuencia didactica 1_3
Ensambles ecuencia didactica 1_3Ensambles ecuencia didactica 1_3
Ensambles ecuencia didactica 1_3
 

Principios OO ingeniería software

  • 1. Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7
  • 2. Objetivos Generales: Comprender correcta y eficientemente los conceptos y principios del espectro de técnicas de Ingeniería de Software que puedan ser aplicadas en proyectos de software. Desarrollar una cultura de ingeniería de software.
  • 3. Objetivos Específicos: Aplicar correctamente los conceptos y principios relacionados a la Ingeniería de Software en la resolución de casos prácticos para la gestión de proyectos de software de calidad. Utilizar herramientas para el modelado y gestión de proyectos de software. Utilizar metodologías agiles en el desarrollo de software.
  • 4. Objetivos Instruccionales: Comprender los conceptos relacionados a los principios relacionados a la orientación a objetos.
  • 5.
  • 6. En que consiste 1. Un objeto encapsula tanto datos como los procesos que se aplican a esos datos. 2. Esta característica permite construir clases de objetos e inherentemente construir bibliotecas de objetos y clases reutilizables. 3. Los componentes de software derivados de objetos muestran características como la independencia funcional, ocultación de la información, asociados con el software de alta calidad. Paradigmaorientadoaobjetos
  • 7. Cuales son los pasos La ingeniería de software orientado a objetos sigue los mismos pasos que el enfoque convencional ANALISIS DISEÑO IMPLEMENTACION PRUEBAS Identifica las clases y objetos relevantes en el dominio del problema Proporciona detalles sobre la arquitectura, las interfaces y los componentes Utilizando un lenguaje orientado a objetos, transforma el diseño en código Chequean tanto la arquitectura como las interfaces y los componentes Paradigmaorientadoaobjetos
  • 8. ¿Que es un objeto? Un objeto representa una entidad física, conceptual o programa. Entidad física: Entidad conceptual: Entidad programa: Ómnibus Fenómeno natural Lista enlazada Conceptosdeorientaciónaobjetos
  • 9. Definición formal de objeto Un objeto es un concepto, una abstracción o una cosa con limites bien definidas y significado para una aplicación. Un objeto es algo que tiene: 1. Estado 2. Comportamiento 3. Identidad Conceptosdeorientaciónaobjetos
  • 10. Un objeto tiene estado •Un estado es una de las posibles condiciones en que el objeto puede existir. •El estado normalmente cambia en el transcurso del tiempo. •El estado de un objeto es implementado por un conjunto de propiedades (llamadas atributos), con los valores de las propiedades, además de las conexiones que deben existir entre objetos. Nombre: Andrés Rebaza Gutiérrez Nº Cliente: 0081695 Fecha Ingreso: 29 Abril 2004 Estado: Activo Conceptosdeorientaciónaobjetos
  • 11. Un objeto tiene comportamiento •El comportamiento de un objeto determina como este actúa y reacciona frente a las peticiones de otros objetos. •El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede responder (las operaciones que el objeto puede realizar). Registro del sistema Crear pedido : 040401 RetornaConfirmacion Conceptosdeorientaciónaobjetos
  • 12. Un objeto tiene una identidad •Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto. Nombre: G. Washington País : Perú Nombre: G. Washington País : Perú Nombre: G. Washington País : Perú Conceptosdeorientaciónaobjetos
  • 13. ¿Que son clases? • Una clase es una descripción de un grupo de objetos con propiedades en común (atributos), comportamiento similar (operaciones), la misma manera de relacionarse entre objetos (asociaciones y agregaciones) y una semántica en común. • Una clase es una abstracción en la que: 1. Se enfatizan las características relevantes 2. Se suprimen otras características • La abstracción nos ayuda a trabajar con cosas complejas. Conceptosdeorientaciónaobjetos
  • 14. Ejemplo de una clase Clase Pedido Comportamiento Agregar un pedido Borrar un pedido Modificar un pedido ListarPedidosAnulados Estructura NroPedido Fecha FormaDePago Cliente Conceptosdeorientaciónaobjetos
  • 15. Relación entre clases y objetos • Una clase es una definición abstracta de un objeto. 1. Define la estructura y el comportamiento compartidos por los objetos 2. Sirve como modelo para la creación de objetos • Los objetos pueden ser agrupados en clases. Objetos Cliente: Rojas Cliente: Vásquez Cliente: Suárez Cliente RazonSocial Direccion Telefono eMail TipoCliente AgregarCliente ModificarCliente EstadoCliente Conceptosdeorientaciónaobjetos
  • 16. Encontrando clases • Una clase debe capturar una y solo una abstracción clave. • Mala abstracción: La clase estudiante que conoce la información del estudiante y del programa del semestre actual del estudiante. • Buena abstracción: Clases separadas. Una para el estudiante y otra programa de estudiantes. Conceptosdeorientaciónaobjetos
  • 17. Jerarquía de clases Los atributos y métodos de una superclase son heredados por sus subclases. Conceptosdeorientaciónaobjetos
  • 18. Mensajes Medios por el cual los objetos intercambian información entre si. Conceptosdeorientaciónaobjetos
  • 19. Herencia Permite a las subclases reutilizar datos y métodos de la superclase Conceptosdeorientaciónaobjetos
  • 20. Polimorfismo Permite que varios objetos en una jerarquía de la clase puedan tener métodos diferentes con el mismo nombre Conceptosdeorientaciónaobjetos
  • 21. Ventajas de la orientación a objetos 1. El ocultamiento de los datos y procedimientos del mundo externo, reduce la propagación de efectos laterales cuando se efectúan cambios. 2. La estructura de datos y operadores se unen en una sola entidad o clase (esto facilita la reutilización) 3. El encapsulamiento simplifica las interfaces entre los objetos. Conceptosdeorientaciónaobjetos
  • 22. Opciones de construcción de clases 1. Construya nuevas clases desde el principio sin usar la herencia. 2. Use la herencia para crear la nueva clase de la clase existente que contiene la mayoría de los atributos y funcionalidad deseada. 3. Reestructure la jerarquía de la clase para que los atributos y funcionalidad requerida puedan ser heredados por la clase recientemente creada 4. Reemplace algunos atributos o funcionalidad en una clase existente y use la herencia para crear una nueva clase con las versiones privadas de estos atributos y funcionalidades. Conceptosdeorientaciónaobjetos
  • 23. De clases Una clase de objeto describe a un grupo de objetos con similares: 1. Propiedades 2. Comportamientos 3. Relaciones con otros objetos. Elementosdeunmodelodeobjetos
  • 24. De objetos Se examina el planteamiento del problema realizando un “análisis sintáctico gramatical” en la narrativa del sistema que se va a construir. Los objetos se determinan subrayando cada nombre. Se manifiestan como: 1.Entidades externas (otros sistemas, dispositivos, personas,etc), 2.Cosas (informes, presentaciones, etc), 3.Ocurrencias o sucesos (movimiento en un robot), 4.Papeles o roles (director, vendedor, ingeniero), 5.Estructuras (sensores, computadoras), 6.Unidades organizacionales (división, grupo, equipo). Características de selección: 1.Información retenida, 2.Servicios necesarios, 3.Atributos múltiples, 4.Atributos comunes, 5.Operaciones comunes, 6.Requisitos esenciales. Para ser considerado un objeto valido a incluir en el modelo de requisitos, debe satisfacer todas o casi todas las características. Elementosdeunmodelodeobjetos
  • 25. De atributos 1. Los atributos describen un objeto que ha sido seleccionado para ser incluido en el modelo de análisis. 2. En esencia son los atributos los que definen al objeto, los que clarifican lo que representa el objeto en el contexto del espacio del problema. 3. Para desarrollar un conjunto significativo de atributos para un objeto, el analista puede estudiar de nuevo la narrativa del proceso para el problema y seleccionar aquellos elementos que razonablemente “pertenecen” al objeto. Elementosdeunmodelodeobjetos
  • 26. Definición de operaciones Definen el comportamiento de un objeto y cambian de alguna manera, los atributos de dicho objeto. Las operaciones se obtienen subrayando cada verbo. Categorías: 1. Manipulan datos (añadiendo, seleccionando, eliminación). 2. Realizan cálculos. 3. Monitorizan objetos a la ocurrencia de un suceso de control. A estas operaciones se añaden dos más: crear y destruir. Elementosdeunmodelodeobjetos
  • 27. Actividades GestióndeproyectosOO 1. Establecimiento de un marco de proceso común para el proyecto 2. Uso del marco y de métricas históricas para desarrollar estimaciones de esfuerzo y tiempo 3. Especificación de productos de trabajo e hitos que permitirán medir el progreso 4. Definición de puntos de comprobación para la gestión de riesgos, aseguramiento de la calidad y control 5. Gestión de los cambios que ocurren invariablemente al progresar el proyecto 6. Seguimiento, monitorización y control del progreso
  • 28. Resumen 1. El dominio del problema se caracteriza mediante un conjunto de objetos con atributos y comportamientos específicos. 2. Los objetos son manipulados mediante una colección de funciones (llamadas métodos) y se comunican entre ellos mediante un protocolo de mensajes. 3. Los objetos se clasifican mediante clases y subclases.
  • 29. Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7