Entradas

Prototipado en Ingeniería de Software: Modelar antes de Construir

Imagen
En el desarrollo de software, es común que una buena idea pueda desmoronarse si no se prueba en una etapa temprana. Aquí es donde entra en juego el   prototipado , una técnica clave para reducir el riesgo, mejorar la comunicación entre stakeholders y detectar errores antes de que cuesten tiempo y dinero. En este artículo del blog, describo qué es un prototipo en ingeniería de software, cómo se elabora, qué tipos existen, hasta qué punto puede considerarse válido y, finalmente, algunos consejos para integrarlo de manera efectiva en tus procesos de desarrollo. ¿Qué es el prototipado en ingeniería de software? El   prototipado   es un proceso que consiste en la creación de una representación preliminar del software que se desea desarrollar. No es el producto final, sino una versión simplificada que sirve para visualizar aspectos clave como la interfaz de usuario, la navegación o el comportamiento funcional de ciertas características. Su propósito es probar ideas, detectar er...

Tutorial para Generar PDF con un Logo utilizando un API REST en PHP (PDO, POO y MySQL)

Imagen
  En esta entrada del blog, detallaré un tutorial en el cual aprenderás a crear una  API REST en PHP  que genere un  PDF con un logo personalizado , utilizando  PDO  para la conexión con  MySQL , bajo un enfoque de  Programación Orientada a Objetos (POO) . Si quieres repasar o aprender antes como crear un API REST con PHP de una forma muy fácil, checa es ta entrada del blog . Esta imagen representa la funcionalidad de la API REST: Ahora bien, comenzaremos indicando los requisitos previos a este ejemplo: PHP 8.0+ (con extensiones  PDO ,  mbstring ,  gd ) MySQL 5.7+ (o MariaDB) Composer (para instalar dependencias) Servidor web (Apache, Nginx o PHP built-in server) Biblioteca  TCPDF  (para generación de PDFs) El editor de tu preferencia, yo utilizo Visual Studio Code. Paso 1: Configurar la Base de Datos El primer paso consiste en crear una tabla en nuestra base de datos MySQL para almacenar registros que se incluirán en el P...

Creando un API REST para Estadísticas de Basket-ball con PHP, MySQL y PDO

Imagen
En esta entrada del blog vamos a detallar un tutorial de programación web, vamos a construir de la manera más fácil posible, un paso a paso para crear un API RESTful para gestionar estadísticas de partidos de baloncesto utilizando PHP, MySQL y PDO con programación orientada a objetos. Si quieren conocer lo básico de la arquitectura REST, pueden leer la entrada del blog al respecto . El API permitirá realizar operaciones CRUD (Crear, Leer, Actualizar y Eliminar) sobre las estadísticas de los jugadores. La siguiente imagen ejemplifica como funcionaría nuestro pequeño proyecto REST. ¿Qué necesitamos para comenzar? Servidor web (Apache, Nginx) PHP 7.4 o superior MySQL 5.7 o superior Conocimientos básicos de PHP y MySQL Comenzaremos creado la estructura de nuestro proyecto, pueden utilizar el editor de código de su preferencia, en este caso yo utilizo Visual Studio Code. La estructura del proyecto quedaría de la siguiente forma: /basketball-api /config Database.php /models...

Conociendo un poco sobre Inteligencia Artificial Generativa

Imagen
La inteligencia artificial generativa (IA generativa o GenAI) constituye una tecnología disruptiva con un impacto significativo en diversos ámbitos, permitiendo la generación automatizada de contenido, la optimización de la experiencia del usuario y la resolución de problemas complejos a través de modelos avanzados. Su alcance es extenso, influyendo en sectores como la ingeniería, turismo, periodismo, medicina, la ciberseguridad, la agricultura y la gestión empresarial. Así es, prácticamente en todas las áreas del conocimiento y su aplicación.     La IA generativa es una categoría innovadora de sistemas de inteligencia artificial con la capacidad de generar contenido nuevo en diversas modalidades, incluyendo texto, imágenes, audio e incluso música a partir de grandes volúmenes de datos que utilizan como entrenamiento, es decir, para “aprender”. A través del uso de algoritmos avanzados y el aprendizaje a partir de estos grandes volúmenes de datos, los sistemas pueden resumir ma...

Re-Skilling en Ingeniería de Software

Imagen
En la era digital actual, donde la tecnología evoluciona a un ritmo sumamente rápido, el Re-Skilling se ha convertido en un elemento clave para los profesionales de la ingeniería de software. Esta práctica, que implica la adquisición de nuevas habilidades y la actualización de las existentes, se ha vuelto esencial para mantenerse competitivo y relevante en un mercado laboral en constante cambio. En esta entrada del blog profundizaré en este interesante tema, el cual, sin duda, lo hemos implementado en nuestra práctica profesional sin siquiera conocer su definición formal. El Re-Skilling en Ingeniería de Software no es solo una tendencia, sino una necesidad. Los lenguajes de programación, los frameworks (ahora con capacidades nuevas brindadas por la Inteligencia Artificial) y las metodologías de desarrollo cambian constantemente, y los ingenieros de software deben adaptarse a estos cambios para seguir siendo valiosos para el mercado en general. Formalmente, el Re-Skilling se refiere a...

Diferencia entre Proceso y Procedimiento contextualizado en la Ingeniería de Software

Imagen
Este artículo del blog explora la DIFERENCIA entre  PROCESO  y  PROCEDIMIENTO , dos conceptos clave en la gestión de proyectos y en el desarrollo de software. Sin duda, conocer su diferencia nos permitirá expresarnos de una mejor forma, con un lenguaje más técnico en nuestro entorno profesional. Comenzaremos explicando el concepto de PROCESO . Un proceso es un conjunto de actividades interrelacionadas o secuenciales que tienen un objetivo específico. Se enfoca en el qué se desea lograr, es decir, se centra en el resultado final. Los procesos normalmente son amplios, estructurados y generalmente tienen una visión general del flujo de trabajo. A menudo, involucran múltiples departamentos o roles dentro de una empresa u organización. Más adelante explicaré un par de ejemplos. Por otro lado, un PROCEDIMIENTO es una descripción detallada y específica de los pasos necesarios para realizar una tarea o actividad dentro de un proceso, sí, leíste bien, dentro de un PROCESO . Se e...
Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.