3P 01 IntroduccionAPOO
3P 01 IntroduccionAPOO
3P 01 IntroduccionAPOO
Tulio Mamani
▪ Ing. Tulio Mamani
Orientado a Objetos
«Es una paradigma del mundo de ingeniería de software»
3
Objetos
Un objeto se define como «Representación de cualquier cosa del
mundo real, al que se puede asociar estados (state) y
comportamientos (behavior)»
4
Objetos
5
Objetos
• Nombre
• Color
Estados
• Raza
• Sed
• Ladrar
Compor- • Buscar
tamiento • Olfatear
• Menear la cola
6
Objetos
• Marcha actual
• Velocidad actual
Estados
• Cadena de pedaleo
actual
• Cambiar marcha
Compor-
• Cambiar velocidad
tamiento
• Cambiar cadena
7
Objetos
Objetivo
8
Objetos
• Encendido
• Apagado
Estados • Volumen actual
• Frecuencia actual
• Estación actual
• Encender
• Apagar
• Incrementar
volumen
Compor-
• Decrementar
tamiento volumen
• Cambiar estación
• Sintonizar estación
• Guardar memoria
9
Objetos en IT
10
Clases
Radio
Encendido
Apagado
Volumen actual
Frecuencia actual
Estación actual
Marca
Modelo
encender();
apagar();
incrementarVolumen(cantidad);
decrementarVolumen(cantidad);
cambiarEstacion(estacion);
sintonizarEstacion(tipo);
11
Clases y Objetos
•Encendido = Si
•Apagado = No
•Volumen actual = Alto
radioSony •Frecuencia actual = FM
•Estación actual = 97.7
•Marca = Sony
•Modelo = Genezi
•Encendido = No
•Apagado = Si
Radio •Volumen actual =
Ninguno
radioLG •Frecuencia actual = FM
•Estación actual =
Ninguno
•Marca = LG
•Modelo = CM4520
12
Ejercicios
¿Cuáles de los siguientes ítems son clases u objetos?
13
Ejercicios
Identificar las posibles clases que participan en:
• Un sistema de monitoreo de salidas y rutas de líneas de transporte
publico .
• Un sistema de control de semáforos inteligente para el servicio de
transito.
• Un sistema de seguridad de casas en una urbanización.
• Un proyecto de control de personal en la universidad.
• Un sistema remoto de medición de consumo de luz y agua.
14
Abstracción
Se refiere a analizar y representar los atributos y funcionalidades
de un objeto del mundo real que son necesarios para dar solución
a un problema en particular.
15
▪ Ing. Tulio Mamani
Relaciones
Es un tipo de….
Vehículo
Tipos de relaciones:
Generalización
Asociación
Agregación
Composición
17
Generalización
Medio de
Herencia
Motorizado No
Especialización
Súper clase, Clase base, Padre
Generalización
Motorizado
Herencia
Automóvil Motocicleta
Herencia
Camioneta Van
18
Ejemplo
Vehiculo
Camioneta Camion
19
Asociación
Software SO
Software
SO
1
1
20
Agregacion
Agregación
La agregación es un tipo de asociación que indica que una clase es
parte de otra clase (composición débil). Los componentes pueden ser
compartidos por varios compuestos (de la misma asociación de
agregación o de varias asociaciones de agregación distintas). La
destrucción del compuesto no conlleva la destrucción de los
componentes. Habitualmente se da con mayor frecuencia que la
composición.
21
Composición
Composición
Composición es una forma fuerte de composición donde la vida de la
clase contenida debe coincidir con la vida de la clase contenedor. Los
componentes constituyen una parte del objeto compuesto. De esta
forma, los componentes no pueden ser compartidos por varios
objetos compuestos. La supresión del objeto compuesto conlleva la
supresión de los componentes.
El símbolo de composición es un diamante de color negro colocado
en el extremo en el que está la clase que representa el “todo”
(Compuesto)
22
Diferencias entre agregación y
composición
23
Ejercicios
24
▪ Ing. Tulio Mamani
Encapsulación
Forma de ocultar atributos y/o métodos de las clases al público
Es la propiedad que permite asegurar que la información de un objeto está oculta
del mundo exterior.
El encapsulamiento consiste en agrupar en una Clase las características(atributos)
con un acceso privado y los comportamientos (métodos) con un acceso público.
Acceder o modificar los miembros de una clase a través de sus métodos
26
Polimorfismo
Son comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre; al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando.
27
Herencia
Es una propiedad que permite crear clases a partir de otras ya existentes, obteniendo
características (métodos y claseatributos) similares a los ya existentes.En otras
palabras la nueva clase (subclase o derivada) puede utilizar la misma implementación
de su superclase (clase base) o especificar una nueva implementación
28
▪ Ing. Tulio Mamani
Que es un modelo?
Es una simplificación de la realidad
Conjunto de herramientas,
procedimientos, técnicas y un
soporte documental para
desarrollar nuevo SW
Construcción de la casita de Boby
❑ Modelo Simple
❑ Proceso Simple
❑ Herramientas Simples
Construcción de un chalet
❑ Requiere Modelado
❑ Proceso Definido
❑ Herramientas Sofisticadas
Construcción de un edfificio
❑ Requiere Modelado
Avanzado
❑ Proceso Definido en base
a proyectos
❑ Herramientas muy
Sofisticadas
El Lenguaje de modelado unificado
Construir
Es un: Lenguaje de
propósito general Documentar
Para:
Visualizar
Muestra el comportamiento
dinámico, procesos,
comunicación, coordinación y
preferencia
Clasificacion de vistas en UML
Clases
Objetos
Vistas Estructurales
Componentes
Despliegue
Las vistas se
clasifican en: Vistas de Casos de Uso
comportamiento Paquetes
Secuencia
Estados
Colaboración
Diagramas en UML
Al igual que en un plano de construcción las vistas tienen el objetivo de
brindar diferentes perspectivas del modelo para los diferentes
interesados en el modelo
Diagramas en UML
Diagrama de Diagrama de
Casos de uso Clases
Diagrama de Diagrama de
Secuencias Objetos
MODELO
Diagrama de Diagrama de
Colaboración Componentes
Diagrama de
Distribución
Diagrama de
Estados
Diagrama de
actividades
▪ Ing. Tulio Mamani
Diagramas en UML
Casos de Uso
Caso de Uso
Permite capturar información de como un
sistema o negocio trabaja o como se
desea que trabaje
Actor
Es el rol o papel que juega un usuario o cliente
con el sistema o modelo. (No representa a una
persona en particular sino la labor que realiza
frente al modelo
Caso de Uso
Operación o tarea especifica que se realiza tras
una orden de algún agente externo (puede ser
originada por una petición de un actor o bien
desde la invocación de otro caso de uso)
Relaciones
Son:
• Inclusión.
• Extensión.
• Generalización
• Agrupamiento
Ejemplo
Cliente
Diagrama de Objetos
Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el análisis y
diseño.
Un diagrama de clases presenta las clases del sistema con sus
relaciones estructurales y de herencia.
La definición de clase incluye definiciones para atributos y
operaciones.
El modelo de casos de uso aporta información para establecer las
clases, objetos, atributos y operaciones.
Los diagramas de clases son utilizados para ilustrar las relaciones
entre clases y son el fundamento para el proceso de diseño
Diagrama de Clases
Análisis
Diseño
Programación
Prueba
Operación
Diagramas de diseño usados
Casos de Uso
Actividades
Secuencia
Clases
Estados
Ejercicio