Boletín IT Arquitectura
Boletín IT Arquitectura Marzo 2013
2
Boletín IT Arquitectura todos
los
involucrados
e
interesados
del
negocio
(stakeholders).
¿Qué es BPM?
Tiene como finalidad servir como lenguaje común para cerrar la brecha de comunicación que frecuentemente se presenta entre
BPM (Business Process Management) es el entendimiento,
el
diseño
de
los
procesos
de
negocio
y
su
implementación.
visibilidad y control de los procesos de negocio de una organización. Un proceso de negocio representa una serie
Elementos BPMN
discreta de actividades o pasos de tareas que pueden incluir, personas, aplicativos, eventos de negocio y organizaciones.
El modelado en BPMN se realiza mediante diagramas muy simples con un conjunto muy pequeño de elementos gráficos. Con esto se busca que para los usuarios del negocio y los
¿Qué es BPMN?
desarrolladores técnicos sea fácil entender el flujo y el proceso. Las cuatro categorías básicas de elementos son:
Business Process Modeling Notation o BPMN (en español
control de flujo (Gateways)
Notación para el Modelado de Procesos de Negocio) es una notación gráfica estandarizada que permite el modelado de
El principal objetivo de BPMN es proporcionar una notación estándar que sea fácilmente legible y entendible por parte de Boletín IT Arquitectura Marzo 2013
Objetos de conexión: Flujo de Secuencia, Flujo de Mensaje, Asociación
procesos de negocio, en un formato de flujo de trabajo (workflow).
Objetos de flujo: Eventos, Actividades, Rombos de
Swimlanes (Carriles de piscina): Pool, Lane.
Artefactos: Objetos de Datos, Grupo, Anotación.
Estas cuatro categorías de elementos nos dan la oportunidad de realizar un diagrama simple de procesos de negocio (en
3
Boletín IT Arquitectura inglés Business Process Diagram o BPD). En un BPD se permite
Evento Final
definir un tipo personalizado de Objeto de Flujo o un
Indica el final de un proceso. Está representado gráficamente
Artefacto, si con ello se hace el diagrama más comprensible.
por un círculo de línea gruesa. Este evento permite Lanzar.
Objetos de Flujo son los elementos principales descritos
Evento intermedio
dentro de BPMN y consta de tres elementos principales;
Indica que algo sucede entre el evento inicial y el evento final.
Eventos, Actividades y Compuertas (Control de Flujo).
Está representado gráficamente por un círculo de doble línea simple. Este evento puede Capturar
Eventos
Business Process...
Están representados gráficamente por
ser
clasificados
como
Evento Intermedio
Capturado o Lanzado.
Evento Inicial Actúa como un disparador de un proceso. Se representa gráficamente por un círculo de línea delgada. Este evento permite Capturar.
Boletín IT Arquitectura Marzo 2013
Actividades Se representan por un rectángulo
Evento Final
algo que se hace). Los eventos también pueden
Business Process Proc...
Actividad
Evento Inicial
un círculo y describen algo que sucede (lo contrario de las Actividades que son
o Lanzar.
con sus vértices redondeados y
Actividad
describe el tipo de trabajo que será realizado.
Tarea Una tarea representa una sola unidad de trabajo que no es o no se puede dividir a un mayor nivel de detalle de procesos de negocio sin diagramación de los pasos de un procedimiento.
4
Boletín IT Arquitectura
Subproceso
Objetos de Flujos
Se utiliza para ocultar o mostrar otros niveles de detalle de procesos de negocio - cuando se minimiza un subproceso se indica con un signo más contra de la línea inferior del
Los objetos de flujo permitirán conectar cada uno de los objetos de conexión. Hay tres tipos: Secuencias, Mensajes y Asociaciones.
rectángulo, cuando se expande el rectángulo redondeado permite mostrar todos los objetos de flujo, los objetos de conexión, y artefactos. Tiene, de forma auto-contenida, sus propios eventos de inicio y fin; y los flujos de proceso del proceso padre no deben cruzar la frontera.
Está representado por línea simple continua y flechada; y muestra el orden en que las actividades se llevarán a cabo. El flujo de secuencia puede tener un símbolo al inicio, un pequeño diamante indica uno de un número de flujos
Transacción
condicionales desde una actividad, mientras que una barra
Es una forma de subproceso en la cual todas las actividades contenidas
Flujo de Secuencia
deben
ser
tratadas
como
un
todo.
Las
diagonal (slash) indica el flujo por defecto desde una decisión o actividad con flujos condicionales.
transacciones se diferencian de los subprocesos expandidos por estar rodeando por un borde de doble línea.
Compuertas (Control de Flujo)
Flujo de mensaje Está representado por una línea discontinua con un círculo no Business ...
Se representan por una figura de diamante y
nos dice, que el flujo de mensaje atraviesa la frontera
determinan si se bifurcan o se combinan las rutas
dependiendo
de
expresadas.
Boletín IT Arquitectura Marzo 2013
las
condiciones
relleno al inicio y una punta de flecha no rellena al final. Esto
Gateway
organizativa (por ejemplo, entre piscinas). Un flujo de mensaje no puede ser utilizado para conectar actividades o eventos dentro de la misma piscina.
5
Boletín IT Arquitectura
Asociaciones
orientados a objetos. Los autores de UML apuntaron también
Se representan por una línea punteada. Se suele usar para
al modelado de sistemas distribuidos y concurrentes para
conectar artefactos o un texto a un objeto de flujo y puede
asegurar que el lenguaje maneje adecuadamente estos
indicar muchas direccionabilidades usando una punta de
dominios.
flecha no rellena (hacia el artefacto para representar a un resultado, desde el artefacto para representar una entrada, y
El lenguaje de modelado es la notación (principalmente
los dos para indicar que se lee y se actualiza). La No
gráfica) que usan los métodos para expresar un diseño. El
Direccionabilidad podría usarse con el artefacto o un texto est
proceso indica los pasos que se deben seguir para llegar a un
asociado con una secuencia o flujo de mensaje (como el flujo
diseño.
muestra la dirección). La estandarización de un lenguaje de modelado es invaluable,
¿Qué es UML?
ya que es la parte principal del proceso de comunicación que requieren todos los agentes involucrados en un proyecto informático. Si se quiere discutir un diseño con alguien más,
El Lenguaje de Modelado Unificado es la sucesión de una serie
ambos deben conocer el lenguaje de modelado y no así el
de métodos de análisis y diseño orientadas a objetos que
proceso que se siguió para obtenerlo.
aparecen a fines de los 80's y principios de los 90s. UML es llamado un lenguaje de modelado, no un método. Los
El lenguaje está dotado de múltiples herramientas para lograr
métodos consisten de ambos de un lenguaje de modelado y
la especificación determinante del modelo:
de un proceso. UML incrementa la capacidad de lo que se puede hacer con otros métodos de análisis y diseño
Boletín IT Arquitectura Marzo 2013
6
Boletín IT Arquitectura
Modelamiento de clases
Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public).
Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser
asociativas, de herencia, de uso y de contenimiento.
Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su
Un diagrama de clases está compuesto por los siguientes
entorno
elementos:
protected o public).
Clase: atributos, métodos y visibilidad.
Relaciones:
Herencia,
Composición,
(dependiendo
de
la
visibilidad:
private,
class Modelo de Clases
Agregación, Clase
Asociación y Uso.
Clase
-
atributo 1 :int = 0 atributo 2 :char
+
operacion1(char) :void
Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de
Atributos
ella podemos modelar el entorno en estudio.
Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad
En UML, una clase es representada por un rectángulo que
de ellos con el entorno, estos son:
posee tres divisiones:
public (+): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos
Superior: Contiene el nombre de la Clase
Boletín IT Arquitectura Marzo 2013
lados.
7
Boletín IT Arquitectura
private (-): Indica que el atributo sólo será accesible desde
que se deriven (ver herencia).
dentro de la clase (sólo sus métodos lo pueden accesar).
Relaciones entre Clases
protected (#): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por
Ahora ya definido el concepto de Clase, es necesario explicar
métodos de la clase además de las subclases que se
cómo se pueden interrelacionar dos o más clases (cada uno
deriven.
con características y objetivos diferentes).
Métodos
Antes es necesario explicar el concepto de cardinalidad de
Los métodos u operaciones de una clase son la forma en como
relaciones: En UML, la cardinalidad de las relaciones indica el
ésta interactúa con su entorno, éstos pueden tener las
grado y nivel de dependencia, se anotan en cada extremo de
características:
la relación y éstas pueden ser:
public (+): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos
uno o muchos: 1..* (1..n)
lados.
0 o muchos: 0..* (0..n)
private (-): Indica que el método sólo será accesible desde
número fijo: m (m denota el número).
dentro de la clase (sólo otros métodos de la clase lo
pueden accesar).
Herencia (Especialización/Generalización):
protected (#): Indica que el método no será accesible
Indica que una subclase hereda los métodos y atributos
desde fuera de la clase, pero si podrá ser accesado por
especificados por una Super Clase, por ende la Subclase
métodos de la clase además de métodos de las subclases
además de poseer sus propios métodos y atributos, poseerá
Boletín IT Arquitectura Marzo 2013
8
Boletín IT Arquitectura las características y atributos visibles de la Super Clase (public y protected).
Agregación: Para modelar objetos complejos, no bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias
Asociación: La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre sí. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.
de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición (el Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo").
Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Boletín IT Arquitectura Marzo 2013
Dependencia o Instanciación (uso): Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.
El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana está condicionado a la instanciación proveniente desde el objeto Aplicación):
Clase Abstracta
Una clase abstracta se denota con el nombre de la clase y de
9
Boletín IT Arquitectura los métodos con letra "itálica". Esto indica que la clase definida
la forma, tipo y orden en como los elementos interactuan
no puede ser instanciada pues posee métodos abstractos (aún
(operaciones o casos de uso).
no han sido definidos, es decir, sin implementación). La única forma de utilizarla es definiendo subclases, que implementan
uc Casos de Uso Principales Limites del Sistema
los métodos abstractos definidos.
Clase Parametrizada
CUS001 - Caso de Uso 1
Una clase parametrizada se denota con un subcuadro en el
Usuario
Sistema 1
(from Actores Primarios)
(from Actores Secundarios)
extremo superior de la clase, en donde se especifican los
CUS002 - Caso de Uso 2
parámetros que deben ser pasados a la clase para que esta
Sistema 2 Administrador
pueda ser instanciada. El ejemplo más típico es el caso de un
(from Actores Secundarios)
(from Actores Primarios)
Diccionario en donde una llave o palabra tiene asociado un significado, pero en este caso las llaves y elementos pueden
CUS003 - Caso de Uso 3
ser genéricos. La generalidad puede venir dada de un
Usuario Especializado (from Actores Primarios)
Template (como en el caso de C++) o bien de alguna estructura predefinida (especialización a través de clases).
Casos de Uso El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de
Boletín IT Arquitectura Marzo 2013
Un diagrama de casos de uso consta de los siguientes elementos:
Actor
Casos de uso
10
Boletín IT Arquitectura
Relaciones de uso, Herencia y Comunicación.
desde la invocación desde otro caso de uso.
Relaciones
Actor Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante
uc Actores...
destacar el uso de la palabra rol, pues con esto
se
especifica
que
un
Actor
Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso).
no
Dicha relación se denota con una flecha simple.
necesariamente representa a una persona en particular, sino más bien la labor que realiza
Asociación
Usuario
Dependencia o Instanciación
frente al sistema. Es una forma muy particular de relación entre clases, en la cual Como ejemplo a la definición anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al
una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
sistema puede ser realizado por un Vendedor o bien por el
Generalización
Jefe de Local.
Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser
Casos de uso Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien
Boletín IT Arquitectura Marzo 2013
uc Casos de Uso Princ...
CUS001 - Caso de Uso 1
de Uso (<<uses>>) o de Herencia (<<extends>>).
Este tipo de relación está orientado exclusivamente para casos de uso (y no para actores).
11
Boletín IT Arquitectura
extends: Se recomienda utilizar cuando un caso de uso
Los componentes de un diagrama de interacción son:
es similar a otro (características).
Un objeto o un actor
uses: Se recomienda utilizar cuando se tiene un
Mensaje de un objeto a otro objeto
conjunto de características que son similares en más de
Mensaje de un objeto a sí mismo
un caso de uso y no se desea mantener copiada la descripción de la característica.
Objeto/Actor
De lo anterior cabe mencionar que tiene el mismo paradigma
El rectángulo representa una instancia
en diseño y modelamiento de clases, en donde está la duda
de un Objeto en particular, y la línea
clásica de usar o heredar.
punteada representa las llamadas a
Diagramas de Interacción El diagrama de interacción, representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre sí en
métodos del objeto.
Mensaje a otro objeto
petición a un evento. Esto implica recorrer toda la secuencia de
Se representa por una flecha entre un objeto y otro, representa
llamadas, de donde se obtienen las responsabilidades
la llamada de un método (operación) de un objeto en
claramente.
particular.
Dicho diagrama puede ser obtenido de dos partes, desde el
Mensaje al mismo objeto
Diagrama Estático de Clases o el de Casos de Uso (son
No solo llamadas a métodos de objetos externos pueden
diferentes).
realizarse, también es posible visualizar llamadas a métodos
Boletín IT Arquitectura Marzo 2013
12
Boletín IT Arquitectura desde el mismo objeto en estudio.
Diagramas de Relaciones de entidad Los diagramas de relaciones de entidad (diagramas ER)
existencia física (ejemplo, máquina, robot) o puede ser un objeto con una existencia conceptual (p. ej.: Curso de universidad). Cada entidad tiene un conjunto de atributos que describen las propiedades de la entidad.
muestran el diseño conceptual de las aplicaciones de bases de datos. Representan varias entidades (conceptos) en el sistema
En un diagrama ER, las entidades se representan como
de información y las relaciones y restricciones existentes entre
rectángulos, con el nombre de la clase, y también pueden
ellas. Una extensión de los diagramas de relaciones de entidad
mostrar atributos y operaciones de la clase en otros dos
llamado «diagramas de relaciones de entidad extendida» o
«compartimentos» dentro del rectángulo.
«diagramas de relaciones de entidad mejoradas» (EER), se utiliza para incorporar las técnicas de diseño orientadas a objetos en los diagramas ER.
Atributos de la entidad En los diagramas ER, los atributos de la entidad se muestra con su nombre en un compartimento diferente de la entidad a la que pertenecen.
Restricciones Las restricciones en los diagramas ER especifican las restricciones de los datos en el esquema de información.
Entidad Una Entidad es cualquier concepto del mundo real con una
Existen cuatro tipos de restricciones soportadas:
existencia independiente. Puede ser un objeto con una
Boletín IT Arquitectura Marzo 2013
Clave primaria: El conjunto de atributos declarados
13
Boletín IT Arquitectura como clave primaria es única para la entidad. Solo
comprobación de tabla) es una condición que define
puede haber una clave primaria en una entidad y
los datos válidos cuando se añaden o actualizan datos
ninguno de los atributos que la componen puede ser
en una tabla de la base de datos relacional. Se aplicará
NULL.
una restricción a cada fila de la tabla. La restricción debe ser un predicado. Puede referirse a una o varias
Clave única: El conjunto de atributos declarados como única son únicos para la entidad. Pueden haber muchas restricciones únicas en una entidad. Los atributos que lo componen pueden tener el valor NULL. Las claves únicas y primarias identifican de forma única una fila de una tabla (entidad).
Clave externa: Una clave externa es una restricción referencia entre dos tablas. La clave externa identifica una columna o un conjunto de columnas en una tabla (referenciada) que referencia una columna o conjunto de columnas en otra tabla (referenciada). Las columnas en la tabla referenciada deben formar una clave primaria o una clave única.
Restricción
de
comprobación:
Una
restricción
de
comprobación (también conocida como restricción de Boletín IT Arquitectura Marzo 2013
columnas de la tabla.
14
Boletín IT Arquitectura herramienta. Para los colaboradores de El Salvador se debe comenzar a utilizar la herramienta en cada uno de los proyectos que se
Enterprise Architect Como se mencionó en las capacitaciones impartidas tanto en Bogotá como El Salvador, se ha elaborado un manual de usuario para la herramienta.
En el siguiente link podrá descargar este manual: http://enlace.taca.com/NuestraEmpresa/DesarrolloCorporativo /c1/Arq/Documents/Manual_de_Usuario_EA.pdf
Funcionalidad EA De momento se han presentado problemas en la conectividad de la herramienta para los colaboradores en Bogotá, por lo cual debe continuar documentando directamente sobre los documentos Administrativo y Técnico.
En cuanto se tenga una solución para este problema se les notificará para que puedan comenzar a hacer uso de la
Boletín IT Arquitectura Marzo 2013
estén comenzando.
El proceso de solicitud de creación de estructura dentro de la herramienta es el siguiente:
15