Seleccione su idioma

Seleccione su idioma

Casos de estudio de nuestros proyectos

Nuestros proyectos son la mejor muestra de cómo trabajamos. Aquí encontrará una selección de casos de estudio de empresas de software, tecnología de sensores, construcción de maquinaria, CAD y BIM, tecnología de laboratorio y de medición, así como de investigación – cada uno con la situación inicial, el procedimiento, la solución y el resultado. Muestran cómo aclaramos los requisitos, hacemos visibles los riesgos desde el principio y entregamos software que da la talla en el día a día de nuestros clientes. Solo mencionamos los nombres de nuestros clientes cuando son públicos.

Engranajes que encajan entre sí como símbolo de un software que ha crecido con los años

Tomamos el relevo cuando el equipo de desarrollo dejó de estar disponible

Sector: Software · Cliente: empresa de software

Situación inicial: Una empresa de software se quedó sin todo su equipo de desarrollo. Los clientes de la empresa seguían esperando soporte, correcciones de errores y nuevas funciones.

Reto: Apenas existía documentación ni comentarios en el código fuente, y en la empresa ya no quedaba conocimiento sobre la estructura y las relaciones internas del software.

Procedimiento:

  1. Asumir el trabajo a corto plazo: Tomamos el relevo y nos hicimos cargo de la atención continua del software.
  2. Analizar y familiarizarnos: Examinamos el código y las estructuras de datos, reconstruimos las relaciones internas y documentamos el conocimiento.
  3. Continuar sin interrupciones: Al mismo tiempo, dimos soporte a los clientes, corregimos errores y seguimos ampliando el software – sin interrupciones para los usuarios.

Resultado: Todos los clientes pudieron seguir siendo atendidos y el software siguió creciendo. Esto tuvo su recompensa para el propietario: en la posterior venta de su empresa a un fabricante más grande, el software bien mantenido y desarrollado contribuyó a un notable aumento de su valor.

Servicios: análisis de software, asunción del software sin documentación, soporte, mantenimiento y desarrollo continuo

Esquema de un escáner láser que mide un paquete sobre una cinta transportadora

Calibración de láseres con rueda de espejos: 3 pasos en lugar de 5

Sector: Tecnología de sensores · Cliente: gran fabricante internacional de sensores

Situación inicial: Un proveedor externo había dejado de trabajar en el software de calibración de escáneres láser con rueda de espejos. Nosotros debíamos hacernos cargo.

Reto: El código fuente era apenas legible y estaba parcialmente ofuscado. La calibración constaba de cinco pasos que los técnicos de puesta a punto, los integradores y el soporte de todo el mundo deben realizar en cada instalación.

Procedimiento:

  1. Análisis: Examinamos el código existente paso a paso.
  2. Modelo UML: Representamos la estructura estática y los procesos dinámicos como arquitectura UML. Enseguida se vio que varios pasos de calibración se solapaban.
  3. Nuevo ajuste matemático: Coordinamos mejor los pasos desde el punto de vista del cálculo y eliminamos por completo los innecesarios.

Resultado: La calibración ya solo necesita 3 pasos en lugar de 5. Como se realiza en todo el mundo en un número muy elevado de instalaciones, esto ahorra varios miles de horas de trabajo al año – al cliente, a sus integradores y al soporte.

Servicios: análisis de código, UML (modelos estáticos y dinámicos), matemáticas de la calibración, desarrollo continuo

Diseño de un espacio que pasa del dibujo CAD a la vista final

Sistema CAD propio: de 12,5 a 15 veces más rápido

Sector: CAD / diseño técnico · Cliente: empresa con sistema CAD propio y departamento de software propio

Situación inicial: El cliente había creado su propio sistema CAD y lo había ampliado durante años con una gran cantidad de funciones. Con diseños de cierto tamaño, había que esperar varios minutos a que el sistema respondiera – estaba prácticamente bloqueado.

Reto: El objetivo del cliente: duplicar la velocidad. Solo eso ya le valía una cifra alta de cinco dígitos.

Procedimiento:

  1. Análisis y documento conceptual: Examinamos el software y recogimos los puntos de mejora en un documento conceptual. Al llegar a casi 50 puntos dejamos de contar.
  2. Primeros puntos implementados por nosotros: Implementamos directamente las medidas más eficaces.
  3. Capacitar al equipo del cliente: En varias reuniones guiamos al departamento de software del cliente para que implementara por sí mismo los puntos restantes.
  4. Cálculo en segundo plano: Los cálculos complejos se ejecutan ahora en segundo plano, de modo que el usuario ya no tiene que esperar.

Resultado: En lugar de la duplicación esperada, el sistema es hoy de 12,5 a 15 veces más rápido (medido en las versiones intermedias). El programa vuelve a utilizarse con fluidez y, allí donde se calcula en segundo plano, el usuario ya no percibe ningún retraso.

Servicios: análisis de rendimiento, documento conceptual, implementación, orientación del equipo del cliente, cálculo en segundo plano

Cifras de negocio en forma de gráficos en una tableta

Emergencia en agosto: programa de facturación rescatado durante el fin de semana

Sector: Administración y contabilidad · Cliente: cliente de muchos años con programa de facturación propio

Situación inicial: Para este cliente habíamos desarrollado, entre otras cosas, la factura electrónica y la presentación gráfica de sus cifras de negocio. Entonces llegó una actualización de seguridad de Windows – y a partir de ahí el programa de facturación dejó de funcionar.

Reto: Sin programa, no hay facturas. El cliente se encontraba en un verdadero apuro, y era agosto: época de vacaciones, con el equipo de por sí reducido.

Procedimiento:

  1. Reacción inmediata: Devolvimos la llamada de inmediato y formamos un equipo.
  2. Trabajo durante el fin de semana: A pesar de las vacaciones, desarrollamos y probamos una solución durante el fin de semana.
  3. Instalada el lunes: La actividad continuó sin problemas y el cliente pudo volver a emitir facturas.
  4. Análisis posterior y mejoras: Analizamos juntos lo ocurrido e hicimos el sistema más robusto con nuevos ajustes.

Resultado: Ningún día de trabajo perdido, ningún cobro pendiente. Desde entonces, de este cliente oímos sobre todo una cosa: nada. Al parecer, está completamente ocupado emitiendo facturas.

Servicios: soporte de emergencia, análisis de errores tras una actualización de Windows, trabajo en fin de semana, mejoras posteriores

Detección de rostros con una cámara

Cámaras termográficas: detectar rostros con hardware limitado

Sector: Tecnología de cámaras / sensores · Cliente: fabricante de cámaras termográficas infrarrojas

Situación inicial: El fabricante quería medir la temperatura corporal de las personas con sus cámaras termográficas. Para ello, la cámara debe detectar primero dónde se encuentran los rostros en la imagen – se trata de la posición de los rostros, no de la identidad de las personas.

Reto: En naves y espacios abiertos, muchas otras fuentes de calor, como las lámparas, interfieren en la detección. Además, el software se ejecuta en un sistema embebido con una capacidad de cálculo muy limitada – los métodos de IA con un alto coste computacional no eran una opción.

Procedimiento:

  1. Evaluación de métodos: Analizamos distintos algoritmos y redes neuronales en cuanto a velocidad y calidad de detección.
  2. Desarrollo de métodos ligeros propios: Distinguen de forma fiable los rostros de las lámparas y otras fuentes de calor y se ejecutan en tiempo real en el hardware embebido.
  3. Entrega: El cliente recibió la solución con una amplia documentación y el código para seguir desarrollándola.

Resultado: La solución estuvo lista unos nueve meses antes del inicio de la pandemia de COVID-19. Cuando en todo el mundo se demandaron mediciones de fiebre, nuestro cliente estaba preparado: sus cámaras se utilizaron en aeropuertos, hospitales y muchas otras instalaciones de todo el mundo, y la demanda le supuso un notable aumento de la facturación.

Servicios: procesamiento de imágenes, desarrollo de algoritmos para sistemas embebidos, evaluación de métodos, documentación y entrega

Máquina de producción industrial con control por software

Software de control para una máquina de producción

Sector: Construcción de maquinaria · Cliente: fabricante de maquinaria líder a nivel internacional · Duración: alrededor de un año · Equipo: seis desarrolladores experimentados

Situación inicial: Una compleja máquina de producción conduce los productos a través de varios módulos mediante una unidad de transporte. Estos procesan, marcan e inspeccionan los productos con gran precisión. Intervienen láseres, escáneres, cámaras, impresoras de etiquetas y unidades de programación de chips – cada dispositivo con su propia interfaz y su propio comportamiento temporal.

Reto: Según el tipo de producto y la velocidad de producción, cada módulo debe ejecutar funciones, comprobaciones y procesos distintos – de forma fiable y en tiempo real, sin frenar el ritmo de la máquina.

Solución: Hemos desarrollado un software modular en tiempo real que se ejecuta en un sistema operativo de tiempo real específico:

  • Cada dispositivo recibe su propio módulo de software, que se adapta al tipo de producto y a la velocidad.
  • La comunicación se realiza mediante PLC (Beckhoff TwinCAT), TCP/IP y OPC UA.
  • Un módulo de control central coordina todos los procesos y garantiza la perfecta interacción de los componentes.
  • Una base de datos conectada gestiona la configuración y los datos de producción.
  • Una interfaz clara en el terminal central muestra el estado de cada producto, los posibles errores y todos los ajustes.

Procedimiento: Nos hicimos cargo de todo el proceso de desarrollo – desde la gestión de requisitos y la arquitectura de software, pasando por la implementación y la puesta en marcha, hasta las pruebas y el aseguramiento de la calidad. Se trabajó de forma ágil con Scrum, y la coordinación se realizó a través de Jira y Confluence.

Resultado: Un proceso de producción estable y supervisado de principio a fin. El operario tiene en todo momento una visión de conjunto, y la arquitectura modular, con un módulo de software propio para cada dispositivo, mantiene el sistema claro y ampliable.

Tecnología: C#, C++, WPF, PLC (Beckhoff TwinCAT), OPC UA, TCP/IP, base de datos, Azure DevOps, Jira, Confluence, Scrum

Más sobre el proyecto

Complemento de AutoCAD para edificación e ingeniería civil

Modernización de un complemento de AutoCAD para ingeniería civil

Sector: CAD / ingeniería civil · Cliente: gran empresa de software (proveedor de CAD)

Situación inicial: Un complemento para AutoCAD y AutoCAD Civil desarrollado a lo largo de más de doce años, con varios cientos de miles de líneas de código en C++, COM, MFC y ObjectARX. Cada nueva versión de AutoCAD conllevaba un elevado esfuerzo de migración.

Reto: Una migración de esta envergadura es una inversión. El cliente necesitaba una base sólida para la toma de decisiones antes de aprobarla.

Procedimiento:

  1. Estudio de viabilidad: Analizamos la arquitectura y el código y planificamos el camino hacia la AutoCAD .NET API.
  2. Cálculo de rentabilidad: Mostró cómo evoluciona el esfuerzo con C++ a lo largo de los años y a partir de qué momento resulta rentable la migración a un lenguaje moderno.
  3. Migración: La interfaz de usuario con menú principal y contextual, cinta de opciones, ventana de propiedades, comandos y cuadros de diálogo, así como el núcleo CAD con entidades, reactores y Xdata – a C# y a la AutoCAD .NET API, y además ejecutable en BricsCAD.
  4. Formación: En una formación de tres días preparamos al equipo de desarrollo del cliente para la AutoCAD .NET API con C#. Previamente ya habíamos formado al equipo en ObjectARX y C++.

Resultado: Ya durante la migración, el código se volvió notablemente más corto y sencillo. El equipo de desarrollo del cliente está preparado para seguir desarrollando en C# y con la AutoCAD .NET API, y el complemento funciona además en BricsCAD.

Tecnología: AutoCAD, AutoCAD Civil, BricsCAD, ObjectARX, AutoCAD .NET API, C#, C++, MFC, COM, UML

Más sobre el proyecto

Complemento de Revit para la planificación de laboratorios

Complemento de Revit para exportar datos de proyectos de laboratorio

Sector: Tecnología de laboratorio / BIM · Cliente: proveedor líder mundial de tecnología de laboratorio

Situación inicial: Los laboratorios se planifican como proyectos de Revit. Ventas y planificación necesitan extraer de ellos determinados datos de forma específica – por ejemplo, familias y categorías de equipos de laboratorio especiales –, a menudo de muchos proyectos a la vez.

Reto: Los datos debían estar disponibles en distintos formatos y estructuras, según el sistema o el cliente que los procesara posteriormente.

Solución: Un complemento de Revit a medida analiza la composición y la estructura de los laboratorios y exporta de forma específica los tipos deseados:

  • Formatos flexibles: Salida en XML, JSON, PDF y otros formatos.
  • Estructura de datos personalizable: La estructura de los archivos XML y JSON puede adaptarse a los requisitos del cliente.
  • Automatización: Procesa tanto archivos RVT abiertos individualmente como directorios completos con subcarpetas – para proyectos individuales y grandes volúmenes de datos.
  • Ventas: Junto con un simulador, es posible definir, representar y presentar los requisitos del cliente para la planificación del laboratorio.

Resultado: La coordinación entre ventas, planificación y clientes se ha simplificado notablemente, y todo el proceso de venta y planificación es más eficiente.

Tecnología: Revit API, C#, WPF

Más sobre el proyecto

Software de equipos de medición tras la modernización

Modernización de un software de equipos de medición: de Delphi a C#

Sector: Tecnología de medición · Cliente: fabricante de equipos de medición · Equipo: diez personas

Situación inicial: Un software en Delphi de desarrollo propio, utilizado desde hace décadas, debía modernizarse y migrarse de Delphi a una tecnología moderna.

Reto: Antes del desarrollo había que responder qué tecnologías eran las adecuadas y cómo podía acompañar el cambio el propio equipo del cliente.

Procedimiento:

  1. Consultoría y planificación: Contrastamos los objetivos con las posibilidades de las nuevas tecnologías.
  2. Prototipos: Mostraron cómo podrían ser las posibles soluciones, para que el cliente pudiera decidir junto con nosotros.
  3. Formación in situ: Todo el equipo del cliente recibió una introducción a las nuevas tecnologías.
  4. Migración ágil: El software se está migrando a C# y WPF con un equipo de proyecto de diez personas.

Resultado: El nuevo software ya se utiliza internamente en la empresa del cliente y convence tanto a los técnicos de medición como al equipo de ventas. Una vez concluidos los trabajos, estará disponible para todos los clientes finales.

Tecnología: C#, WPF, Delphi, MariaDB, Entity Framework, Scrum, Jira, Git

Más sobre el proyecto

Lector para PCR digital en el laboratorio

Software para un lector de PCR digital

Sector: Tecnología de laboratorio y médica · Marco: proyecto colaborativo del BMBF (Ministerio Federal de Educación e Investigación de Alemania) FREEDOM (FKZ 13N15287), cinco socios del consorcio, duración de tres años a partir de febrero de 2021

Situación inicial: Un dispositivo novedoso debe analizar muestras en busca de determinadas secuencias de ADN de forma más rápida, más sencilla y con mayor complejidad – por ejemplo, muestras de sangre en busca de ADN tumoral o alimentos como el maíz en busca de componentes modificados genéticamente.

Reto: El control del dispositivo, la captura de imágenes y la evaluación científica debían reunirse en una sola aplicación – de forma coordinada entre una fundación de investigación, una universidad y tres empresas industriales.

Nuestra parte: En el subproyecto «Concepción e implementación de la arquitectura de software», Cadida fue responsable de:

  • Arquitectura de software, modelos de datos e interfaces
  • Interfaz de usuario y control de la cámara y los LED
  • Captura de imágenes, análisis de imágenes, análisis de datos y presentación de resultados
  • Historias de usuario con pruebas automatizadas que garantizan los requisitos en detalle

Resultado: Un software que combina el control del dispositivo, el procesamiento de imágenes y la evaluación en una sola aplicación – desarrollado en colaboración y asegurado de forma trazable mediante pruebas automatizadas.

Tecnología: C#, WPF, Entity Framework, OpenCV, Scrum, Jira, Git

Más sobre el proyecto

HIRAC: silla de ruedas con brazo robótico y seguimiento ocular

HIRAC: sistema de asistencia con IA para sillas de ruedas

Sector: Investigación / robótica · Marco: financiado por el Programa Central de Innovación para pymes (ZIM), junto con la Hochschule Offenburg

Situación inicial: Las personas con parálisis total y los pacientes con síndrome de enclaustramiento (locked-in) no pueden realizar por sí solos ni siquiera acciones sencillas como coger un vaso de agua. Los dispositivos controlados por voz apenas ayudan debido a la limitada capacidad de habla.

Reto: El sistema debe poder colaborar con sillas de ruedas, brazos robóticos, pinzas y gafas de seguimiento ocular convencionales de distintos fabricantes y controlarlos.

Solución: HIRAC (Hardware Independent Robotic Assistance Controller) es un middleware independiente del hardware para tareas de agarre robótico:

  • Una IA combina el control mediante seguimiento ocular, el procesamiento de imágenes, la retroalimentación de sensores y la manipulación de objetos.
  • El sistema completo integra la IA, el control de la silla de ruedas mediante seguimiento ocular, el brazo de agarre montado en la silla y la salida de voz.

Cadida es responsable de la dirección del proyecto y del desarrollo de software, junto con la Hochschule Offenburg.

Objetivo: Las personas afectadas deben poder realizar las tareas cotidianas de forma autónoma, y el personal de cuidados se ve aliviado.

Tecnología: Python, ROS2, Deep Learning, Reinforcement Learning, Linux, interfaz web

Más sobre el proyecto

Lo que tienen en común nuestros proyectos

  • Claridad antes de la primera línea de código: Los estudios de viabilidad, los prototipos y los cálculos de rentabilidad hacen visibles los riesgos desde el principio.
  • Ágiles y transparentes: Desarrollamos en pasos cortos con Scrum – usted ve el estado con regularidad y participa en la dirección del proyecto.
  • Calidad desde el principio: Las pruebas automatizadas y el aseguramiento de la calidad acompañan a cada proyecto.
  • El conocimiento se queda con usted: Si lo desea, formamos a su equipo para que pueda seguir desarrollando el software por sí mismo.

Su proyecto

¿Se enfrenta a una tarea similar? Encontrará más ejemplos en nuestros proyectos y referencias. Puede leer cómo es la colaboración con nosotros en Colaboración. No dude en ponerse en contacto con nosotros – le asesoramos sin compromiso: Contactar.

CONTACT

Seleccione su idioma

Primera reuniónconcertarPrimera reuniónconcertar