Modelización de funciones y procesos.

 La modelización de funciones y procesos es una técnica fundamental en la ingeniería de sistemas que permite representar de forma simplificada y lógica la realidad de una organización o el funcionamiento de un software.

A continuación, se detalla el desglose técnico de estos conceptos:


1. Modelización de Procesos (El "Cómo")

Se enfoca en la secuencia lógica de actividades y el flujo de trabajo en el tiempo. Describe los pasos necesarios para transformar una entrada en un resultado específico.

  • Elementos clave:

    • Eventos: Hechos que activan el inicio (ej. llegada de un cliente o solicitud de una nota).

    • Tareas/Actividades: Acciones concretas que añaden valor al proceso.

    • Decisiones: Puntos donde el flujo se bifurca según condiciones (Sí/No).

    • Roles: Quién ejecuta cada tarea (personas, departamentos o sistemas).


2. Modelización de Funciones (El "Qué")

Representa lo que hace el sistema de forma jerárquica, sin preocuparse por el orden temporal o quién lo ejecuta. Se basa en la descomposición funcional.

  • Jerarquía: Una función principal (ej. "Gestionar Institución") se divide en subfunciones más pequeñas (ej. "Matricular Alumno", "Registrar Calificaciones").

  • Independencia: Las funciones se definen por su propósito, no por su implementación técnica.


3. Herramientas y Lenguajes de Modelado

Para llevar estos conceptos a la práctica, se utilizan estándares visuales que facilitan la comunicación entre analistas y desarrolladores:

  • Diagramas de Flujo (Flowcharts): Ideales para algoritmos y procesos lineales simples.

  • DFD (Diagramas de Flujo de Datos): Representan el movimiento de la información entre procesos, entidades externas y almacenes de datos.

  • UML (Unified Modeling Language): El estándar en el desarrollo de software para modelar casos de uso y comportamientos del sistema.


4. Diferencias Fundamentales

CaracterísticaModelo de ProcesosModelo de Funciones
PerspectivaDinámica (secuencial).Estática (jerárquica).
Pregunta clave¿En qué orden se hace?¿Qué capacidades tiene el sistema?
EstructuraRed de actividades interconectadas.Árbol de funciones (Descomposición).
Uso principalOptimizar tiempos y logística.Definir requerimientos y módulos.

💡 Ejemplo Aplicado: Gestión de Biblioteca

  • Modelo de Función: El sistema debe ser capaz de "Prestar Libros", "Registrar Usuarios" y "Gestionar Multas".

  • Modelo de Proceso: 1. El estudiante entrega el libro $\rightarrow$ 2. El sistema verifica si hay multas pendientes $\rightarrow$ 3. ¿Tiene deudas? $\rightarrow$ Sí: Se bloquea el préstamo. No: Se registra la fecha de devolución y se entrega el libro.

Este análisis es el paso previo indispensable antes de escribir cualquier línea de código, ya que permite detectar errores de lógica antes de la fase de construcción del software.


Ejercicio Práctico: Modelización de un Sistema de Control de Asistencia

Objetivo: Diferenciar entre las funciones (qué hace el sistema) y los procesos (cómo fluye la información) dentro de una institución educativa.


Fase 1: Identificación de Funciones (Visión Estática)

Completar el siguiente cuadro. Deben pensar en el sistema como un conjunto de capacidades.

Función PrincipalSubfunciones Necesarias
Gestión de UsuariosRegistrar estudiante, Editar datos, Eliminar registro.
Registro de AsistenciaMarcar entrada, Justificar falta, Registrar atraso.
Generación de ReportesReporte semanal por curso, Alerta de deserción.

Fase 2: Modelización del Proceso (Visión Dinámica)

Diagramar el flujo de datos. Plantea este escenario:

"El estudiante llega a la institución y acerca su carnet con código QR al lector. El sistema debe verificar si el estudiante existe y registrar la hora exacta. Si es después de las 07:10 AM, debe marcarse como 'Atraso'".

Tarea: Dibujar el DFD Nivel 1.


Fase 3: Identificación de Entradas y Salidas

Para que el modelo sea correcto, deben listar los flujos de información:

  • Entradas (Inputs): Código QR (ID del estudiante), Fecha/Hora del sistema.

  • Procesos: Verificación de identidad, Validación de horario, Almacenamiento en DB.

  • Salidas (Outputs): Mensaje en pantalla ("Bienvenido" / "Atraso"), Notificación al representante (vía correo o SMS).


Fase 4: Aplicación Técnica (Opcional para programación)

Traduzcan una parte del proceso a pseudocódigo o Python:

Python
hora_entrada = "07:15"
limite_atraso = "07:10"

if hora_entrada > limite_atraso:
    print("Estado: ATRASO")
    # Función para enviar alerta
else:
    print("Estado: PRESENTE")

Comentarios

Entradas populares de este blog

Análisis estructurado de sistemas: Modelización de datos

nálisis estructurado de sistemas: Objetivos, entradas, salidas y fases.