Transcript
Page 1: 02 Modelodelnegocio 131019162219 Phpapp02

Desarrollo de software orientado a objetos

Unidad 2: Modelo del Negocio

Page 2: 02 Modelodelnegocio 131019162219 Phpapp02

Agenda

Introducción Modelo de Casos de Uso del

negocio Modelo de Objetos del

Negocio. Refinamiento del Modelo de

Negocio

Page 3: 02 Modelodelnegocio 131019162219 Phpapp02

Introducción

Page 4: 02 Modelodelnegocio 131019162219 Phpapp02

¿Por qué es necesario modelar los procesos de la empresa? Para identificar con facilidad

donde están sus problemas u oportunidades de crecimiento y mejora.

Porque desde la perspectiva de los sistemas no es posible automatizar procesos que no estén claramente definidos.

Page 5: 02 Modelodelnegocio 131019162219 Phpapp02

Introducción

La empresay

susprocesos

¿Cuáles son y a quiénes están dirigidos?

¿Cuáles son sus resultados?¿Cuáles son las tareas que se deben

llevar a cabo?

Page 6: 02 Modelodelnegocio 131019162219 Phpapp02

Introducción

Objetivos: Comprender la estructura y la

dinámica de una organización en donde el sistema a desarrollar va a ser instalado (objeto de estudio u organización destino).

Comprender los problemas actuales de la organización destino e identificar su potencial de crecimiento y mejoras.

..........

Page 7: 02 Modelodelnegocio 131019162219 Phpapp02

Introducción...... Asegurar que los clientes, usuarios

finales y desarrolladores tengan un entendimiento común del objeto de estudio.

Derivar los requerimientos del sistema necesarios para dar soporte a la organización destino.

Page 8: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de casos de uso de negocio

Page 9: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de casos de uso del negocio

El modelo describe el negocio en términos de casos de uso de negocio “business use cases” que se corresponden con lo que comúnmente se conoce como "procesos".

Page 10: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de casos de uso del negocio

Forman parte del modelo: La vista externa

Actores y casos de uso de negocio (Business Actors y Business Use Cases).

Diagramas de caso de uso del negocio. La vista interna

Objetos de negocio Diagramas de actividad (Workflow).

Page 11: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos del modelo del negocio

Tareas de la vista externa Encontrar y describir actores del negocio. Encontrar y describir casos de uso del negocio. Efectuar diagramas de casos de uso del negocio.

Tareas de la vista interna Encontrar y describir los objetos de negocio que

participan realizando los procesos. Descomponer los procesos de negocio en flujos

de trabajo (Workflows) para describirlos a detalle.

Page 12: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio

Un “business actor” (actor del negocio) representa un rol que alguien o algo en el entorno del sistema puede realizar en relación con el negocio.

Page 13: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio

Existen dos grandes categorías de BA: El Cliente (Customer)

La “razón de ser” del negocio. Se benefician o afectan por los

resultados del proceso. El Socio o decisor (Stakeholder).

Son los dueños del proceso. Los resultados del proceso le sirven

para tomar decisiones. No participan de la parte operativa.

Page 14: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio Categorías donde los clientes

pueden ser hallados: Clientes (los beneficiarios o

afectados por el proceso). Proveedores. Autoridades (entidades legales,

reguladoras, etc.). Sistemas de información localizados

fuera del negocio.

Page 15: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio Categorías donde los

stakeholders pueden ser hallados: Sucursales. Dueños, inversionistas, gerentes. Se debe modelar a un miembro del

directorio si es parte activa del negocio.

Page 16: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio Si los procesos que van a ser

modelados son parte de una gran compañía, se puede encontrar actores de negocio en: Otras partes de la compañía. Roles individuales gerenciales en otros

departamentos. Subsistemas que reciben o transmiten

información.

Page 17: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar actores del negocio Se debe asignar un nombre a cada

actor del negocio de acuerdo al rol desempeñado en el negocio.

Para cada actor del negocio se debe especificar una breve descripción que incluya sus responsabilidades y la razón de su interacción con el negocio.

Page 18: 02 Modelodelnegocio 131019162219 Phpapp02

Generalización de actores del negocio Varios actores de negocio pueden

desempeñar el mismo rol para un caso de uso de negocio particular.

Ejemplo: Tanto el viajero de negocios como el turista pueden viajar y registrarse en el counter del aeropuerto (check-in). El rol compartido pasajero se modela como un business actor.

Page 19: 02 Modelodelnegocio 131019162219 Phpapp02

Generalización de actores del negocio

Pasajero

Viajero de negocios

Turista

Page 20: 02 Modelodelnegocio 131019162219 Phpapp02

Encontrar casos de uso del negocio Un “business use case” es un

proceso de negocio que produce un resultado de valor medible y esperado por un actor (o actores) en particular.

Representa la secuencia de actividades desarrolladas para lograr ese valor.

Page 21: 02 Modelodelnegocio 131019162219 Phpapp02

¿Cómo encontrar casos de uso del negocio?

Identificar las necesidades puntuales del business actor y que conjunto de actividades se realizan para satisfacerlas.

Identificar los resultados y entregables que tiene la empresa y a partir de ellos a los procesos que los realizaron.

Reconocer los procesos tipo del giro del negocio, por comparación con el de otras empresas o a partir del estudio de la cadena de valor.

Page 22: 02 Modelodelnegocio 131019162219 Phpapp02

Procesos “tipo” Los procesos “tipo” de una

empresa se pueden reconocer en una de las siguientes categorías.

Procesos primarios, comerciales o de valor.

Procesos secundarios de apoyo y administrativos.

Page 23: 02 Modelodelnegocio 131019162219 Phpapp02

Procesos primarios En primer lugar están las

actividades comerciales importantes o vitales del negocio que usualmente se llaman “business processes”.

Son los procesos dirigidos al cliente.

Vender Productos

Page 24: 02 Modelodelnegocio 131019162219 Phpapp02

Procesos secundarios En segundo lugar existen las

actividades de soporte o apoyo, que no son importantes desde el punto de vista comercial pero que se deben efectuar de todos modos para hacer que el negocio camine. En esta categoría está: la administración del sistema, la limpieza, la seguridad, etc.

Realizar Inventario

Page 25: 02 Modelodelnegocio 131019162219 Phpapp02

Procesos secundarios Dentro de está categoría

también está el trabajo administrativo. Estos casos de uso muestran el tipo de trabajo que afecta el cómo los otros procesos son llevados a cabo,

Realizar Planilla

Page 26: 02 Modelodelnegocio 131019162219 Phpapp02

Guías para encontrar casos de uso del negocio¿Por donde comenzar? Es recomendable comenzar con el

más importante actor del negocio: el cliente. ¿Cuáles son los principales servicios que

el cliente obtiene del negocio? ¿Cuál es el ciclo de vida de un cliente?

Un buen consejo es estudiar el ciclo de vida del cliente (y los objetivos parciales e intermedios que va logrando en el tiempo)

Page 27: 02 Modelodelnegocio 131019162219 Phpapp02

Guías para encontrar casos de uso del negocio

¿Cuáles son las características principales de soporte a los negocios y cuando se dan? En estos grupos de características se pueden hallar casos de uso del negocio.

¿Cuáles son los procesos que ayudan a tomar decisiones estratégicas?

Page 28: 02 Modelodelnegocio 131019162219 Phpapp02

Guías para encontrar casos de uso del negocio Para completar su definición se debe:

Desarrollar y abastecer de información acerca de nuevas tendencias del negocio a los dueños e inversionistas.

Identificar y establecer metas presupuestales a mediano y largo plazo.

Coordinar y asignar prioridad entre los casos de uso del negocio.

Crear nuevos procesos en el negocio. Supervisar los procesos del negocio

Page 29: 02 Modelodelnegocio 131019162219 Phpapp02

Diagramas de Caso de Uso del Negocio Muestran la agrupación de procesos

en paquetes (grandes procesos) y la descomposición de los mismos en casos de uso de negocio

Muestran la interacción de actores de y casos de uso de negocio.

Muestran el contexto del negocio.

Page 30: 02 Modelodelnegocio 131019162219 Phpapp02

Consideraciones en Diagramas de Caso de Uso del Negocio ¿Los Business Use Cases están siempre

relacionados con algún Business Actor? Cada caso de uso del negocio primario

debe tener una relación de comunicación o vínculo con un actor de negocios.

Esta regla refuerza el objetivo de que los negocios se hacen y construyen para satisfacer los requerimientos de sus usuarios.

Page 31: 02 Modelodelnegocio 131019162219 Phpapp02

Consideraciones en Diagramas de Caso de Uso del Negocio ...... Si un modelo de casos de uso tiene

procesos que no son requeridos por nadie, puede estar reflejando que algo malo está ocurriendo con el modelo.

Pero, existen excepciones.....

Page 32: 02 Modelodelnegocio 131019162219 Phpapp02

Diagramas de Caso de Uso del Negocio

..... Los casos de uso administrativos y de

soporte no necesariamente están conectados con un business actor, no obstante, dependen de algún contacto externo.

Los casos de uso abstractos son los únicos que no necesitan un business actor porque nunca son iniciados por ellos.

Page 33: 02 Modelodelnegocio 131019162219 Phpapp02

Diagrama de Casos de Uso (primer nivel o nivel 0)

Gestiónde

Compras

Gestiónde

Cobranza

Gestiónde

Ventas

Page 34: 02 Modelodelnegocio 131019162219 Phpapp02

Diagrama de Casos de Uso (Gestión de Ventas)

Gestión de Ventas

Cliente

Gte. Marketing

Realizar Pedido

Realizar Venta

Contactar Clientes

Page 35: 02 Modelodelnegocio 131019162219 Phpapp02

Características de un buen modelo de caso de uso del negocio

Los casos de uso conforman el negocio que describen.

Todos los casos de uso deben ser encontrados. Todos juntos realizan las actividades propias del negocio.

Toda actividad del negocio debe estar incluida en un caso de uso por lo menos.

Page 36: 02 Modelodelnegocio 131019162219 Phpapp02

Características ....(cont.)

Debe haber un balance entre el número de casos de uso del negocio (BUC) y su tamaño. Menos BUC hacen que el modelo sea mas

fácil de comprender. Casos de Uso muy largos y complejos son

muy difíciles de digerir. Hay que asegurar que los casos de uso

describan un workflow completo que produzca algo de valor para el cliente.

Page 37: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de objetos de negocio

Page 38: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de objetos del negocio Un modelo de objetos de negocio

define los BUC desde el punto de vista del trabajador (business worker) o cliente interno.

El modelo define como la gente (que trabaja en el negocio) y las cosas (clases y objetos del negocio) que ellos utilizan y administran se relacionan para producir los resultados esperados.

Page 39: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de objetos del negocio Pone énfasis en los roles

asumidos en el área de negocios, con sus actividades y responsabilidades.

Tanto los roles (business workers) como los objetos (business entities) juntos deben ser capaces de llevar a cabo todos los BUC.

Page 40: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de objetos del negocio El modelo de objetos del negocio

describe los conceptos que permiten la realización de los business use case.

Describe “cómo” interactúan los objetos al interior de la empresa para concretar uno o varios proceso.

Page 41: 02 Modelodelnegocio 131019162219 Phpapp02

Modelo de objetos del negocio Objetivos:

Identificar los niveles de organización (unidades del negocio).

Identificar a los roles significativos al interior de las unidades de negocio.

Identificar objetos del negocio o recursos materiales relevantes.

Page 42: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos clave Business workers (BW) muestra el

conjunto de responsabilidades que una persona (rol) asume en la empresa.  

Business entities (BE) Representa los entregables, recursos y eventos que son usados o producidos.

Organization Units (OU) agrupa a los businees workers y business entities y otras organization units que estan administrativamente relacionadas.

Page 43: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando business workersUn business worker representa un rol o un conjunto de roles en el negocio. Un business worker trabaja en una unidad organizacional, interactúa con otros business workers y manipula entidades a través de la realización de los casos de uso de negocio.

Page 44: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando business workersEjemplo: Vendedor, Encargado de

almacén, Cajero.

Page 45: 02 Modelodelnegocio 131019162219 Phpapp02

Consideraciones (checkpoints) sobre BW El nombre y la descripción deben ser claros

y comprensibles. Cada BW debe tener documentada una

asociación con otro BW si se comunican entre sí.

Cada BW debe participar en un BUC por lo menos.

Cada relación entre BW y otros BW o BE debe ser usada en el workflow de algún BUC.

Cada operación de un BW debe ser usada en el workflow de algún BUC.

Page 46: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando las entidades del negocio Las BE representan “cosas” que son

manipuladas o usadas por los BW cuando ejecutan un BUC.

Comúnmente representa un documento o una parte esencial de un producto.

Algunas veces representa cosas no tangibles como el conocimiento importante acerca de un mercado o cliente.

Ejemplos: En un restaurante: el menú, las bebidas, etc. En el aeropuerto: el boleto, el boarding pass, etc.

Page 47: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando las entidades del negocio

Ejemplo: Producto, factura, guía de remisión, pago de crédito.

Page 48: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando las entidades del negocioEn resumen: Son cosas que son manipuladas o

manejadas por el business worker. (tangibles o intangibles).

Son recursos de la empresa Contiene atributos y operaciones. Se puede especificar herencia. Representa formatos, datos

(persistentes y no persistentes), reportes, etc.

Page 49: 02 Modelodelnegocio 131019162219 Phpapp02

Consideraciones (checkpoints) sobre BE El nombre y la descripción deben ser

claros y comprensibles. Cada BE es usada en al menos un BUC. Cada relación entre BE y otras BE o BW

es usada en algún caso de uso por lo menos.

Todas las BE tienen un propietario que puede ser un BW o BA.

Page 50: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando las unidades de la organización Usualmente un negocio es

estructurado en departamentos, secciones y áreas.

Una unidad de la organización divide el negocio en partes más pequeñas.

Dentro de él se encuentran business workers, entidades del negocio y otras unidades de la organización

Page 51: 02 Modelodelnegocio 131019162219 Phpapp02

Identificando las unidades de la organizaciónEjemplo: Unidad de Ventas, Unidad de Contabilidad, etc.

Page 52: 02 Modelodelnegocio 131019162219 Phpapp02

Refinamiento del modelo de negocio

Page 53: 02 Modelodelnegocio 131019162219 Phpapp02

Refinamiento del modelo de negocios. El propósito de esta actividad es:

Detallar la definición (workflow) de cada business use case en cada uno de sus escenarios.

Verificar que los BUC reflejen correctamente como el negocio se hace.

Page 54: 02 Modelodelnegocio 131019162219 Phpapp02

Diagrama de actividades (DA) Un diagrama de actividades (AD)

detalla el flujo de trabajo (workflow) de un BUC.

Un BUC consiste de una secuencia de actividades que juntas producen algo de valor para un business actor.

Un workflow usualmente consiste de un flujo básico y uno o muchos flujos alternativos.

Page 55: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DA Un diagrama de actividades tiene los

siguientes elementos:

Estados de Actividad: Representan el desarrollo de una

actividad o paso dentro de un workflow.

Page 56: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DA

Estado Inicial Representa el inicio de un

workflow. Existe un único estado inicial.

Page 57: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DA

Estado Final Representa el fin de un flujo

de actividades en el workflow. Puede haber más de un estado

final.

Page 58: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DA

Estado transitorio Representa tiempos de espera

en un proceso.

Page 59: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DATransiciones Muestra que actividad

sigue a la otra. Se puede definir como una transición completa (porque ocurre cuando se termina la actividad precedente y no necesita de un evento que la propicie).

Page 60: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DADecisiones Para las cuales se definen un

conjunto de condiciones de restricción. Estas condiciones controlan que transiciones (de un conjunto de posibles transiciones) continúan cuando la actividad se ha completado. También se puede usar la decisión cuando se quieren juntar hilos de flujos y combinarlos de nuevo.

Page 61: 02 Modelodelnegocio 131019162219 Phpapp02

Elementos de un DA

Barras de Sincronización Son usadas para mostrar

subflujos paralelos. Permiten mostrar caminos concurrentes dentro de un workflow.

Page 62: 02 Modelodelnegocio 131019162219 Phpapp02

Características especiales

Las posibles complejidades de los workflows pueden ser tratadas a través de diferentes características como son: Actividades anidadas Swimlanes (calles). Uso de objetos.

Page 63: 02 Modelodelnegocio 131019162219 Phpapp02

Actividades anidadas

Una actividad puede referencia a otro diagrama de actividad que muestra la estructura interna de un estado de la actividad.

Cuando el diagrama interno es muy complejo se puede documentar que la actividad hace referencia a otro workflow (crear otro nivel de descomposición).

Page 64: 02 Modelodelnegocio 131019162219 Phpapp02

Actividad con enlace a otro workflow

Actividades anidadasActividad 4

do/ Subproceso A

Subproceso A

Paso 1

Paso 2

Page 65: 02 Modelodelnegocio 131019162219 Phpapp02

Swimlanes

Un diagrama de actividad puede estar particionado en swimlanes usando líneas rectas verticales. Cada swimlane representa una parte del workflow cuya responsabilidad esta a cargo de una parte de la organización.

Page 66: 02 Modelodelnegocio 131019162219 Phpapp02

Swimlanes

Eventualmente un swimlane puede ser implementado por una unidad organizacional o por un conjunto de clases en el modelo de objetos del negocio.

El orden de presentación de los swinlanes no tiene significado semántico.

Page 67: 02 Modelodelnegocio 131019162219 Phpapp02
Page 68: 02 Modelodelnegocio 131019162219 Phpapp02

Uso de objetos En este contexto los flujos de

objetos son usados para mostrar como las entidades de negocio son creadas y usadas en un workflow.

Los flujos de objetos permiten mostrar inputs y outputs desde actividades.

Page 69: 02 Modelodelnegocio 131019162219 Phpapp02

Uso de objetos

Consideraciones: Un objeto puede ser el output de una

actividad y el input de muchas otras. El flujo que los enlaza a una actividad

es una clase de flujo de control. El mismo objeto puede ser manipuladao

por una serie de actividades que pueden cambiar su estado, por lo tanto puede ser mostrado muchas veces (denotando entre corchetes su estado).

Page 70: 02 Modelodelnegocio 131019162219 Phpapp02

Uso de Objetos

Page 71: 02 Modelodelnegocio 131019162219 Phpapp02

Uso de objetos Los objetos y sus flujos pueden

ser comparados con los data flows.

A diferencia de los data flows tradicionales, los objetos se muestran en un punto definido dentro del grafo del diagrama de actividades.

Page 72: 02 Modelodelnegocio 131019162219 Phpapp02

Conclusiones El análisis de los procesos de negocio es diferente

al de los procesos del sistema. Involucra actividades automáticas y manuales necesarias para lograr los resultados requeridos por la empresa.

El modelo es muy útil para documentar, identificar problemas en los procesos, y posteriormente refinarlos.

No se puede realizar o implementar un buen sistema si los procesos de negocios no están preparados para la automatización.

Un sistema no resuelve problemas organizacionales