1. Introducción
El análisis funcional de los sistemas de información es una fase clave en el desarrollo de software, ya que permite definir los requerimientos funcionales y no funcionales que debe cumplir el sistema. Se centra en la especificación de cómo interactuarán los usuarios con el sistema y cómo este responderá a diferentes estímulos.
El análisis funcional incluye la identificación de casos de uso e historias de usuario, el modelado mediante el Lenguaje Unificado de Modelado (UML), el análisis del dominio con modelos de entidad-relación y clases, y el análisis dinámico a través de modelado de procesos, BPMN y CMMN. Además, se evalúan aspectos no funcionales como el rendimiento, seguridad y privacidad.
2. Casos de Uso e Historias de Usuario
Casos de Uso
Los casos de uso describen cómo un usuario interactúa con un sistema para alcanzar un objetivo. Están compuestos por:
- Actor: Representa a un usuario o sistema externo que interactúa con el sistema.
- Escenario principal: Describe la secuencia normal de eventos para alcanzar el objetivo del caso de uso.
- Escenarios alternativos: Posibles variaciones en la secuencia principal debido a condiciones excepcionales.
Los diagramas de casos de uso en UML permiten visualizar estas interacciones gráficamente.
Historias de Usuario
Las historias de usuario son descripciones cortas y ágiles de una funcionalidad desde la perspectiva del usuario. Se utilizan en metodologías ágiles y siguen el formato:
«Como [tipo de usuario], quiero [acción o funcionalidad] para [beneficio o propósito].»
Ejemplo:
«Como médico del SAS, quiero acceder al historial clínico del paciente para consultar sus antecedentes médicos.»
3. Lenguaje Unificado de Modelado (UML)
UML es un estándar para modelar sistemas de software, proporcionando una serie de diagramas para representar diferentes aspectos de un sistema. Algunos de los más importantes en el análisis funcional son:
- Diagramas de Casos de Uso: Representan la relación entre actores y funcionalidades del sistema.
- Diagramas de Clases: Modelan la estructura estática del sistema mediante clases, atributos y relaciones.
- Diagramas de Secuencia: Representan el flujo de mensajes entre los objetos en una secuencia de tiempo.
- Diagramas de Estados: Modelan el ciclo de vida de los objetos y cómo cambian de estado según los eventos.
4. Análisis del Dominio de los Sistemas de Información
Modelado de Dominio
El modelado de dominio se centra en identificar los conceptos clave de un sistema y sus relaciones. Permite definir las entidades, atributos y reglas de negocio que rigen el sistema.
Modelo Entidad-Relación (MER)
El MER se utiliza en bases de datos para representar la estructura lógica de los datos. Incluye:
- Entidades: Objetos principales (ejemplo: Paciente, Médico, Hospital).
- Relaciones: Conexiones entre entidades (ejemplo: «Paciente tiene cita con Médico»).
- Atributos: Características de cada entidad (ejemplo: Nombre, Fecha de Nacimiento).
Modelos de Clases
El modelo de clases representa la estructura del sistema en términos de objetos y sus interacciones. Se define mediante clases, atributos, métodos y asociaciones.
5. Análisis Dinámico de Sistemas de Información
El análisis dinámico permite modelar el comportamiento del sistema, simulando cómo interactúan los componentes y cómo fluyen los datos.
Modelado de Procesos
Se centra en representar el flujo de trabajo del sistema, mostrando cómo las actividades se encadenan.
Modelado Dinámico
Incluye diagramas de estados y de secuencia para representar los cambios de estado de los objetos y la interacción entre componentes.
BPMN (Business Process Model and Notation)
Es un estándar para modelar procesos de negocio mediante diagramas. Sus principales elementos son:
- Eventos (Inicio, Intermedio, Fin).
- Actividades (Tareas, Subprocesos).
- Flujo de secuencia (Orden de ejecución de las tareas).
- Pasarelas (Decisiones que dividen el flujo del proceso).
CMMN (Case Management Model and Notation)
Es una notación orientada a la gestión de casos, útil en procesos con flujos no predefinidos, como en el ámbito sanitario donde las decisiones pueden variar según el contexto del paciente.
6. Análisis de Aspectos No Funcionales
Los aspectos no funcionales garantizan que el sistema cumpla con criterios de calidad, rendimiento y seguridad.
- Rendimiento: Evaluación del tiempo de respuesta, escalabilidad y eficiencia del sistema.
- Seguridad: Protección contra accesos no autorizados, gestión de identidades y cifrado de datos.
- Privacidad: Garantía de que los datos sensibles se gestionen conforme a regulaciones como el RGPD.
CUESTIONARIO
Pregunta 1: ¿Qué es un caso de uso en el análisis funcional de sistemas de información?
A) Una descripción detallada de la interfaz de usuario.
B) Un diagrama que muestra la estructura de la base de datos.
C) Una representación de cómo un usuario interactúa con el sistema para lograr un objetivo específico.
D) Un documento que describe los requisitos técnicos del sistema.
Respuesta: C
Explicación: Un caso de uso es una herramienta utilizada en el análisis funcional para describir cómo un actor (usuario o sistema externo) interactúa con el sistema para cumplir un objetivo particular. Se centra en las interacciones y funcionalidades desde la perspectiva del usuario.
Pregunta 2: ¿Cuál es la principal diferencia entre un caso de uso y una historia de usuario?
A) Los casos de uso se utilizan en metodologías ágiles y las historias de usuario en metodologías tradicionales.
B) Las historias de usuario son descripciones breves enfocadas en la necesidad del usuario, mientras que los casos de uso son más detallados y estructurados.
C) Los casos de uso se centran en aspectos técnicos y las historias de usuario en aspectos funcionales.
D) No hay diferencia; ambos términos son sinónimos.
Respuesta: B
Explicación: Las historias de usuario son breves descripciones de una funcionalidad desde la perspectiva del usuario, comúnmente utilizadas en metodologías ágiles. Los casos de uso, por otro lado, proporcionan una descripción más detallada y estructurada de las interacciones entre el usuario y el sistema.
Pregunta 3: ¿Qué representa un diagrama de clases en UML?
A) El flujo de actividades en un proceso de negocio.
B) La interacción temporal entre objetos en un escenario específico.
C) La estructura estática del sistema, mostrando clases, atributos y relaciones.
D) Los estados posibles de un objeto y las transiciones entre ellos.
Respuesta: C
Explicación: Un diagrama de clases en UML muestra la estructura estática de un sistema, incluyendo las clases, sus atributos, métodos y las relaciones entre ellas, como asociaciones y herencias.
Pregunta 4: En el modelado de dominio, ¿qué es una entidad?
A) Una característica o propiedad de un objeto.
B) Un objeto o concepto del mundo real relevante para el sistema.
C) Una relación entre dos objetos.
D) Un diagrama que muestra el flujo de datos.
Respuesta: B
Explicación: En el modelado de dominio, una entidad es un objeto o concepto del mundo real que tiene relevancia para el sistema que se está desarrollando, como «Cliente», «Producto» o «Pedido».
Pregunta 5: ¿Cuál es el propósito principal del modelo entidad-relación (MER)?
A) Representar el comportamiento dinámico del sistema.
B) Modelar la estructura lógica de los datos y sus relaciones.
C) Describir la interfaz gráfica del usuario.
D) Definir los algoritmos utilizados en el sistema.
Respuesta: B
Explicación: El MER se utiliza para modelar la estructura lógica de los datos en una base de datos, identificando entidades, sus atributos y las relaciones entre ellas.
Pregunta 6: ¿Qué tipo de información se representa en un diagrama de secuencia de UML?
A) La estructura jerárquica de los módulos del sistema.
B) La interacción entre objetos y el orden temporal de los mensajes intercambiados.
C) Los estados posibles de un objeto y sus transiciones.
D) El flujo de actividades en un proceso de negocio.
Respuesta: B
Explicación: Un diagrama de secuencia en UML muestra cómo interactúan los objetos en un escenario particular, destacando el orden temporal en que se envían los mensajes.
Pregunta 7: ¿Qué es BPMN?
A) Un lenguaje de programación orientado a objetos.
B) Una notación gráfica para modelar procesos de negocio.
C) Un estándar para el diseño de bases de datos relacionales.
D) Un protocolo de comunicación en redes.
Respuesta: B
Explicación: BPMN (Business Process Model and Notation) es una notación gráfica estándar utilizada para modelar y documentar procesos de negocio de manera comprensible para todos los stakeholders.
Pregunta 8: ¿Cuál es la función principal de las pasarelas en BPMN?
A) Representar actividades realizadas por el sistema.
B) Indicar puntos de decisión que afectan el flujo del proceso.
C) Mostrar eventos que inician o terminan un proceso.
D) Definir roles y responsabilidades de los actores.
Respuesta: B
Explicación: Las pasarelas en BPMN se utilizan para modelar puntos de decisión en un proceso, determinando cómo se bifurca o converge el flujo según condiciones específicas.
Pregunta 9: ¿Qué significa CMMN en el contexto del análisis funcional?
A) Case Management Model and Notation.
B) Computer Managed Modeling Notation.
C) Critical Module Modeling Network.
D) Customer Management and Monitoring Notation.
Respuesta: A
Explicación: CMMN (Case Management Model and Notation) es una notación para modelar la gestión de casos, especialmente útil en situaciones donde los procesos no siguen un flujo predefinido y requieren flexibilidad, como en entornos médicos o legales.
Pregunta 10: En UML, ¿qué representa un diagrama de estados?
A) La estructura de la base de datos.
B) Los diferentes estados por los que pasa un objeto y las transiciones entre esos estados.
C) La interacción entre diferentes sistemas.
D) El flujo de actividades en un proceso de negocio.
Respuesta: B
Explicación: Un diagrama de estados en UML muestra los distintos estados que puede tener un objeto y las transiciones entre estos estados en respuesta a eventos o condiciones.
Pregunta 11: ¿Qué aspecto del sistema se evalúa al analizar su rendimiento?
A) La facilidad de uso de la interfaz de usuario.
B) La eficiencia y rapidez con la que el sistema procesa las tareas.
C) La seguridad contra accesos no autorizados.
D) La compatibilidad con otros sistemas.
Respuesta: B
Explicación: El análisis de rendimiento se centra en evaluar la eficiencia del sistema, incluyendo tiempos de respuesta, capacidad de procesamiento y uso ópt
Pregunta 12: ¿Qué es la encapsulación en la programación orientada a objetos?
A) La capacidad de una función para llamarse a sí misma.
B) El principio de ocultar los detalles internos de un objeto y exponer solo lo necesario.
C) La posibilidad de que diferentes clases hereden de una clase base común.
D) La técnica de definir múltiples métodos con el mismo nombre.
Respuesta: B
Explicación: La encapsulación es un principio fundamental de la programación orientada a objetos que consiste en ocultar los detalles internos de una clase y exponer únicamente una interfaz pública necesaria para la interacción, protegiendo así la integridad de los datos y promoviendo la modularidad.
Pregunta 13: ¿Cuál de los siguientes NO es un diagrama estándar en UML?
A) Diagrama de clases.
B) Diagrama de componentes.
C) Diagrama de flujo de datos.
D) Diagrama de actividades.
Respuesta: C
Explicación: El diagrama de flujo de datos no es parte de los diagramas estándar de UML; es una herramienta utilizada en el análisis estructurado. UML incluye diagramas como el de clases, componentes y actividades, entre otros.
Pregunta 14: En el contexto de BPMN, ¿qué representa un evento de inicio?
A) Una actividad que se debe completar antes de que el proceso comience.
B) Una condición que determina el fin de un proceso.
C) Un suceso que desencadena el comienzo de un proceso.
D) Una decisión que afecta el flujo del proceso.
Respuesta: C
Explicación: En BPMN, un evento de inicio es un suceso que marca el comienzo de un proceso, indicando que ha ocurrido una condición o evento que desencadena el flujo de actividades.
Pregunta 15: ¿Qué es un modelo de dominio en el análisis de sistemas de información?
A) Una representación de los procesos de negocio y sus flujos de trabajo.
B) Un diagrama que muestra la arquitectura física de la red.
C) Una representación conceptual de los objetos y sus relaciones en el contexto del problema.
D) Un conjunto de casos de prueba para validar el sistema.
Respuesta: C
Explicación: Un modelo de dominio es una representación conceptual que captura los objetos relevantes y sus relaciones dentro del contexto de un problema específico, sirviendo como base para el diseño del sistema.
Pregunta 16: ¿Cuál es el objetivo principal del análisis de requisitos no funcionales?
A) Definir las funcionalidades específicas que el sistema debe ofrecer.
B) Establecer las restricciones y cualidades que el sistema debe cumplir, como rendimiento y seguridad.
C) Describir la interacción entre el usuario y el sistema.
D) Modelar la estructura de la base de datos.
Respuesta: B
Explicación: Los requisitos no funcionales se refieren a las cualidades y restricciones del sistema, como rendimiento, seguridad, usabilidad y disponibilidad, que determinan cómo debe comportarse el sistema más allá de las funcionalidades específicas.
Pregunta 17: En UML, ¿qué representa un diagrama de componentes?
A) La distribución física de los servidores y dispositivos de red.
B) La organización y dependencia entre los componentes de software en el sistema.
C) El flujo de datos entre diferentes procesos.
D) La secuencia de interacciones entre objetos en un caso de uso.
Respuesta: B
Explicación: Un diagrama de componentes en UML muestra la organización y las dependencias entre los distintos componentes de software, como módulos, bibliotecas y subsistemas, ilustrando cómo se ensamblan para formar el sistema completo.
Pregunta 18: ¿Qué es el polimorfismo en la programación orientada a objetos?
A) La capacidad de una clase para heredar de múltiples clases base.
B) La habilidad de diferentes clases para ser tratadas como instancias de una misma superclase, respondiendo de manera distinta a un mismo mensaje o método.
C) El proceso de ocultar los detalles internos de una clase.
D) La definición de múltiples métodos con el mismo nombre pero diferentes implementaciones en la misma clase.
Respuesta: B
Explicación: El polimorfismo permite que objetos de diferentes clases sean tratados como objetos de una clase común, ejecutando comportamientos específicos según su implementación, lo que facilita la flexibilidad y extensibilidad del código.
Pregunta 19: ¿Cuál de las siguientes opciones describe mejor un diagrama de actividades en UML?
A) Muestra la estructura estática del sistema, incluyendo clases y sus relaciones.
B) Representa el flujo de control y secuencia de actividades en un proceso.
C) Ilustra la interacción entre objetos y el orden de los mensajes intercambiados.
D) Describe los diferentes estados de un objeto y las transiciones entre ellos.
Respuesta: B
Explicación: Un diagrama de actividades en UML representa el flujo de control y la secuencia de actividades en un proceso o sistema, mostrando cómo se coordinan las tareas y decisiones para lograr un objetivo específico.
Pregunta 20: En el análisis de sistemas, ¿qué se entiende por «requisitos no funcionales»?
A) Especificaciones que describen funciones específicas que el sistema debe realizar.
B) Restricciones y características de calidad que el sistema debe cumplir, como rendimiento, seguridad y usabilidad.
C) Requisitos que no son necesarios para el funcionamiento del sistema.
D) Funciones opcionales que pueden o no ser implementadas en el sistema.
Respuesta: B
Explicación: Los requisitos no funcionales definen criterios que evalúan el funcionamiento de un sistema, como el rendimiento, la seguridad, la usabilidad y otras características de calidad. Estos requisitos establecen cómo debe comportarse el sistema y las restricciones bajo las cuales debe operar, asegurando que cumpla con estándares de calidad y expectativas del usuario.
MAPA CONCEPTUAL
┌───────────────────────────┐
│ Análisis Funcional │
│ de Sistemas de Información │
└───────────────────────────┘
│
┌────────────────────────────┼────────────────────────────┐
│ │ │
│ Casos de Uso UML Modelado de Dominio
│ │ │
│ Historias de Usuario Diagramas Modelo E-R Modelo de Clases
│ │ │
├────────────────────────────┼────────────────────────────┤
│ │ │
│ Modelado de Procesos BPMN CMMN
│ │ │
│ Modelado Dinámico Pasarelas Gestión de Casos
│ │ │
├────────────────────────────┼────────────────────────────┤
│ Seguridad Rendimiento Privacidad
│ Autenticación Escalabilidad Protección de Datos
│ Cifrado de Información Optimización de Procesos RGPD