Post on 11-Apr-2015
transcript
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 consiste1. 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.
Par
adig
ma
orie
ntad
o a
obje
tos
Cuales son los pasosLa 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
Par
adig
ma
orie
ntad
o a
obje
tos
¿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
Con
cept
os d
e or
ient
ació
n a
obj
etos
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
Con
cept
os d
e or
ient
ació
n a
obj
etos
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
Con
cept
os d
e or
ient
ació
n a
obj
etos
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
Con
cept
os d
e or
ient
ació
n a
obj
etos
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ú
Con
cept
os d
e or
ient
ació
n a
obj
etos
¿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.
Con
cept
os d
e or
ient
ació
n a
obj
etos
Ejemplo de una clase
Clase
Pedido
Comportamiento
Agregar un pedido
Borrar un pedido
Modificar un pedido
ListarPedidosAnulados
Estructura
NroPedido
Fecha
FormaDePago
Cliente
Con
cept
os d
e or
ient
ació
n a
obj
etos
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
ClienteRazonSocialDireccionTelefonoeMailTipoCliente
AgregarClienteModificarClienteEstadoCliente
Con
cept
os d
e or
ient
ació
n a
obj
etos
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.
Con
cept
os d
e or
ient
ació
n a
obj
etos
Jerarquía de clasesLos atributos y métodos de una superclase son heredados por sus subclases.
Con
cept
os d
e or
ient
ació
n a
obj
etos
MensajesMedios por el cual los objetos intercambian información entre si.
Con
cept
os d
e or
ient
ació
n a
obj
etos
HerenciaPermite a las subclases reutilizar datos y métodos de la superclase
Con
cept
os d
e or
ient
ació
n a
obj
etos
PolimorfismoPermite que varios objetos en una jerarquía de la clase puedan tener métodos diferentes con el mismo nombre
Con
cept
os d
e or
ient
ació
n a
obj
etos
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.
Con
cept
os d
e or
ient
ació
n a
obj
etos
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.Con
cept
os d
e or
ient
ació
n a
obj
etos
De clases Una clase de objeto describe a un grupo de objetos con similares:
1. Propiedades
2. Comportamientos
3. Relaciones con otros objetos.
Ele
men
tos
de u
n m
odel
o de
obj
etos
De objetosSe 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.
Ele
men
tos
de u
n m
odel
o de
obj
etos
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.E
lem
ento
s de
un
mod
elo
de o
bjet
os
Definición de operacionesDefinen 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.
Ele
men
tos
de u
n m
odel
o de
obj
etos
ActividadesG
estió
n de
pro
yect
os O
O 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