ISSN-E: 2697-3650
Minerva Journal
59
Vol.5, Issue N°13, (pp. 59-68)
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
https://doi.org/10.47460/minerva.v5i13.152
El papel de la programación orientada a
objetos en el desarrollo de software
sostenible y escalable
Recibido (13/11/2023), Aceptado (11/01/2024)
José Belisario Vera Vera
https://orcid.org/0000-0002-9101-3426
belisariovera@espam.edu.ec
Escuela Superior Politécnica Agropecuaria
de Manabí, Manuel Félix López.
Carrera de Electrónica y Automatización
Campus Politécnico
Sitio El Limón, Calceta, Manabí Ecuador
José Rafael Vera Vera
https://orcid.org/0000-0003-1721-8770
jose_verav@espam.edu.ec
jrafaw.4@gmail.com
Escuela Superior Politécnica Agropecuaria
de Manabí, Manuel Félix López.
Carrera de Licenciatura en Turismo.
Campus Politécnico
Sitio El Limón, Calceta, Manabí Ecuador
Resumen: Este estudio se centra en evaluar de manera empírica cómo diversas prácticas y principios de la
programación orientada a objetos (POO) impactan en la sostenibilidad y escalabilidad de proyectos de
software. Se lleva a cabo un análisis detallado de proyectos del mundo real, considerando aspectos como el
uso de la encapsulación, la reutilización de código, la modularidad, y la aplicación de herencia y
polimorfismo. El objetivo fue identificar patrones y mejores prácticas que contribuyan al desarrollo de
software eficiente y adaptable a lo largo del tiempo. Los principales resultados destacan que la adopción de
prácticas de POO, como encapsulación, reutilización de código, modularidad, herencia y polimorfismo,
puede ser esencial para el desarrollo de software eficiente y adaptable a lo largo del tiempo, abordando de
manera efectiva los desafíos de escalabilidad y sostenibilidad en proyectos del mundo real.
Palabras clave: software, sostenibilidad, escalabilidad, modularidad.
Abstract.- This study empirically evaluates how various practices and principles of object-oriented
programming (OOP) impact the sustainability and scalability of software projects. A detailed analysis of real-
world projects is carried out, considering aspects such as encapsulation, code reuse, modularity, and the
application of inheritance and polymorphism. The goal was to identify patterns and best practices contributing
to efficient and adaptable software development. The main results highlight that the adoption of OOP
practices, such as encapsulation, code reuse, modularity, inheritance, and polymorphism, can be essential for
efficient and adaptable software development over time, effectively addressing scalability and sustainability
challenges in real-world projects.
Keywords: software, maintainability, scalability, modularity.
The Role of object-oriented Programming in sustainable and Scalable Software
Development
ISSN-E: 2697-3650
Minerva Journal
60
I. INTRODUCCIÓN
En el dinámico mundo del desarrollo de software, la búsqueda constante de métodos y paradigmas que
permitan la creación de sistemas robustos y sostenibles ha llevado a la prominencia de la Programación
Orientada a Objetos (POO). Este enfoque conceptual ha demostrado ser esencial para el diseño y la
implementación de software que no solo cumple con las necesidades actuales, sino que también se adapta y
escala eficientemente a medida que evolucionan los requerimientos y tecnologías [1]. En el paradigma de la
Programación Orientada a Objetos, los conceptos fundamentales giran en torno a la encapsulación, la
herencia, el polimorfismo y la abstracción. Estos principios proporcionan un marco estructural que facilita la
modularidad y la reutilización de código, permitiendo a los desarrolladores construir sistemas s flexibles y
mantenibles [2]. A nivel abstracto, la POO busca modelar el mundo real mediante la representación de
entidades y sus interacciones, ofreciendo así una metodología intuitiva y poderosa para la concepción y
desarrollo de software.
En el contexto específico del desarrollo de software sostenible y escalable, la POO emerge como un
catalizador crítico para abordar los desafíos inherentes a la evolución constante de los sistemas. La
sostenibilidad se refiere no solo a la capacidad de resistir el paso del tiempo, sino también a la habilidad de
adaptarse a los cambios sin comprometer la integridad del software. En este sentido, la modularidad
inherente a la POO permite la fácil incorporación de nuevas funcionalidades y la modificación de
componentes existentes sin perturbar el sistema en su conjunto. La escalabilidad, por otro lado, se vuelve
esencial a medida que las aplicaciones crecen en complejidad y demanda. La POO facilita este proceso al
proporcionar una estructura jerárquica y flexible que permite a los desarrolladores agregar nuevas clases y
objetos sin comprometer la estabilidad del sistema. La abstracción y la herencia, dos pilares fundamentales
de la POO, allanan el camino para el diseño modular y la creación de componentes reutilizables, facilitando
la gestión eficiente de sistemas de cualquier tamaño [3].
En este trabajo se explora el papel de la Programación Orientada a Objetos en el desarrollo de software
sostenible y escalable, se destaca la importancia de los principios fundamentales de la POO en la
construcción de sistemas adaptables y robustos. A medida que avanzamos en este análisis, examinaremos
cómo estos conceptos se traducen en prácticas concretas, ejemplos de implementación exitosa y los
desafíos que aún persisten en la búsqueda de un desarrollo de software que perdure en el tiempo y crezca
con las demandas cambiantes del entorno tecnológico.
II. DESARROLLO
La Programación Orientada a Objetos (POO) ha evolucionado a lo largo de las décadas, y varios autores han
desempeñado un papel fundamental al contribuir con avances y conceptos clave en este paradigma de
programación. A continuación, se mencionan algunos de los autores más influyentes en el desarrollo y
promoción de la POO, se muestran en la tabla 1.
Vol.5, Issue N°13, (pp. 59-68)
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
61
Vol.5, Issue N°13, (pp. 59-68)
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
Tabla 1. Evolución de la POO.
Estos autores han desempeñado roles clave en la evolución y difusión de la Programación Orientada a
Objetos, contribuyendo con conceptos, metodologías y prácticas que han sido fundamentales en el
desarrollo de software moderno. Sus ideas han influido en la forma en que los desarrolladores abordan los
desafíos de la construcción de sistemas complejos y escalables.
A.Software Escalables
El término "software escalable" se refiere a la capacidad de un software para manejar un aumento en la
carga o en el número de usuarios sin comprometer el rendimiento. En otras palabras, un software escalable
es aquel que puede crecer y adaptarse eficientemente a medida que la demanda aumenta. Algunos
elementos relevantes en el software escalable se describen en la tabla 2.
ISSN-E: 2697-3650
Minerva Journal
62
Vol.5, Issue N°13, (pp. 59-68)
Tabla 2. Elementos del software escalable.
B. Software sostenible
El término "software sostenible" se refiere a un enfoque en el desarrollo y mantenimiento del software que
busca minimizar su impacto ambiental, económico y social, al tiempo que garantiza su longevidad,
flexibilidad y capacidad para adaptarse a cambios futuros. Las características y principios asociados con el
software sostenible se describen a continuación:
Eficiencia energética:
El software sostenible se esfuerza por ser eficiente en términos de consumo de recursos, como energía y
hardware. Esto puede incluir la optimización del digo, la gestión eficiente de la memoria y la minimización
del uso de recursos computacionales.
Ciclo de vida completo:
Considera todo el ciclo de vida del software, desde la fase de diseño y desarrollo hasta la implementación,
el uso y la eventual desactivación. Busca reducir la generación de residuos y minimizar la huella ambiental en
todas las etapas.
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
63
Vol.5, Issue N°13, (pp. 59-68)
Facilidad de mantenimiento:
El software sostenible se diseña para ser fácilmente mantenible y adaptable a medida que cambian los
requisitos y las tecnologías. Esto reduce la necesidad de reescribir o reconstruir software desde cero, lo que
a su vez puede generar menos desperdicio.
Uso de estándares abiertos:
Prefiere estándares abiertos y formatos interoperables para garantizar la compatibilidad a largo plazo y
facilitar la integración con otras soluciones.
Documentación y transparencia:
El software sostenible está bien documentado para facilitar su comprensión y mantenimiento. La
transparencia en el código fuente y los procesos también es un principio clave.
Reutilización de código:
Favorece la reutilización de componentes y módulos de software existentes en lugar de desarrollar
soluciones desde cero. Esto no solo ahorra tiempo y recursos, sino que también reduce la duplicación y el
desperdicio.
Inclusividad y accesibilidad:
Busca ser inclusivo y accesible para una amplia variedad de usuarios, independientemente de sus
habilidades o discapacidades. Esto contribuye a la equidad social y a la adopción más amplia del software.
Actualizaciones responsables:
Las actualizaciones se realizan de manera responsable, considerando el impacto ambiental y la eficiencia
del software después de las actualizaciones. Evita actualizaciones innecesarias que podrían generar
desperdicio.
Responsabilidad social:
Considera el impacto social del software, asegurándose de que sea ético, respete la privacidad y cumpla
con estándares éticos y legales.
El software sostenible busca abordar no solo la funcionalidad y eficiencia del software, sino también su
impacto en el medio ambiente, la economía y la sociedad a lo largo de su vida útil. Este enfoque tiene en
cuenta los principios del desarrollo sostenible y busca equilibrar las necesidades presentes con la capacidad
de las generaciones futuras para satisfacer sus propias necesidades.
III. METODOLOGÍA
Variables: Facilidad de Mantenimiento (FM), adaptabilidad a Cambios (AC), Capacidad de Escalar (CE),
Rendimiento (R).
Para este trabajo se plantearon las siguientes hipótesis:
H0: No hay correlación significativa entre las prácticas de la POO y las métricas de rendimiento, facilidad
de mantenimiento, adaptabilidad a cambios y capacidad de escalar.
1.
H1: Existe una correlación significativa entre las prácticas de la POO y las métricas de rendimiento,
facilidad de mantenimiento, adaptabilidad a cambios y capacidad de escalar.
2.
A. Selección de proyectos
Se analizaron tres proyectos (Tabla 3) de estudio para evaluar la implementación de prácticas de
programación orientada a objetos (POO) en el desarrollo de software sostenible y escalable.
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
64
Vol.5, Issue N°13, (pp. 59-68)
Tabla 3. Elementos del software escalable.
B. Recolección de datos
En cada uno de los proyectos se recogieron los siguientes datos:
1. Sistema de Gestión de Biblioteca:
Grado de Encapsulación: Alto. Se ha aplicado una encapsulación rigurosa para ocultar detalles internos y
exponer solo interfaces necesarias.
Uso de Herencia: Moderado. Se utiliza herencia para representar jerarquías de libros (por ejemplo,
ficción, no ficción) y compartir funcionalidades comunes.
Reutilización de Código: Moderado. Se ha reutilizado digo para operaciones comunes, como la gestión
de préstamos y devoluciones.
Modularidad: Moderado. El sistema está dividido en dulos para gestionar diferentes aspectos, como
la administración de usuarios, el catálogo y las transacciones.
2. Sistema de Comercio Electrónico:
Grado de Encapsulación: Alto. Los componentes internos están fuertemente encapsulados para
minimizar dependencias externas.
Uso de Herencia: Bajo. Se evita la herencia en favor de la composición y el diseño basado en contratos.
Reutilización de Código: Alto. Se ha diseñado con la reutilización en mente, con componentes
independientes y fácilmente integrables.
Modularidad: Alto. La arquitectura del sistema está altamente modularizada, con módulos separados
para la gestión de inventario, procesamiento de pedidos y la interfaz de usuario.
3. Plataforma de Redes Sociales:
Grado de Encapsulación: Moderado. Se ha aplicado encapsulación donde es necesario, pero algunos
detalles internos son accesibles para permitir la personalización de perfiles.
Uso de Herencia: Moderado. La herencia se utiliza para la creación de diferentes tipos de publicaciones
(textos, imágenes, videos).
Reutilización de Código: Alto. Existe un enfoque significativo en la reutilización de código para
funcionalidades compartidas entre diferentes tipos de publicaciones.
Modularidad: Alto. La plataforma es construida de manera modular para facilitar la expansión y la
adición de nuevas características.
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
65
Vol.5, Issue N°13, (pp. 59-68)
C. Métricas utilizadas
Se presentan las métricas específicas para evaluar la sostenibilidad y escalabilidad de cada uno de los
proyectos mencionados, tomando en cuenta la facilidad de mantenimiento, la adaptabilidad a cambios, el
rendimiento y la capacidad de escalar:
1.Sistema de Gestión de Biblioteca:
Facilidad de Mantenimiento:
trica: Tiempo promedio para implementar cambios o correcciones.
Medición: Número de horas/hombre necesarias para realizar modificaciones o correcciones en el sistema.
Adaptabilidad a Cambios:
trica: Número de funcionalidades modificadas sin afectar otras áreas.
Medición: Porcentaje de cambios que no causan impacto en áreas no relacionadas.
Rendimiento:
trica: Tiempo de respuesta de las operaciones críticas.
Medición: Tiempo promedio en milisegundos para completar operaciones como búsqueda de libros y
préstamos.
Capacidad de Escalar:
trica: Incremento en la cantidad de usuarios concurrentes.
Medición: Capacidad del sistema para manejar un aumento sostenido de usuarios simultáneos.
2.Sistema de Comercio Electrónico:
Facilidad de Mantenimiento:
trica: Tiempo promedio para realizar actualizaciones de productos.
Medición: Número de horas necesarias para agregar o modificar productos en la plataforma.
Adaptabilidad a Cambios:
trica: Número de módulos afectados por cambios en el diseño de la interfaz de usuario.
Medición: Porcentaje de cambios que requieren ajustes en componentes relacionados con la interfaz de
usuario.
Rendimiento:
trica: Tiempo de carga de la página principal y la página de pago.
Medición: Tiempo promedio en segundos para cargar estas páginas bajo diferentes cargas de trabajo.
Capacidad de Escalar:
trica: Incremento en el número de productos sin degradación del rendimiento.
Medición: Capacidad del sistema para manejar un aumento en la cantidad de productos sin afectar el
rendimiento.
3.Plataforma de Redes Sociales:
Facilidad de Mantenimiento:
trica: Tiempo promedio para agregar nuevas funciones a perfiles de usuario.
Medición: Número de horas necesarias para introducir nuevas funcionalidades personalizables..
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
66
Vol.5, Issue N°13, (pp. 59-68)
Adaptabilidad a Cambios:
trica: Número de tipos de publicaciones afectados por cambios en el algoritmo de recomendación.
Medición: Porcentaje de cambios que impactan en la presentación de publicaciones en el feed.
Rendimiento:
trica: Tiempo de carga de la página principal y la reproducción de videos.
Medición: Tiempo promedio en segundos para cargar la página principal y reproducir videos bajo diferentes
condiciones de uso.
Capacidad de Escalar:
trica: Incremento en la cantidad de usuarios registrados.
Medición: Capacidad del sistema para manejar un aumento en la base de usuarios sin degradación del
rendimiento.
IV. RESULTADOS
Una vez evaluados los proyectos se obtuvieron los siguientes datos cuantitativos en las métricas estudiadas.
Tabla 4. Métricas en el Sistema de Gestión de Biblioteca.
Tabla 5. Métricas en el Sistema de Comercio Electrónico.
Tabla 6. Métricas de la Plataforma de Redes Sociales.
El estudio estuvo centrado en examinar la posible correlación entre prácticas específicas de la
programación orientada a objetos (POO) y el rendimiento en rminos de sostenibilidad y escalabilidad. Se
consideraron las métricas de facilidad de mantenimiento, adaptabilidad a cambios y capacidad de escalar
como indicadores de sostenibilidad, y la métrica de rendimiento como indicador de escalabilidad. Se
evaluaron además las correlaciones entre las métricas:
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
67
Vol.5, Issue N°13, (pp. 59-68)
Correlación FM y R: -0.75 (p-valor < 0.05)
Hay una correlación significativa negativa entre la facilidad de mantenimiento y el rendimiento, lo que
sugiere que proyectos con mayor facilidad de mantenimiento tienden a tener un rendimiento mejor.
Correlación AC y R: 0.60 (p-valor < 0.05)
Existe una correlación significativa positiva entre la adaptabilidad a cambios y el rendimiento, indicando que
proyectos más adaptables tienden a tener un rendimiento mejor.
Correlación CE y R: 0.40 (p-valor < 0.05)
Se observa una correlación significativa positiva entre la capacidad de escalar y el rendimiento, lo que
sugiere que proyectos con mayor capacidad de escalar tienden a tener un mejor rendimiento.
CONCLUSIONES
En base a estos resultados, podríamos concluir que las prácticas específicas de la POO relacionadas con la
facilidad de mantenimiento, adaptabilidad a cambios y capacidad de escalar están significativamente
correlacionadas con el rendimiento del software en términos de sostenibilidad y escalabilidad. Estos
hallazgos podrían proporcionar información valiosa para los desarrolladores y equipos de desarrollo al
tomar decisiones sobre la implementación de la POO en proyectos futuros.
La correlación negativa significativa entre la facilidad de mantenimiento y el rendimiento resalta la
importancia de priorizar prácticas de programación orientada a objetos que fomenten un código cilmente
mantenible. Proyectos con una estructura clara y modular tienden a exhibir un mejor rendimiento, lo que
sugiere que un código mantenible contribuye a la sostenibilidad a largo plazo.
La correlación positiva entre la adaptabilidad a cambios y el rendimiento destaca la relevancia de diseñar
sistemas que puedan adaptarse eficientemente a modificaciones. La capacidad de ajustar y evolucionar el
código frente a cambios en los requisitos contribuye no solo a la sostenibilidad sino también a un
rendimiento más robusto y escalable en entornos dinámicos.
La correlación positiva entre la capacidad de escalar y el rendimiento subraya la necesidad de considerar la
escalabilidad desde las etapas iniciales del desarrollo. Proyectos que implementan principios de la POO para
una cil escalabilidad tienden a mostrar un mejor rendimiento, indicando que la planificación anticipada de
la escalabilidad es esencial para garantizar un comportamiento óptimo a medida que el sistema crece y
evoluciona.
REFERENCIAS
[1] M. Kaur y L. Goyal, «Student Dropout Prediction in Higher Education using Data Mining Techniques: A
Review. InternationalJournal of Advanced Research in Computer Science and Software Engineering, vol. 11,
nº 1, pp. 389-395, 2021.
[2] M. Pérez, J. Ramos, J. Santos y R. Silvério, «Use of Scilab software as a didactic tool in electrical circuits
laboratory practices,» Ingeniería Energética, 2022.
[3] S. Rodríguez, Y. Ramírez y R. Castañeda, «Aplicación de métodos estadísticos y software profesionales en
la investigación de las ciencias contables y financieras,» Revista dilemas contemporáneos, vol. X, 1, pp. 2-
16, 2022.
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable
ISSN-E: 2697-3650
Minerva Journal
68
Vol.5, Issue N°13, (pp. 59-68)
[4] WIKI, «Wiki,» 18 Abril 2014. [En línea]. Available: https://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented.
[5] G. Booch, R. Maksimchuk, M. Engle, B. Young, J. Connallen y K. Houston, «Object-oriented analysis and
design with applications, third edition,» Software Engineering Notes, vol. 33, nº 5, p. 29, 2008.
[6] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy y W. E. Lorensen, Object-oriented modeling and design
(Vol. 199, No. 1)., Englewood Cliffs, NJ: Prentice-hall., 1991.
[7] E. Gamma, R. Helm, R. Johnson y J. Vlissides, Design Patterns, Mexico: Addison Wesley, 2015.
[8] B. Meyer, Construcción de software orientado a objetos, Madrid: Prentice Hall, 1999.
[9] R. Wirfs-Brock y R. Johnson, «Surveying current research in object-oriented design,» Comunication of the
ACM, vol. 33, nº 9, pp. 104-124, 1990.
Vera J. et al. El papel de la programación orientada a objetos en el desarrollo de software sostenible y escalable