Ilovepdf Merged
Ilovepdf Merged
Ilovepdf Merged
DE INGENIERÍA DE
COMPUTACIÓN Y SISTEMAS
CURSO
Desarrollo Orientado a Objetos
TEMA
Biblioteca de Clases
SEMANA N.º 03
DOCENTE:
Ing. Chávez Saravia, Iván.
Repaso breve
Fundamentos de POO
Pilares
Clases y objetos
Atributos
https://www.flaticon.com/free-icon/write-
feedback_14250016?term=review&page=1&position=33&origin=s
earch&related_id=14250016
Motivación
¿Qué observamos en
la imagen?
https://www.flaticon.com/free-
icon/library_363252?term=library&related_id=363252
Utilidad
Estructurar soluciones
Agrupar funcionalidades
Solución realidad
Reutilización
https://www.flaticon.com/free-
icon/idea_2896428?term=idea&page=1&position=57&origin=sear
ch&related_id=2896428
Logro de la sesión:
Al término de la sesión el estudiante, será capaz de
implementar bibliotecas de clases.
Contenidos de la sesión:
• Método principal, sobrecarga de
métodos, métodos constructor y
destructor.
• Atributos y métodos estáticos.
• Bibliotecas de clases.
• Encapsulación: modificadores de
acceso.
• Organización de clases: paquetes. https://www.flaticon.com/free-
Importar clases y paquetes. icon/tasks_13975846?term=to+do+list&page=2&position=56&ori
gin=search&related_id=13975846
Biblioteca de Clases
1. Constructores
Un constructor es un método especial de una clase, éste método es
llamado automáticamente al crear un objeto de esa clase. La
función del constructor es iniciar el objeto.
Un constructor se identifica porque tiene el mismo nombre que la
clase a la que pertenece.
Un constructor no puede retornar ningún valor.
Toda clase de objetos contiene al menos un constructor, aun
cuando no se haya definido ninguno se crear uno por defecto al
momento de crear un objeto.
Un constructor por defecto se puede declarar o puede ser omitido
https://www.flaticon.com/free-icon/team-
al crear una clase. work_9746169?term=worker&page=2&position=61&origin=search
&related_id=9746169
https://tutospoo.jimdofree.com/tutoriales-java/clases-y-objetos/constructores-y-
destructores/
Biblioteca de Clases
2. Tipos de Constructores
• Toda clase
Constructor implementa un
por defecto constructor
por defecto.
• Se utiliza para
Constructor inicializar a un
objeto con otro
de copia objeto de la
misma clase.
https://tutospoo.jimdofree.com/tutoriales-java/clases-y-objetos/constructores-y-
destructores/
Biblioteca de Clases
2. Destructores
https://tutospoo.jimdofree.com/tutoriales-java/clases-y-objetos/constructores-y-destructores/
Biblioteca de Clases
3. Sobrecarga de métodos
https://www.abrirllave.com/java/sobrecarga-de-metodos-y-constructores.php
Biblioteca de Clases
4. Sobrecarga de métodos
Biblioteca de Clases
5. Atributos y método estático
https://www.abrirllave.com/java/sobrecarga-de-metodos-y-constructores.php
Biblioteca de Clases
6. Modificadores de acceso
https://elvex.ugr.es/decsai/java/pdf/9D-access.pdf
Biblioteca de Clases
7. Paquetes
pertenece 72
https://www.campusmvp.es/recursos/post/paquetes-en-java-que-son-para-que-se-utilizan-y-como-se-usan.aspx
Fundamentos POO
8. Paquetes
Biblioteca de Clases
9. Tipos de paquetes
• Paquetes ya definidos
Paquete como java.io. *, java.lang. *
• Se conocen como
integrado paquetes integrados
https://quejava.com/paquetes-en-java-y-como-usarlos/
Actividad – Aplicación
• Desarrollo de código fuente en Apache NetBeans 21 y JDK 21.
https://www.flaticon.com/free-icon/juggling-
ball_3301884?term=activity&page=1&position=73&origin=search&related_i
d=3301884
https://netbeans.apache.org
Retroalimentación
Cierre
• ¿Qué es una biblioteca de clases?
• ¿Diferencia entre un método y constructor?
• ¿Cuál es la utilidad de Paquetes?
https://www.flaticon.com/free-
icon/feedback_6728493?term=feedback&page=1&position=87&origin=sea
rch&related_id=6728493
Reflexionemos lo aprendido - Conclusiones
https://www.flaticon.com/free-icon/online-
test_5435625?term=testing&page=1&position=68&origin=search&related_i
d=5435625
Referencias Bibliográficas
CURSO
Desarrollo Orientado a Objetos
TEMA
Fundamentos de POO
SEMANA N.º 02
DOCENTE:
Ing. Chávez Saravia, Iván.
Repaso breve
Lenguajes de Programación
Lectura de datos
Estructuras
https://www.flaticon.com/free-icon/write-
feedback_14250016?term=review&page=1&position=33&origin=s
earch&related_id=14250016
Motivación
¿Qué observamos en
la imagen?
Proponer soluciones
Mejorar App
Agilizar actividades
Soporte de App
https://www.flaticon.com/free-
icon/idea_2896428?term=idea&page=1&position=57&origin=sear
ch&related_id=2896428
Logro de la sesión:
Al término de la sesión el estudiante, será capaz de
diferenciar los pilares de la programación orientado
a objetos.
Contenidos de la sesión:
• Fundamentos POO: conceptos básicos,
características
• Modularidad y Reusabilidad
• Principios de cohesión y acoplamiento
• Clases y objetos. Atributo, métodos con
y sin valor de retorno
• Paso de parámetros por valor y por
referencia https://www.flaticon.com/free-
icon/tasks_13975846?term=to+do+list&page=2&position=56&ori
gin=search&related_id=13975846
Fundamentos POO
1. Generalidades
https://mauriciogc.medium.com/javascript-programación-orientado-a-objetos-
fundamentos-401746946459
Fundamentos POO
Abstracción Encapsulación
Polimorfismo Herencia
https://ed.team/blog/que-es-la-programacion-orientada-a-objetos-poo
Fundamentos POO
https://www.disrupciontecnologica.com/acoplamiento-y-cohesion/
Fundamentos POO
3. POO - Ejemplos
https://ed.team/blog/que-es-la-programacion-orientada-a-objetos-poo
Fundamentos POO
3. POO - Clase
Clase
Campos
• Se utilizan para contener datos que
reflejan el estado de la clase.
Métodos
• Los métodos implementan la
funcionalidad asociada al objeto.
Propiedades
3. Atributos y Métodos
https://ed.team/blog/que-es-la-programacion-orientada-a-objetos-poo
Fundamentos POO
3. POO - Objetos
Objetos
Identidad
• Es la propiedad que permite diferenciar a un
objeto y distinguirse de otros.
Comportamiento
• Está directamente relacionado con su
funcionalidad y determina las operaciones que
este puede realizar.
Estado
4. Clases y Objetos
La clase es un modelo o prototipo que define las variables y métodos
comunes a todos los objetos de cierta clase. Una clase es una plantilla
genérica para un conjunto de objetos de similares características.
La clase es una plantilla, un molde, que tiene esa estructura básica del
objeto (atributos: datos y métodos: funcionalidad).
https://mauriciogc.medium.com/javascript-programación-orientado-a-
objetos-fundamentos-401746946459
Fundamentos POO
5. Clases y Objetos - Ejemplo
Fundamentos POO
6. Clases - Ejemplo
Fundamentos POO
7. Objetos - Ejemplo
Fundamentos POO
8. Ventajas de POO
https://www.ciberaula.com/cursos/java/ventajas_poo.php
Actividad – Aplicación
• Desarrollo de código fuente en Apache NetBeans 21 y JDK 21.
https://www.flaticon.com/free-icon/juggling-
ball_3301884?term=activity&page=1&position=73&origin=search&related_i
d=3301884
https://netbeans.apache.org
Retroalimentación
Cierre
• ¿Qué es POO?
• ¿Diferencia entre un abstracción y encapsulación?
• ¿Cuál es la utilidad de POO?
https://www.flaticon.com/free-
icon/feedback_6728493?term=feedback&page=1&position=87&origin=sea
rch&related_id=6728493
Reflexionemos lo aprendido - Conclusiones
https://www.flaticon.com/free-icon/online-
test_5435625?term=testing&page=1&position=68&origin=search&related_i
d=5435625
Referencias Bibliográficas
CURSO
Desarrollo Orientado a Objetos
TEMA
Lenguajes de Programación
SEMANA N.º 01
DOCENTE:
Ing. Chávez Saravia, Iván.
Motivación
¿Qué observamos en
la imagen?
Proponer soluciones
Mejorar App
Agilizar actividades
Soporte de App
https://www.flaticon.com/free-
icon/idea_2896428?term=idea&page=1&position=57&origin=sear
ch&related_id=2896428
Logro de la sesión:
Al término de la sesión el estudiante, conoce los
diferentes lenguajes de programación para crear
aplicaciones empresariales.
Contenidos de la sesión:
• Lenguajes de programación
• Modelo de desarrollo
• Componentes, tipos
primitivos, elementos léxico y
expresiones
• Características
• Estructura de una aplicación
• Bibliotecas principales
• Ingreso de datos por teclado - https://www.flaticon.com/free-
icon/tasks_13975846?term=to+do+list&page=2&position=56&ori
estructuras gin=search&related_id=13975846
Lenguajes de Programación
1. Definición
2. Modelo de Desarrollo
Escuchar al cliente
Construir prototipo
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo
Desarrollo basado en componentes (reutilización): Los
compromisos en los requisitos son inevitables, por lo cual
puede que el software no cumpla las expectativas del
cliente.
Las actualizaciones de los componentes adquiridos no
están en manos de los desarrolladores del sistema.
Alto costo, si la adaptación de nuevos paquetes es costosa.
Dificultades para asegurar el versionamiento si los
suministradores de componentes no mejoran
continuamente sus productos.
https://www.redalyc.org/journal/3783/378366538003/html/ https://www.flaticon.com/free-
icon/chemical_4038443?term=composites&page=1&position=23
&origin=search&related_id=4038443
Lenguajes de Programación
2. Modelo de Desarrollo
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo - Espiral
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo – Modelo RAD
Modelado de gestión
Modelado de datos
Modelado de procesos
Generación de aplicaciones
Prueba y entregas
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
2. Modelo de Desarrollo – Modelo Cascada
Definición de requisitos
Operación y mantenimiento
https://www.redalyc.org/journal/3783/378366538003/html/
Lenguajes de Programación
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Lenguajes de Programación
3. Estructura interna de un aplicación – Java
https://desarrolloweb.com/articulos/iniciacion-java-caracteristicas-programacion-ideeclipse.html
Lenguajes de Programación
5. Estructura Condicional – IF
Lenguajes de Programación
5. Estructura Condicional Selectiva – SWITCH
Lenguajes de Programación
5. Estructura Repetitiva – FOR
Lenguajes de Programación
5. Estructura Repetitiva – WHILE
Lenguajes de Programación
5. Estructura Repetitiva – DO WHILE
Ranking de Lenguajes de Programación
https://www.tiobe.com/tiobe-index/
Ranking de Lenguajes de Programación
https://insights.stackoverflow.com/trends?tags=javascript%2C
python%2Cjava%2Cc%23%2Cphp%2Cc%2Cc%2B%2B%2Crub
y%2Cgo%2Csql
JDK - JAVA
https://insights.stackoverflow.com/trends?tags=javascript%2C
python%2Cjava%2Cc%23%2Cphp%2Cc%2Cc%2B%2B%2Crub
y%2Cgo%2Csql
Actividad – Aplicación
• Desarrollo de código fuente en Apache NetBeans 21 y JDK 21.
https://www.flaticon.com/free-icon/juggling-
ball_3301884?term=activity&page=1&position=73&origin=search&related_i
d=3301884
https://netbeans.apache.org
Retroalimentación
Cierre
• ¿Qué es un lenguaje de programación?
• ¿Diferencia entre un lenguaje y otro?
• ¿Por qué existen varios lenguajes de programación?
https://www.flaticon.com/free-
icon/feedback_6728493?term=feedback&page=1&position=87&origin=sea
rch&related_id=6728493
Reflexionemos lo aprendido - Conclusiones
https://www.flaticon.com/free-icon/online-
test_5435625?term=testing&page=1&position=68&origin=search&related_i
d=5435625
Referencias Bibliográficas
Correspondencia: belisariovera@espam.edu.ec
Ciencias de la Computación
Artículo de Investigación
I. Escuela Superior Politécnica Agropecuaria de Manabí Manuel Félix López. Carrera de Ingeniería
en Electrónica y Automatización Campus Politécnico Sitio El Limón, Calceta, Manabí, Ecuador.
http://polodelconocimiento.com/ojs/index.php/es
José Belisario Vera Vera
Resumen
El objetivo de este artículo fue describir la Arquitectura de Software con Programación Orientada
a Objeto a partir de la revisión de fuentes documentales actualizadas. Se ha encontrado que La
Programación Orientada al Objeto (POO), agrupa un conjunto de técnicas que permiten desarrollar
y mantener mucho más fácilmente programas de una gran complejidad. Es un paradigma de
programación que define los programas en términos de “clases de objetos”, Las características de
orientación a objetos han sido agregadas a muchos lenguajes existentes como Python, Java, PHP,
C++, Objective C, TypeScript, Smalltalk, entre otros, de este modo, C++ y Java son los dos
lenguajes de programación orientada a objetos más usados Se puede concluir que, la evolución de
la Arquitectura de Software escala cada vez más posiciones superiores, que permiten a los
profesionales del dicho campo al desarrollo de software que permiten resolver diversos problemas
de arquitectura con mejor calidad y en un menor tiempo para la satisfacción del usuario.
Palabras Clave: Arquitectura de sofware; Programación; Lenguaje de programación.
Abstract
The objective of this article was to describe the Software Architecture with Object-Oriented
Programming based on the review of updated documentary sources. It has been found that Object
Oriented Programming (OOP) brings together a set of techniques that allow highly complex
programs to be developed and maintained much more easily. It is a programming paradigm that
defines programs in terms of “object classes”. Object-oriented features have been added to many
existing languages such as Python, Java, PHP, C++, Objective C, TypeScript, Smalltalk, among
others. In this way, C++ and Java are the two most used object-oriented programming languages.
It can be concluded that the evolution of Software Architecture is increasingly climbing higher
positions, which allow professionals in said field to develop software that They allow solving
various architectural problems with better quality and in less time for user satisfaction.
Keywords: Software Architecture; Programming; Programming language.
Resumo
O objetivo deste artigo foi descrever a Arquitetura de Software com Programação Orientada a
Objetos com base na revisão de fontes documentais atualizadas. Verificou-se que a Programação
Orientada a Objetos (POO) reúne um conjunto de técnicas que permitem desenvolver e manter
1498
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
Arquitectura de software con programación orientada a objeto
programas altamente complexos com muito mais facilidade. É um paradigma de programação que
define programas em termos de “classes de objetos”. Recursos orientados a objetos foram
adicionados a muitas linguagens existentes, como Python, Java, PHP, C++, Objective C,
TypeScript, Smalltalk, entre outras. desta forma, C++ e Java são as duas linguagens de
programação orientada a objetos mais utilizadas.Pode-se concluir que a evolução da Arquitetura
de Software está cada vez mais subindo posições mais altas, o que permite aos profissionais da
referida área desenvolver software que Eles permitem resolver vários problemas de arquitetura com
melhor qualidade e em menos tempo para satisfação do usuário.
Palavras-chave: Arquitetura de software; Programação; Linguagem de programação.
Introducción
La arquitectura de software da respuesta a cuáles son las soluciones necesarias para cumplir con
los requisitos técnicos y comerciales de un programa informático. En contraste con la anterior, esta
especialidad está centrada en los componentes, en lugar de todo el sistema, y se requiere un elevado
nivel de conocimientos sobre software para aplicarla (Cristiá, 2021).
Otras definiciones hacen referencia Según el Software Engineering Institute (SEI), la arquitectura
de software hace referencia a "las estructuras de un sistema, compuestas de elementos con
propiedades visibles de forma externa y las relaciones que existen entre ellos”. La arquitectura de
software se refiere a la estructura que ha de tener un software, las partes que vamos a construir y
la forma en la que las vamos a combinar y juntar para poder trabajar con ellas (UNICESI, 2022).
La arquitectura de software, en un sentido estricto, se define como el conjunto de estructuras que
componen el sistema, lo que incluye elementos de software, las relaciones entre los mismos, y las
propiedades tanto de los elementos como de sus relaciones. En otras palabras, la arquitectura de
software define el conjunto de componentes de un sistema, las interfaces de comunicación de los
mismos, y la manera como estos componentes se comunican entre ellos usando estas interfaces
(González, 2017)
La arquitectura de un sistema de software se diseña para satisfacer los requerimientos funcionales
y no funcionales establecidos por los interesados en el sistema (ej.: usuarios, clientes, proveedores).
Los funcionales se refieren a las tareas que se espera el sistema pueda realizar, mientras que los
no-funcionales se refieren a la calidad con que se espera el sistema realice estas tareas. (Joyanes,
2014)
1499
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
José Belisario Vera Vera
Actualmente producir software orientado a objetos exige del ser humano una gran capacidad de
imaginación, abstracción y creatividad. Uno de los objetivos de los desarrolladores de software es
resolver problemas informáticos de manera práctica. Esto conlleva la utilización en conjunto de las
capacidades antes mencionadas, lo cual es una tarea difícil de realizar (Bolaños & Farinango,
2017).
La Ingeniería de Software ha permitido que junto a la disciplina de implementación se desarrolle
el modelado de negocio, análisis y diseño, pruebas, entre otras disciplinas que por etapas dejan sus
huellas en el proceso de desarrollo de software. En la incorporación y consolidación de estos
elementos al proceso de desarrollo de software también se añaden los elementos arquitectónicos,
abarcando la estructura de alto nivel de la organización del sistema, conocida como la arquitectura
del software.
A partir de lo anterior el objetivo de este artículo fue describir la Arquitectura de Software con
Programación Orientada a Objeto a partir de la revisión de fuentes documentatales actualizadas.
Desarrollo
Arquitectura de software
Es incuestionable que para alcanzar la calidad, excelencia y desarrollo en las sociedades modernas,
la tecnología es la piedra angular en los diversos campos de desenvolvimiento del ser humano, este
hecho se resalta más aún en el diseño de software, arquitectura de software o estructura de software.
En atención a lo argumentado (Cervantes, Velasco, & Castro, 2016) destacan, en la actualidad, el
software está presente en gran cantidad de objetos que nos rodean: desde los teléfonos y otros
dispositivos que llevamos con nosotros de forma casi permanente, hasta los sistemas que controlan
las operaciones de organizaciones de toda índole o los que operan las sondas robóticas que exploran
otros planetas. Uno de los factores clave del éxito de los sistemas es su buen diseño; de manera
particular, el diseño de lo que se conoce como arquitectura de software.
Según la norma del Institute of Electrical and Electronics Engineers (IEEE Std 1471-2000), la
arquitectura de software es la organización fundamental de un sistema enmarcada en sus
componentes, las relaciones entre ellos, y el ambiente, y los principios que orientan su diseño y
evolución (IEEE, 2000). Al diseñar una arquitectura de software se crean y representan
componentes que interactúan entre sí, con responsabilidades específicas y se organizan de forma
tal que se logren los requerimientos establecidos. Se puede partir con patrones de soluciones
1500
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
Arquitectura de software con programación orientada a objeto
1501
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
José Belisario Vera Vera
prueba, o en el que no sea posible evaluar la calidad hasta que sea demasiado tarde en el proceso
de software, cuando no queda mucho tiempo y ya se ha gastado mucho dinero (Pressman, 2010).
En el desarrollo del software, resulta necesario establecer un enfoque sistemático y disciplinado,
es decir, una metodología para llevar a cabo dicho proceso, desde la óptica de la ingeniería del
software, una metodología establece el orden en el que la mayoría de las actividades tienen que
realizarse y los enlaces entre ellas (García & García, 2022). A partir de ello, se pueden distinguir
una clasificación de las metodologías de software, entre las cuales se menciona, estructuradas
(orientadas a procesos y orientadas a datos); orientadas a estados y transiciones; orientadas al
diseño del conocimiento; orientadas a objetos; orientadas al desarrollo de sistemas hipermediales
y basadas en métodos formales (García & García, 2022).
Arquitectura de Software con Programación Orientada a Objeto
La programación orientada a objetos (POO), tiene un enfoque hacia la ingeniería del software,
comenzando por la identificación de los objetos involucrados en un problema y los mensajes que
estos objetos deben responder. El programa resultante es una colección de objetos, cada uno con
sus propios datos y su propio conjunto de responsabilidades. La interacción entre los objetos se
realiza mediante el envío de mensajes entre sí (Galindo & Ramírez, 2015).
La Programación Orientada al Objeto (POO), agrupa un conjunto de técnicas que permiten
desarrollar y mantener mucho más fácilmente programas de una gran complejidad. Es un
paradigma de programación que define los programas en términos de “clases de objetos”, objetos
que son entidades que combinan estado (propiedades o datos), comportamiento (procedimientos o
métodos) e identidad (propiedad del objeto que lo diferencia del resto) (Rivas, 2021). La
programación orientada a objetos, se trata de un estilo de programación que busca la
sistematización de los mismos, modelando objetos para simular que se trata de la realidad (Joyanes,
2014). A través de esta metodología se puede facilitar el acceso de los usuarios a los programas de
computación, incrementando la cobertura de internautas y promoviendo el uso masivo de estos
componentes de las Tecnologías de Información y Comunicación (TIC) (Minaya, Mendoza, &
Briones, 2019).
La arquitectura Orientadas a objetos, se fundamentan en la integración de los dos aspectos de los
sistemas de información: datos y procesos. En este paradigma un sistema se concibe como un
conjunto de objetos que se comunican entre sí mediante mensajes (García & García, 2022). El
objeto encapsula datos y operaciones, es decir, este enfoque permite un modelado más natural del
1502
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
Arquitectura de software con programación orientada a objeto
mundo real y facilita enormemente la reutilización del software. Las metodologías orientadas a
objetos acortan la distancia existente entre el espacio de conceptos (lo que los expertos o usuarios
conocen) y el espacio de diseño e implementación (García & García, 2022).
En la POO, un objeto es una entidad virtual (o entidad de software), con datos y funciones que
simulan las propiedades del objeto. Los objetos con los que se construyen los programas se ven
como si fueran máquinas, las cuales están formadas por un conjunto de elementos autónomos. Las
propiedades individuales de estos elementos y las relaciones entre sí definen el funcionamiento
general de la máquina (Cervantes Ojeda, Gómez, Gónzalez, & García, 2016).
La Programación Orientada al Objeto (POO), es una técnica que intenta modelar el mundo real de
mejor manera. Este enfoque de programación introduce conceptos como encapsulamiento y
abstracción, para formar una nueva unidad llamada “clase”. De esta manera mejora la reusabilidad
y permite un mejor entendimiento de código (Bolaños & Farinango, 2017).
La Programación Orientada al Objeto (POO), busca resolver problemas con códigos ya
funcionales, esto trae como ventaja el no crear códigos nuevos si ya existe uno que solucione el
problema. Involucra en su desarrollo clases, objetos, propiedades, métodos para una mejor
implementación al momento de programar (González, 2017).
Es importante resaltar que el proceso de resolver un problema mediante el uso de POO, sigue una
serie de etapas (análisis, diseño e implementación) para poder construir un producto que satisfaga
lo solicitado. En la etapa de análisis se determinan los requisitos funcionales, es decir, lo que se
espera que el programa haga, el mundo del problema (contexto en el que se desarrolla el problema)
y los requisitos no funcionales (restricciones tales como hardware, distribución geográfica y
factores humanos). La fase de diseño considera las partes y diferentes relacionales que componen
la solución. La fase de construcción, permite, partiendo del diseño, expresar la solución mediante
algoritmos y construir el código fuente (Jaramillo & Cordona, 2018).
Las características de orientación a objetos han sido agregadas a muchos lenguajes existentes como
Python, Java, PHP, C++, Objective C, TypeScript, Smalltalk, entre otros, de este modo, C++ y
Java son los dos lenguajes de programación orientada a objetos más usados. La orientación a
objetos se basa en la división del programa en pequeñas unidades lógicas de código; estas unidades
es lo que se conoce como objetos. Éstos son unidades independientes que se comunican entre sí
mediante mensajes para hacer que el programa funcione (Moncho Mas, 2001). Al dividir un
programa en objetos, hace que el código sea más fácil de mantener y de reutilizar. El modelo de
1503
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
José Belisario Vera Vera
1504
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
Arquitectura de software con programación orientada a objeto
1505
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
José Belisario Vera Vera
Es común que un objeto pertenezca a la misma familia o clasificación de otro objeto, lo que
conlleva a decir que los objetos que poseen el mismo tipo de datos y responden a los mensajes de
la misma forma, pertenecen a la misma clase, esta clase describe un grupo de objetos en particular
que tienen idénticas características (datos) y comportamientos (funcionalidad), aplicando buenas
prácticas de programación, para definir el nombre de una clase (Galindo & Ramírez, 2015).
Conclusiones
Este documento muestra algunos rasgos de la arquitectura de software con programación orientada
a objeto, la cual está orientada al desarrollo de software en piezas simples y reutilizables de planos
de código (clases) para crear objetos diversos que puedan interactuar entre sí para y crear programas
de cómputo más complejos y más funcionales que permita resolver problemas de programación en
diversas entidades. Las características de orientación a objetos han sido agregadas a muchos
lenguajes existentes como Python, Java, PHP, C++, Objective C, TypeScript, Smalltalk, entre
otros, de este modo, C++ y Java son los dos lenguajes de programación orientada a objetos más
usados.
En tal sentido, la evolución de la Arquitectura de Software escala cada vez más posiciones
superiores, que permiten a los profesionales del dicho campo al desarrollo de software que permiten
resolver diversos problemas de arquitectura con mejor calidad y en un menor tiempo para la
satisfacción del usuario.
Referencias
Bolaños, M., & Farinango, G. (2017). Análisis de Asimilación de la Programación Orientada a
Aspectos (POA), en los Estudiantes de la Materia Aplicaciones en Ambientes Propietarios
de la Facultad de Sistemas en la Escuela Politécnica Nacional. Escuela Politécnica
Nacional. Quito. Ecuador. Trabajo de titulación.
https://bibdigital.epn.edu.ec/bitstream/15000/17322/1/CD-7817.pdf, pp.93.
Capilla Sevilla, R. (2022). Tema 1. Concepto de Arquitectura Software y Principios de Diseño.
Universidad Rey Juan Carlos. España. https://burjcdigital.urjc.es › DAS-Temas, pp.241.
Cervantes Ojeda, J., Gómez, M., Gónzalez, P., & García, A. (2016). Introducción a la programación
orientada a objetos. México: Universidad Autónoma Metropolitana. Primera edición.
Pág.200.
1506
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
Arquitectura de software con programación orientada a objeto
Cervantes, H., Velasco, P., & Castro, L. (2016). Arquitectura de software. Conceptos y ciclo de
desarrollo. México, D.F: Cengage Learning Editores, S.A. de C.V. Pág.66.
Cristiá, M. (2021). Una Teoría para el Diseño de Software. Universidad Nacional de Rosario.
Argentina. Ingeniería de Software 2. https://www.fceia.unr.edu.ar/ingsoft/intro-diseno.pdf,
pp.1-13.
Estevez, E. (2019). Arquitectura y diseños de sistemas. Arquitectura de Sofware. Parte I .
Universidad Nacional del Sur.
https://cs.uns.edu.ar/~ece/ads/downloads/Clases/2019%2004%20AyDS%20-
%20Arquitectura%20de%20Software%20Parte%201.pdf, pp.62.
Galindo , O., & Ramírez, P. (2015). Enseñanza de la programación orientada a objetos usando
Alice 3D y el patrón MVC. Universidad Autónoma de Bucaramanga, Colombia.
https://repository.unab.edu.co/bitstream/handle/20.500.12749/3532/2015_Articulo_Galin
do_Parra_Omaira_Isabel.pdf?sequence=2&isAllowed=y, pp.1-11.
García, F., & García, A. (2022). Tema 1: Introducción a la Ingeniería del Software. Universidad de
Salamanca. España.
https://repositorio.grial.eu/bitstream/grial/2742/1/IS_I%20Tema%201%20-
%20Introduccio%CC%81n%20a%20la%20IS.pdf, pp.113.
González, A. (2017). Conceptos de programación orientada a objetos (POO). Universidad Nacional
de la Plata. Argentina.
http://sedici.unlp.edu.ar/bitstream/handle/10915/119243/Documento_completo.pdf-
PDFA.pdf?sequence=1&isAllowed=y, pp.1-7.
IEEE. (2000). ISO/IEC/IEEE 42010: Defining architecture. Institute of Electrical and Electronics
Engineers (IEEE). http://www.iso-architecture.org/ieee-1471/defining-architecture.html .
Jaramillo, S., & Cordona, S. (2018). Principios de programación orientada a objetos. Armenia,
Quindío – Colombia: ELIZCOM SAS. ISBN: 978-958-8801-76-6. Pág.319.
Joyanes, L. (2014). Fundamentos de programación: algortimos y estructura de datos. Madrid.
España: Google Books.
Minaya, C., Mendoza, J., & Briones, J. (2019). Los pilares de la programación orientada a la web:
un enfoque teórico. Universidad, Ciencia y Tecnología; Volumen Especial Nº 01.
https://uctunexpo.autanabooks.com/index.php/uct/article/view/42, pp. 4-12.
1507
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X
José Belisario Vera Vera
© 2023 por los autores. Este artículo es de acceso abierto y distribuido según los términos y condiciones de la licencia Creative
Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
(https://creativecommons.org/licenses/by-nc-sa/4.0/).
1508
Pol. Con. (Edición núm. 85) Vol. 8, No 12, Diciembre 2023, pp. 1497-1508, ISSN: 2550 - 682X