Está en la página 1de 38

Programación Orientada a

Objetos (POO)
Industrialización y Digitalización 2.0
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
¿Qué es POO?

Técnica de programación que modela el comportamiento de objetos de la


vida real a través de clases, atributos y métodos.

Algunos lenguajes orientados a objetos:

• Ada (1843) • Simula (1991)


• SmallTalk (1980) • Java (1995)
• Objective C (1982) • C# (2000)
• C++ (1983) • Entre otros…
¿Qué es una Clase en POO?

Son el pilar fundamental en POO.

• Estructura que representa entidades dentro de un


producto de software.
• Contiene las propiedades (variables) de un objeto.
• Define los comportamientos (métodos) de un objeto.
• Permiten abstraer los datos y sus operaciones asociadas
(Caja Negra).
• Tiene representaciones en tiempo de ejecución (Meta-
Objetos).
¿Qué es una Clase en POO?
¿Qué son las Variables y Métodos en POO?

También llamados atributos de clase. Son elementos que hacen parte de


una clase y permiten la manipulación y transferencia de datos entre
objetos.

Tipos de Atributos:

• Variables: se utilizan para contener datos que reflejan el


estado de una clase. Generalmente privados.
• Métodos de acceso: métodos que permiten consultar y/o
modificar los valores de los datos. Generalmente públicos.
• Métodos/Rutinas: serie de sentencias para llevar a cabo una
acción.
¿Qué es un Objeto en POO?

Entidad provista de un conjunto de atributos de la clase, es la instancia de


una clase. Los objetos reaccionan ante los eventos creados y son los que
transforman y transportan la información a través del producto de software.

Características de los Objetos:

• Identidad: permite diferenciar un objeto y distinguirse de otros.


• Comportamiento: operaciones que puede realizar y a las que
puede responder.
• Estado: conjunto de atributos y sus valores en un momento
dado.
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
Características de POO

La programación orientada a objetos se compone de las siguientes


características:

Características Principales: Otras Características:


• Abstracción • Modularidad
• Encapsulamiento • Ocultación
• Herencia • Recolección de basura
• Polimorfismo
Características de POO - Abstracción

Se enfoca en la vista exterior de un objeto y separa su comportamiento de la


implementación.

La abstracción indica las características esenciales de un objeto que lo


distinguen de todos los demás tipos de objetos y, por lo tanto,
proporcionan límites conceptuales definidos con precisión, en relación
con la perspectiva del espectador - Grady Boch.
Características de POO - Encapsulamiento

Las clases no deben exponer los detalles de sus variables internas, se debe
limitar el acceso a la estructura y el comportamiento interno del objeto.

Atributos de clases, métodos y variables:


• Private: el campo o método solo es visible únicamente desde la
clase donde se definen.
• Protected: el campo o método solo es visible desde la clase
donde se definen y en cualquiera de sus subclases.
• Public: el campo o método solo es visible desde cualquier clase.
• Default: el campo o método es visible desde cualquier clase
perteneciente al paquete que se defina.
Características de POO - Herencia

Forma de reutilización de software en la que se crea una clase para nueva


para absorber los miembros de otra clase ya existente.
Características de POO - Polimorfismo

En una relación de tipo herencia, un objeto de la superclase puede


almacenar cualquier objeto de sus subclases, es decir, la clase padre
(superclase) es compatible con los tipos que derivan de ella, pero no al revés.

Poli: much@s – Morfismo: formas


Muchas formas que puede tomar
un objeto.
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
Atributos de Calidad

Características no funcionales que se consideran deseables en un sistema de


software. Sin embargo, no todos los sistemas de software deben tener en
cuenta todos estos atributos o cualidades.

Atributos de Calidad:

• Usabilidad • Disponibilidad
• Fiabilidad • Seguridad
• Mantenibilidad • Entre otros…
Atributos de Calidad – Usabilidad

Facilidad con la que el sistema o componente se puede utilizar o bien


aprender a utilizar.

• Comprensible
• Aprendible
• Operativo
• Atractivo
Atributos de Calidad – Fiabilidad

Probabilidad que el software funcione adecuadamente bajo condiciones


operativas específicas.
Atributos de Calidad – Mantenibilidad

Capacidad del producto software para ser modificado efectiva y


eficientemente, debido a necesidades evolutivas, correctivas o perfectivas.

• Mantenimiento Correctivo

• Mantenimiento Preventivo
Atributos de Calidad – Disponibilidad

Capacidad que tiene el software de estar totalmente operativo.


Atributos de Calidad – Seguridad

Se utiliza para proteger el software contra ataques, de forma que siga


funcionando correctamente con este tipo de riesgos potenciales.

• Hardware
• Software
• Redes
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
Lenguaje Unificado de Modelado (UML)

• Es una herramienta propia de personas que tienen conocimientos


relativamente avanzados de programación y es frecuentemente usada
por analistas funcionales y analistas-programadores.

• Normas y estándares gráficos respecto a cómo se deben representar los


esquemas relacionados al software.
Lenguaje Unificado de Modelado (UML)- Relaciones

Representa la relación
de forma conceptual
entre clases.
Representa la relación de
una clase padre con una
clase hija. (Herencia)
Representa la relación
de una clase que utiliza
otra. (Polimorfismo)
Representa la relación
de una clase con una
interfaz.
Lenguaje Unificado de Modelado (UML)- Diagrama de
Clases
Describe la estructura estática de un sistema mostrando las clases, atributos,
acciones y la manera en la que las clases e interfaces se relacionan entre sí.

El diagrama de casos de uso


consta de:
• Nombre
• Atributos
• Acciones
Lenguaje Unificado de Modelado (UML)- Diagrama de
Clases

Diagrama de clases de inscripción de materias


Lenguaje Unificado de Modelado (UML)- Diagrama de
Objetos
Modelan instancias de elementos contenidos en los diagramas de clases. Un
diagrama de objetos muestra un conjunto de objetos y sus relaciones en un
momento concreto. Se puede considerar un caso especial de un diagrama
de clase.
Lenguaje Unificado de Modelado (UML)- Casos de Uso

El modelado de un sistema desde el punto de vista del usuario es el trabajo


de los casos de uso. Es una colección de escenarios iniciados por una entidad
llamada actor.

Análisis del caso de uso: La forma en la que los


• ¿Como utilizaremos el usuarios utilicen el sistema
sistema? dará la pauta para lo que
se diseñara y creara.
Lenguaje Unificado de Modelado (UML)-
Diagrama de Casos de Uso
Es la representación visual para comprender la forma en la que el sistema
debe comportarse. Ayuda a obtener los requerimientos desde el punto de
vista del usuario.
El diagrama de casos de uso consta de:

• Actor.
• Caso de uso.
• Relaciones de uso.
• Sistema.
Lenguaje Unificado de Modelado (UML)-
Diagrama de Casos de Uso

Modelo de caso de uso de una


maquina expendedora de
bebidas.
Lenguaje Unificado de Modelado (UML)-
Diagrama de Estados
Es una manera de caracterizar un cambio en un sistema, es decir, que los
objetos que lo componen cambiaron su estado como respuesta a los sucesos
y tiempo. Permiten comprender el comportamiento de los objetos de un
sistema mostrando los detalles dinámicos de las operaciones.

Un diagrama de estados muestra


las condiciones de un solo objeto.
Lenguaje Unificado de Modelado (UML)-
Diagrama de Secuencias
Muestra la forma en la que los objetos se comunican entre sí al transcurrir el
tiempo. La idea primordial es que las interacciones entre los objetos se
realizan en una secuencia establecida y que la secuencia establecida se toma
su tiempo en ir de principio a fin.

El diagrama de secuencias
consta de:
• Objetos.
• Mensaje.
• Tiempo.
Lenguaje Unificado de Modelado (UML)-
Diagrama de Secuencias

Modelo de diagrama de secuencia de inicio de sesión.


Lenguaje Unificado de Modelado (UML)-
Diagrama de Colaboraciones
Es una extensión del diagrama de objetos. Además de las relaciones de
objetos, el diagrama de colaboraciones muestra los mensajes que se envían
los objetos entre sí.

Diagrama de
colaboraciones para el
caso “Comprar
Gaseosa”
Lenguaje Unificado de Modelado (UML)-
Diagrama de Actividades
Esta diseñado para mostrar una visión simple de lo que ocurre durante una
operación o proceso. Es una extensión del diagrama de estado.

Es considerado un diagrama de
comportamiento porque
describe lo que debe suceder en
el sistema que se está
modelando.
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
Agenda
• ¿Qué es POO?
• Características de POO
• Atributos de Calidad
• Lenguaje Unificado de Modelado (UML)
• Preguntas
• Kahoot
“Somos lo que hacemos día a día. De modo que
la excelencia no es un acto sino un hábito”
Aristóteles

También podría gustarte