PROGRAMACION_20

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Plantel Magdalena Contreras 209

Módulo: PROGRAMACIÓN ORIENTADA A OBJETOS


Nombre: PEREZ CASTRO LASHMI
Docente: LUIS ANGEL
Grupo: 408
Turno: MATUTINO
Matrícula: 222090097-7
1.1 identifica los componentes fundamentales de la
programación orientada a objetos
Contenido:
A) Identificación de componentes de la programación orientada
a objetos.
Lo principal es saber el significado, la definición de lo que es la programación
orientada a objetos.
La programación orientada a objetos es como unas cuantas instrucciones lineales,
aparte de que puede ser un paradigma de programación que se basa en crear
objetos.
La programación orientada a objetos también reutiliza los códigos para los
desarrollos.
Esto se utiliza en cosas muy amplias, complejas, más que nada como dice su
nombre en los programas del software.
Hay ventajas de usar esto de la programación orientada a objetos, como el
modelar cosas de las estructuras simples, las cosas son reutilizables, facilita tanto
crear los códigos como interacciones entre objetos, crear jerarquías.
Pero si como existen sus ventajas están sus desventajas como por ejemplo si se
llega a forzar un código con la programación orientada a objetos se pierden
algunas de sus características de la programación que es muy util ya que los
objetos se requieren de una gran documentación como datos o así.
La programación orientada a objetos se inventó para simplificar la cosas en los
sistemas complejos, en los años 60-70 y fue una gran y buena cosa que se
popularizo a los 80 por Alan Kay.
Prosiguiendo con esta investigación, los principios de la POO (Programación
orientada a objetos) son:
 Herencia
 Encapsulación: oculta la implementación de un objeto y exponer solo sus
atributos y métodos
 Abstracción: proceso mediante el cual se crea un objeto mediante una clase
que actúa como una interacción entre el usuario y la computadora.
 Polimorfismo: capacidad de llamar a diferentes métodos dependiendo del
objeto sobre el que se llame
Sus componentes fundamentales son:
♦ Clases: modelo abstracto de un objeto que define sus atributos y métodos.
♦ Objetos: Una instancia de una clase con valores para sus atributos y
métodos para realizar acciones sobre el objeto.
♦ Métodos: son funciones que se pueden llamar sobre un objeto.
♦ Atributos: son la información que define la estructura de un objeto, y pueden
ser de cualquier tipo, como enteros, cadenas de texto y números flotantes,
♦ Programación genérica: La programación genérica permite la creación de
clases y métodos genéricos que pueden trabajar con cualquier tipo de
objeto, sin tener que escribir código específico para cada tipo.

Y los principales y más importantes lenguajes de la programación que ya


conocemos, aunque algunos que otros no, pero son:
 Java
 C++
 C#
 Python
 Ruby
 PHP
La programación orientada a objetos es tambien una metodología de desarrollo de
software, se concentra o solo se enfoca en crear el diseño de los objetos, ya que
son objetos con datos que contienen muchos atributos (características del objeto)
y métodos (acciones que se pueden realizar sobre el objeto) que se pueden hasta
reutilizar para hacer códigos más fáciles. Los objetos pueden interactuar entre
ellos a través de sus propios métodos y como dije anteriormente facilita la creación
de sistemas complejos y reutilizables.

¿Por qué sería importante la programación orientada a objetos?

Pues la programación orientada a objetos es importante porque permite crear


sistemas complejos y reutilizables de manera fácil. Los objetos se pueden
reutilizar de muchas formas, lo que reduce a veces el trabajo de los
programadores y mejora del código que hacen, osea el que van creando conforme
las reutilizaciones de otros objetos.
La programación orientada a objetos hace que el código sea más fácil de
entender, facilísimo, lo que puede o de hecho creo reduce errores de la
programación.

B) Uso de lenguaje de modelado unificado para el diseño de


programas orientados a objetos
Hay varios lenguajes de modelado que se utilizan en la programación orientada a
objetos, como el:
 Unified Modeling Language (UML): Lenguaje de modelado más popular
para la programación orientada a objetos que se utiliza para el diseño y
documentación de software.
 Object-Oriented Analysis and Design (OOAD) Language: Es una disciplina,
se dedica a análisis y diseño de sistemas orientados a objetos.
 Object-Oriented Software Construction (OOSC): Enfoque metodológico que
es similar al primero, pero se enfoca más en la creación del software
orientado a objetos.
 Unified Structured Method (USM): Esto se enfoca en la estructura y la
organización del código.
 Model Driven Engineering (MDE): Se basa en la capacidad de generar
automáticamente códigos desde modelos del software.
Cada uno de estos lenguajes de modelado tiene sus propios enfoques, ventajas y
desventajas, y se pueden utilizar en diferentes etapas del proceso de desarrollo de
software, desde el análisis y diseño hasta la construcción y pruebas.
En breve explicare cada uno.
El lenguaje de modelado unificado del que especificare es el más popular:

UML
Es un lenguaje de modelado que permite designar y documentar el
comportamiento y la estructura de un sistema de software.
Se utiliza en el diseño de aplicaciones y software orientados a objetos, ya que
tiene o de hecho contiene herramientas para crear y describir la estructura de un
sistema y su comportamiento.
El uso de UML permite a los desarrolladores representar la estructura y el
comportamiento de los objetos detalladamente, lo que facilita la construcción de
sistemas complejos y escalables.
UML proporciona herramientas para modelar la relación entre los objetos y la
interacción entre ellos, lo que ayuda a los desarrolladores a conceptualizar el
sistema.

En general, UML es una herramienta importante para el diseño de programas


orientados a objetos, ya que proporciona una forma estandarizada de describir y
documentar el comportamiento y la estructura de un sistema, lo que ayuda a
reducir la complejidad y mejorar la colaboración y la comunicación entre los
miembros de equipo.
UML es una buena forma de crear documentación profesional, por que es una
parte necesaria del desarrollo de cualquier proyecto. UML es una parte esencial
de la creación de un diseño de sistemas orientado a objetos.
Proporciona medios para crear modelos y diseños potentes para sistemas
racionales que pueden entenderse sin muchas dificultades aparte las ventajas de
este lenguaje son que:
 Simplifica las complejidades
 Mantiene abiertas líneas de comunicación
 Automatiza la producción de software y los procesos
 Ayuda a resolver los problemas arquitectónicos constantes
 Aumenta la calidad del trabajo
 Reduce los costos y el tiempo de comercialización
A pesar de ser una poderosa herramienta para el diseño y la documentación de
software, el uso de UML también puede tener algunas desventajas, como:

 Complejidad: Puede pfrecer muchas opciones para representar la


estructura y el comportamiento de un sistema, pero como puede hacerlo
demasiado complejo es difícil de utilizar para personas no experimentadas
en su uso. Solo para las personas no bien experiementatas no para todas
las personas obvio.
 Dependencia de una herramienta: El UML requiere del uso de una
herramienta para crear y editar los diagramas de un modelo, lo que puede
ser costoso y difícil de aprender a utilizar.
 Falta de flexibilidad: El UML es un enfoque muy estructurado para el diseño
de software, a veces puede limitarte a cierta medida a la hora de crear
sistemas complejos que requieran mayor adaptabilidad.
 Falta de integración: Aunque UML es uno de los lenguajes de modelado
más populares, su integración con otras herramientas y tecnologías de
desarrollo de software puede ser limitada, puede evitar que se utilice de
manera efectiva en un entorno de desarrollo de software moderno.

OOAD
El Análisis y Diseño Orientado a Objetos (OOAD) es una técnica popular para
analizar y diseñar aplicaciones de software. OOAD se basa en los conceptos de
objetos y clases. Los objetos son las unidades básicas de OOAD. Una clase es
una plantilla para crear objetos. Las clases pueden contener datos y código que
definen el comportamiento de los objetos.
OOAD es un proceso para diseñar aplicaciones de software. El proceso comienza
con una fase de recopilación de requisitos. Durante esta fase, se recopilan los
requisitos de la aplicación de las partes interesadas. A continuación, se analizan
los requisitos y se utilizan para crear un diseño para la aplicación. A continuación,
el diseño se implementa y se prueba.
OOAD es una técnica popular porque ayuda a crear software fácil de entender y
mantener. OOAD también ayuda a crear software que es resistente al cambio.
¿Qué es un objeto en UML? En UML, un objeto es una unidad autónoma con su
propia identidad, estado y comportamiento. Un objeto representa una única
instancia de una clase, y se define por sus atributos y relaciones. Los objetos
pueden ser creados y destruidos, y pueden ser utilizados para modelar cosas
tanto concretas como abstractas.
OOPs (Object Oriented Programming) es un paradigma de programación que se
basa en el concepto de "objetos". Un objeto es una unidad autónoma que contiene
tanto datos como código. Los objetos pueden ser creados, utilizados y destruidos.
Object-Oriented Analysis and Design (OOAD) es un enfoque metodológico para el
diseño de sistemas orientados a objetos. Su objetivo es identificar y modelar los
aspectos relevantes de un sistema, ya sea un software, un hardware o un proceso
de negocio. El lenguaje de modelado utilizado en OOAD es UML (Unified Modeling
Language), que permite representar la estructura y el comportamiento de los
sistemas en forma gráfica.

Las principales etapas del proceso OOAD son:


Análisis de requisitos: Se trata de un proceso para recopilar y analizar los
requisitos del sistema que se va a diseñar, desde las necesidades de los usuarios
hasta las características técnicas del sistema.
Modelado del dominio: En esta etapa, se identifica y modela el dominio del
sistema, es decir, la área funcional y técnica del sistema que se va a diseñar. En
OOAD, se utiliza UML para modelar los objetos del sistema y sus relaciones.
Modelado del sistema: En esta etapa, se identifica y modela la estructura del
sistema, incluidas las interacciones entre los objetos, los flujos de control, las
transiciones de estado y otros aspectos necesarios para el diseño del sistema.
Modelado de aplicaciones: En esta etapa, se identifica y modela las aplicaciones
específicas que se requerirán para ejecutar el sistema, incluidas las interfaces de
usuario, las bases de datos y otros componentes específicos de la aplicación.
Validación y verificación: En esta etapa, se verifican y validan los modelos y se
realizan pruebas para asegurarse de que todos los requisitos del sistema se
cumplimentan correctamente.
Implementación: Finalmente, los modelos se utilizan para generar el código fuente
del système.
En resumen, OOAD es un método para el diseño de sistemas orientados a objetos
que utiliza UML como lenguaje de modelado. Este enfoque proporciona una
estructura metódica para el diseño de sistemas complejos, y es ampliamente
utilizado en la industria de software

OOSC
Es un método de diseño orientado a objetos que se enfocó en la construcción de
software desde los años '80 hasta principios de los años 2000. En OOSC, el
software es descrito como una colección de objetos relacionados que interactúan
para realizar una tarea específica.
OOSC se centra en la construcción de software, en lugar de la especificación y el
diseño del software. El enfoque de OOSC es hacer énfasis en el código fuente y
en la construcción de software como un proceso de desarrollo iterativo y
adaptativo, en lugar de un proceso lineal y rígido.
Durante la construcción de software orientada a objetos, OOSC se enfoca en la
creación de objetos que siguen los conceptos y patrones de diseño de objetos,
como modularidad, abstracción, encapsulamiento, polimorfismo e interacción.
La construcción de software orientada a objetos utiliza técnicas de programación
en vez de diagramas.
El lenguaje de programación que se utiliza es C++, pero se ha tomado el lenguaje
para modificar las características de la programación orientada a objetos.
Lo principal de OOSC es su naturaleza extremadamente compleja y su falta de
enfoque en la calidad.
Sin embargo, OOSC tuvo un impacto muy bueno en la industria de software y por
la construcción y la interacción de objetos ya que al parecer ayudó a establecer las
bases y la serie de datos para la programación orientada a objetos.

USM
Es para el diseño y la construcción de software.
Se ocupa de la estandarización y automatización del desarrollo de software, y es
uno de los métodos más flexibles y adaptativos para el diseño y la construcción de
software.
USM se basa en alguna serie de principios y prácticas que son utilizadas en todo
el proceso de diseño y construcción de software, incluyendo la planificación, el
diseño conceptual y la implementación.
La planificación utiliza análisis de requisitos y modelado de requisitos para crear
una descripción detallada del sistema a implementar.
El diseño conceptual utiliza diagramas conceptuales para visualizar la estructura
del sistema. Durante la implementación, se utiliza programación modular y
programación orientada a objetos.
USM ofrece muchas ventajas, incluyendo un enfoque flexible y personalizado para
el desarrollo de software, una estructura metódica para el diseño y la construcción
de software, y una estandarización y automatización del proceso de desarrollo. Sin
embargo, USM puede ser difícil de implements y requiere una formación especial
para ser utilizada de manera efectiva

MDE
Paradigma de ingeniería de software que se centra en la creación y explotación de
modelos de dominio.
Son representaciones abstractas de los conocimientos y actividades que rigen un
dominio de aplicación particular. A diferencia de los conceptos informáticos o
algoritmos, la MDE se enfoca en la construcción y uso de estos modelos.
Algunos aspectos clave este lenguaje:
♦ Productividad: El objetivo principal de la MDE es aumentar la productividad.
Se logra mediante la reutilización de modelos estandarizados, esto
maximiza la compatibilidad entre sistemas. Además de que facilita o
simplifica el proceso de diseño mediante modelos de patrones de diseño
que son aplicadas en el dominio de aplicación.
♦ Comunicación y estandarización: La MDE promueve la comunicación entre
los individuos y equipos que trabajan en el sistema. Esto se logra por la
estandarización delas mejores prácticas utilizadas en el dominio de
aplicación.
♦ Desarrollo basado en modelos: Los modelos se desarrollan a través de una
amplia comunicación entre gerentes de producto, diseñadores, miembros
del equipo de desarrollo y usuarios del dominio de la aplicación. Estos
modelos sirven como base para la implementación de sistemas de
software.

Algunas de las iniciativas MDE más conocidas incluyen la Arquitectura dirigida por
modelos (ADM) del Object Management Group (OMG) y el ecosistema de
herramientas de modelado y programación Eclipse.
MDE a evolucionado desde las primeras herramientas CASE en los años ochenta
hasta la creación del lenguaje unificado de modelado (UML) y herramientas como
Rational Rose.
En resumen, la MDE es algo que busca simplificar y mejorar el proceso de
desarrollo de software al centrarse en la creación y uso efectivo de modelos de
dominio.

C) Software para el desarrollo y modelado de aplicaciones


orientadas a objetos
El modelado orientado a objetos es una técnica ampliamente utilizada
en el desarrollo de software. Permite representar de manera eficiente y
estructurada los objetos, atributos, relaciones y comportamientos de un
sistema. Al aplicar esta metodología, los desarrolladores pueden diseñar
y construir sistemas más flexibles, modulares y fáciles de mantener.

El modelado orientado a objetos es una técnica de diseño que se basa


en la representación de entidades del mundo real como «objetos» que
tienen características (atributos) y comportamientos (métodos). Estos
objetos interactúan entre sí a través de mensajes, lo que permite
modelar y simular sistemas complejos.

El modelado orientado a objetos es fundamental en el desarrollo de


software debido a los siguientes beneficios:

Reutilización de código: Al diseñar sistemas a través de objetos y clases,


se promueve la reutilización de código, lo que ahorra tiempo y esfuerzo
en el desarrollo.

Flexibilidad y escalabilidad: La estructura modular del modelado


orientado a objetos permite realizar cambios y mejoras en el sistema de
manera más sencilla y sin afectar otras partes del código.

Mantenibilidad: Al estar organizado en objetos y clases, el código es más


fácil de entender y mantener, lo que facilita la corrección de errores y la
incorporación de nuevas funcionalidades.

Abstracción: La abstracción de los objetos permite representar de


manera más fiel el mundo real y facilita la comunicación entre los
desarrolladores y los usuarios del sistema.

En el modelado orientado a objetos, se utiliza el concepto de clases y


objetos para representar entidades del mundo real o abstractas. Una
clase es una plantilla que define las características y comportamientos
comunes de un conjunto de objetos. Por otro lado, un objeto es una
instancia de una clase, es decir, una entidad concreta que posee el
estado y comportamiento definidos por la clase.

Beneficios del modelado orientado a objetos:


Reutilización de código: al utilizar clases y objetos, es posible reutilizar el
código ya que se pueden crear instancias de una clase en diferentes
partes del sistema.

Flexibilidad y mantenibilidad: la estructura modular del modelado


orientado a objetos facilita la incorporación de cambios y mejoras en el
sistema sin afectar otras partes del código.

Abstracción: el modelado orientado a objetos permite representar


entidades del mundo real de manera más fiel, lo que facilita su
comprensión y análisis.

Encapsulación: la encapsulación permite ocultar la implementación


interna de un objeto, lo que brinda mayor seguridad y simplicidad al
desarrollo.

Herencia y polimorfismo: estos conceptos permiten compartir atributos y


comportamientos entre clases relacionadas, lo que agiliza el desarrollo y
mejora la organización del código.

El modelado orientado a objetos es una metodología que permite


representar sistemas complejos de manera modular, reutilizable y
flexible. Su enfoque en clases, objetos y relaciones entre ellos facilita el
desarrollo de software de calidad y fácil mantenimiento.

El desarrollo de software orientado a objetos es una metodología


poderosa y eficiente para diseñar, desarrollar y mantener sistemas de
software complejos. Permíteme explorar los fundamentos y las
aplicaciones prácticas de este enfoque:

Fundamentos del Desarrollo Orientado a Objetos:

Se basa en el concepto fundamental de “objeto”. Un objeto es una


entidad que encapsula datos y comportamientos relacionados.

A diferencia del enfoque procedural, donde se tratan los datos y las


funciones por separado, el desarrollo orientado a objetos busca modelar
el mundo real mediante la interacción de objetos.

Los objetos se crean a partir de clases, que son plantillas que definen
propiedades y métodos comunes a un grupo de objetos. Por ejemplo, en
un sistema de gestión de biblioteca, tendríamos una clase llamada
“Libro” con propiedades como título y autor, y métodos como prestar y
devolver.

Conceptos Clave:

Encapsulación: Oculta los detalles internos de un objeto y expone solo lo


necesario para interactuar con él. Esto facilita la modularidad y la
reutilización del código.

Herencia: Permite que una clase herede propiedades y métodos de otra


clase, fomentando la reutilización del código y la creación de jerarquías.

Polimorfismo: Un objeto puede tomar diferentes formas. Un mismo


método puede comportarse de manera diferente según el objeto que lo
invoque, lo que promueve la flexibilidad y extensibilidad del código.

Aplicaciones Prácticas:

Desarrollo Ágil: El enfoque orientado a objetos se alinea con


metodologías ágiles como Scrum o Kanban. La modularidad y la
reutilización permiten a los equipos adaptarse eficazmente a los
cambios en los requisitos del cliente.

Software Empresarial: En entornos empresariales, donde la complejidad


y la escalabilidad son críticas, el desarrollo orientado a objetos ofrece
ventajas significativas. Modelar sistemas complejos mediante clases y
objetos facilita la comprensión y el mantenimiento del software a
medida que evoluciona12.

Si estás interesado en herramientas específicas para el modelado


orientado a objetos, aquí tienes algunas opciones:

Ginzo: Ofrece desarrollo de software orientado a objetos y puede ser una


excelente opción para tus necesidades1.

UML (Lenguaje de Modelado Unificado): Abstrae y visualiza sistemas de


programación orientada a objetos. Es una herramienta práctica para
desarrolladores de programas y sistemas3.

Recuerda que el desarrollo orientado a objetos es una valiosa


metodología para crear aplicaciones más naturales e intuitivas, ¡y puede
marcar la diferencia en tus proyectos de software
Existen muchas herramientas de software para el desarrollo y modelado
de aplicaciones orientadas a objetos. Algunos de los más populares son:

Visual Studio: Es un entorno de desarrollo de software de Microsoft que


permite a los desarrolladores crear aplicaciones de escritorio y web.
Visual Studio también tiene herramientas para la creación de diagramas
de clase, diagramas de flujos de control y otros diagramas de diseño de
objetos.

Eclipse: Es un entorno de desarrollo de software de código abierto que


permite a los desarrolladores crear aplicaciones de escritorio y web.
Eclipse también tiene herramientas para la creación de diagramas de
clase y diagramas de diseño de objetos.

IntelliJ IDEA: Es una herramienta de desarrollo de código fuente de


JetBrains que permite a los desarrolladores crear aplicaciones de
escritorio y web. IntelliJ IDEA también tiene herramientas para la
creación de diagramas de clase y diagramas de diseño de objetos.

UMLet: Es una herramienta de modelado de objetos UML de código


aberto que permite a los desarrolladores crear diagramas de clase y
diagramas de diseño de objetos.

ArgoUML: Es una herramienta de modelado de objetos UML de código


abierto que permite a los desarrolladores crear diagramas de clase y
diagramas de diseño de objetos.

Enterprise Architect: Es una herramienta comercial de modelado de


objetos UML que permite a los desarrolladores crear diagramas de clase
y diagramas de diseño de objetos.

Modelio: Es una herramienta de modelado de objetos UML de código


abierto que permite a los desarrolladores crear diagramas de clase y
diagramas de diseño de objetos.

Estas son algunas de las herramientas de software más populares para


el desarrollo y modelado de aplicaciones orientadas a objetos.

También podría gustarte