1. El documento describe los conceptos y principios de la ingeniería de software orientada a objetos, incluyendo la definición de objetos, clases, atributos, comportamientos, y la comunicación entre objetos mediante mensajes.
2. Explica que los objetos encapsulan datos y procesos, y que las clases representan grupos de objetos con características comunes.
3. Detalla las etapas del desarrollo orientado a objetos como análisis, diseño, implementación y pruebas.
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.
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