21 December, 2024 Revista Digital sobre Patentes, Marcas y Propiedad Intelectual

Cómo realizar diseño de arquitectura de software aplicado a la industria

Ciudad de México.  (Agencia Informativa Conacyt).- Durante varios años, el doctor Humberto Cervantes Maceda, de la Universidad Autónoma Metropolitana, unidad Iztapalapa (UAM-I), ha realizado investigación y colaborado con la industria del desarrollo de software en temas de arquitectura. A raíz de esa experiencia y en coautoría con el doctor Rick Kazman, de Software Engineering Institute (SEI), redactó un libro enfocado en la aplicación práctica de un método de diseño de arquitecturas de software llamado ADD (Attribute-Driven Design).

El libro se titula Designing Software Architectures: A Practical Approach y su objetivo es enseñar a los practicantes en la iniciativa privada, a los estudiantes y a los propios investigadores, los pasos básicos a seguir para realizar diseño de arquitecturas de software de manera sistemática, según platicó el propio Cervantes Maceda a la Agencia Informativa Conacyt durante su participación en el programa En Entrevista de Radio con Ciencia.

Como realizar diseno de arquitectura de software aplicado a la industria Humberto Cervantes Maceda1El profesor investigador de la UAM-I explicó que el texto forma parte de la colección de libros publicada por el Software Engineering Institute alrededor del tema de la arquitectura de software y que viene a completar dicha colección, pues hasta ahora no existía un libro enfocado en el tema de diseño.

Agencia Informativa Conacyt (AIC): ¿Qué es el diseño de arquitectura de software?

Humberto Cervantes Maceda (HCM): Dentro del desarrollo de sistemas de software, existen varias etapas; se trata de la captura de los requerimientos del sistema, el diseño de la solución, la construcción del sistema y la realización de pruebas.

La arquitectura de software básicamente tiene que ver con el diseño de la solución. Cuando uno crea una solución de software, esta solución está estructurada como un conjunto de elementos conectados entre sí.

Esa es la definición que podemos dar del diseño de arquitectura de software, es decir, el conjunto de estructuras compuestas de elementos interrelacionados que permitirán satisfacer los requerimientos planteados.

Hay que recordar que en los sistemas de software hay distintos tipos de requerimientos. Por un lado, están los funcionales, tales como los comportamientos primarios de un sistema.

Nosotros podemos decir, “yo quiero hacer una consulta”. Entonces, cuando el usuario introduce cierta información y el sistema le responde, a eso se le conoce como un caso de uso.

Existe también otro tipo de requerimientos que son conocidos como atributos de calidad. Estos atributos de calidad lo que hacen es caracterizar los primeros requerimientos.

Para verlo de manera simple, si decimos que los requerimientos son funcionales, un ‘qué hace el sistema’, los atributos de calidad son un ‘cómo lo hace’. Yo puedo decir de manera funcional, hago una consulta, pero a nivel de los atributos de calidad digo cuál es el tiempo de respuesta de la consulta.

La arquitectura del diseño de software juega un papel fundamental con respecto a los atributos de calidad. La manera como uno estructura el sistema y las decisiones que se toman para hacerlo son lo que permitirá que se satisfagan o no los requerimientos planteados.

AIC: ¿Cómo surge la idea de escribir un libro en torno al diseño de arquitectura de software?

HCM: Antes que nada, debo explicar que llevo bastante tiempo trabajando en el tema de diseño de arquitectura de software. Desde que trabajé en mi doctorado ya era un tema en torno al cual investigaba.

No obstante, fue hasta el año 2008, al concluir mi doctorado, que me empecé a empapar más en el tema y en esa época comencé a realizar algunos cursos en el Software Engineering Institute, que es un instituto de investigación sobre ingeniería de software, probablemente el más reconocido en la materia.

En ese entonces, la gente del SEI tenía ya tiempo trabajando en la definición de métodos para desarrollar arquitecturas de software, y sus métodos se enfocan en la captura de los requerimientos de los que hablaba previamente, del diseño de las arquitecturas de softwaree incluso de la documentación.

En paralelo a ello, yo sentía mucha inquietud de trabajar en vinculación con la industria, porque la arquitectura de diseño de software tiene gran potencial de aplicación. Ante ello, comencé a especializarme más en su aplicación a la industria.

En esa misma etapa, participé en un proyecto de vinculación con una empresa mexicana importante, me fui a hacer un sabático con ellos, y durante el mismo, al comenzar a trabajar con los ingenieros, me di cuenta que no contaban con mucha madurez en el diseño de arquitectura de software.

indrec 1215En la industria, es muy común que no exista esa madurez y los requerimientos no se especifican de manera apropiada, el diseño se realiza un poco de forma ‘artesanal’. Yo estuve trabajando con ellos un año y los ayudé a establecer procesos con base en los métodos desarrollados por el Software Engineering Institute.

Así hacerlo me dio experiencia en cómo puentear la teoría hacia la práctica; no obstante, también tuve la oportunidad de identificar algunas carencias en la materia. Más adelante, le comenté a Rick Kazman, del SEI, la experiencia con la empresa y cómo apliqué su método Attribute-Driven Design (ADD) con ellos.

Asimismo, le expliqué que algunas cosas escritas de manera teórica respecto a ADD costó mucho trabajo aterrizarlas. A él le llamó mucho la atención esto y comenzamos algunos acercamientos, tras los cuales escribimos un artículo de revista sobre el uso de ADD en la práctica.

A partir de ahí seguimos colaborando y desarrollamos unos tutoriales en torno a cómo usar el método de diseño ADD en la industria. En consecuencia a ese trabajo, nos percatamos de la necesidad de contar con un libro en torno a la aplicación del método ADD. Cabe señalar que en la colección de libros del SEI no contaban con un texto de diseño de arquitecturas de software.

Ante ello, un buen día comentamos Rick y yo que hacía falta ese libro en el SEI y nos planteamos la tarea de redactarlo. Así fue como nació el proyecto.

AIC: ¿Qué ofrece su libro en materia de diseño de arquitectura de software y cómo está estructurado?

HCM: En este libro de lo que hablamos es del método ADD pero nos enfocamos principalmente en cómo aplicarlo. Partimos con una introducción al método, seguido de ejemplos prácticos que muestran su aplicación.

Sobre la estructura puedo decir que abrimos con una introducción muy breve sobre el tema de arquitectura de software, después hablamos a detalle del tema de diseño, espacio donde abordamos los distintos tipos de drivers, que son los requerimientos de diseño y de otros conceptos denominados conceptos de diseño.

En esta parte precisamos que a la hora de diseñar no se debe inventar la rueda, los arquitectos deben tener claro que ya existen soluciones que pueden reutilizar y adecuar a sus necesidades. Es decir, hay soluciones reutilizables llamadas patrones de diseño, tácticas o aun tecnologías específicas; esos son los conceptos de diseño y hablamos de eso.

Posteriormente, ya abordamos el método ADD, cuáles son los pasos concretos del método, a lo cual le siguen tres casos de estudio, entre ellos uno relacionado con un sistema empresarial tradicional, un caso más de estudio de un sistema novedoso en el ámbito del big data y uno más relacionado con la modificación de la arquitectura a un sistema ya existente.

Posteriormente, abordamos técnicas de análisis del diseño de la arquitectura y del diseño de la arquitectura en un contexto organizacional, porque hay varios aspectos que considerar en la práctica y que habitualmente en la teoría no se consideran. Al final incluimos unos apéndices para llevar a cabo el análisis de las decisiones que se tomaron con base en algo denominado tácticas.

Para finalizar, integramos un catálogo de conceptos de diseño donde vienen varias soluciones que pueden ser reutilizadas.

AIC: ¿Qué problemas específicos resuelve esta publicación?

HCM: Pues bien, como su título lo dice, se trata de un enfoque práctico. El método de diseño de ADD suma más de una década de haber sido publicado por el Instituto de Ingeniería de Software; no obstante, no había sido tan adoptado porque lo publicaron en un reporte técnico y era muy abstracto.

En consecuencia, la principal aportación del libro es que muestra de manera muy concreta cómo el método se lleva a la práctica. Esa sería su contribución primaria y que su trabajo está vinculado a proyectos de investigación que actualmente se encuentran activos.

AIC: ¿Qué proyectos de investigación?

HCM:  Primero, es importante entender que en la arquitectura de diseño de softwareexisten varias rondas de diseño en las cuales se atacan pequeños problemas que al final componen un problema mayor. Pero cuando se están atacando estos problemas, uno de los retos principales radica en elegir los conceptos de diseño a utilizar.

La cuestión es que existe un catálogo muy grande de estos conceptos de diseño para poder resolver problemas y cuando uno está diseñando a veces se enfrenta con ese problema.

Qué elijo, de todas estas tecnologías, de todos estos conceptos, cuál elijo, entonces ese es un tema, básicamente ayudar en la toma de decisiones. Porque también me percaté durante mi contacto con la industria que los arquitectos tienen conocimiento limitado de conceptos de diseño, el cual básicamente se limita a las herramientas que ya conocen; no obstante, no hacen uso de otras herramientas existentes en el gran abanico de posibilidades.

Lo ideal, en ese contexto, es generar herramientas para dar más información al arquitecto que generará una solución de diseño. Asimismo, generar una herramienta que lo ayude a seleccionar sus conceptos de diseño, es decir, que él pueda contar con un asistente que le indique cuáles son los conceptos de diseño ideales para sus necesidades.

AUTOR: Jorge Armando Bonilla

 

FUENTE: AGENCIA INFORMATIVA CONACYT

Comparte tu opinión sobre este artículo

Comentarios

Related Posts

Tecnología mexicana para tratar y reciclar aguas residuales de la industria del camarón

31 enero, 2017

31 enero, 2017

Ciudad de México.  (Agencia Informativa Conacyt).- En la zona costera de Sinaloa, y en general en el noroeste de México, existe...

Alberga Universum robots mexicanos que participarán en RoboCup 2016

15 junio, 2016

15 junio, 2016

AUTOR: Jorge Armando Bonilla FUENTE: AGENCIA INFORMATIVA CONACYT Ciudad de México.(Agencia Informativa Conacyt).- A tan solo unos días de que se lleve...

Termografía para la detección temprana de cáncer

28 septiembre, 2016

28 septiembre, 2016

Santiago de Querétaro, Querétaro. 30 de agosto de 2016 (Agencia Informativa Conacyt).- El Centro de Física Aplicada y Tecnología Avanzada (CFATA)...

Pelotas de beisbol mexicanas llegarán a Estados Unidos

25 febrero, 2016

25 febrero, 2016

Por: Ana Luisa Guerrero FUENTE: AGENCIA INFORMATIVA CONACY México, DF. 23 de febrero de 2016 (Agencia Informativa Conacyt).- Se escucha el play ball....

Apoyan proyectos científicos, tecnológicos y de innovación en San Luis Potosí

6 noviembre, 2016

6 noviembre, 2016

Ciudad de México. (Agencia Informativa Conacyt).- El Consejo Nacional de Ciencia y Tecnología (Conacyt) y el gobierno del estado de San...

Árbol ramón: aliado contra el hambre y el cambio climático

22 febrero, 2016

22 febrero, 2016

Mérida, Yucatán. 17 de febrero de 2016 (Agencia Informativa Conacyt).- El árbol ramón (Brosimum alicastrum) prolifera a lo largo de los...

Desarrolla UAQ casa solar experimental

17 marzo, 2017

17 marzo, 2017

Por Israel Pérez Valencia Santiago de Querétaro, Querétaro.  (Agencia Informativa Conacyt).- Con el trabajo conjunto de más de 10 licenciaturas y...

Biocombustibles: oportunidad para el desarrollo rural

27 mayo, 2016

27 mayo, 2016

AUTOR: Felipe Sánchez FUENTE: AGENCIA INFORMATIVA CONACYT Saltillo, Coahuila. v(Agencia Informativa Conacyt).- Tras cuatro años de investigación, finalizó el proyecto “Desarrollo de...

Experimenta Cibnor agrobiotecnología en zonas áridas

13 septiembre, 2016

13 septiembre, 2016

AUTOR: Joel Cosio FUENTE: AGENCIA INFORMATIVA CONACYT La Paz, Baja California Sur.  (Agencia Informativa Conacyt).- El Programa de Agricultura en Zonas Áridas...

Arroja alentadores resultados test preventivo sobre adicción al tabaco, drogas y alcohol en 4 mil adultos

11 mayo, 2017

11 mayo, 2017

Mostró que los encuestados manifestaron interés en recibir atención especializada para evitar problemas mayores En México las adicciones a las...

Crean en la UNAM dispositivo de bolsillo para preservar muestras científicas

23 marzo, 2017

23 marzo, 2017

El producto tiene la forma y tamaño de una cajetilla de cigarros, donde se pueden almacenar muestras cristalizadas en tubos...

“Los químicos somos los psicólogos del universo”

7 octubre, 2016

7 octubre, 2016

Tuxtepec, Oaxaca.  (Agencia Informativa Conacyt).- Martha Emilia Poisot Vázquez es especialista en química inorgánica y ciencias de materiales, catedrática en la...

DISEÑA MEXICANO EN SUECIA PRIMERA PRÓTESIS CON CONEXIÓN DIRECTA A HUESO, NERVIOS Y MÚSCULOS

1 marzo, 2016

1 marzo, 2016

Por Agencia Id La primera prótesis en el mundo que se conecta directamente al hueso, nervios y músculos, permite a...

Científicos mexicanos crean y prueban con éxito brazo robótico sensitivo

1 marzo, 2018

1 marzo, 2018

El prototipo ya fue usado por una estudiante con un padecimiento genético que causa un desarrollo óseo deficiente en las...

Technovation Challenge: pasaporte femenino a la tecnología

14 mayo, 2017

14 mayo, 2017

Por Amelia Gutiérrez Solís Colima, Colima.  (Agencia Informativa Conacyt).- La Universidad de Colima (Ucol), a través de la Coordinación General...