Una arquitectura de software funcional ( FSA ) es un modelo arquitectónico que identifica las funciones empresariales , las interacciones y las necesidades de TI correspondientes . Estas funciones pueden ser utilizadas como referencia por diferentes expertos en el campo para desarrollar sistemas de TI como parte de una empresa cooperativa impulsada por la información. De esta manera, tanto los ingenieros de software como los arquitectos empresariales pueden crear un entorno organizacional integrado y basado en la información.
Descripción general
Cuando es necesario desarrollar e implementar un sistema de software integrado, normalmente se pueden dividir varias tareas y las responsabilidades correspondientes:
- Los consultores de gestión estratégica y de negocios establecen objetivos en relación con un proceso comercial más eficiente / efectivo.
- Los ingenieros empresariales diseñan un proceso empresarial más eficiente y solicitan un determinado sistema de información en forma de arquitectura empresarial.
- Los ingenieros de software crean el diseño de este sistema de información, que describe los componentes y las características estructurales del sistema mediante el uso de un cierto lenguaje de descripción de arquitectura (ADL).
- Los programadores de computadoras codifican los diferentes módulos y realmente implementan el sistema.
La división de trabajo descrita es en realidad mucho más compleja y también involucra a más actores, pero describe la participación de personas con diferentes antecedentes en la creación de un sistema de software que permite a la organización alcanzar los objetivos comerciales. Una amplia variedad de material producido por diferentes actores dentro de este proceso de desarrollo del sistema necesita ser intercambiado y comprendido por múltiples actores.
Especialmente en el campo de la ingeniería de software , se desarrollan y utilizan ampliamente muchas herramientas (A4 Tool, CAME, ARIS ), lenguajes (ACME, Rapide, UML ) y métodos ( DSDM , RUP , ISPL ). Además, la transición entre los ingenieros de software (paso 3) y los programadores de computadoras (paso 4) ya está muy formalizada, por ejemplo, por el desarrollo orientado a objetos .
La fijación de objetivos estratégicos (paso 1) y la correspondiente búsqueda de oportunidades y debilidades de negocio es un tema ampliamente discutido e investigado durante más de cien años. Conceptos como la reingeniería de procesos de negocio , el análisis de mercado de software de productos y el análisis de requisitos se conocen comúnmente y se utilizan ampliamente en este contexto. Estos insumos estratégicos deben utilizarse para el desarrollo de un buen diseño empresarial (paso 2), que luego se puede utilizar para el diseño y la implementación de software, respectivamente.
Estudios recientes han demostrado que estas arquitecturas empresariales se pueden desarrollar mediante varios métodos y técnicas diferentes. Antes de que se discutan en detalle estos métodos y técnicas, se proporciona una definición de arquitectura empresarial :
- Una Arquitectura Empresarial es una base de activos de información estratégica, que define la misión, la información necesaria para realizar la misión y las tecnologías necesarias para realizar la misión, y los procesos de transición para implementar nuevas tecnologías en respuesta a las necesidades cambiantes de la misión.
Esta definición enfatiza el uso de la arquitectura como una rica fuente de información estratégica para la mejora de los procesos comerciales y el desarrollo de los sistemas de información necesarios. Si se definen, mantienen e implementan de manera efectiva, estos planos institucionales ayudan a optimizar las interdependencias e interrelaciones entre las operaciones comerciales de una organización y la TI subyacente que respalda las operaciones.
Después de leer la definición de arquitectura de software funcional al comienzo de esta entrada, podemos ver una arquitectura de software funcional como un tipo de arquitectura empresarial que puede usarse como una rica referencia para el desarrollo de un sistema de información integrado. Nombrarlo como una arquitectura de software funcional alienta a los profesionales a utilizarlo como una entrada estratégica para una arquitectura técnica . Por lo tanto, se necesita un mapeo formal entre la arquitectura de software funcional y un tipo de ADL . De esta manera, se puede realizar el uso formal y la reutilización de arquitecturas empresariales como entrada estratégica para arquitecturas de software.
Desarrollo
A medida que se amplían los límites de una empresa, se vuelve cada vez más importante que todas las partes involucradas desarrollen y compartan un "panorama general" común de las actividades necesarias de negocios, personas y sistemas de TI. [1] Una arquitectura de software funcional hace esto al desglosar la organización en funciones comerciales y las correspondientes necesidades de TI. De esta manera, el ingeniero empresarial proporciona una rica referencia esquemática que el ingeniero de software puede utilizar en el desarrollo de estos sistemas de TI.
El desarrollo de una arquitectura de software funcional se puede realizar mediante varios métodos y técnicas (combinados). El objetivo principal será llenar el "vacío" entre los ingenieros empresariales y los ingenieros de software mediante el uso de diferentes combinaciones de métodos y técnicas. Sin embargo, este objetivo solo se puede alcanzar cuando los métodos combinados dan como resultado arquitecturas de software funcionales claras y ricas que son desarrolladas y utilizadas por ambas partes.
La optimización de los procesos comerciales internos y externos mediante la reingeniería de procesos es uno de los principales objetivos que puede tener una empresa en momentos de alta presión externa. Un proceso empresarial implica actividades de creación de valor con determinadas entradas y salidas, que están interconectadas y, por lo tanto, contribuyen conjuntamente al resultado (producto o servicio) del proceso. La reingeniería de procesos cubre una variedad de perspectivas sobre cómo cambiar la organización. Se ocupa del rediseño de procesos, sistemas, políticas y estructuras organizativas estratégicas y de valor añadido para optimizar los procesos de una organización. [2]
Modelando el negocio
Dentro del área de las metodologías formales de ingeniería empresarial , se diseñan, prueban y utilizan ampliamente métodos y técnicas para ofrecer a las organizaciones soluciones de procesos comerciales reutilizables:
- Metodología de arquitectura de sistemas abiertos de fabricación integrada por ordenador (CIMOSA) [3]
- Metodología de definición integrada (IDEF) [4]
- Redes de Petri [5]
- Lenguaje de modelado unificado (UML) o lenguaje de modelado empresarial unificado (UEML) [6] [7]
- Diagramas de funciones empresariales (EFD)
Estas metodologías / técnicas y métodos son todos más o menos adecuados para modelar la empresa y sus procesos subyacentes. Entonces, ¿cuáles de ellos son adecuados para un mayor desarrollo de los sistemas de tecnología de la información que son necesarios para procesos efectivos y eficientes (re) diseñados? Más importante aún, ¿por qué utilizar una metodología empresarial que consume mucho tiempo cuando los ingenieros de software e información no pueden o no quieren utilizar los resultados poco claros en el desarrollo de sistemas de TI que permitan la eficiencia? Antes de que podamos dar las respuestas a estas preguntas, se dan algunas descripciones breves de los métodos enumerados anteriormente.
Arquitectura de sistemas abiertos de fabricación integrada por computadora
CIMOSA proporciona plantillas y construcciones de modelado interconectadas para codificar los aspectos comerciales, de personas y de TI de los requisitos empresariales. Esto se hace desde múltiples perspectivas: vista de información, vista de funciones, vista de recursos y vista de organización. Estas construcciones se pueden utilizar además para estructurar y facilitar el diseño y la implementación de sistemas de TI detallados.
La división en diferentes puntos de vista lo convierte en una referencia aclaratoria para los ingenieros empresariales y de software. Muestra las necesidades de información para diferentes funcionalidades empresariales (actividades, procesos, operaciones) y los recursos correspondientes. De esta manera, se puede determinar fácilmente qué sistema de TI satisfará las necesidades de información en una determinada actividad y proceso.
Definición integrada (IDEF)
IDEF es una técnica de modelado estructurado , que se desarrolló por primera vez para el modelado de sistemas de fabricación. Ya estaba siendo utilizado por la Fuerza Aérea de los Estados Unidos en 1981. Inicialmente, tenía 4 notaciones diferentes para modelar una empresa desde un cierto punto de vista. Estos fueron IDEF0 , IDEF1 , IDEF2 e IDEF3 para análisis funcional, de datos, dinámico y de proceso, respectivamente. En las últimas décadas, se han desarrollado de forma incremental varias herramientas y técnicas para la integración de las notaciones.
IDEF muestra claramente cómo fluye un proceso comercial a través de una variedad de funciones comerciales descompuestas con las entradas, salidas y actores de información correspondientes. Al igual que CIMOSA, también utiliza diferentes vistas empresariales. Además, IDEF se puede transformar fácilmente en diagramas UML para el desarrollo posterior de sus sistemas. estas características positivas lo convierten en un método poderoso para el desarrollo de arquitecturas de software funcionales.
Redes de Petri
Las redes de Petri son herramientas conocidas para modelar sistemas de fabricación. [8] Son muy expresivos y proporcionan buenos formalismos para el modelado de sistemas concurrentes . Las propiedades más ventajosas son las de representación simple de estados, transiciones simultáneas del sistema y capacidades para modelar la duración de las transiciones.
Las redes de Petri, por lo tanto, se pueden usar para modelar ciertos procesos comerciales con el estado correspondiente y las transiciones o actividades dentro y los resultados. Además, las redes de Petri se pueden utilizar para modelar diferentes sistemas de software y transiciones entre estos sistemas. De esta forma, los programadores lo utilizan como referencia de codificación esquemática.
En los últimos años, varios intentos han demostrado que las redes de Petri pueden contribuir al desarrollo de la integración de procesos comerciales. Uno de ellos es la metodología Model Blue, que es desarrollada por IBM Chinese Research Laboratory y describe la importancia de la integración empresarial impulsada por modelos como un enfoque emergente para la construcción de plataformas integradas. [9] También se muestra un mapeo entre su visión empresarial Model Blue y una Petri Net equivalente, lo que indica que su investigación cierra la brecha entre las empresas y las TI. Sin embargo, en lugar de Petri Nets, prefieren utilizar su propia vista de Model Blue IT, que puede derivarse de su vista empresarial a través de un motor de transformación.
Lenguaje de modelado unificado
UML es un lenguaje de modelado ampliamente aceptado para el desarrollo de sistemas y aplicaciones de software. La comunidad orientada a objetos también intenta utilizar UML con fines de modelado empresarial. Enfatizan el uso de objetos empresariales u objetos comerciales a partir de los cuales se fabrican sistemas empresariales complejos. Una colección de estos objetos y las interacciones correspondientes entre ellos pueden representar un proceso o sistema empresarial complejo. Mientras que las redes de Petri se centran en la interacción y los estados de los objetos, UML se centra más en los propios objetos de negocio. A veces, estos se denominan "bloques de construcción de la empresa", que incluyen recursos, procesos, objetivos, reglas y metamodelos. [10] Aunque UML de esta manera puede usarse para modelar un sistema de software integrado, se ha argumentado que la realidad de los negocios puede modelarse con un lenguaje de modelado de software. En reacción, la comunidad orientada a objetos crea extensiones comerciales para UML y adapta el lenguaje. UEML se deriva de UML y se propone como lenguaje de modelado empresarial. La pregunta sigue siendo si esta transformación empresarial es lo correcto. Se dijo anteriormente que UML en combinación con otros métodos comerciales "puros" puede ser una mejor alternativa.
Diagramas de funciones empresariales
EFD es una técnica de modelado utilizada para la representación de funciones empresariales y las interacciones correspondientes. Se pueden modelar diferentes procesos comerciales en estas representaciones mediante el uso de "módulos de función" y activadores. Un proceso de negocio inicial entrega diferentes entradas a diferentes funciones. Un proceso que fluye a través de todas las funciones y subfunciones crea múltiples salidas. Los diagramas de funciones empresariales ofrecen una representación detallada y muy fácil de usar de un proceso empresarial y las funciones, entradas, salidas y disparadores correspondientes. De esta manera, EFD tiene muchas similitudes con los diagramas IDEF0, que también representan de manera jerárquica los procesos de negocio como una combinación de funciones y disparadores. La diferencia es que un EFD coloca las funciones comerciales en la perspectiva jerárquica de una organización, que describe el flujo descendente de ciertos procesos en la organización. Por el contrario, los diagramas IDEF0 muestran las responsabilidades de ciertas funciones comerciales mediante el uso de flechas. Además, IDEF0 tiene una representación clara de las entradas y salidas de cada (sub) función.
EFD posiblemente podría utilizarse como interfaz empresarial para un lenguaje de modelado de software como UML. El gran parecido con IDEF como herramienta de modelado indica que se puede hacer. Sin embargo, se necesita más investigación para mejorar la técnica EFD de tal manera que se puedan realizar asignaciones formales a UML. [1] sobre el uso complementario de IDEF y UML ha contribuido a la aceptación de IDEF como interfaz empresarial. Debería realizarse un estudio similar con EFD y UML.
Referencias
- ^ a b Kim y Weston y Hodgson y Lee (2002); El uso complementario de IDEF y UML. Ingeniería de sistemas de información, Deajon University Corea del Sur, Computación e Ingeniería Industrial 50, 35–56.
- ^ Zakarian y Kusiak; Análisis y reingeniería de procesos: Departamento de Ingeniería Industrial, Universidad de Iowa, EE. UU., Computación e Ingeniería Industrial 41, 135–150
- ^ Beekman, (1989); Comité Europeo de Normalización, ECN TC310 WG1, 1994
- ^ Fuerza aérea estadounidense (1981); Arquitectura ICAM parte 1, Ohio, Laboratorio de Materiales de la Fuerza Aérea, Wright-Patterson
- ^ Peterson JL (1981); Teoría de la red de Petri y modelado de sistemas, Englewood Cliffs, Nueva Jersey, Prentice Hall.
- ^ # Marshall, C. (2000); Modelado empresarial con UML, ISBN 0-201-43313-3 , Addison-Wesley, MA.
- ^ François Vernadat ; Una visión para el trabajo futuro del grupo de trabajo (IFAC-IFIP).
- ^ Silva, M. y Valette, R. (1989); Redes de Petri y fabricación flexible. Lecture Notes on Computer Science, 424, 374–417.
- ^ Zhu y col. (2004); Integración y gestión de procesos de negocio impulsada por modelos: un estudio de caso con la plataforma de servicio regional Bank SinoPac, IBM Corporation, Res. & Dev. Vol. 48 No. 5/6.
- ^ Eriksson y Penker (1998); Kit de herramientas UML, Wiley, Nueva York.