Aqui recordaremos el desarrollo de la clase Ingenieria de Software 2, 2019-1 por parte del profesor Alejandro Troncoso.
CMMI es un modelo que contiene las mejores prácticas y que provee a las organizaciones de aquellos elementos que son esenciales para que los procesos de negocio de las mismas sean efectivos. En esta clase aprendimos que existen metodologias bastante tecnicas y estrategias que pueden ayudar a un equipo de trabajo a ser mas eficientes con ayudas de diferente tipo.
Arquitectura de la Empresa es el conjunto de elementos organizacionales (objetivos estratégicos, departamentos, procesos, tecnología, personal, etc.) que describen a la empresa y se relacionan entre sí garantizando la alineación desde los niveles más altos (estratégicos) hasta los más bajos (operativos), con el fin de optimizar la generación de productos y servicios que conforman la propuesta de valor entregada a los clientes.
Me parecio bastante interesante como el profesor nos introdujo a la parte comercial y laboral de la carrera, nunca habia visto algo similar por lo que me parecio, muy interesante debido a que surgen una cantidad de conocimientos y practicas que se generan alrededor de algo como el comportamiento en sociedad.
La metodologia Scrum fue algo que al principio me parecio muy raro y que no me iba a servir mucho, pero cuando el profesor nos propuso aplicarlos para desarrollar nuestro proyecto, me parecio que para ser una metodologia era muy robusta, por lo que iba a necesitar mucho tiempo para poder acostumbrarme a ella, de momento estamos siguiendo las estrategias al pie de la letra, puede que a final de semestre todo se salga de control por las demas materias. Por lo que estoy a la espectativa de los resultados finales y como me relacionara eso con mi equipo de trabajo.
Primero que todo mencionar que no tenia idea que amazon tuviera tanto dominio de la tecnologia a nivel mundial. Mas especifico en la clase, no sabia que alquilar una maquina virtual o una computadora virtual fuera tan facil como simplemente pagar y usarla, fue espectacular que el profesor consiguiera esta prueba estudiantil ya que nunca habia trabajado por ssh, ni la cantidad de cosas que aprendi, cosas como las diferentes distribuciones de linux, aprendi bastantes sobre las terminales de linux, tanto en el proyecto, como en los ejercicios de clase con la maquina virtual de amazon, y me parece que fue un total acierto por parte de el profesor.
Ya conocia la plataforma de github, pero no tenia muy claro cual era la tecnologia que la manejaba, pensaba que simplemente era algo para subir codigo y bajar codigo, pero en esta clase aprendi que existen bastantes herramientas que nos ofrece la tecnologia Git, que le puede servir a un equipo de desarrollo para optimizar codigo y hacer que el codigo sea algo mas facil de llevar. En el proyecto estamos usando bastantes cosas vistas en clase, y esperamos cuando el proyecto este terminado, poder tener un trabajo en github del cual enorgullecernos.
Los bpmn eran totalmente desconocidos para mi, no pense que hubiera una manera automatica de llevar registro de de las actividades de una empresa o modelo de negocio, en primera instancia el profesor nos explico fue un bpm, que es para revisar las actividades que se necesitan desarrollar en una empresa, pero se me hizo muy complicado de implementar en software, por lo que a mi parecer, no le vi mucho sentido para nuestro proyecto ya que las actividades que nosotros necesitabamos desarrollar eran basicamente las mismas cada semana debido a la metodologia scrum.
El profesor nos enseño que tambien podiamos crear una base de datos virtual y lo hizo por medio de la virtualidad que nos proporciona amazon, creamos una instancia de la base de datos, pero debido a falta de presupuesto y tiempo, no pudimos evidenciar la funcionalidad completa.
La comunicacion entre diferentes instancias por medio de Api-rest era totalmente desconocida para mi, ya que nunca habia tenido un acercamiento tan profundo a las aplicaciones web, el profesor explico la parte teorica, pero hubiera sido interesante ver un ejemplo hecho por nosotros, ya que siempre es complicado empezar a usarlo sin saber muy bien como.
En esta clase, nos explico que ocurria con las grandes bases de datos cuando habia una cantidad de informacion tan grande que tuvieramos que pensar en si incrementar la cantidad de servidores para guardar esa informacion o incrementar la capacidad de estos, esto se ve reflejado en la velocidad de comunicacion y la frecuencia con que se ocupa usar esta informacion.
Cuando le mencionamos al profesor alejandro que no entendiamos bien la funcionalidad de Camunda Bpmn, por lo que inicio la serie de clases para ayudarnos a implementar un contenedor con el servidor de camunda, esto para acoplarlo a la aplicacion. Y hicimos un ejemplo que dejo bastante claro como funcionaban los dockers para desplejar aplicaciones.
Inicialmente no tenia claro como utilizar el servidor de Camunda para nuestra aplicacion por lo que siguiendo las clases de docker el profesor nos enseño a montar un docker y desplegar el servidor de camunda desde este, lo cual fue bastante util, con esta serie de clases el profesor alejandro nos dejo listos los conocimientos para incorporar un motor de procesos de camunda, en nuestra aplicacion web y asi poder obtener estadisticas.
Flask es un framework minimalista escrito en Python que permite crear aplicaciones web rápidamente y con un mínimo número de líneas de código. Tambien enfatizo en que flask se utiliza mas que todo Para desarrollar una App básica o que se quiera desarrollar de una forma ágil y rápida Flask puede ser muy conveniente, para determinadas aplicaciones no se necesitan muchas extensiones y es suficiente.
Entrando mas a detalle con el desarrollo web, el profesor inicio explicando que al igual que react, angular y otros framework. Existe Vue que es uno de los mas conocidos Adicionalmente a esto, nos menciono que creia pertinente que la segunda ronda de exposiciones fuera en ingles y para especificar mas cosas sobre este framework, esto para poder tener otra vision y posiblemente interesarnos en conocer mas.
ALas APIs más populares que utilizamos a día de hoy son RESTful APIs o un pseudo estándar ad hoc HTTP inventado bajo demanda en ciertos proyectos. Obviamente las APIs REST han sido uno de los puntos determinantes para el auge del desarrollo de apps y de servicios distribuidos, tal como lo conocemos actualmente. Son “el pegamento” que no puede faltar en cualquier app.
Dado que Python es un lenguaje que esta en auje, por ser tan amigable, para gran cantidad de publico, el profesor nos explico una libreria para la manipulacion de datos usando la extension Numpy, llamada pandas.
Debido a que estamos desarrollando una aplicacion web, el profesor quiso enseñarnos otra herramienta de codigo abierto, llamada selenium que nos ayuda a hacer testing en aplicaciones web, esto como un abre bocas a las alternativas que existen para esto y mas esspecificamente para explicarnos que herramientas como estas funcionan y que probablemente necesitaremos aprenderla a usar para la vida laboral.
El Ingeniero Germán Carrillo, hizo enfasis en algo que nunca habia escuchado y es el enfasis empresarial de las tic y hablo sobre como funcionan las empresas de este tipo.
El Ingeniero Daniel Penagos, nos hablo sobre como habia sido su trayectoria laboral y cosas que nos podrian servir para la vida laboral, las cosas que mas me hicieron poner atencion, fueron las que hablaban de lo importante de la comunicacion y las llamadas habilidades blandas para trabajar en equipo, y mas comentarios sobre lo importante que es aprender a comunicarse acertivamente.