Modelado y Expresión de Requisitos
Basados en el Escenario
Casos de Uso
Cuándo usarlo: Cuando necesitas describir las funcionalidades del sistema desde el punto de vista de los actores. Útil en la etapa inicial del proyecto para capturar los requisitos funcionales y entender cómo los usuarios interactúan con el sistema.
Ejemplo: Modelar cómo un usuario realiza una cotización en un sistema de seguros.
De Comportamiento
Diagramas de Estado
Cuándo usarlo: Cuando necesitas modelar los diferentes estados por los que puede pasar un objeto y las transiciones entre estos estados en respuesta a eventos. Útil para entender el ciclo de vida de objetos clave.
Ejemplo: Modelar los estados de una cotización desde su creación hasta su finalización.
Diagramas de Secuencia
Cuándo usarlo: Cuando necesitas visualizar la interacción entre objetos a lo largo del tiempo. Útil para modelar cómo los objetos colaboran para llevar a cabo un proceso específico.
Ejemplo: Modelar la interacción entre un usuario y el sistema durante el proceso de cotización de un seguro.
Orientados a Clases
Diagramas de Clases
Cuándo usarlo: Cuando necesitas definir la estructura estática del sistema, mostrando las clases, atributos, métodos y las relaciones entre las clases. Útil en la etapa de diseño del sistema para asegurar que todos los elementos necesarios están presentes.
Ejemplo: Modelar las clases relacionadas con el sistema de cotización (como Usuario, Cotización, Aseguradora).
Diagramas de Colaboración
Cuándo usarlo: Cuando necesitas mostrar cómo las clases y objetos colaboran para cumplir los requisitos del sistema. Útil para entender la interacción entre diferentes partes del sistema.
Ejemplo: Modelar cómo diferentes clases interactúan para procesar una solicitud de cotización.
Orientados al Flujo
Diagramas de Flujo de Datos
Cuándo usarlo: Cuando necesitas visualizar la transformación y movimiento de datos a medida que avanzan en el sistema. Útil para analizar cómo se procesan los datos y asegurarse de que todos los datos necesarios son capturados y transformados correctamente.
Ejemplo: Modelar el flujo de datos desde la entrada del usuario hasta la generación de una cotización.
Modelos de proceso de desarrollo Los modelos ayudan a organizar las actividades y decisiones durante el desarrollo.
Cascada:
Etapas lineales (planificación → desarrollo → pruebas).
- Ventaja: Simplicidad y claridad.
- Desventaja: Poco flexible, requiere tener los requerimientos muy definidos desde el principio.
Incremental:
Desarrollo en pequeños bloques funcionales.
- Ventaja: Se pueden entregar versiones parciales funcionales rápidamente.
- Desventaja: Requiere buena planificación para integrar los incrementos.
Evolutivo:
Iteraciones para mejorar y extender el sistema.
- Ventaja: Adaptable a cambios durante el desarrollo.
- Desventaja: Puede ser difícil controlar el alcance del proyecto.
Prototipos:
Se crea un modelo inicial para obtener retroalimentación.
- Ventaja: Permite ajustar los requerimientos tempranamente.
- Desventaja: Los usuarios pueden confundir el prototipo con el producto final.
Espiral:
Combina iteraciones con análisis de riesgos en cada ciclo.
- Ventaja: Útil para proyectos complejos con alto grado de incertidumbre.
- Desventaja: Puede ser costoso y complicado de gestionar.
Descripción Dinámica:
Se centra en cómo el sistema cambia con el tiempo debido a eventos o acciones. Representa transiciones entre estados o cómo los datos fluyen y se transforman. Incluye diagramas de actividad, secuencia, o transición de estados. Claves: Se mencionan estados, eventos o acciones desencadenantes. Se modela el comportamiento o las respuestas del sistema a estímulos externos/internos.
Descripción Estática:
Se enfoca en la estructura del sistema: entidades, atributos, relaciones y operaciones. Representa lo que no cambia con el tiempo. Claves: Se mencionan clases, objetos, atributos o funciones. Se describe cómo están organizados los datos o las propiedades de los componentes.
Tipos de pruebas:
1. Unitarias: Verifican componentes individuales (por ejemplo, un módulo de cálculo de descuentos). 2. De integración: Aseguran que los módulos funcionen bien juntos. 3. Funcionales: Comprueban que el sistema cumpla con los requerimientos del cliente. 4. De rendimiento: Evalúan la velocidad, escalabilidad y eficiencia del sistema.
Componentes de un sistema de información
Datos: Entradas básicas, como números o texto sin contexto. Información: Datos procesados que tienen significado y relevancia. Conocimiento: Uso de la información para tomar decisiones.
3. Clasificación de sistemas de información
Sistemas empresariales:
- Procesamiento de transacciones (TPS): Manejan operaciones rutinarias.
- Planificación de recursos empresariales (ERP): Integran procesos internos.
Sistemas de soporte a las decisiones:
- Información administrativa: Generan reportes y análisis para gerentes.
- Soporte a decisiones: Ayudan en decisiones complejas con simulaciones y modelos.
Sistemas de negocios especializados:
- Administración del conocimiento: Organizan información valiosa.
- Inteligencia artificial y sistemas expertos: Simulan procesos humanos de decisión.
- Realidad virtual: Simulaciones inmersivas para capacitación o análisis.
4. Procesos en un sistema de información
Entrada: Recopilación de datos (datos del cliente y el vehículo). Procesamiento: Transformación de datos en información significativa (cálculo de costos). Salida: Resultados útiles para los usuarios (tabla comparativa de cotizaciones). Retroalimentación: Ajustes basados en resultados o nuevas entradas (registros de cotizaciones anteriores para mejorar recomendaciones).
6. Tipos de procesamiento (El procesamiento describe cómo el sistema trabaja con los datos.)
1. Por lotes (Batch):
Se procesan grandes cantidades de datos de una sola vez, en momentos específicos. Ejemplo: Procesar todas las cotizaciones del día durante la noche.
- Ventaja: Eficiente para grandes volúmenes.
- Desventaja: No permite resultados inmediatos.
2. En línea (OLTP – Online Transaction Processing):
Procesa datos en tiempo real, cada vez que se ingresa una solicitud. Ejemplo: Generar una cotización de seguro inmediatamente después de ingresar los datos.
- Ventaja: Respuestas rápidas y actualizadas.
- Desventaja: Puede ser costoso y requiere infraestructura robusta.
3. Tiempo real:
Similar al procesamiento en línea, pero con alta prioridad y mínima latencia. Ejemplo: Control de tráfico aéreo.
- Ventaja: Ideal para sistemas críticos.
- Desventaja: Requiere alta precisión y disponibilidad constante.