Está en la página 1de 11

INFORME DE ENTREGABLES PARA EL PROYECTO DE

DESARROLLO DE SOFTWARE
GA4-220501095-AA2-EV02

Oscar Alexander Quiñones Lozano

Servicio Nacional de Aprendizaje SENA


Análisis y desarrollo de software
2023
Contenido

1.Introducción.......................................................................................…..3
2.Alcance...................................................................................................4
2.1 Abstracción……………………………………………………………….4
2.2 Encapsulamiento………………………………………………………...6
2.3 Polimorfismo……………………………………………………………...7
2.4 Modularidad………………………………………………………………8
2.5 Herencia………………………………………………………………….9
3. CONCLUSIONES………….. .................................................................11
1 Introducción

La programación orientada a objetos representa una evolución con


respecto a la programación procedural basada en funciones. Este enfoque
nos permite organizar secciones de código que comparten funcionalidades
comunes. Una desventaja clave de la programación procedural basada en
funciones radica en la dificultad de modificar el código a medida que una
aplicación crece. El cambio de una sola línea en una función puede
desencadenar la necesidad de modificar múltiples líneas de código en
otras funciones relacionadas. La programación orientada a objetos aborda
este problema al permitir la elaboración de una descripción clara de los
entregables y establecer conexiones entre ellos a través de elementos
definidos.
2.ALCANCE

Para el equipo el principio clave de la Programación Orientada a Objetos


(POO) reviste una importancia significativa. Este enfoque nos capacita para
cumplir con los principios fundamentales de la POO, particularmente a
través del principio de encapsulamiento. Este principio nos posibilita aislar
el estado o datos de un objeto, al mismo tiempo que oculta los detalles
internos de su implementación. De esta manera, se facilita el acceso a
través de interfaces, definiendo la interfaz de una clase como el conjunto
de miembros accesibles de dicha clase.

2.1ABSTRACCIÓN:

La abstracción es un proceso intrínseco al ser humano, que consiste


fundamentalmente en la identificación de características clave según el
contexto y el conocimiento de las personas. Se convierte en el medio a
través del cual abordamos problemas complejos, extrayendo las
características esenciales y representándolas posteriormente en objetos
(Aguilar, 1998).

En el proyecto de software, he elegido la lista de requerimientos como el


proceso de abstracción. En esta fase, reflexionamos sobre la
determinación de clases basadas en el problema, generando un listado que
servirá como referencia crucial durante el proceso de programación.
2.2 ENCAPSULAMIENTO

Decimos que el encapsulamiento en la programación orientada a objetos es


cuando limitamos el acceso o damos un acceso restringido de
una propiedad a los elementos que necesita un miembro y no a ninguno
más. El elemento más común de encapsulamiento son las clases,
donde encapsulamos y englobamos tanto métodos como propiedades.

Para este concepto tomamos de ejemplo los diagramas de clase donde


podemos restringir este acceso para que otras clases no usen
esa información o también podemos decidir que tipo de clases deberían
tener acceso a ella mediante modificadores de acceso donde en los
diagramas de clases:

Un dato público es igual a +


Un dato protegido es igual a #
Un dato privado es igual a -
Un dato por defecto es igual a ~
2.3POLIMORFISMO:
En la programación orientada a objetos, el término polimorfismo se refiere a
la capacidad de los objetos de una clase para responder al mismo mensaje
o evento, pero de manera distinta según los parámetros utilizados durante
su invocación. Un objeto polimórfico es una entidad que puede contener
valores de diferentes tipos durante la ejecución del programa.

En términos sencillos, el polimorfismo permite dar la misma orden a distintos


objetos y que cada uno responda de manera única. Un ejemplo aplicado a
nuestro proyecto es la sección de FACTURACIÓN, específicamente en el
método de pago. Aquí, el polimorfismo se manifiesta en la acción de realizar
el pago, ya sea en efectivo, a crédito o con tarjeta de débito. Aunque la
orden es la misma, cada método de pago responde de manera diferente,
ilustrando así el concepto de polimorfismo.
2.4MODULARIDAD:

La modularidad es una propiedad que facilita la división de una aplicación o


sistema en partes más pequeñas, idealmente caracterizadas por su
independencia (bajo acoplamiento) y funcionalidad específica (alta
cohesión) (Aguilar, 2021). Cuando un sistema es modular, se establecen
límites claros, lo que significa que, ante problemas o errores, es posible
concentrarse en una parte específica para encontrar y solucionar la
situación, sin la necesidad de rastrear extensivamente en todo el sistema.

Un ejemplo concreto en nuestro proyecto se encuentra en la sección de


almacenamiento. Aquí, se pueden separar los productos según el proveedor
y el tipo de producto, permitiendo un filtrado sin errores significativos. Esta
organización modular facilita la identificación y solución de problemas, ya
que cada segmento está claramente delimitado.
2.5 HERENCIA:
La herencia en programación orientada a objetos posibilita la creación de
nuevas clases basadas en clases ya existentes, permitiendo así la
reutilización de código y la formación de una jerarquía de clases dentro de
una aplicación. Cuando una clase deriva de otra, hereda sus atributos y
métodos, y tiene la capacidad de añadir nuevos atributos, métodos o
redefinir aquellos que ha heredado.

Para ilustrar este concepto, consideremos el diagrama de clases


previamente mencionado, donde se evidencia claramente la herencia en la
clase PERSONA. En este caso, las clases USUARIO, PROVEEDOR y
CLIENTE heredan algunos de los métodos y atributos de la clase base
PERSONA, demostrando cómo la herencia facilita la creación de clases
especializadas basadas en una clase genérica.
3. Conclusión

En resumen, los fundamentos esenciales de la Programación Orientada a


Objetos (POO) se centran en la capacidad de agrupar y encapsular el
código, haciéndolo más independiente. Esta práctica resulta valiosa al
permitir que las modificaciones debidas al crecimiento de la aplicación
afecten solo a unas pocas líneas, promoviendo así un mantenimiento más
eficiente. La POO se ha consolidado como el paradigma de programación
más ampliamente utilizado para diseñar aplicaciones y programas, gracias a
sus numerosas ventajas. Este enfoque no solo nos ayuda a abordar
desafíos en líneas de código más complejas, sino que también contribuye a
una mejor estructura de datos y ahorro de tiempo mediante la reutilización
de códigos. En conjunto, la POO emerge como una herramienta
fundamental para el desarrollo de software más modular, flexible y eficiente.

También podría gustarte