Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación
Este proyecto se centra en evaluar la influencia de la implementación de patrones de diseño GoF, Observer, Strategy y Command, mediante el uso de métricas cuantitativas en aplicaciones Java. En el ámbito del desarrollo de software, la elección de patrones de diseño es crítica y puede impactar signif...
- Autores:
-
Miranda Bernal, Evelin Dayana
Urrego Blanco, Javier Dario
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Institución Universitaria Politécnico Grancolombiano
- Repositorio:
- Alejandría Repositorio Institucional
- Idioma:
- spa
- OAI Identifier:
- oai:alejandria.poligran.edu.co:10823/7552
- Acceso en línea:
- http://hdl.handle.net/10823/7552
- Palabra clave:
- GoF (Gang of Four)
Métricas de desarrollo
Observabilidad
Patrones de diseño
Cadenas de bloques - ordenadores
Innovaciones tecnológicas
Patrones de diseño
Design patterns
Development metrics
GoF (Gang of Four)
Observability
- Rights
- License
- Atribución-NoComercial-SinDerivadas 2.5 Colombia
| id |
Poli2_e115f0b9195b45fcb361392df05b0a9b |
|---|---|
| oai_identifier_str |
oai:alejandria.poligran.edu.co:10823/7552 |
| network_acronym_str |
Poli2 |
| network_name_str |
Alejandría Repositorio Institucional |
| repository_id_str |
|
| dc.title.spa.fl_str_mv |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| dc.title.translated.spa.fl_str_mv |
Practical performance analysis of software design patterns: Observer, Strategy and Command in an application |
| title |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| spellingShingle |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación GoF (Gang of Four) Métricas de desarrollo Observabilidad Patrones de diseño Cadenas de bloques - ordenadores Innovaciones tecnológicas Patrones de diseño Design patterns Development metrics GoF (Gang of Four) Observability |
| title_short |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| title_full |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| title_fullStr |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| title_full_unstemmed |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| title_sort |
Análisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicación |
| dc.creator.fl_str_mv |
Miranda Bernal, Evelin Dayana Urrego Blanco, Javier Dario |
| dc.contributor.advisor.none.fl_str_mv |
Soto Forero, Wilson Eduardo |
| dc.contributor.author.none.fl_str_mv |
Miranda Bernal, Evelin Dayana Urrego Blanco, Javier Dario |
| dc.subject.proposal.spa.fl_str_mv |
GoF (Gang of Four) Métricas de desarrollo Observabilidad Patrones de diseño |
| topic |
GoF (Gang of Four) Métricas de desarrollo Observabilidad Patrones de diseño Cadenas de bloques - ordenadores Innovaciones tecnológicas Patrones de diseño Design patterns Development metrics GoF (Gang of Four) Observability |
| dc.subject.lemb.spa.fl_str_mv |
Cadenas de bloques - ordenadores Innovaciones tecnológicas Patrones de diseño |
| dc.subject.keywords.spa.fl_str_mv |
Design patterns Development metrics GoF (Gang of Four) Observability |
| description |
Este proyecto se centra en evaluar la influencia de la implementación de patrones de diseño GoF, Observer, Strategy y Command, mediante el uso de métricas cuantitativas en aplicaciones Java. En el ámbito del desarrollo de software, la elección de patrones de diseño es crítica y puede impactar significativamente el rendimiento y la calidad de las aplicaciones. La falta de evidencia empírica sólida sobre cómo afectan estos patrones en métricas específicas deja a los desarrolladores en terreno incierto al tomar decisiones de diseño. La investigación aborda esta brecha al seleccionar patrones representativos y aplicar métricas Uso de CPU, tiempo de uso de CPU y Tiempo de Ejecución. Se justifica la elección de estos patrones por su relevancia y ventajas específicas en la implementación de in prototipo de aplicación la biblioteca de software, buscando aportar evidencia empírica y práctica para respaldar las decisiones de diseño. |
| publishDate |
2023 |
| dc.date.issued.none.fl_str_mv |
2023-12-05 |
| dc.date.accessioned.none.fl_str_mv |
2025-02-19T13:24:41Z |
| dc.date.available.none.fl_str_mv |
2025-02-19T13:24:41Z |
| dc.type.spa.fl_str_mv |
bachelorThesis |
| dc.type.local.spa.fl_str_mv |
Tesis/Trabajo de grado - Monografía - Pregrado |
| dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
| dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
| dc.type.hasversion.none.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
| dc.type.redcol.none.fl_str_mv |
https://purl.org/redcol/resource_type/TP |
| dc.type.version.spa.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
| format |
http://purl.org/coar/resource_type/c_7a1f |
| status_str |
acceptedVersion |
| dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/10823/7552 |
| dc.identifier.instname.spa.fl_str_mv |
instname:Politécnico Grancolombiano |
| dc.identifier.reponame.spa.fl_str_mv |
reponame:Alejandría Repositorio Comunidad |
| dc.identifier.repourl.spa.fl_str_mv |
repourl:http://alejandria.poligran.edu.co |
| url |
http://hdl.handle.net/10823/7552 |
| identifier_str_mv |
instname:Politécnico Grancolombiano reponame:Alejandría Repositorio Comunidad repourl:http://alejandria.poligran.edu.co |
| dc.language.iso.spa.fl_str_mv |
spa |
| language |
spa |
| dc.relation.references.spa.fl_str_mv |
Atsuto Kubo, H. W. (2017). A Metric for Measuring the Abstraction Level of Design Patterns. CrossMark. Cisco. (2020). AppDynamics. Obtenido de https://www.appdynamics.com/topics/devops-metrics-and-kpis#~8-devops-resources Cloud, G. (2023). Cloud Architecture Center. Obtenido de Medición de DevOps: supervisión y observabilidad: https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability?hl=es-419 Coplien, J. O. (2003). Software design patterns. Dynatrace. (2023). Unified observability and security. Dynatrace LLC. Fernandez, L. F. (2006). Arquitectura de software. En Software Guru (págs. 40-45). Han Santhanam, S. &. (2022). Application of Design Patterns for Efficiency in Cloud Computing Environments. Annals of Emerging Technologies in Computing, 21-29. JMeter. (2023). Apache JMeter . The Apache Software Foundation. Lee Chan, W. &. (2O21). The influence of design patterns on the performance of web applications. Computer Standards & Interfaces, 75. Marco de Desarrollo de la Junta de Andalucía. (2019). Obtenido de Conceptos sobre la escalabilidad: https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/220 Motiso, D. (2022). indeed. Obtenido de guia profesional: https://www.indeed.com/career-advice/career-development/metrics-for-software-quality Oracle. (2022). currentTimeMillis. Java Platform Standard Edition 11 API Specification. Oracle. (2023). Oracle, Java Documentation. Obtenido de Java VisualVM: https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/ Oscar Danilo Gavilánez Alvarez, N. L. (2022). Comparative Analysis of Software Design Patterns. Polo del Conocimiento, 2547-2562. Regalado, Y. V. (2010). The software architecture as scientific discipline. Universidad de las Ciencias Informáticas, 1-4. Salón, T. (2023). ATLASSIAN. Obtenido de Métricas de DevOps, Por qué, qué y cómo medir el éxito en DevOps: https://www.atlassian.com/devops/frameworks/devops-metrics Sharma. (2021). Impact of Design Patterns on Power Consumption. IEEE 18th India Council International Conference (INDICON). |
| dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
| dc.rights.creativecommons.spa.fl_str_mv |
Atribución-NoComercial-SinDerivadas 2.5 Colombia |
| rights_invalid_str_mv |
Atribución-NoComercial-SinDerivadas 2.5 Colombia http://purl.org/coar/access_right/c_abf2 |
| dc.format.mimetype.spa.fl_str_mv |
application/pdf |
| dc.coverage.spatial.none.fl_str_mv |
Bogotá D.C. |
| dc.publisher.program.spa.fl_str_mv |
Ingeniería de Sistemas |
| dc.publisher.faculty.spa.fl_str_mv |
Facultad de ingeniería y Diseño e Innovación |
| institution |
Institución Universitaria Politécnico Grancolombiano |
| bitstream.url.fl_str_mv |
https://alejandria.poligran.edu.co/bitstream/10823/7552/1/TrabajodeGrado_EvelinMiranda_JavierUrrego.pdf https://alejandria.poligran.edu.co/bitstream/10823/7552/2/license.txt https://alejandria.poligran.edu.co/bitstream/10823/7552/3/TrabajodeGrado_EvelinMiranda_JavierUrrego.pdf.jpg |
| bitstream.checksum.fl_str_mv |
55cef70051b44b33a475116901489e02 8a4605be74aa9ea9d79846c1fba20a33 e7a9028193790c2e709c5bf33eb41de4 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositorio Comunidad Politecnico Grancolombiano |
| repository.mail.fl_str_mv |
dspace@poligran.edu.co |
| _version_ |
1851058987026350080 |
| spelling |
Soto Forero, Wilson EduardoMiranda Bernal, Evelin DayanaUrrego Blanco, Javier DarioBogotá D.C.2025-02-19T13:24:41Z2025-02-19T13:24:41Z2023-12-05http://hdl.handle.net/10823/7552instname:Politécnico Grancolombianoreponame:Alejandría Repositorio Comunidadrepourl:http://alejandria.poligran.edu.coEste proyecto se centra en evaluar la influencia de la implementación de patrones de diseño GoF, Observer, Strategy y Command, mediante el uso de métricas cuantitativas en aplicaciones Java. En el ámbito del desarrollo de software, la elección de patrones de diseño es crítica y puede impactar significativamente el rendimiento y la calidad de las aplicaciones. La falta de evidencia empírica sólida sobre cómo afectan estos patrones en métricas específicas deja a los desarrolladores en terreno incierto al tomar decisiones de diseño. La investigación aborda esta brecha al seleccionar patrones representativos y aplicar métricas Uso de CPU, tiempo de uso de CPU y Tiempo de Ejecución. Se justifica la elección de estos patrones por su relevancia y ventajas específicas en la implementación de in prototipo de aplicación la biblioteca de software, buscando aportar evidencia empírica y práctica para respaldar las decisiones de diseño.1. INTRODUCCIÓN... 7 2. ALCANCE DEL PROYECTO... 9 3. PLANTEAMIENTO DEL PROBLEMA DE INVESTIGACIÓN... 10 4. OBJETIVOS DE INVESTIGACIÓN... 12 4.1. Objetivo General... 12 4.2. Objetivos Específicos... 12 5. REVISIÓN LITERARIA... 13 5.1. Arquitectura de Software... 13 5.2. Patrones de Diseño GOF ... 15 5.3. Características... 16 5.4. Beneficios... 18 5.5. Tipos y Características... 20 5.5.1. Creacionales (Creational Patterns)... 20 5.5.2. Estructurales (Structural Patterns)... 24 5.5.3. Comportamiento (Behavioral Patterns) ... 28 5.6. ¿Cómo evaluar la implementación de estos patrones?... 34 5.7. Métricas cuantitativas que se podrían evaluar... 34 5.7.1. Tiempo de espera... 35 5.7.2. Rendimiento del Sistema... 36 5.7.3. Tiempo Medio de Recuperación (MTTR)... 36 5.7.4. Número de Líneas de Código... 36 5.7.5. Reutilización de Código ... 37 5.7.6. Escalabilidad ... 37 5.7.7. Usabilidad... 37 5.7.8. Latencia ... 38 5.7.9. Disponibilidad... 40 5.8. Herramientas para calcular métricas... 40 6. DISEÑO METODOLÓGICO... 43 6.1. Fase de Diseño e Investigación... 43 6.1.1. Diseño de Experimento... 44 6.1.2. Selección de Métricas... 44 6.1.3. Selección de herramientas para medir las métricas... 44 6.1.4. Selección de Patrones de Diseño y Diseño de Aplicación... 44 6.1.5. Fase de Implementación y Evaluación ... 44 6.2. Implementación... 51 6.2.1. Implementación de prototipo utilizando patrones de diseño... 51 6.2.2. Implementación de prototipo sin patrones de diseño... 51 6.2.3. Recopilación de Datos... 54 7. RESULTADOS... 69 8. CONCLUSIONES... 69 9. ÁREAS DE INVESTIGACIÓN FUTURA Y RECOMENDACIONES... 71 10. REFERENCIAS BIBLIOGRÁFICAS... 74application/pdfspaAnálisis práctico del desempeño de los patrones de diseño de software: Observer, Strategy y Command en una aplicaciónPractical performance analysis of software design patterns: Observer, Strategy and Command in an applicationbachelorThesisTesis/Trabajo de grado - Monografía - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1finfo:eu-repo/semantics/acceptedVersionhttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/acceptedVersionGoF (Gang of Four)Métricas de desarrolloObservabilidadPatrones de diseñoCadenas de bloques - ordenadoresInnovaciones tecnológicasPatrones de diseñoDesign patternsDevelopment metricsGoF (Gang of Four)ObservabilityAtsuto Kubo, H. W. (2017). A Metric for Measuring the Abstraction Level of Design Patterns. CrossMark.Cisco. (2020). AppDynamics. Obtenido de https://www.appdynamics.com/topics/devops-metrics-and-kpis#~8-devops-resourcesCloud, G. (2023). Cloud Architecture Center. Obtenido de Medición de DevOps: supervisión y observabilidad: https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability?hl=es-419Coplien, J. O. (2003). Software design patterns.Dynatrace. (2023). Unified observability and security. Dynatrace LLC.Fernandez, L. F. (2006). Arquitectura de software. En Software Guru (págs. 40-45).Han Santhanam, S. &. (2022). Application of Design Patterns for Efficiency in Cloud Computing Environments. Annals of Emerging Technologies in Computing, 21-29.JMeter. (2023). Apache JMeter . The Apache Software Foundation.Lee Chan, W. &. (2O21). The influence of design patterns on the performance of web applications. Computer Standards & Interfaces, 75.Marco de Desarrollo de la Junta de Andalucía. (2019). Obtenido de Conceptos sobre la escalabilidad: https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/220Motiso, D. (2022). indeed. Obtenido de guia profesional: https://www.indeed.com/career-advice/career-development/metrics-for-software-qualityOracle. (2022). currentTimeMillis. Java Platform Standard Edition 11 API Specification.Oracle. (2023). Oracle, Java Documentation. Obtenido de Java VisualVM: https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/Oscar Danilo Gavilánez Alvarez, N. L. (2022). Comparative Analysis of Software Design Patterns. Polo del Conocimiento, 2547-2562.Regalado, Y. V. (2010). The software architecture as scientific discipline. Universidad de las Ciencias Informáticas, 1-4.Salón, T. (2023). ATLASSIAN. Obtenido de Métricas de DevOps, Por qué, qué y cómo medir el éxito en DevOps: https://www.atlassian.com/devops/frameworks/devops-metricsSharma. (2021). Impact of Design Patterns on Power Consumption. IEEE 18th India Council International Conference (INDICON).Ingeniería de SistemasFacultad de ingeniería y Diseño e InnovaciónAtribución-NoComercial-SinDerivadas 2.5 Colombiahttp://purl.org/coar/access_right/c_abf2ORIGINALTrabajodeGrado_EvelinMiranda_JavierUrrego.pdfTrabajodeGrado_EvelinMiranda_JavierUrrego.pdfapplication/pdf940642https://alejandria.poligran.edu.co/bitstream/10823/7552/1/TrabajodeGrado_EvelinMiranda_JavierUrrego.pdf55cef70051b44b33a475116901489e02MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://alejandria.poligran.edu.co/bitstream/10823/7552/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52open accessTHUMBNAILTrabajodeGrado_EvelinMiranda_JavierUrrego.pdf.jpgTrabajodeGrado_EvelinMiranda_JavierUrrego.pdf.jpgIM Thumbnailimage/jpeg3915https://alejandria.poligran.edu.co/bitstream/10823/7552/3/TrabajodeGrado_EvelinMiranda_JavierUrrego.pdf.jpge7a9028193790c2e709c5bf33eb41de4MD53open access10823/7552oai:alejandria.poligran.edu.co:10823/75522025-02-20 03:00:34.414open accessRepositorio Comunidad Politecnico Grancolombianodspace@poligran.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo= |
