Está en la página 1de 10

UNIDAD I

PROGRAMACION II
CONCEPTOS FUNDAMENTALES DE POO.

La programación orientada a objetos (POO) se trata de un paradigma de la


programación que pretende innovar la forma en la que se obtienen los
resultados y modula el código para hacerlo más: Reutilizable. Organizado.
Sencillo de mantener.

¿Cuáles son los conceptos fundamentales de la programación orientada a


objetos?
La programación orientada a objetos se basa en el concepto de crear un modelo
del problema de destino en sus programas. La programación orientada a objetos
disminuye los errores y promociona la reutilización del código. Python es un
lenguaje orientado a objetos.
¿Qué son los 4 pilares de la POO?
Estos pilares son: abstracción, encapsulamiento, herencia y polimorfismo

COMPLEJIDAD.

1.3 La POO y la complejidad del software


La programación Orientada a objetos (POO) es una forma especial de programar,
más cercana a como expresaríamos las cosas en la vida real que otros tipos de
programación.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta,
para escribir nuestros programas en términos de objetos, propiedades, métodos y
otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña
base que permita ver este tipo de programación.

La complejidad del software se desarrolla mediante las personas que son hábiles
para lo cual necesitan recopilar información necesaria es decir dominar la
problemática del sistema para lo cual se ven enfocados al tratamiento del
problema y después a gestionar un proceso mediante el cual desarrollaran el
software y así atraves de eso podrán llevarlo a la practica hasta que atreves del
usuario pueda tener la flexibilidad de probarlo, para lo cual el software y la poo
tienen varias aplicaciones en la programación formando grandes estructuras de
ellas

En la historia de la programación ha habido varias evoluciones sucesivas. Una de


las principales fue la programación estructurada, cuyo principio fundamental era
dividir un programa en subprogramas más pequeños y fáciles de resolver, hasta
llegar a niveles de complejidad elementales, siempre apoyándonos en la idea de
¿qué debe hacer el programa?

Este método de diseño, a pesar de haber dado resultados satisfactorios, tiene


limitaciones. Algunas de ellas son:

• No favorece la reutilización del código. Si en la figura anterior f1 y f2 fue¬ran


idénticas, este hecho seguramente pasaría desapercibido y no se comparti¬ría
una única función fn.

• Si dos subprogramas comparten una misma función fn reutilizando así el có¬digo


que define la misma, y más adelante queremos modificar fn porque hay un cambio
en uno de los subprogramas que la utilizan, la modificación afecta¬rá también al
otro subprograma, razón por la que ahora tendremos que realizar dos funciones.

La programación orientada a objetos puede llevarse a cabo con lenguajes


convencionales, pero esto exige al programador la construcción de los
mecanis¬mos de que disponen los lenguajes orientados a objetos. Por ello, lo más
apropia¬do es utilizar directamente un lenguaje orientado a objetos, ya que éstos
soportan los mecanismos y las características que anteriormente se han expuesto,
tales como objetos, clases, métodos, mensajes, herencia, etc. La herencia
constituye uno de los mecanismos más potentes de la programación orientada a
objetos.

La complejidad del software segun booch se divide en 4:


- Complejidad del dominio del problema

- La dificultad de gestionar el proceso de desarollo

- La posible flexibilidad a travez del software

- Los problemas de caracterizacion del comportamientos de sistemas discretos.

Complejidad del dominio del problema:

Esto se produce cuando el cliente trata de explicar al desarrolador del sistema lo


que el necesita, ya que los dos hablan lenguajes diferentes. el cliente le cuesta
mucho dar con presicion los requerimientos que el necesita al programador. En
casos muy extremos, el cliente tiene una debil idea de lo que quiere que contenga
el software.

La dificultad de gestionar el proceso de desarollo:

La escritura del software o el desarrollo del software requiere de una escritura


amplia, en grandes cantidades, y si hay un software anterior mucho mejor ya no
mas se toman las bases del mismo, pero para poder realizar esto se necesita a
varios programadores que intervengan en el desallorro, pero tambien se necesita
que este qquipo de desarrolladores sea lo mas pequeño posible, porque despues
viene las complicaciones, la cominicacion entre ellos es mas compleja, cada uno
tiene una forma de trabajar etc. y un poco peor si todos los programadores del
equipo estan disperso geograficamente.

La posible flexibilidad a travez del software:

El software desarrollado debe ofrecer flexibilidad para poder expresar cualquier


tipo de abstraccion. Los sistemas orientados a objetos ofrecen esta flexibilidad,
ademas rendimiento y la funcionalidad requerida para la implementacion practica.
En POO existe ua gran variedad de aplicaciones que se pueden programar,
debido a que se liberan restricciones de los tipos de datos predefinidos y acomoda
la estructura de datos heterogeneas y complejas.

MANEJO DE COMPLEJIDAD.

¿Qué ventajas existen al utilizar la POO?


Las ventajas de la programación orientada a objetos
 Fomenta la reutilización y ampliación del código.
 Permite crear sistemas más complejos.
 La programación se asemeja al mundo real.
 Agiliza el desarrollo de software.
 Facilita el trabajo en equipo.
 Otras razones.

METODO DEL MUNDO REAL.

¿Qué relación existe entre la POO y el mundo real?


La POO es muy potente porque nos permite modelar de manera sencilla datos y
comportamientos complejos del mundo real. Al poder manejar los datos y los
comportamientos de cada objeto de manera independiente nos evita tener que
mantener datos globales y coordinar todo eso.
¿Qué son los métodos en la POO?
La Programación Orientada a Objetos (POO) es un paradigma de programación,
es decir, un modelo o un estilo de programación que nos da unas guías sobre
cómo trabajar con él. Se basa en el concepto de clases y objetos.

LENGUAJE DE POO (PROGRAMACION ORIENTADA).

¿Cuándo y dónde se utiliza la POO?


La programación orientada a objetos es un modelo de programación en el que el
diseño de software se organiza alrededor de datos u objetos, en vez de usar
funciones y lógica. Se enfoca en los objetos que los programadores necesitan
manipular, en lugar de centrarse en la lógica necesaria para esa manipulación.
¿Cuáles son los diferentes tipos de programación?
Algunos de los principales paradigmas de programación son:
 Programación declarativa.
 Programación imperativa.
 Programación estructurada.
 Programación modular.
 Programación orientada a objetos.
 Programación orientada a eventos.

UNIDAD II
¿Qué es el modelo conceptual en UML?
El modelo UML puede verse como el modelo principal porque evoluciona
continuamente a través del proceso de desarrollo. Cuando el arquitecto vuelve a
aplicar la transformación de modelo UML se sobrescribe el código existente y el
arquitecto toma precauciones para no sobrescribir el trabajo detallado del
desarrollador.

¿Qué un modelo conceptual?

Un modelo conceptual es una representación de un sistema, hecho de la


composición de conceptos que se utilizan para ayudar a las personas a conocer,
comprender o simular un tema que representa el modelo, incluye las entidades
importantes y las relaciones entre ellos. También es un conjunto de conceptos.

¿Cuándo se usa el modelado conceptual?


Los modelos conceptuales se utilizan en las fases tempranas de desarrollo y
también puede utilizarlos más adelante en el ciclo iterativo.
¿Cuáles son los elementos de un modelo conceptual?

Componentes esenciales de un modelo de datos conceptual


 Entidades: cosas de la vida real -personas, objetos, eventos, entre otras- sobre las
que la base de datos contiene información. ...
 Relaciones: cómo se asocian las diferentes entidades entre sí. ...
 Atributos: aspectos de las entidades y/o relaciones.

Diagrama de clases
En ingeniería de software, un diagrama de clases en Lenguaje Unificado de Modelado es un
tipo de diagrama de estructura estática que describe la estructura de un sistema mostrando
las clases del sistema, sus atributos, operaciones, y las relaciones entre los objetos.

¿Qué es un diagrama de clases en UML?


Para UML una clase es “una descripción de un conjunto de objetos que comparten
los mismos atributos, operaciones, métodos, relaciones, y semántica”. De esta
forma, un diagrama de clase de UML puede describir todos los componentes de
una clase de una forma sencilla.

¿Qué lleva un diagrama de clase?

Un diagrama de clase es un tipo de diagrama UML que describe un sistema


visualizando los diferentes tipos de objetos dentro de un sistema y los tipos de
relaciones estáticas que existen entre ellos. También ilustra las operaciones y
atributos de las clases
¿Cuáles son las relaciones de un diagrama de clases?

Hay seis tipos principales de relaciones entre clases: herencia,


realización/implementación, composición, agregación, asociación y dependencia.

¿Qué son las relaciones en UML?

En pocas palabras se define como la conexión entre elementos. Para diferenciar


las distintas relaciones se utilizan una Simbología con base en varios tipos de
líneas.

¿Qué es el diagrama de relaciones y para qué sirve?


El diagrama de relaciones permite: Localizar y expresar gráficamente los enlaces
lógicos y secuenciales entre una idea central y otras relacionadas. Potenciar
pensamientos multidireccionales en vez de lineales.

UNIDAD III
Conceptos básicos de la programación
orientada a objetos (POO)
La programación orientada a objetos (POO) es un paradigma de
programación que se basa en el uso de objetos para representar entidades
del mundo real y realizar tareas complejas. La POO se utiliza en una amplia
variedad de lenguajes de programación, como Java, Python, C++, entre
otros. En este artículo, vamos a explorar los cuatro conceptos básicos de la
POO: encapsulamiento, herencia, polimorfismo y abstracción.

1: Encapsulamiento
El encapsulamiento es un principio de la POO que se refiere a la ocultación
de datos y métodos dentro de un objeto para protegerlos de cambios no
deseados. En la POO, se utilizan clases para crear objetos. Una clase es
una plantilla o un molde que define las propiedades y métodos de un objeto.
Los datos y métodos dentro de una clase se mantienen privados y solo se
pueden acceder a través de métodos públicos.

1.1: ¿Por qué es importante el encapsulamiento?

El encapsulamiento es importante porque ayuda a mantener la integridad de


los datos y a prevenir cambios no deseados. Los datos privados solo
pueden ser modificados a través de métodos públicos, lo que asegura que
se cumplan las reglas de negocio establecidas. Además, el
encapsulamiento facilita la reutilización del código y hace que sea más fácil
de mantener.

1.2: Ejemplo de encapsulamiento en POO

Un ejemplo de encapsulamiento en POO sería la creación de una clase


“Empleado” con atributos privados como “nombre”, “apellido”, “salario” y
métodos públicos como “obtenerSalario” y “aumentarSalario”. Estos
métodos públicos son los únicos que pueden acceder a los datos privados
de la clase “Empleado”, lo que asegura que los datos se mantengan
protegidos.

2: Herencia
La herencia es otro concepto clave de la POO. La herencia se refiere a la
capacidad de una clase para heredar propiedades y métodos de una clase
padre. La clase padre se conoce como la clase base o superclase, mientras
que la clase que hereda de la superclase se conoce como la clase derivada
o subclase.

2.1: ¿Por qué es importante la herencia?


La herencia es importante porque permite la reutilización del código y la
organización de las clases en una jerarquía. Las clases derivadas pueden
heredar propiedades y métodos de la superclase, lo que reduce la cantidad
de código que se necesita escribir y hace que el código sea más fácil de
mantener.

2.2: Ejemplo de herencia en POO

Un ejemplo de herencia en POO sería la creación de una clase “Vehículo”


con propiedades como “marca”, “modelo” y “año”, y métodos como
“acelerar” y “frenar”. A partir de esta clase base, se pueden crear clases
derivadas como “Automóvil”, “Motocicleta” y “Camión”. Estas clases
derivadas heredarán las propiedades y métodos de la clase “Vehículo”, pero
también pueden tener sus propias propiedades y métodos adicionales.

3: Polimorfismo
El polimorfismo es otro concepto importante de la POO. El polimorfismo se
refiere a la capacidad de un objeto para tomar varias formas. En la POO, el
polimorfismo se logra a través del uso de interfaces y clases abstractas.

3.1: ¿Por qué es importante el polimorfismo?

El polimorfismo es importante porque permite que un objeto se comporte de


manera diferente según el contexto en el que se utiliza. Esto permite una
mayor flexibilidad en el diseño de programas y hace que el código sea más
fácil de mantener.

3.2: Ejemplo de polimorfismo en POO

Un ejemplo de polimorfismo en POO sería la creación de una interfaz


“Animal” con un método “hacerSonido”. A partir de esta interfaz, se pueden
crear clases como “Perro”, “Gato” y “Vaca” que implementen la interfaz
“Animal” y proporcionen una implementación única del método
“hacerSonido”.

4: Abstracción
La abstracción es el último concepto básico de la POO que vamos a
explorar. La abstracción se refiere a la capacidad de enfocarse en los
aspectos esenciales de un objeto y ocultar los detalles no esenciales.
4.1: ¿Por qué es importante la abstracción?

La abstracción es importante porque permite enfocarse en lo que es


importante en un objeto y ocultar los detalles innecesarios. Esto hace que el
código sea más fácil de entender y mantener.

4.2: Ejemplo de abstracción en POO

Un ejemplo de abstracción en POO sería la creación de una clase “Forma”


con métodos abstractos como “calcularArea” y “calcularPerímetro”. A partir
de esta clase, se pueden crear clases derivadas como “Círculo”, “Cuadrado”
y “Rectángulo”. Cada una de estas clases derivadas proporcionará una
implementación única de los métodos abstractos de la clase “Forma”.

También podría gustarte