Fundamentos de SOA, Modelado de Software y Gestión de Procesos BPM para el Desarrollo Eficaz
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,05 KB
Explorando Conceptos Clave en Desarrollo de Software y Gestión de Procesos
Arquitectura Orientada a Servicios (SOA)
SOA (Arquitectura Orientada a Servicios) es software diseñado para ofrecer servicios que pueden interactuar con diferentes sistemas.
Beneficios de SOA
- Mejora en los tiempos de realización de cambios en los procesos.
- Facilita la evolución hacia modelos de negocio basados en la tercerización.
Modelado de Software
¿Por qué modelar?
El modelado es crucial para construir software de calidad que satisfaga las necesidades de los usuarios. Quien logra un software de calidad tiene negocios sostenibles.
Los requerimientos van de la mano con las especificaciones. Modelar sirve para:
- Comunicar la estructura que se está modelando y su comportamiento.
- Entender que un modelo es la representación de la realidad.
- Reconocer que el modelado forma parte integral del proceso de desarrollo.
¿Qué conseguimos con el modelado?
- Visualizar cómo se quiere que sea el sistema (visualizar el objetivo hacia dónde se quiere ir).
- Especificar la estructura o el comportamiento de un sistema (detallar la estructura del sistema y cómo se comporta).
- Proporcionar plantillas que guíen en la construcción de un sistema.
- Documentar las decisiones que se adoptan (guardando, documentando y llevando un registro de todas las decisiones tomadas).
Principios del Modelado
- Ser capaz de saber qué modelo crear y cómo se da forma a una solución.
- Todo modelo puede ser expresado a diferentes niveles de precisión.
- Los mejores modelos están ligados a la realidad.
Lenguajes y Metodologías Fundamentales
UML (Unified Modeling Language)
UML (Lenguaje Unificado de Modelado) es el lenguaje estándar para escribir los "planos" del software. Es importante entender que UML es solo un lenguaje; es una parte de un todo en el proceso de desarrollo de software. Puede utilizarse para:
- Visualizar especificaciones.
- Construir artefactos del sistema.
- Documentar dichos artefactos.
BPEL (Business Process Execution Language)
BPEL (Lenguaje de Ejecución de Procesos de Negocio) es un lenguaje estandarizado para la composición de servicios web, permitiendo orquestar diferentes servicios para crear procesos de negocio complejos.
BPM (Business Process Management)
BPM (Gestión de Procesos de Negocio) es una metodología empresarial que permite sacar el máximo partido a la gestión de procesos y, a su vez, mejorar la eficiencia en dichos procesos. Estos procesos de negocio deben ser automatizados y modelados de forma continua.
Etapas del BPM
-
Modelamiento:
Desde que se crea el modelo, se contemplan la mejora y los cambios que puede tener este proceso. El actor principal en esta etapa es el analista de procesos.
-
Implementación:
Se toma el análisis realizado y se implementa la tecnología necesaria para automatizar el proceso. Aquí intervienen tanto el analista como el ingeniero de TI.
-
Ejecución:
Los procesos se ejecutan a través de la tecnología implementada. Los actores clave siguen siendo el analista y el ingeniero de TI.
-
Control y Gestión (Monitorización):
Es la etapa donde se realiza la función de control y seguimiento del desempeño. Se identifican cuellos de botella y áreas de mejora. Aquí, los supervisores y gestores de procesos tienen un rol fundamental.
Integración de Aplicaciones y Planificación de Recursos
EAI (Enterprise Application Integration)
EAI (Integración de Aplicaciones Empresariales) consiste en conectar entre sí diversas aplicaciones dentro de una organización, tanto aquellas adquiridas a terceros como las de desarrollo propio, para que funcionen de manera coordinada.
ERP (Enterprise Resource Planning)
ERP (Planificación de Recursos Empresariales) es tanto un modelo de gestión como un producto de software destinado a la planificación integral de los recursos de una empresa.
Aseguramiento y Control de Calidad
QA (Quality Assurance)
QA (Aseguramiento de la Calidad) se refiere al conjunto de actividades planificadas y sistemáticas implementadas dentro del sistema de calidad para ofrecer confianza en que un producto o servicio cumplirá con los requisitos de calidad.
QC (Quality Control)
QC (Control de Calidad) es el conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar que se cumplen los requisitos relativos a la calidad del producto o servicio.