Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. INTRODUCCIÓN
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 moti-
vos 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 es-
tilo 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 fi-
jarse 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
gicos con la automatización. Usar nuevas tecnologías debe suponer un cambio en la for-
ma de trabajar y en los métodos empleados. La introducción de las tecnologías de la in-
formació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 dis-
tribuidas permiten disponer de la información allá donde es necesaria, sin du-
plicidad en los datos, manteniendo la información dispersa en diversas localiza-
ciones.
• “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 concre-
tas se tratara.
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.
• modelos expresivos para la compañía rediseñada, que también son utilizados por
el personal que construye los sistemas de información.
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.
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:
• papeles o roles que desempeñan las personas que interactúan con el sistema;
La entidad de más alto nivel es la clase. Una clase agrupa los objetos con un compor-
tamiento similar, definiendo la estructura y el comportamiento común de todos los obje-
tos que forman parte de ella. Puede verse como un esquema o un patrón de todos los ob-
jetos 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
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.
Un caso de uso es una entidad funcional que representa un proceso en el modelo, vis-
to como la secuencia de mensajes que intercambian el sistema y las entidades que inte-
ractú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.
Comprobar estado
vendedor
Realizar pedido
cliente
Despachar pedido
dependiente
Proporcionar
crédito
supervisor
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 ti-
pos: 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).
generales y otras más específicas, consistentes con las primeras y que añaden más infor-
mación. A la clase general se le denomina superclase y a la específica subclase. Se re-
presenta 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 re-
lació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.
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.
dar tono
marcar n.º
encaminar
descolgar
Muestra cómo colaboran los objetos del sistema entre sí, pero sin considerar el tiem-
po 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.
activo inválido
15 seg.
15 seg. marcar
dígito
levantar
auricular tono de marcar dígito
marcando
preparado
terminar
marcar
ocioso conectando
tono de
ocupado ocupado conectado
receptor
contesta
hablan- sonando
colgar auricular
Marcar n.º
enviar recibir
La metodología a seguir con UML favorece un ciclo de vida en espiral para el mode-
lado, 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 es-
tricto 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 generan-
do prototipos cada vez más refinados y completos, que valida el usuario.
2. Después se construye el diagrama de clases, que contiene todos los objetos rele-
vantes 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. Asi-
mismo, todos los mensajes tienen que estar definidos como métodos de las clases
que les dan soporte.
5. EJEMPLO DE APLICACIÓN
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 Oficina técnica
Entidad 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).
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 propues-
ta es una subclase del proyecto, al que se le añade la baja que oferta la empresa (frecuen-
temente, 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 adjudi-
cada 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.
En el caso de ARIMEZ, los únicos documentos que se especifican son las certifica-
ciones 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.
proyecto
1..n. 1..n.
estudia
propone
1
1..n. elabora 1 oficina técnica
1..n. propuesta
evalúa 1..n. elabora
1
1 1
entidad rechazada adjudicada dpto. administración
1 1
1 emite cobra
realiza 1
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 eti-
quetan con un nombre y una cardinalidad (el número de instancias con las que se rela-
ciona).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.
(3) Algunos actores pueden corresponder a entidades externas sobre las que no se desea al-
macenar ningún tipo de información. En ese caso, no aparecen en el diagrama de clases.
resultado
emitir
abonar
cobrar
liquidar finalizar
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
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 cam-
bio de estado hace que también cambie de clase (al firmarla, pasa a ser una obra en
ejecución).
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
estudiar aceptada
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
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 sinta-
xis 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 Computa-
dor). 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…
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 (mo-
delo 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 comu-
nidad orientada a objetos. El resultado es un lenguaje de propósito general, útil para redi-
señ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 Cum-
mings 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 Poli-
técnica de Valencia (1996).