MPN5501 Profesor: Eduardo Berrios G.
 Inicio
◦ Revisión de conceptos anteriores
 Desarrollo
◦ Patrones en UML
 Cierre
 Objetivos de la clase
◦ Entender y comprender el diagrama de estados
 Patrones
◦ Muchos de los problemas que encontramos al momentos de
modelar un caso de negocio ya han sido resueltos.
◦ La idea de los patrones es capturar estas soluciones para volver a
utilizarlas de nuevo.
◦ Un patrón es una solución generalizada que puede ser
implementada y aplicada en un problema (un contexto), y así
eliminar uno o más problemas inherentes con el fin de satisfacer
uno o más objetivos. Los patrones se pueden considerar
prototipos para la producción.
 Definición Patrones
◦ Cada patrón es una regla de 3 partes, la cual expresa una relación
entre cierto contexto, un problema, y una solución:
 Como un elemento en el mundo, cada patrón es una relación
entre un cierto contexto, un cierto sistema de fuerzas, el cual
ocurre repetidamente en ese contexto, y una cierta
configuración espacial, la cual permite que ellos se resuelven a
sí mismos.
 Como un elemento de lenguaje, un patrón es una instrucción,
que muestra cómo se puede usar esta configuración espacial,
una y otra vez, para resolver el sistema de fuerzas dado en
cualquier parte donde el contexto lo haga relevante.
 Definición Patrones
◦ Los patrones son soluciones generalizadas establecidas que
solucionan los problemas que son comunes a situaciones
diferentes de negocio.
◦ Ellos pueden ser reutilizados repetidamente y pueden ser
combinados y adaptados de muchos modos diferentes. Es
importante comprender que los patrones no son "inventados"; se
encuentran en modelos
 Definición Patrones
◦ El patrón es, en resumen, al mismo tiempo una cosa, que pasa en
el mundo, y la regla que nos dice cómo crear aquella cosa, y
cuándo debemos crearlo. Es un proceso y una cosa; una
descripción de una cosa que está viva, y una descripción del
proceso que generará aquella cosa."
 Definición Patrones
◦ Los patrones no solucionan todos los problemas en el modelado
de negocios
◦ Para beneficiarse de los patrones hay que identificar el contexto
en el cual
 Tipos de Patrones
◦ Patrones de Negocio.
◦ Patrones arquitectónicos.
◦ Patrones de diseño.
 Patrones de Negocio
◦ Abarcan los problemas relacionados con el ámbito del negocio:
 Modelar y estructurar los recursos del negocio, tales como:
 Facturas, información, organización
 Organizar y relacionar los procesos del negocio, reglas de gestión,
visiones corporativas y objetivos
 Patrones de Negocio
◦ Los patrones de negocio se pueden usar como herramientas para
ayudar, primero, a comprender una situación problema en un
contexto de modelado de negocio y, segundo, cómo tratar con el
problema en esta situación.
◦ Se usan para crear modelos de negocio comprensibles y flexibles,
que describan la estructura y conducta de un negocio.
 Patrones de Negocio
◦ Los patrones de negocio son útiles para remodelar un modelo de
negocio existente
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Ejemplo:
 Cuando una compañía de seguros recibe un reclamo en alguna
póliza, es necesario realizar varias actividades con un orden definido.
Primero, el cliente debe reportar el reclamo, luego, éste debe ser
evaluado para poderme autorizar el pago y finalmente se desembolsa la
cantidad reclamada. No tendría sentido que una reclamación sea
evaluada antes de ser reportada, o pagar el dinero de la reclamación
antes de evaluarla.
◦ Implementación
 Para modelar este patrón es necesario conectar las actividades (en el
orden de ejecución definido)
 utilizando conectores de flujo de secuencia como se muestra en el
diagrama.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Implementación
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
◦ WCP 2
 Descripción
 Una división paralela es un punto del proceso donde un camino es
dividido en dos o más ramas paralelas las cuales son ejecutadas al
mismo tiempo.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
◦ WCP 2
◦ Ejemplo:
◦ Cuando un nuevo empleado llega a la compañía es necesario realizar
varias actividades, por ejemplo, darle acceso a la información de su cargo,
firmar algunos documentos legales y alistar su puesto de trabajo.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Implementación
 Para implementar la División Paralela, es necesario utilizar la Compuerta
Paralela. Esta compuerta activa caminos alternativos sin verificar
condiciones.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Implementación
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Implementación
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Ejercicio (10 minuto)
 El Departamento de Contabilidad recibe y paga las facturas de la
compañía. El pago de una factura se puede realizar a través de
transferencia bancaria, cheque o tarjeta de crédito. Solo es posible
realizar el pago de la factura con un medio de pago.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Ejercicio (solución)
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Ejercicio (10)
 Suponga que luego de realizar el pago con alguna de las opciones
disponibles el ERP financiero es actualizado. Supongamos que la
actividad Actualizar ERP Financiero solo será ejecutada una vez, esto
debido a que solo una de las ramas entrantes es activada.
 Patrones de Negocio (Ejemplos en BPMN)
◦ Patrones de control básicos
 Ejercicio (Solución)
 Patrones de Diseño (Ejemplos en UML)
 Al igual que en BPMN se trata aplicar soluciones ya probadas a
problemas que encontramos en el diseño de sistemas.
 Ejemplo:
Se están ejecutando varios objetos en un proceso en su computadora
personal y necesita comunicarse con otros objetos en ejecución en otro
proceso. Tal vez este proceso también esté en su computadora; o tal vez
se encuentre en otra parte. Usted no quiere que los objetos de su sistema
tengan que preocuparse por encontrar otros objetos en la red ni que
tengan que ejecutar llamadas a procedimientos remotos.
 Patrones de Diseño (Ejemplos en UML)
Solución Patrón Suplente:
◦ Lo que puede hacer es crear un objeto suplente dentro del proceso local
para el objeto remoto. El suplente tiene la misma interfaz que el objeto
remoto. Los objetos locales le hablan al suplente mediante el envío de
mensajes normales del proceso. El suplente es responsable de pasar los
mensajes al objeto real, dondequiera que resida.
 Patrones de Diseño (Ejemplos en UML)
Solución Patrón Suplente:
 Patrones de Diseño (Ejemplos en UML)
Repositorios de Patrones
http://c2.com/ppr/index.html
 Patrones de Diseño (Ejemplos en UML)
Los desarrolladores de software han aprendido a reutilizar código
y de esa manera tendrán su marco de trabajo básico para usar cuando se
enfrenten a problemas de similares características. Una de las formas de
solucionar estos problemas de manera eficiente y efectiva es la utilización
de los Patrones de Diseño.
Una notación práctica y aceptada para la especificación, visualización,
construcción y documentación de sistemas de software es UML (Unified
Modeling Language) que permite la construcción de una serie de
diagramas que facilitan el desarrollo y comunicación de un proyecto de
software.
 Patrones de Diseño (Ejemplos en UML)
Son una forma de formalizar la reusabilidad de código
ante situaciones similares a las ya conocidas. Se plantean como una buena
herramienta para el diseño y la documentación de aplicaciones y
frameworks. Son descripciones de objetos y clases que se comunican y
que son capaces de solucionar un problema de diseño en general, en un
contexto en particular. ï "Cada patrón describe un problema que ocurre
una y otra vez en nuestro entorno, para describir después el núcleo de la
solución a ese problema, de tal manera que esa solución pueda ser usada
más de un millón de veces sin hacerlo ni siquiera dos veces de la misma
forma". (Alexander Christopher)
 Patrones de Diseño (Ejemplos en UML)
Son una forma de formalizar la reusabilidad de código ante situaciones
similares a las ya conocidas. Se plantean como una buena herramienta
para el diseño y la documentación de aplicaciones y frameworks. Son
descripciones de objetos y clases que se comunican y que son capaces de
solucionar un problema de diseño en general, en un contexto en
particular. "Cada patrón describe un problema que ocurre una y otra vez
en nuestro entorno, para describir después el núcleo de la solución a ese
problema, de tal manera que esa solución pueda ser usada más de un
millón de veces sin hacerlo ni siquiera dos veces de la misma forma".
(Alexander Christopher)
 Patrones de Diseño (Ejemplos en UML)
Patrón de Diseño: Model View Controller (MVC)
- Uso: en Smalltalk para construir interfaz de usuario. MVC consta de tres
clases de objetos: Model (aplicación), View (presentación en pantalla) y
Controller (forma en que la interfaz de usuario reacciona a las entradas del
usuario). El MVC separa vista y modelo estableciendo un protocolo de
notificación entre ellos. Cuando el Model cambia notifica a los View que
dependen de Él. Como resultado, cada View puede actualizarse a sí
mismo. Este Patrón de Diseño permite tener múltiples View de un
Model, para proveer distintas presentaciones.
 Patrones de Diseño (Beneficios)
 Patrones de Diseño (clases)
 Patrones de Diseño (Beneficios)
Proponen una forma de reutilizar la experiencia de los programadores.
Contribuyen a dar flexibilidad y extensibilidad a los diseños.
Contribuyen a reutilizar diseño, identificando aspectos
claves de la estructura de un diseño que puede ser aplicado en una gran
cantidad de situaciones.
Mejoran (aumentan, elevan) la flexibilidad, modularidad y extensibilidad.
Incrementan el vocabulario de diseño, ayudando a diseñar desde un
mayor nivel de abstracción.
Feedback:
Comente lo aprendido en el día de hoy

Clase 29

  • 1.
  • 2.
     Inicio ◦ Revisiónde conceptos anteriores  Desarrollo ◦ Patrones en UML  Cierre
  • 3.
     Objetivos dela clase ◦ Entender y comprender el diagrama de estados
  • 4.
     Patrones ◦ Muchosde los problemas que encontramos al momentos de modelar un caso de negocio ya han sido resueltos. ◦ La idea de los patrones es capturar estas soluciones para volver a utilizarlas de nuevo. ◦ Un patrón es una solución generalizada que puede ser implementada y aplicada en un problema (un contexto), y así eliminar uno o más problemas inherentes con el fin de satisfacer uno o más objetivos. Los patrones se pueden considerar prototipos para la producción.
  • 5.
     Definición Patrones ◦Cada patrón es una regla de 3 partes, la cual expresa una relación entre cierto contexto, un problema, y una solución:  Como un elemento en el mundo, cada patrón es una relación entre un cierto contexto, un cierto sistema de fuerzas, el cual ocurre repetidamente en ese contexto, y una cierta configuración espacial, la cual permite que ellos se resuelven a sí mismos.  Como un elemento de lenguaje, un patrón es una instrucción, que muestra cómo se puede usar esta configuración espacial, una y otra vez, para resolver el sistema de fuerzas dado en cualquier parte donde el contexto lo haga relevante.
  • 6.
     Definición Patrones ◦Los patrones son soluciones generalizadas establecidas que solucionan los problemas que son comunes a situaciones diferentes de negocio. ◦ Ellos pueden ser reutilizados repetidamente y pueden ser combinados y adaptados de muchos modos diferentes. Es importante comprender que los patrones no son "inventados"; se encuentran en modelos
  • 7.
     Definición Patrones ◦El patrón es, en resumen, al mismo tiempo una cosa, que pasa en el mundo, y la regla que nos dice cómo crear aquella cosa, y cuándo debemos crearlo. Es un proceso y una cosa; una descripción de una cosa que está viva, y una descripción del proceso que generará aquella cosa."
  • 8.
     Definición Patrones ◦Los patrones no solucionan todos los problemas en el modelado de negocios ◦ Para beneficiarse de los patrones hay que identificar el contexto en el cual
  • 9.
     Tipos dePatrones ◦ Patrones de Negocio. ◦ Patrones arquitectónicos. ◦ Patrones de diseño.
  • 10.
     Patrones deNegocio ◦ Abarcan los problemas relacionados con el ámbito del negocio:  Modelar y estructurar los recursos del negocio, tales como:  Facturas, información, organización  Organizar y relacionar los procesos del negocio, reglas de gestión, visiones corporativas y objetivos
  • 11.
     Patrones deNegocio ◦ Los patrones de negocio se pueden usar como herramientas para ayudar, primero, a comprender una situación problema en un contexto de modelado de negocio y, segundo, cómo tratar con el problema en esta situación. ◦ Se usan para crear modelos de negocio comprensibles y flexibles, que describan la estructura y conducta de un negocio.
  • 12.
     Patrones deNegocio ◦ Los patrones de negocio son útiles para remodelar un modelo de negocio existente
  • 13.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Ejemplo:  Cuando una compañía de seguros recibe un reclamo en alguna póliza, es necesario realizar varias actividades con un orden definido. Primero, el cliente debe reportar el reclamo, luego, éste debe ser evaluado para poderme autorizar el pago y finalmente se desembolsa la cantidad reclamada. No tendría sentido que una reclamación sea evaluada antes de ser reportada, o pagar el dinero de la reclamación antes de evaluarla. ◦ Implementación  Para modelar este patrón es necesario conectar las actividades (en el orden de ejecución definido)  utilizando conectores de flujo de secuencia como se muestra en el diagrama.
  • 14.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Implementación
  • 15.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos ◦ WCP 2  Descripción  Una división paralela es un punto del proceso donde un camino es dividido en dos o más ramas paralelas las cuales son ejecutadas al mismo tiempo.
  • 16.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos ◦ WCP 2 ◦ Ejemplo: ◦ Cuando un nuevo empleado llega a la compañía es necesario realizar varias actividades, por ejemplo, darle acceso a la información de su cargo, firmar algunos documentos legales y alistar su puesto de trabajo.
  • 17.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Implementación  Para implementar la División Paralela, es necesario utilizar la Compuerta Paralela. Esta compuerta activa caminos alternativos sin verificar condiciones.
  • 18.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Implementación
  • 19.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Implementación
  • 20.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Ejercicio (10 minuto)  El Departamento de Contabilidad recibe y paga las facturas de la compañía. El pago de una factura se puede realizar a través de transferencia bancaria, cheque o tarjeta de crédito. Solo es posible realizar el pago de la factura con un medio de pago.
  • 21.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Ejercicio (solución)
  • 22.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Ejercicio (10)  Suponga que luego de realizar el pago con alguna de las opciones disponibles el ERP financiero es actualizado. Supongamos que la actividad Actualizar ERP Financiero solo será ejecutada una vez, esto debido a que solo una de las ramas entrantes es activada.
  • 23.
     Patrones deNegocio (Ejemplos en BPMN) ◦ Patrones de control básicos  Ejercicio (Solución)
  • 24.
     Patrones deDiseño (Ejemplos en UML)  Al igual que en BPMN se trata aplicar soluciones ya probadas a problemas que encontramos en el diseño de sistemas.  Ejemplo: Se están ejecutando varios objetos en un proceso en su computadora personal y necesita comunicarse con otros objetos en ejecución en otro proceso. Tal vez este proceso también esté en su computadora; o tal vez se encuentre en otra parte. Usted no quiere que los objetos de su sistema tengan que preocuparse por encontrar otros objetos en la red ni que tengan que ejecutar llamadas a procedimientos remotos.
  • 25.
     Patrones deDiseño (Ejemplos en UML) Solución Patrón Suplente: ◦ Lo que puede hacer es crear un objeto suplente dentro del proceso local para el objeto remoto. El suplente tiene la misma interfaz que el objeto remoto. Los objetos locales le hablan al suplente mediante el envío de mensajes normales del proceso. El suplente es responsable de pasar los mensajes al objeto real, dondequiera que resida.
  • 26.
     Patrones deDiseño (Ejemplos en UML) Solución Patrón Suplente:
  • 27.
     Patrones deDiseño (Ejemplos en UML) Repositorios de Patrones http://c2.com/ppr/index.html
  • 28.
     Patrones deDiseño (Ejemplos en UML) Los desarrolladores de software han aprendido a reutilizar código y de esa manera tendrán su marco de trabajo básico para usar cuando se enfrenten a problemas de similares características. Una de las formas de solucionar estos problemas de manera eficiente y efectiva es la utilización de los Patrones de Diseño. Una notación práctica y aceptada para la especificación, visualización, construcción y documentación de sistemas de software es UML (Unified Modeling Language) que permite la construcción de una serie de diagramas que facilitan el desarrollo y comunicación de un proyecto de software.
  • 29.
     Patrones deDiseño (Ejemplos en UML) Son una forma de formalizar la reusabilidad de código ante situaciones similares a las ya conocidas. Se plantean como una buena herramienta para el diseño y la documentación de aplicaciones y frameworks. Son descripciones de objetos y clases que se comunican y que son capaces de solucionar un problema de diseño en general, en un contexto en particular. ï "Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo ni siquiera dos veces de la misma forma". (Alexander Christopher)
  • 30.
     Patrones deDiseño (Ejemplos en UML) Son una forma de formalizar la reusabilidad de código ante situaciones similares a las ya conocidas. Se plantean como una buena herramienta para el diseño y la documentación de aplicaciones y frameworks. Son descripciones de objetos y clases que se comunican y que son capaces de solucionar un problema de diseño en general, en un contexto en particular. "Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo ni siquiera dos veces de la misma forma". (Alexander Christopher)
  • 31.
     Patrones deDiseño (Ejemplos en UML) Patrón de Diseño: Model View Controller (MVC) - Uso: en Smalltalk para construir interfaz de usuario. MVC consta de tres clases de objetos: Model (aplicación), View (presentación en pantalla) y Controller (forma en que la interfaz de usuario reacciona a las entradas del usuario). El MVC separa vista y modelo estableciendo un protocolo de notificación entre ellos. Cuando el Model cambia notifica a los View que dependen de Él. Como resultado, cada View puede actualizarse a sí mismo. Este Patrón de Diseño permite tener múltiples View de un Model, para proveer distintas presentaciones.
  • 32.
     Patrones deDiseño (Beneficios)
  • 33.
     Patrones deDiseño (clases)
  • 34.
     Patrones deDiseño (Beneficios) Proponen una forma de reutilizar la experiencia de los programadores. Contribuyen a dar flexibilidad y extensibilidad a los diseños. Contribuyen a reutilizar diseño, identificando aspectos claves de la estructura de un diseño que puede ser aplicado en una gran cantidad de situaciones. Mejoran (aumentan, elevan) la flexibilidad, modularidad y extensibilidad. Incrementan el vocabulario de diseño, ayudando a diseñar desde un mayor nivel de abstracción.
  • 35.