Como nos ayuda la programacion orientada a objetos en el desarrollo de un producto de software

Como nos ayuda la programacion orientada a objetos en el desarrollo de un producto de software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Como nos ayuda la programacion orientada a objetos en el desarrollo de un producto de software por Mind Map: Como nos ayuda la programacion orientada a objetos en el desarrollo de un producto de software

1. ¿Que es la programacion orientada a objetos?

1.1. La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir, un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos. Enlace: https://profile.es/blog/que-es-la-programacion-orientada-a-objetos/

1.1.1. Clases objetos e instancias

1.1.1.1. ¿Cómo se crean los programas orientados a objetos? Resumiendo, consistiría en hacer clases y crear objetos a partir de estas clases. Las clases forman el modelo a partir del que se estructuran los datos y los comportamientos. El primer y más importante concepto de la POO es la distinción entre clase y objeto. Una clase es una plantilla. Define de manera genérica cómo van a ser los objetos de un determinado tipo. Por ejemplo, una clase para representar a animales puede llamarse ‘animal’ y tener una serie de atributos, como ‘nombre’ o ‘edad’ (que normalmente son propiedades), y una serie con los comportamientos que estos pueden tener, como caminar o comer, y que a su vez se implementan como métodos de la clase (funciones). Un ejemplo sencillo de un objeto, como decíamos antes, podría ser un animal. Un animal tiene una edad, por lo que creamos un nuevo atributo de ‘edad’ y, además, puede envejecer, por lo que definimos un nuevo método. Datos y lógica. Esto es lo que se define en muchos programas como la definición de una clase, que es la definición global y genérica de muchos objetos.

1.1.2. 4 principios de la Programación Orientada a Objetos

1.1.2.1. La encapsulación La encapsulación contiene toda la información importante de un objeto dentro del mismo y solo expone la información seleccionada al mundo exterior. La abstracción La abstracción es cuando el usuario interactúa solo con los atributos y métodos seleccionados de un objeto, utilizando herramientas simplificadas de alto nivel para acceder a un objeto complejo. La herencia La herencia define relaciones jerárquicas entre clases, de forma que atributos y métodos comunes puedan ser reutilizados. Las clases principales extienden atributos y comportamientos a las clases secundarias. A través de la definición en una clase de los atributos y comportamientos básicos, se pueden crear clases secundarias, ampliando así la funcionalidad de la clase principal y agregando atributos y comportamientos adicionales. El polimorfismo El polimorfismo consiste en diseñar objetos para compartir comportamientos, lo que nos permite procesar objetos de diferentes maneras. Es la capacidad de presentar la misma interfaz para diferentes formas subyacentes o tipos de datos. Al utilizar la herencia, los objetos pueden anular los comportamientos principales compartidos, con comportamientos secundarios específicos. El polimorfismo permite que el mismo método ejecute diferentes comportamientos de dos formas: anulación de método y sobrecarga de método.

2. Fases del desarrollo de software

2.1. El desarrollo de software es un proceso complicado, las empresas que se dedican al diseño y creación de productos de software se toman su debido tiempo para poder terminar el proyecto de manera exitosa y enfrentando los menos errores posibles. Para asegurarse de que esto suceda, el equipo de desarrolladores y diseñadores sigue paso a paso las fases de desarrollo de software y así no deja ningún detalle desatendido. Las fases del desarrollo de software son: - Fase de planeación - Fase de análisis - Etapa de diseño - Fase de desarrollo - Fase de Prueba - Ejecución y mantenimiento Enlace: https://rootstack.com/es/blog/cuales-son-las-fases-en-el-desarrollo-de-software

2.1.1. Fase de planeación Como su nombre lo indica, es la etapa inicial, cuando el equipo de desarrolladores se reúne y comienza a planificar cómo abordarán el proyecto, todas las herramientas que se necesitan para su creación y definir las funcionalidades y características que el cliente necesita dentro del producto de software. Además de ser lo primero que se hace, es una de las fases más importantes ya que es el pilar de los demás pasos a seguir. Fase de análisis Cuando ya se terminó de planificar cómo se abordará el proyecto, los desarrolladores deben recabar todos los detalles que se necesitan para que el producto de software cumpla con las expectativas del cliente. Esto se hace en la fase de análisis. Además de esto, los desarrolladores definirán las ideas para crear un prototipo del producto, además de: • Aclarar los requisitos del sistema prototipo • Revisar prototipos existentes y evaluar las alternativas • Investigar y analizar las necesidades de los usuarios finales Etapa de diseño Acá es donde entra en juego la combinación de los desarrolladores y el equipo UI/UX, ya que entre ambos deben crear la interfaz de usuario del producto de software y determinar todas las funcionalidades. También en esta etapa se deja listo los requerimientos de base de datos y redes. Fase de desarrollo Es la más larga de todas ya que es la etapa cuando los desarrolladores escriben el código necesario para crear el producto de software, siguiendo todos los lineamientos definidos en las fases anteriores. Deben ser capaces de crear un producto con la mínima cantidad de errores y que pueda ser integrado con las herramientas necesarias para su correcto funcionamiento. Según las necesidades del producto, el desarrollador escogerá el lenguaje de programación adecuado, por ejemplo, Python o JavaScript, para que pueda cumplir con todos los requisitos y satisfacer tanto al cliente como al usuario final. Fase de prueba Construir el software no significa el final del proyecto. Al tener listo el producto, el equipo de desarrolladores se dedicará a probar cada una de sus funciones, asegurándose de que no exista ningún bug que pueda dañar la experiencia del usuario. Dependiendo de la experiencia del equipo o de la complejidad del proyecto, esta puede ser una de las fases más largas o más cortas. Ejecución y mantenimiento Cuando el equipo de desarrolladores se asegure de que no hay errores en el producto, se hace su lanzamiento oficial al público. Los primeros días en línea son cruciales para probar la experiencia real de los usuarios, tomar en cuenta todas sus opiniones y aplicar los cambios necesarios. Además de esto, la empresa de desarrollo de software se encargará del mantenimiento y actualización del producto.

3. Beneficios de Programación Orientada a Objetos

3.1. • Reutilización del código. • Convierte cosas complejas en estructuras simples reproducibles. • Evita la duplicación de código. • Permite trabajar en equipo gracias al encapsulamiento ya que minimiza la posibilidad de duplicar funciones cuando varias personas trabajan sobre un mismo objeto al mismo tiempo. • Al estar la clase bien estructurada permite la corrección de errores en varios lugares del código. • Protege la información a través de la encapsulación, ya que solo se puede acceder a los datos del objeto a través de propiedades y métodos privados. • La abstracción nos permite construir sistemas más complejos y de una forma más sencilla y organizada.

4. Algunos entornos de programación que utilizan lenguajes orientados a objetos

4.1. • Intelij: programado en java, uno de los mejores IDE para trabajar con Java desarrollado por la compañía JetBrains, nos deja ejecutar, probar y depurar nuestro código, además, cuenta con muchas funcionalidades creadas por la comunidad. • Sublime text 3: programado en c++ y python, soporta varios lenguajes de programación, contiene una interfaz sencilla y es muy ligero, lo que hace que corra casi en cualquier equipo, además, contiene un administrador de paquetes para instalar mas funcionalidades y optimizar nuestro desarrollo. • Visual studio code: programado en TypeScript y JavaScript, este es el mas popular actualmente, ya que tiene muchas funcionalidades para ayudar al desarrollador y al ser de código abierto los programadores pueden añadir nuevas extensiones a este.