UML. Una Metodología Orientada a Objetos aplicada a la Reingeniería de la Empresa MIGUEL REBOLLO PEDRUELO Departamento de Sistemas Informáticos y Computación Universidad de Valencia El proceso de reingeniería busca construir el modelo de una situación real, con el fin de determinar su funcionamiento para mejorarlo posteriormente. Cuando el sistema que se considera es el mundo empresarial, se habla de reingeniería de la empresa. Para realizar este proceso se pueden utilizar herramientas que nacen del campo de la Infor mática, en concreto el análisis y diseño orientado a objetos. En el presente artículo se muestra cómo aplicar la metodología y el lenguaje UML al proceso de reingeniería de la empresa. Esta técnica permite determinar la estructura de la empresa y sus procesos internos y externos, de forma que es posible detectar y co rregir un posible malfuncionamiento, modificar su estructura para modernizarla, apli car técnicas de control, etc… usando unos mecanismos formales que garantizan su co rrección y facilitan la construcción de sistemas de información que soporten los nuevos procesos rediseñados. 1. INTRODUCCIÓN Ha llegado el momento de cambiar estructura, administración y desempeño de los negocios: entramos en el siglo XXI con empresas creadas en el siglo XX con las ideas del siglo XIX. Estos cambios están motivados, entre otras razones, por la fuerte variación que se ha producido en los clientes, en la competencia y en el propio proceso de cambio. Los clientes exigen productos y servicios diseñados a medida. Ya no se trata con un mercado masivo que está dispuesto a absorber cualquier producto, si no que saben lo que quieren, cuándo lo quieren, bajo qué condiciones y cuánto están dispuestos a pagar por ello. Otro aspecto importante es la naturaleza del cambio, que se ha convertido en algo general y permanente. Este cambio continuo ha reducido el ciclo de vida de los producESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 106 MIGUEL REBOLLO PEDRUELO 498/00 tos, así como el tiempo disponible para diseñar e introducir otros nuevos [KOTLER, 95] [SERRANO, 94]. El problema actual es que muchas empresas parecen estar en decadencia. Los motivos a los que se achaca son muy diversos. Unos piensan que se debe a factores externos, sobre los que no se tiene control. Otros, a que no se da con el producto adecuado. Hay quienes deciden plantear nuevas estrategias corporativas para “salir de la crisis”, como cambios de mercado, pasarse a otro negocio o incluso manipular los activos. También están los que lo atribuyen a deficiencias en la administración y piensan que la solución es hacer cambios en la gestión de la empresa, variando su estructura departamental o el estilo de dirección. Muchos ven en la automatización el remedio a sus problemas. Para determinar qué ocurre realmente y cómo solucionar estos problemas hay que fijarse en las empresas que tienen éxito: son las que hacen mejor su trabajo. Lo que se debe mejorar es, entonces, la forma en la que se realizan las distintas tareas que se llevan a cabo en la empresa. 2. REINGENIERÍA DE LA EMPRESA 2.1. Concepto de reingeniería La reingeniería propone obtener una visión de la empresa a partir de sus procesos. “Es la revisión fundamental y el rediseño radical de procesos para alcanzar mejoras es pectaculares en medidas críticas y contemporáneas de rendimiento, tales como costes, calidad, servicio o rapidez” [HAMMER, 94], [P ÉREZ, 96]. Esta definición se basa en el concepto de proceso. Un proceso es un conjunto de actividades que recibe una o más entradas y crea un producto de valor para el cliente [FERNANDEZ, 96], [KUBECK, 95] [OULD, 94]. Esta definición es muy útil sobre todo a la hora de rediseñar los procesos: todo aquello que no aporte algo de valor al producto, o al menos no sea considerado como algo imprescindible, no debería formar parte del proceso rediseñado. Esto conlleva implícitamente una reducción en las tareas de control. Otra implicación de la visión de la empresa a través de sus procesos es la abolición de la división de éstos en tareas más sencillas (ALAN SMITH, 1776), que tiende a perder de vista el objetivo global. Las empresas rediseñadas suelen necesitar GENERALISTAS, no ESPECIALISTAS. La reingeniería consiste en empezar de cero, abandonando reglas anticuadas y supuestos fundamentales heredados. Este sistema para reformar la empresa tiene una serie de características comunes añadidas: ambición (no busca mejoras pequeñas), quebrantamiento de reglas y uso creativo de la informática. Dentro de esta revolución de las empresas, la Informática tiene un papel fundamental [WILEY, 94], [HAMMER, 94]. En primer lugar, no se debe confundir los cambios tecnolóESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 499/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 107 gicos con la automatización. Usar nuevas tecnologías debe suponer un cambio en la forma de trabajar y en los métodos empleados. La introducción de las tecnologías de la información ha favorecido la ruptura de una serie de reglas que hasta hace algunos años se consideraban inamovibles: • “La información sólo puede estar en un sitio”. Ahora, Las bases de datos distribuidas permiten disponer de la información allá donde es necesaria, sin duplicidad en los datos, manteniendo la información dispersa en diversas localizaciones. • “Sólo los expertos hacen el trabajo complejo”. Los sistemas expertos, como aplicación de las técnicas más novedosas de la Inteligencia Artificial, permiten a los usuarios consultar a los ordenadores como si de expertos en materias concretas se tratara. • “Escoger entre centralizar y descentralizar”. La proliferación de las redes de telecomunicaciones y el gran desarrollo de Internet permite mantener centralizado sólo lo imprescindible y repartir localmente la información necesaria, sin perder las ventajas de cada uno de estos métodos. • “Sólo los gerentes toman decisiones”. El desarrollo de los sistemas de ayuda a la toma de decisiones (DSS —Decision Support System—) permite a los usuarios consultar grandes bancos de datos con los que basar las decisiones que afectan directamente a su trabajo. Todo esto conlleva una serie de implicaciones que se deben traducir en un cambio en el comportamiento y la filosofía de una empresa. Estas implicaciones pueden resumirse en una: las compañías deben ser flexibles y rápidas en sus reacciones, tal y como exigen los clientes, la competencia y el mismo proceso de cambio. 2.2. Ingredientes para un proceso de reingeniería formal Un proceso formal de reingeniería incluye [JACOBSON, 94]: • una descripción que especifique todas las actividades involucradas y se adapte al proyecto de reingeniería; • modelos del negocio, centrados en la arquitectura y dinámica de la empresa. Han de ser diferentes a los modelos tradicionales, que fallan porque modelan la empresa como si fuera un ordenador con una base de datos y un programa que la manipula; • un proceso para el desarrollo de un sistema de información que esté realmente integrado en la empresa rediseñada. Un sistema así debe construirse en paralelo con los nuevos procesos de los negocios. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 108 MIGUEL REBOLLO PEDRUELO 500/00 Los procesos son rediseñados por un equipo de reingeniería, habitualmente compuesto por gente que procede de distintos ámbitos de la empresa. Para que este equipo pueda realizar su trabajo adecuadamente necesita: • un proceso formal para rediseñar la empresa; • herramientas para visualizar, explicar, comprobar y evaluar sus ideas, soluciones, decisiones y acciones; • modelos expresivos para la compañía rediseñada, que también son utilizados por el personal que construye los sistemas de información. Este último punto es especialmente importante, pues la Informática tiene un gran peso en el éxito de los nuevos procesos. Por eso, es importante que los modelos sean lo suficientemente expresivos y flexibles como para representar cualquier situación del mundo real, pero también deben ser formales y sin ambigüedades, de forma que no necesiten transformaciones ni interpretaciones para desarrollar el sistema de información que les dé soporte. La técnica que se propone en el presente artículo está basada en las siguientes ideas fundamentales: • Casos de uso (1). Constituyen una forma natural de identificar los procesos de la empresa. Los usuarios de la empresa hacen uso de ésta a través de procesos. Cada vía para “utilizar” la empresa es un caso de uso. • La metodología orientada a objetos (OO), que se expondrá en el siguiente apartado, es excelente para clasificar el trabajo interno de una empresa —sus procesos, productos, servicios, recursos, …— y cómo estos elementos dependen los unos de los otros. • El modelo de una empresa rediseñada se construye mediante la unión de la reingeniería de la empresa y una metodología de análisis y diseño orientado a objetos. 3. ANÁLISIS ORIENTADO A OBJETOS El paradigma orientado a objetos surge en los años 80 como un nuevo enfoque para el desarrollo de software. Sustituye a modelos anteriores, ya desfasados, que consideran la resolución de problemas mediante el modelo clásico de entrada → proceso → sali da o modelos basados en estructuras jerárquicas de información [PRESSMAN, 93]. Los objetos se emplean para representar una gran variedad de elementos del sistema: (1) Use cases” en el inglés original. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 501/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 109 • entidades externas, ajenas al sistema pero que interactúan con él; • elementos físicos que forman parte del dominio del problema; • sucesos: operaciones que tienen lugar; • papeles o roles que desempeñan las personas que interactúan con el sistema; • unidades organizativas: estructuras que aglutinan los objetos en entidades de nivel superior; • lugares: establecen el contexto del problema y el funcionamiento general del sistema. El término “orientado a objetos” se aplica a multitud de campos: sistemas gestores de bases de datos, lenguajes de programación, metodologías de análisis y diseño… Un objeto es una entidad dinámica cuyo estado interno evoluciona a lo largo de su historia como consecuencia de la ocurrencia de eventos. Es el elemento que más se aproxima a cualquier entidad del mundo real, por lo que resulta un mecanismo muy intuitivo. Se basa en dos conceptos: la ocultación de información y los tipos abstractos de datos (TAD’s). El primero consiste en hacer inaccesibles algunas partes, ocultándolas a los usuarios, que sólo pueden acceder al estado interno del objeto a través de una interfaz concreta. Como un TAD, un objeto encapsula datos y operaciones. Los datos representan el estado de los objetos en un momento dado y las operaciones actúan sobre los datos para modificarlos [PASTOR, 93]. Un sistema construido con un método orientado a objetos se caracteriza porque sus componentes [PASTOR, 96]: • son “paquetes” que encapsulan estática (datos) y dinámica (funciones); • pueden heredar atributos y comportamiento de otras componentes; • se comunican a través de mensajes. 3.1. Conceptos fundamentales La entidad de más alto nivel es la clase. Una clase agrupa los objetos con un comportamiento similar, definiendo la estructura y el comportamiento común de todos los objetos que forman parte de ella. Puede verse como un esquema o un patrón de todos los objetos de la clase. Cada uno de los objetos se considera una instancia de esa clase. Surge la necesidad de distinguir las instancias de una misma clase, por lo que se recurre a la identificación de los objetos a través de una serie de variables, denominadas atributos, que describen su estado. Debe haber al menos una variable especial a través de la cual se pueda identificar de forma inequívoca a cada objeto. A esta variable se le denomina identificador. Los ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 110 MIGUEL REBOLLO PEDRUELO 502/00 atributos pueden permanecer constantes o ir modificando su valor a lo largo de la vida del objeto. El comportamiento de un objeto se representa a través de las acciones que requiere a otros objetos y de las que él mismo ofrece a los demás. Las operaciones propias de un objeto se denominan métodos. Los objetos se comunican entre sí mediante mensa jes (operaciones indicadas en la especificación), que provocan la ejecución de dichos métodos. 3.2. Qué es UML UML (Unified Modeling Language —Lenguaje de Modelado Unificado—) es un lenguaje para la especificación, creación y documentación de sistemas informáticos, aunque puede utilizarse también para modelar cualquier tipo de sistemas, entre los que se encuentran las empresas [BOOCH, 97], [JACOBSON, 97], [RUMBAUGH, 97]. Proporciona una serie de conceptos de ingeniería útiles para el modelado de sistemas grandes y complejos. Además del lenguaje, junto con UML se propone una metodología de análisis y diseño orientado a objetos. La primera propuesta data de Septiembre de 1997. Fusiona los conceptos propuestos en las metodologías de BOOCH [BOOCH, 91], OMT [RUMBAUGH, 91] y OOSE [JACOBSON, 92]. Es un lenguaje (y una metodología) que debe aplicarse en un contexto de procesos y ese es, precisamente, el entorno necesario para aplicar la reingeniería de la empresa. El resultado es un proceso de desarrollo dirigido por casos de uso, con una arquitectura centralizada (aunque no excluye la posibilidad de modelar sistemas distribuidos), iterativo e incremental. UML es una arquitectura jerarquizada por niveles y organizada en paquetes. Dentro de cada paquete, los elementos del modelo se definen en términos de una sintaxis abstracta (diagrama de clases), reglas bien formadas (restricciones sobre el modelo) y una semántica. Incorpora todos los conceptos asumidos por la comunidad orientada a objetos. 3.3. Elementos básicos de UML UML utiliza una representación gráfica para modelar los sistemas. Cada diagrama tiene asociado un nombre, una notación y una semántica que proporciona un formalismo adecuado. Los diagramas que forman el modelo de un sistema genérico son los que se describen a continuación. 3.3.1. Diagrama de casos de uso Delimita el sistema a construir y define su funcionalidad. Utiliza dos elementos: los actores y los casos de uso. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 503/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 111 Un caso de uso es una entidad funcional que representa un proceso en el modelo, visto como la secuencia de mensajes que intercambian el sistema y las entidades que interactúan con él (actores), junto con las acciones que realiza el sistema como respuesta a los estímulos externos. Un actor representa el papel que desempeña un elemento externo al sistema. Venta por teléfono Comprobar estado vendedor Realizar pedido cliente Despachar pedido dependiente Proporcionar crédito supervisor 3.3.2. Diagrama de clases Muestra la estructura estática del modelo, compuesto por todo aquello que puede existir en el mundo real (y es de relevancia para el sistema), su estructura interna y sus relaciones. Especifica las clases que forman el sistema, unidas por relaciones de dos tipos: asociación y generalización. Dentro de cada clase, se indica su estructura (atributos) y su comportamiento (métodos). CLIENTE Nif: String Nombre: String Cuenta corriente: Integer Realizar Compra () Solicitar Crédito (importe: Integer) Pedir Información (tema:String) Una clase se representa como un rectángulo dividido entres partes. En la primera de ellas se indica el nombre de la clase, en la segunda sus atributos (indicando su nombre y el tipo de datos que almacena) y en la tercera los métodos (su nombre y los argumentos que necesita). Las clases pueden relacionarse entre sí mediante generalización o mediante asociación. La generalización permite realizar una clasificación taxonómica entre clases más ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 112 MIGUEL REBOLLO PEDRUELO 504/00 generales y otras más específicas, consistentes con las primeras y que añaden más información. A la clase general se le denomina superclase y a la específica subclase. Se representa mediante una flecha que parte de la subclase y termina en la superclase. La aso ciación es la relación más frecuente. Se utiliza para representar cualquier otro tipo de relación existente entre las clases (es-parte-de, es-un,… ). Se representa con una línea que une las dos clases relacionadas. A estas líneas se le pueden añadir distintos símbolos que indican sus propiedades y características. 3.3.3. Diagrama de secuencia Muestra cómo interactúan entre sí los objetos definidos en el modelo, así como los mensajes que intercambian. Normalmente, cada caso de uso tiene asociado un diagrama de secuencia que especifica cómo se desarrolla el proceso a lo largo del tiempo. emisor centralita receptor descolgar dar tono marcar n.º encaminar dar tono sonar descolgar parar tonos parar timbre Un diagrama de secuencia tiene dos dimensiones: la vertical representa el tiempo (en dirección descendente) y la horizontal los distintos objetos que intervienen. Cada objeto tiene asociado un eje vertical y los mensajes se representan como flechas que van de un eje a otro. 3.3.4. Diagrama de colaboración Muestra cómo colaboran los objetos del sistema entre sí, pero sin considerar el tiempo de forma explícita. Los elementos que lo componen son clases y los mensajes que se envían entre ellas. Con él se determina el comportamiento global de un proceso, así como los elementos que cooperan para realizar una determinada acción. Suele haber uno para cada caso de uso. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 505/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 113 Nótese que tanto el diagrama de secuencia como el de colaboración expresan información similar. Por eso, normalmente, es suficiente construir sólo uno de ellos para modelar el sistema. Los diagramas de secuencia muestran de forma explícita el flujo de mensajes en el sistema, siendo más adecuados para modelos de tiempo real o escenarios complejos. Los diagramas de colaboración muestran relaciones entre los objetos y son mejores para comprender todos lo efectos que produce un objeto. 3.3.5. Diagrama de transición de estados Expresa la secuencia de estados en los que se puede encontrar un objeto durante su vida en el sistema, desde que se crea hasta que se destruye. Un objeto cambia de estado como respuesta a un cierto mensaje. Además, en función de su estado actual, el objeto responderá a un tipo de mensaje o a otro. Se representa mediante una máquina de esta dos [HOPCROF, 79], donde los símbolos de estado representan los posibles estados del objeto y las flechas corresponden a las transiciones entre estados. activo inválido 15 seg. marcar dígito 15 seg. levantar auricular tono de preparado marcar dígito marcando terminar marcar conectando ocioso tono de ocupado colgar auricular hablan- ocupado receptor contesta conectado sonando 3.3.6. Diagrama de actividad Es una variación de la máquina de estados, en la que cada estado es una actividad que representa la ejecución de una operación y las transiciones se disparan por su terminación. Representa un proceso completo o una parte de él, asociándose a un caso de uso, a una clase o a un método de una clase. Su propósito es centrar la atención en el flujo de control de un proceso interno del modelo. Los elementos de un diagrama de actividad son: ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 114 MIGUEL REBOLLO PEDRUELO 506/00 • acciones: representan el estado asociado a una operación interna; • decisiones: expresan una bifurcación como consecuencia de la evaluación de una condición; • mensajes: indican el envío o la recepción de un mensaje. Marcar n.º [coste < 50$] Calcular coste enviar [coste ≥ 50$] recibir 4. REINGENIERÍA DE LA EMPRESA CON UML El equipo de reingeniería necesita modelos de los procesos de la empresa, centrando la atención en aquellos elementos y relaciones que resulten significativos. UML es un lenguaje y una metodología adecuada para modelar el funcionamiento actual de la empresa, pues permite detectar posibles errores de concepto y mejoras eventuales de los procesos, y también para diseñar los procesos nuevos. La metodología a seguir con UML favorece un ciclo de vida en espiral para el modelado, en contraposición con los ciclos de vida secuenciales clásicos (en los que las tareas de especificación, análisis, diseño, implementación y mantenimiento se realizan en estricto orden) [PRESSMAN, 93]. El ciclo de vida en espiral es un proceso que construye el sistema final de forma incremental, partiendo de las especificaciones iniciales y generando prototipos cada vez más refinados y completos, que valida el usuario. El primer paso consiste en obtener los requerimientos de los procesos rediseñados, que normalmente se le suministran al equipo de reingeniería (o genera él mismo) en forma de enunciado. A continuación se realiza el análisis y diseño de estos procesos partiendo de cero. En esta fase, el equipo construye todos los diagramas propuestos en UML, con los que el proceso queda completamente especificado. 1. Se comienza con el diagrama de casos de uso, que limita el modelo a construir identificando elementos internos y externos a la empresa, así como los procesos fundamentales que realiza. 2. Después se construye el diagrama de clases, que contiene todos los objetos relevantes que intervienen en los procesos rediseñados. 3. Dependiendo de las características de los procesos, se debe escoger entre utilizar un diagrama de secuencia o uno de colaboración para cada caso de uso. En cualquier caso, deben figurar al menos una vez cada una de las clases definidas en el diagrama anterior. Si alguna no interviene, debe eliminarse del modelo. AsiESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 507/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 115 mismo, todos los mensajes tienen que estar definidos como métodos de las clases que les dan soporte. 4. Un diagrama de transición de estados por cada clase, aunque en ocasiones puede utilizarse para una jerarquía de generalización completa. Muestra también los mensajes que provocan los cambios de estado, definidos en el diagrama de clases. 5. El último es el diagrama de actividad, que muestra con detalle la secuencia de acciones que se debe seguir para ejecutar un proceso o un método de una clase y los puntos de sincronismo con las demás tareas (envío/recepción de mensajes). Todos estos diagramas constituyen un modelo de la empresa rediseñada. Si es necesario, se puede incluso construir un prototipo de sistema de información que proporcione un soporte informático básico al modelo inicial. Este modelo es el primer resultado del equipo de reingeniería, pero no necesariamente el definitivo. Los diagramas se deben revisar, refinándolos más o corrigiendo y modificando algún componente. El modelo revisado constituye un segundo prototipo de la empresa. Este proceso continua hasta que se considere que el modelo refleja exactamente la empresa rediseñada. 5. EJEMPLO DE APLICACIÓN ARIMEZ S.A. es una empresa constructora cuya actividad se centra principalmente en realizar grandes obras para el sector público. Una entidad saca a concurso público la adjudicación de una obra, publicándolo en el B.O.E. y en el de la provincia, así como en dos periódicos de tirada nacional. ARIMEZ acude a la administración correspondiente para obtener una copia del proyecto para su evaluación. La oficina técnica, con el apoyo del departamento de administración, lo estudia y confecciona una propuesta, especificando (si procede) una baja en el importe del presupuesto o en tiempo de ejecución sobre el proyecto inicial. Esta propuesta se envía en la entidad. Cuando finaliza el plazo de presentación de ofertas, la entidad resuelve el concurso público y adjudica la obra a una empresa determinada. En el plazo de 7 días se firma el contrato, asumiendo la cuantía y duración especificadas en la propuesta y fijando un calendario para la ejecución de la obra. Periódicamente, la entidad supervisa el estado de la obra, realizando una serie de mediciones sobre el volumen de trabajo realizado. Con los resultados de estas mediciones, se elabora una valoración y la entidad emite una certificación y abona a ARIMEZ la cantidad correspondiente. Cuando ARIMEZ concluye la obra, la entidad emite una última certificación y, en el caso de que se haya ejecutado un volumen distinto al presupuestado, realiza una liquidación por la diferencia, tras la cual el proyecto se da por concluido. En ese momento, comienza un periodo de garantía, pasado el cual se archiva el proyecto. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 116 MIGUEL REBOLLO PEDRUELO 508/00 5.1. Diagrama de casos de uso Las tareas principales en las que se ve involucrada ARIMEZ pueden resumirse en tres procesos fundamentales: la confección de propuestas para proyectos, la adjudicación o rechazo de las propuestas en concurso público y la certificación de los trabajos realizados a medida que avanza la obra. Cada uno de estos procesos se modela como un caso de uso. Confeccionar propuesta Entidad Oficina técnica Adjudicar Certificar Dpto. Administración Los actores, elementos activos de estos procesos, son: la entidad pública (externo) y la oficina técnica y el departamento de administración (internos). 5.2. Diagrama de clases El diagrama de clases muestra todos los objetos, activos o pasivos, que intervienen en los procesos de ARIMEZ (2). Las clases principales del modelo aparecen agrupadas en una jerarquía de generalizaciones que tiene el proyecto como superclase. La propuesta es una subclase del proyecto, al que se le añade la baja que oferta la empresa (frecuentemente, expresada en porcentaje). Las propuestas, tras la resolución del concurso, se clasifican en acaptadas o rechazadas. Esta clasificación de las propuestas aparece en el diagrama como una nueva generalización. Tras la firma del contrato, la propuesta adjudicada recibe más información (como la fecha de inicio y la de finalización), pasando a ser una obra en ejecución. Cuando termina, se le añaden los datos reales de ejecución y se archiva. Una obra archivada es a su vez una subclase de la obra en ejecución. Los documentos que se generan en el proceso también se modelan como clases. En el caso de ARIMEZ, los únicos documentos que se especifican son las certificaciones y la liquidación final. Deben asociarse a la clase que los genera (la entidad) y a la (2) Por motivos de espacio y de complejidad del diagrama, sólo aparece el nombre de las clases y las relaciones que existen entre ellas. Para que el diagrama sea completo, se debe indicar, para cada clase, todos sus atributos y todos sus métodos. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 509/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 117 proyecto 1..n. 1..n. estudia 1..n. 1..n. elabora 1..n. elabora propone propuesta evalúa 1 1 oficina técnica 1 1 1 rechazada entidad 1 1 adjudicada emite dpto. administración cobra 1..n. certificación abona 1..n. 1 1 1..n. ejecución 1 realiza liquida 1..n. liquidación 1 archivada clase que los recibe (una obra en ejecución). Se unen a través de asociaciones, que se etiquetan con un nombre y una cardinalidad (el número de instancias con las que se relaciona).Así, una entidad emite una o varias certificaciones (marcado como 1..n), y cada certificación sólo es emitida por una entidad (marcada como 1). Por último, deben aparecer los actores del diagrama de casos de uso (3), relacionados mediante asociaciones con las clases sobre las que interactúan directamente. 5.3. Diagrama de secuencia Cada proceso de ARIMEZ debe tener un diagrama de secuencia o de colaboración asociado. La figura muestra el diagrama de secuencia asociado al proceso de certificación de la obra (ver enunciado). Los menajes muestran el flujo de información a lo largo de este proceso. En el modelo inicial, la certificación está unida a la finalización de la obra. En un futuro refinamiento, se puede considerar la posibilidad de separar este proceso en dos, uno dedicado exclusivamente a la certificación y otro que modela las acciones que se realizan al finalizar la obra (última certificación, liquidación y periodo de garantía). (3) Algunos actores pueden corresponder a entidades externas sobre las que no se desea almacenar ningún tipo de información. En ese caso, no aparecen en el diagrama de clases. ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 118 MIGUEL REBOLLO PEDRUELO dpto. admón. ejecución certificación 510/00 entidad archivada supervisar resultado emitir abonar cobrar liquidar finalizar 5.4. Diagrama de transición de estados Cada clase del modelo tiene asociado un diagrama de transición de estados, que muestra cómo evoluciona en el sistema a lo largo de su vida. Se puede emplear un solo diagrama para representar toda una red de generalizaciones, tal y como muestra este caso. proyectada certificar realizar propuesta ofertada adjudicada adjudicar en ejecución firmar en garantía liquidar rechazar finalizar plazo rechazada archivada Una obra arranca en estado “proyectada” y a medida que le llegan distintos eventos (realizar propuesta, aceptar/rechazar,…) va cambiando de estado. Algunas clases están representadas por un único estado (como la clase adjudicada), pues un evento de cambio de estado hace que también cambie de clase (al firmarla, pasa a ser una obra en ejecución). ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 511/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 119 5.5. Diagrama de actividad El último paso antes de dar por concluido el modelo consiste en especificar con más detalle cada una de las tareas que se realizan en el sistema, bien desde el punto de vista de los procesos o bien ofreciendo un mayor nivel de detalle, modelando los métodos de las clases. Inicio emitir propuesta estudiar rechazada aceptada firmar contrato fin El diagrama de la figura muestra la secuencia de acciones que debe realizarse en el proceso de adjudicación de una obra a una empresa. Nótese que, en el caso de que se modelen procesos, los diagramas que resultan son muy parecidos a los diagramas de secuencia, pero especificando con detalle las acciones que se realizan entre los lanzamientos de los mensajes. 6. CONCLUSIONES En el presente artículo se ha descrito cómo aplicar la metodología orientada a objetos en el entorno empresarial. El empleo de este tipo de técnicas permite modelar sistemas de forma sencilla, sin tener que utilizar artificios y abstracciones complejas. Así, no es necesario disponer de conocimientos informáticos profundos para elaborar los diagramas y construir un sistema de información acorde con la realidad de la empresa que se está modelando. Incluso existen herramientas CASE (4) que traducen los esquemas a código directamente implementable en un ordenador, generando el software que da soporte al sistema de información. Las ventajas de emplear los objetos son claras. La más importante es que se trata de un modelo formal, es decir, la especificación del sistema se describe mediante una sintaxis y una semántica formales, basadas en conceptos matemáticos, que permite eliminar ambigüedades e inconsistencias en el modelo y que dan rigor y robustez a los sistemas. Los conceptos que utiliza están próximos al mecanismo cognitivo humano. Desde el (4) Computer Aided Sowftare Engineering (Ingeniería del Software Asistida por Computador). Son herramientas que proporcionan un soporte automático o semiautomático para las fases de análisis y diseño de sistemas informáticos, apoyado por controles de coherencia internos, análisis de los modelos, facilidades de documentación, etc… ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 120 MIGUEL REBOLLO PEDRUELO 512/00 punto de vista del diseñador, ofrecen una visión conjunta de la estática y la dinámica del sistema, aportando grandes ventajas sobre los métodos centrados sólo en los datos (modelo entidad-relación [CHEN, 76]) o en los procesos (análisis y diseño estructurado [GANE, 81]). Los modelos que resultan son escalables, simplificando las ampliaciones sobre el modelo, lo que favorece el ciclo de vida en espiral. UML proporciona una metodología que reúne los conceptos asumidos por la comunidad orientada a objetos. El resultado es un lenguaje de propósito general, útil para rediseñar los procesos de la empresa y que favorece la comunicación entre distintos equipos al facilitar diagramas claros, sencillos, expresivos, flexibles y formales. 7. BIBLIOGRAFÍA [BOOCH, 91] BOOCH, G. “Object Oriented Design with Applications”, Benjamin Cummings Publishing Company (1991). [BOOCH, 97] BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. “Unified Modeling Language User’s Guide”, Addison-Wesley (1997). [CHEN, 76] CHEN, P. “The Entity-Relationship Model. Towward a Unified View of Data”, ACM Transactions on Database Systems 1, 1 (Mar. 1976). [FERNANDEZ, 96] FERNANDEZ, M. A. “El Control, Fundamento de la Gestión por Proce sos”, ESIC Editorial (1996). [GANE, 81] GANE C.; S ARSON T. “Análisis Estructurado de Sistemas”, Ed. Librería “El Ateneo”, (1981). [HAMMER, 94] HAMMER, M.; CHAMPY, J. “Reingeniería de la empresa”, Paramón (1994). [HOPCROF, 79] H OPCROF, J. Z.; ULLMAN, J. D. “Introduction to Automata Theory. Lan guages and Computation”, Addison-Wesley (1979). [JACOBSON, 92] JACOBSON, I. “Object-Oriented Software Engineering: An Use Case Dri ven Approach”, Addison-Wesley (1992) [JACOBSON, 94] JACOBSON, I. “The Object Advantage”, Addison-Wesley (1994) [JACOBSON, 97] J ACOBSON I.; BOOCH, G.; R UMBAUGH, J. “The Objectory Software Deve lopment Process”, Addison-Wesley (1997). [KOTLER, 94] KOTLER, P. “Dirección de Marketing”, Prentice-Hall (1994). [KUBECK, 95] KUBECK, L. C. “Techniques for Business Process Redesign”, JOHN WILEY & S ONS (1995). [OULD, 94] OULD, M. A. “Business Processes”, John Wiley & Sons (1994). [PASTOR, 93] P ASTOR, O.; SICOL, J. J.; HERRERO, M. “Modelos Semánticos y Modelos Orientados a Objetos”, Universidad Politécnica de Valencia (1993). [PASTOR, 96] PASTOR, O. “Análisis Orientado a Objetos. Conceptos y Metodologías”, Internal Report, Dpto. de Sistemas Informáticos y Computación, Universidad Politécnica de Valencia (1996). ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000 513/00 UML. UNA METODOLOGÍA ORIENTADA A OBJETOS APLICADA A LA… 121 [PEREZ, 96] PÉREZ-FERNANDEZ, J. A. “Gestión por procesos. Reingeniería y mejora de los procesos de la empresa”, ESIC Editorial (1996). [PRESSMAN, 93] PRESSMAN, R. S. “Ingeniería del Software. Un enfoque práctico”, M CGRAW-HILL (1993). [RUMBAUGH, 91] R UMBAUGH, J. “Object Oriented Modeling and Design”, Prentice-Hall (1991). [RUMBAUGH, 97] R UMBAUGH, J.; BOOCH, G.; J ACOBSON, I. “Unified Modeling Language Reference Manual”, Addison-Wesley (1997). [SERRANO, 95] SERRANO, F. “Temas de Introducción al marketing”, ESIC Editorial (1995). [TAYLOR, 95] TAYLOR, D. A. “Business Engineering with Object Technology”, John Wiley & Sons (1995). [WILEY, 94] Varios autores. “Software Assistance for Bussines Re-Engineering”, J OHN WILEY & SONS (1994). ESIC MARKET. SEPTIEMBRE-DICIEMBRE 2000