En este segundo parcial pude aprender todavía más herramientas que son muy importantes para el desarrollo de software. Gracias a esto, se complementó todo lo aprendido en el primer parcial, y sobre todo me pude enfocar mucho ya en la parte de crear clases y empezar a planear bien lo que será el proyecto.
Este parcial uno de los temas más importantes fue el de los diagramas UML, esto debido a que es uno de los modelos más utilizados y que ha logrado estandarizar todos los procesos y es usado en todo proceso para poder crear un software que cumpla con todos los requerimientos y con un buen diseño, así como para tener una buena funcionalidad.
En este post estaremos haciendo un segundo review sobre los temas que se vieron en este parcial.
Design Patterns
Cuando se está desarrollando un software muy seguramente existirá más de un inconveniente, y muy probablemente ese problema o alguno similar ya lo habrá sufrido algún desarrollador antes, por eso mismo es que han sido creados los patrones de diseño.
Estos patrones tienen como finalidad poder resolver problemas comunes, y de este modo se puede ahorrar tiempo, se utiliza un lenguaje común, y, estos patrones están diseñados por profesionales y desarrolladores experimentados, por lo que también se garantiza una validez de código.
Los patrones de diseño más comunes son:
- Patrones de diseño creacional
- Abstract factory
- Factory Method
- Builder
- Singleton
- Prototype
- Patrones estructurales
- Abstract factory
- Factory Method
- Builder
- Singleton
- Prototype
- Patrones de comportamiento
- Comando
- Cadena de responsabilidades
- Interpretador
- Iterador
- Mediador
- Observador
- Visitante
- Estrategia
UML
Como he mencionado más arriba, el modelo UML es un tema muy importante, es un tema con suma importancia que se dividió en parte 1 y parte 2.
El lenguaje UML ha hecho que se unifique el proceso de elegir herramientas para desarrollar software, debido a que al existir una infinidad de estas, cada desarrollador escogía la que más le pareciera y más adelante para compartir el software era un problema.
Esta unificación se ha logrado debido a todas las herramientas que UML ofrece, como son todos los diagramas que, además de ser sencillos de crear, también son muy fáciles de entender, además de que se ha podido crear varios diagramas para un solo proyecto. Un beneficio que también existe es que existen muchas herramientas para poder crear los diagramas, incluso en algunas te van explicando paso a paso cómo deben de crearse.
A continuación mencionaré los diagramas más comunes, sin embargo, existen muchos más:
- Diagramas secuenciales
- Diagramas de clase
- Diagramas de objetos
- Diagramas de estado
- Diagramas de paquetes
- Diagramas de componentes
- Diagramas entidad relación
Qué sigue después de las clases?
Normalmente cuando alguien habla sobre programar o desarrollar software lo primero que se nos viene a la mente es una persona frente a la computadora escribiendo código por horas.
Esto es muy cierto, sí es una parte que pasa cuando se está creando un proyecto, sin embargo, no es lo primero que se tiene que hacer, ni lo más importante. Existe todo un proceso detrás que es lo primordial para que un software sea exitoso y sea más sencillo de programar.
Estos diagramas y tablas que se han creado, nos ayudan a planear muy bien cómo va a ser el desarrollo de código, ya que esto nos ayuda a tener una perspectiva más visual y no tan abstracta sobre cómo funcionará nuestro programa.
Después de tener un diseño ya hecho, sigue la parte de crear código, que se logra con unos ciertos pasos previos, como es el crear tablas por medio del modelo entidad-relación y con todos los diagramas donde se representan todas las clases, atributos y métodos que se requieren al momento de programar. Esto se puede ver con mayor detalle en mi post sobre las tablas y el código.
Lo primero es entender cada diagrama y su relación que tiene y, así, después continuar con la parte de pasarlo al código. Al principio puede llegar a ser un poco confuso, sin embargo, conforme la práctica te vas dando cuenta que no lo es tanto, es un proceso sencillo y que te prepara muchísimo para no tener complicaciones.
Code Review
Finalmente, llegamos a la revisión de código. Que es un proceso muy importante porque es cuando nosotros podemos darnos cuenta de todos los errores que se tienen en nuestro software. Además, ayudan a los desarrolladores a mejorar sus prácticas de programar y a limpiar el código
Las prácticas más comunes son:
- Formal Code Review
- Lightweight Code Review
- Pair programming
- Over the shoulder inspection
- Email pass-inspection
- Tool-assisted code review
Este parcial yo me di cuenta que es muy importante de verdad toda esta parte de la creación y planeación de softwares. Es muy importante entender qué es lo que se está solicitando, si no esto ocasionará un problema, y es por eso que se han creado todas estas herramientas.
En este tiempo que he trabajado con mi proyecto, también me di cuenta la importancia que tiene trabajar en equipo y sobretodo tener una buena organización y comunicación, además, es una parte importante ya que sin ellos nos sería muy difícil y tardado el poder desarrollar un proyecto que cumpla con todas las características.
Para este tramo final que nos falta, yo estaré con toda esa disposición de seguir aprendiendo muchas cosas nuevas, de seguir esforzándome al máximo para poder cerrar este semestre con la mejor actitud.

