Érika Rodríguez
Zacatecas.- Perla Velasco Elizondo es coautora del primer libro de arquitectura de software en español, titulado Arquitectura de software: Conceptos y ciclo de desarrollo, escrito en colaboración con sus colegas, el doctor Humberto Cervantes y el maestro en ciencias Luis Castro. Este libro, publicado por la editorial Cengage Learning, salió a la venta en el segundo semestre de 2015.
La doctora Velasco Elizondo también es fundadora e instructora de la Escuela de Verano en Ingeniería de Software, que, desde 2012, lleva cuatro ediciones exitosas, reuniendo a interesados en el diseño y desarrollo de sistemas de varios estados del país.
En la actualidad, es profesora investigadora de la Unidad Académica de Ingeniería Eléctrica del Programa de Ingeniería de Software en la Universidad Autónoma de Zacatecas (UAZ); en el Centro de Investigación en Matemáticas (Cimat) participa como profesora invitada impartiendo el curso de Arquitectura de software en el programa de maestría.
Nació en Xalapa, Veracruz. Realizó estudios de licenciatura en la Universidad Veracruzana y de maestría en la Universidad Autónoma de Tlaxcala. Posteriormente, fue investigadora asociada en el Laboratorio Nacional de Informática Avanzada (Lania), ubicado en su ciudad natal. En 2008 obtuvo el grado de doctor en Ciencias de la Computación en la Universidad de Mánchester, Reino Unido. A su regreso, se integró como investigadora asociada en el Cimat, Unidad Zacatecas.
Realizó un posdoctorado en Carnegie Mellon University, en el Instituto de Software Research (ISR), en Estados Unidos, en donde colaboró en el equipo del doctor David Garlan, considerado uno de los fundadores del área de Arquitectura de software. Todos sus posgrados los ha realizado como becaria del Consejo Nacional de Ciencia y Tecnología (Conacyt) y en todos ha realizado proyectos relacionados con el diseño e implementación de sistemas de software centrado en arquitectura, que son actualmente sus principales temas de interés y experiencia.
Agencia Informativa Conacyt (AIC): ¿Cuál es el contenido principal del libro Arquitectura de software: Conceptos y ciclo de desarrollo?
Perla Velasco Elizondo (PVE): Este libro es un medio para conocer cómo diseñar sistemas de software centrados en arquitectura. No había un libro como tal en México, este es el primero. Hay muchos libros de arquitectura de software, pero ninguno que aborde el ciclo de vida de desarrollo de la arquitectura, perla velasco elizondo01como se aborda en este libro. Es un libro que te lleva de la mano a entender de forma simple y concreta conceptos, técnicas y métodos de diseño de arquitectura de software.
Lo interesante de este libro es que incluye material generado de la experiencia práctica que hemos tenido los autores en la industria de desarrollo de software. Los tres autores hemos tenido la oportunidad de combinar nuestra actividad académica con actividades de diseño y desarrollo de sistemas en empresas en México y otros países.
Es un libro interesante, bien redactado, fue revisado por profesionales de México y del extranjero antes de publicarse. Lo revisaron colegas del Instituto de Ingeniería de Software en Estados Unidos, de instituciones de investigación en México, arquitectos de sistemas de México y Argentina; entonces es un libro que también fue enriquecido con las sugerencias de toda esta gente.
AIC: ¿Cómo aplica sus conocimientos en actividades como docencia e industria?
PVE: He tenido la fortuna de poder aplicar, a través de diversos mecanismos, mis conocimientos en la academia e industria. Por ejemplo, uso el verano para hacer estancias en algún lugar donde se realiza desarrollo de sistemas. En años anteriores he podido colaborar con empresas en Colombia, con desarrolladores del Instituto Nacional de Astrofísica, Óptica y Electrónica, y el verano pasado colaboré con una empresa zacatecana que actualmente está desarrollando sistemas de control para la industria minera.
Considero que estas experiencias han sido fundamentales para enriquecer la manera que enseño; y viceversa, como he tenido la oportunidad de trabajar desde un punto de vista más académico este tema de diseño de arquitectura, cuando voy a la industria, considero que he podido aportar cosas útiles producto de otras capacidades, más analíticas, que he desarrollado de mi experiencia académica y de investigación.
Actualmente, como docente del Programa de Ingeniería de Software de la UAZ, enseño Ingeniería de requerimientos, Análisis y diseño orientado a objetos y Arquitectura de software. Estos tres cursos están relacionados con mi tema de interés y experiencia. Por ejemplo, los requerimientos son la materia prima para diseñar una arquitectura, y el diseño orientado a objetos es un posible enfoque de refinamiento de la arquitectura.
AIC: ¿Cuál es la importancia del dominio de los sistemas centrados en arquitectura de software en el ámbito industrial?
recuadro arquitectura software01PVE: El área de Arquitectura de software tiene sus orígenes en la década de los 70. Creo que en México no es del todo claro qué es la arquitectura de software y todavía no está muy adoptado esto de construir sistemas centrados en un diseño de arquitectura.
Diseñar y construir un sistema es, en cierta forma, algo parecido a diseñar y construir una casa. Por ejemplo, se deben de tener “buenos cimientos” para que un sistema pueda crecer y brindar servicio a muchos usuarios sin que se vuelva lento o se colapse. Supongo que tú has vivido la experiencia de utilizar un sistema que es lento, que arroja errores o al que ya no se le puede agregar nueva funcionalidad. Entonces, volviendo a la analogía de diseñar y construir una casa, un arquitecto nunca la empieza a construir sin tener un diseño en que se atiendan los principales requerimientos de los usuarios, por ejemplo, soportar la construcción eventual de más pisos en un edificio sin que se colapse.
Generalmente, el modelo contiene conceptos de diseño arquitectónico que el arquitecto utiliza para satisfacer estos requerimientos. En el desarrollo de sistemas es similar, cuando se diseña un sistema complejo no es bueno comenzar a construirlo sin tener un diseño en que se atiendan los principales requerimientos. Antes no era tan evidente esto, pero actualmente los sistemas son cada vez más complicados y, por ello, tener una arquitectura alrededor de la cual se lleve a cabo su construcción es fundamental.
AIC: ¿Qué le falta a México para incentivar el desarrollo centrado en arquitectura de software?
PVE: Sin duda en México hay gente muy capaz, pero aún falta conocimiento. Así que la formación en este tema es importante. Desconocer conceptos de diseño arquitectónico y por ello diseñar un sistema complejo de forma oportunista sin hacer uso de estos, puede generar algo que se llama deuda técnica.
La deuda técnica tiene que ver con falta de calidad en un diseño o implementación de un sistema, producto de la construcción de este, de forma más oportunista, con ausencia o poco uso de conceptos de diseño. Se va construyendo algo deficiente, con poca calidad, de manera que si se tiene que reparar o cambiar algo en el sistema, se tiene que “pagar” toda esa deuda arreglando muchas cosas que se hicieron con poca calidad. A veces no es posible pagar esa deuda porque hacer todas las reparaciones es más costoso que diseñar y construir nuevamente parte o todo un sistema. Lo peor que, considero, puede ocurrir es tener deuda técnica inadvertida. Esto es que no sepas que hay una forma mejor de diseñar e implementar un sistema. No quiero generalizar, pero muchas veces hay desconocimiento de que se pueden hacer mejor las cosas en materia de diseño e implementación de sistemas. De esta forma, la formación en este tema es importante.