Tema 40: Análisis Funcional de Sistemas de Información

OPE 2025. TFA INFORMÁTICA

El análisis funcional de sistemas de información es una etapa clave en el desarrollo de software, ya que permite identificar las necesidades del sistema desde la perspectiva de los usuarios y los objetivos de la organización. Esta fase incluye tanto la modelización de los procesos y funciones que debe realizar el sistema como la especificación de los requisitos no funcionales que determinarán la calidad del sistema final.

Este tema aborda los métodos y herramientas utilizados en el análisis funcional de sistemas de información, incluidas las historias de usuario, el Lenguaje Unificado de Modelado (UML), el modelado de dominio y los modelos de procesos. Además, se introduce el análisis de aspectos no funcionales, como el rendimiento, la seguridad y la privacidad.

1. Casos de Uso e Historias de Usuario

1.1 Casos de Uso

Un caso de uso describe una interacción entre un actor (usuario u otro sistema) y el sistema que estamos desarrollando. Su objetivo es detallar cómo el sistema debe comportarse ante determinadas entradas, describiendo las funcionalidades del sistema desde la perspectiva del usuario.

  • Estructura de un caso de uso:
    • Actores: Entidades que interactúan con el sistema.
    • Precondiciones: Estado del sistema antes de iniciar el caso de uso.
    • Secuencia de acciones: Detalles de las interacciones entre el sistema y los actores.
    • Excepciones: Posibles errores o excepciones que pueden surgir durante la ejecución del caso de uso.
    • Postcondiciones: Estado final del sistema tras la ejecución del caso de uso.
1.2 Historias de Usuario

Las historias de usuario son una técnica más ágil y ligera para describir los requisitos del sistema. Estas historias se centran en las necesidades del usuario final y se estructuran de la siguiente manera:

  • Como [usuario], quiero [acción] para [beneficio].

Las historias de usuario suelen ser más sencillas que los casos de uso y se utilizan comúnmente en metodologías ágiles, como Scrum, para fomentar la colaboración entre el equipo de desarrollo y los usuarios finales.

Ejemplo:

  • Como usuario administrador, quiero poder ver un informe de actividades de los pacientes para realizar un seguimiento de su progreso.

2. Lenguaje Unificado de Modelado (UML)

El UML es un lenguaje de modelado estandarizado utilizado para visualizar, especificar, construir y documentar los artefactos de un sistema de software. Se usa principalmente para diseñar el sistema en diversas perspectivas, como la estructura, el comportamiento y la interacción.

2.1 Diagramas UML Principales
  • Diagrama de Casos de Uso: Muestra las interacciones entre los actores y el sistema, ayudando a identificar las funcionalidades que debe ofrecer el sistema.
  • Diagrama de Clases: Representa las clases de un sistema y sus relaciones. Es útil para la modelización estática del sistema.
  • Diagrama de Secuencias: Describe cómo los objetos interactúan entre sí a lo largo del tiempo. Se utiliza para representar la lógica de ejecución de un caso de uso.
  • Diagrama de Actividades: Muestra el flujo de trabajo o proceso dentro del sistema, con énfasis en la secuencia de actividades.
  • Diagrama de Estados: Modela los posibles estados de un objeto y las transiciones entre ellos.

3. Análisis del Dominio de los Sistemas de Información

El análisis del dominio es la fase donde se identifican los conceptos y entidades clave que forman parte del problema que el sistema debe resolver. Esto incluye la modelización de las entidades y sus relaciones.

3.1 Modelado de Dominio

El modelado de dominio tiene como objetivo representar los objetos y sus relaciones en el contexto de la problemática que el sistema intenta resolver. Este modelo no incluye detalles de implementación, sino que se enfoca en los aspectos de alto nivel de los datos y cómo interactúan entre sí.

3.2 Modelo Entidad-Relación (ER)

El modelo entidad-relación (ER) es una técnica de modelado que describe las entidades del sistema y las relaciones entre ellas. Un diagrama ER es una herramienta clave para la visualización de la estructura de datos.

  • Entidad: Un objeto o concepto en el dominio (por ejemplo, «Paciente» o «Cita»).
  • Relación: La asociación entre entidades (por ejemplo, «un paciente tiene varias citas»).
  • Atributos: Características de las entidades (por ejemplo, «nombre», «fecha de nacimiento»).
3.3 Modelos de Clases

El modelo de clases es una representación de los objetos y sus relaciones en el sistema. Este modelo es esencial para el diseño orientado a objetos y se utiliza en el UML para mostrar la estructura estática del sistema, con clases que representan entidades y relaciones que reflejan cómo interactúan entre sí.

4. Análisis Dinámico de Sistemas de Información

El análisis dinámico se refiere al modelado de los procesos y las interacciones dentro del sistema a lo largo del tiempo. Se enfoca en el comportamiento del sistema y sus componentes cuando están en ejecución.

4.1 Modelado de Procesos

El modelado de procesos es crucial para entender cómo fluye la información y las actividades dentro del sistema. En este contexto, se usan herramientas como BPMN y CMMN para representar estos procesos.

4.2 BPMN (Business Process Model and Notation)

BPMN es un estándar utilizado para modelar procesos de negocio. Permite representar gráficamente los procesos de trabajo y las interacciones entre las distintas partes involucradas.

  • Elementos clave de BPMN:
    • Eventos: Indican el inicio, el fin o la ocurrencia de un evento dentro del proceso.
    • Actividades: Las tareas que deben ejecutarse dentro del proceso.
    • Puertas de enlace: Representan decisiones o bifurcaciones en el flujo del proceso.
    • Flujos de secuencia: Muestran el flujo de actividades dentro del proceso.
4.3 CMMN (Case Management Model and Notation)

CMMN es un estándar utilizado para modelar procesos en los que no se conoce de antemano el flujo exacto de trabajo, como en los casos de gestión de casos o situaciones que requieren flexibilidad.

5. Análisis de Aspectos No Funcionales

Los aspectos no funcionales son aquellos que describen las propiedades del sistema que no están relacionadas directamente con las funcionalidades que ofrece, pero que son esenciales para la calidad y el éxito del sistema.

5.1 Rendimiento

El rendimiento es un aspecto no funcional que se refiere a la capacidad del sistema para manejar una carga determinada de trabajo sin afectar la experiencia del usuario. Esto incluye la velocidad de respuesta, la escalabilidad y la eficiencia del sistema.

5.2 Seguridad

La seguridad se refiere a la protección del sistema contra accesos no autorizados, fallos de seguridad, fugas de datos y otros riesgos que puedan comprometer la integridad del sistema.

  • Autenticación y autorización: Asegurar que solo los usuarios autorizados accedan a recursos sensibles.
  • Encriptación: Proteger los datos durante la transmisión y almacenamiento.
5.3 Privacidad

La privacidad está relacionada con el manejo adecuado de la información personal de los usuarios, garantizando que el sistema cumpla con las normativas legales y éticas sobre la protección de datos.

6. Conclusión

El análisis funcional de sistemas de información es fundamental para garantizar que el sistema a desarrollar cumpla con los requisitos del usuario, sea seguro, eficiente y esté bien estructurado. La combinación de herramientas de modelado como UML, BPMN y CMMN, junto con un enfoque en los aspectos no funcionales como el rendimiento, la seguridad y la privacidad, ayuda a crear sistemas robustos y eficaces que cumplen con los estándares de calidad y las expectativas de los usuarios.


Cuestionario: Tema 40 – Análisis Funcional de Sistemas de Información

1. ¿Qué técnica se utiliza para describir la interacción entre un actor y el sistema, desde la perspectiva de los usuarios?

a) Casos de uso
b) Historias de usuario
c) Diagramas de clases
d) Diagramas de secuencia

Respuesta correcta: a) Casos de uso
Explicación: Los casos de uso describen las interacciones entre los actores y el sistema, detallando cómo el sistema debe comportarse en cada escenario.


2. ¿Cuál de las siguientes es una característica de las historias de usuario?

a) Se enfocan en los requisitos del sistema de forma técnica y detallada.
b) Son más detalladas que los casos de uso.
c) Están orientadas a las necesidades del usuario y son cortas y sencillas.
d) Se utilizan solo en proyectos de gran escala.

Respuesta correcta: c) Están orientadas a las necesidades del usuario y son cortas y sencillas.
Explicación: Las historias de usuario son breves y se centran en las necesidades y beneficios para el usuario final.


**3. ¿Qué herramienta se utiliza para modelar las

relaciones entre clases en un sistema orientado a objetos?**

a) Diagrama de casos de uso
b) Diagrama de clases
c) Diagrama de actividades
d) Diagrama de secuencias

Respuesta correcta: b) Diagrama de clases
Explicación: El diagrama de clases muestra las entidades del sistema y sus relaciones en el contexto del diseño orientado a objetos.


4. ¿Qué representa un modelo entidad-relación (ER)?

a) El comportamiento dinámico de un sistema.
b) Las clases de un sistema y sus interacciones.
c) Las entidades y relaciones entre ellas en un dominio.
d) Las actividades que componen un proceso de negocio.

Respuesta correcta: c) Las entidades y relaciones entre ellas en un dominio.
Explicación: El modelo ER se utiliza para representar los datos del dominio y sus relaciones, como entidades y atributos.


5. ¿Cuál es la principal diferencia entre BPMN y CMMN?

a) BPMN es para procesos estructurados, mientras que CMMN es para procesos no estructurados.
b) BPMN es un estándar para diagramas de clases, mientras que CMMN se usa para diagramas de casos de uso.
c) BPMN es más complejo que CMMN.
d) BPMN es utilizado solo para la programación, mientras que CMMN es para la gestión de procesos.

Respuesta correcta: a) BPMN es para procesos estructurados, mientras que CMMN es para procesos no estructurados.
Explicación: BPMN se utiliza para modelar procesos de negocio con un flujo predecible, mientras que CMMN se emplea para procesos que requieren flexibilidad.


6. ¿Qué aspecto no funcional se refiere a la capacidad del sistema para manejar grandes volúmenes de trabajo sin afectar el rendimiento?

a) Seguridad
b) Rendimiento
c) Usabilidad
d) Privacidad

Respuesta correcta: b) Rendimiento
Explicación: El rendimiento mide cómo el sistema maneja la carga de trabajo, incluyendo la velocidad y la capacidad de respuesta.


7. ¿Cuál es una herramienta de modelado que se utiliza para representar procesos de negocio?

a) Diagrama de secuencias
b) BPMN
c) Diagrama de clases
d) Diagrama de estados

Respuesta correcta: b) BPMN
Explicación: BPMN es un estándar de modelado utilizado para representar los procesos de negocio de forma gráfica.


8. ¿Qué aspecto no funcional se refiere a la protección de la información contra accesos no autorizados?

a) Privacidad
b) Rendimiento
c) Seguridad
d) Usabilidad

Respuesta correcta: c) Seguridad
Explicación: La seguridad garantiza la protección contra accesos no autorizados y otros riesgos que puedan comprometer el sistema.


9. ¿Qué representa el modelado de dominio?

a) La interacción entre los actores y el sistema.
b) Las relaciones entre los objetos y entidades del sistema.
c) Los procesos y flujos de trabajo del sistema.
d) La estructura de la base de datos.

Respuesta correcta: b) Las relaciones entre los objetos y entidades del sistema.
Explicación: El modelado de dominio representa las entidades y relaciones clave en el contexto de la problemática del sistema.


10. ¿Qué característica tiene el análisis dinámico de un sistema de información?

a) Se enfoca en los datos y su estructura.
b) Se representa la evolución y el comportamiento del sistema a lo largo del tiempo.
c) Define la seguridad y la privacidad del sistema.
d) Describe la interacción estática entre clases y objetos.

Respuesta correcta: b) Se representa la evolución y el comportamiento del sistema a lo largo del tiempo.
Explicación: El análisis dinámico se refiere a cómo cambian los objetos y las actividades dentro del sistema durante su ejecución.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *