sábado, 29 de agosto de 2015



Puntos de Vista.

Refrán.

“Una cosa es lo que piensa el burro, y otra el que lo está enjalmando”

Haciendo referencia a este refrán hoy quiero compartir con ustedes el interesante tema de los puntos de vista, sabemos que un punto de vista es particular y subjetivo,  puntos de vista que con frecuencia dan pie para una discusión o crítica, en conversaciones cotidianas, como ejemplos cotidianos en algunas situaciones podemos dar una opinión política de la cual otras personas pueden discrepar de nuestra opinión.

Una de las características que me parecen importantes para dar un punto de vista es conocer el tema, muchas veces podemos dar un punto de vista pero no lo podemos argumentar, en ese momento quedamos muy pero muy mal, hasta el estado de sentir vergüenza de la estupidez que hemos dicho, es por eso que debemos dar un punto de vista con un argumento sólido y conciso que no dé pie para que las personas duden de lo que estamos opinando, pero siempre teniendo en cuanta que no tenemos la verdad absoluta, y abiertos a las posibles críticas.


En muchas ocasiones el orgullo nos juega una mala pasada, sesgándonos solamente a nuestra opinión como una verdad absoluta, pero hay características interesantes las cuales debemos tener muy en cuenta y como ejemplo la clase de Modelado es dejar nuestro orgullo y actitudes altruistas de lado, no solamente en clase sino también para nuestra cotidianidad, las opiniones en nuestro trabajo pueden traer como consecuencia una decisión y para esta toma de decisiones se deben tener en cuenta muchos aspectos, áreas, temas, que con nuestro sesgo pudimos pasar por alto, y por esto es muy importante tener los puntos de vista de nuestros pares, jefes o incluso de un agente externo que pueda dar una opinión de nuestro entorno.

domingo, 23 de agosto de 2015

Principios para realizar un Modelo:

Principio 1
Exclusión: 
Al nivel de los  principios este creo que es el mas relevante debido a que nosotros no tenemos el contexto de todo un sistema del que queremos modelar y es muy importante tener en cuenta la visión o versión de otras personas ogrupos, como experiencia personal en el ámbito laboral pasa que uno tiene una estrategia para realizar su trabajo pero al socializarlo con otras personas me hacen caer en cuenta que el espectro que yo tenia de mi estrtegia en ocaciones es muy grande incluyendo procesos o actividades que se encuentran fuera del alcance de lo puntual que se quiere hacer o muy pequeño dejando algunos aspectos relevantes fuera del alcance, por tal razón casi siempre cuando planteo una estrategia de trabajo lo que hago antes de realizar la oficialización es socializarla con el grupo de trabajo el modelo o alcance y definir con ellos que hace falta o que podemos excliir de este.
Aquí es donde aplicamos el concepto visto en la catedra donde se definio “El conjunto de los modelos es mejor que el modelo inicial, si tiene modelos no repetidos en cada uno de los modelos agregados”.

Principio 2
Divide y vencerás.
Tanto para el diseño de un modelo como para la vida laboral y personal es muy importante este principio, en el aspecto académico me parece importante limitar un modelo y dejarlo en su parte más mínima dividiendo sus procesos, pero teniendo en cuenta que no se debe dejar definiciones o niveles relevantes de este.
En el aspecto laboral es una muy buena estrategia de trabajo dividir el trabajo teniendo en cuenta las capacidades de cada talento del grupo de trabajo, en ocasiones se realizan malas asignaciones dividiendo el trabajo en el grupo pero no solo es dividir el trabajo sino que también es importante saber cada virtud y destres de cada talento así podemos realizar una división de trabajo y el cumplimiento de los objetivos, no es recomendado asumir uno muchas responsabilidades por que la centralización de estas puede generar un colapso e incumplimiento de tareas y entregas.
Para el aspecto personal este principio es el que más me gusta, aplica para cuando alguien te puede interesar pero ves que la persona pasa mucho tiempo con alguien más, la estrategia que se puede utilizar es inicialmente acercarse a esa persona conociendo cuáles son sus gustos y en el momento indicado realizar de una manera sutil la invitación a estas actividades eso si tienes que dar un valor agregado haciendo la diferencia referente a la otra persona con que pasa mucho tiempo (amigo amiga o pretendiente), es ahí cuando inicia la división y obtienes tu objetivo Funciona¡¡


Principio 3:
KISS  “Mantenga las cosas lo más simple posible”.

Nos hemos formado académicamente como ingenieros siendo un poco cuadriculados, y esto en momentos es muy harto, nos complicamos dando definiciones, sustentando una teoría, defendiendo nuestra posición frente a la opinión que tenemos por qué somos más metódicos, salimos con nuestros  apuntes de algoritmos para realizar cualquier actividad y hasta en nuestros ratos de esparcimiento somos lo más metódicos posibles, pero dejamos de lado realizar las cosas lo más simple posible, para mi este principio me gusta, porque es olvidar toda esta teoría matemática o lógica y realizar las cosas sin este enfoque académico, dar una opinión simple o una solución simple en ocasiones son las mejores soluciones o propuestas. En el aspecto personal cuando tengo necesito una opinión simple pregunto a una persona ajena al tema del cual necesito una opinión y le explico de la manera más sencilla la problemática y pido una opinión, acerco esta opinión a mi ámbito laboral o personal le aplico alguna metodología y ohhh sorpresa esta era la mejor solución.
GRASP

Hoy quiero compartir con ustedes los patrones GRASP ya que para alguno de nosotros hace algún tiempo lo vimos en el pregrado y que por extrañas razones lo hemos olvidado, esta será una definición general para tener en cuenta en el desarrollo de nuestra especialización y especialmente en la catedra Modelado y Gestion de la Información.

Definicion:
General Responsibility Assignment Software Patterns (Patrones Generales de Software para Asignación de Responsabilidades).

Más que patrones  generales de software se puede resumir que es una serie de buenas prácticas para el diseño de software.

Existen dos tipos de responsabilidades:

Conocer.
Conocer la información privada del objeto, conocer acerca de los objetos relacionados, conocer acerca de lo que se puede calcular o derivar

Hacer.
Realizar algo él mismo, ejecutar un cálculo, crear un objeto, iniciar acciones en otros objetos, controlar o coordinar actividades en otros objetos

Patrones:

Patrón Experto.

Problema: 
Cuál es el principio fundamental en virtud del cual se asignan las responsabilidades en el diseño orientado a objetos?

Solución:
Asignar la responsabilidad al experto en la información, la clase que tiene la información necesaria para satisfacer la responsabilidad.

      Cada objeto es responsable por mantener su propia información, principio de encapsulamiento
·         Conoce y puede informar el valor de sus atributos.
·         Puede modificar el valor de sus atributos


Patrón Creador.

Problema: Quién es el responsable de crear una nueva instancia de una clase?
Solución: El objeto B tiene la responsabilidad de crear objetos de la Clase A si:
·         B agrega objetos A
·         B contiene objetos A
·         B registra objetos A
·         B usa exhaustivamente objetos A
·         B posee la información necesaria para inicializar a A


Patrón Bajo Acoplamiento

Acoplamiento es la medida de cuanto una clase está conectada (tiene conocimiento) a otras clases

Problema:
Cómo podemos soportar baja dependencia a través de las clases, bajo impacto de cambios, e incremento en la reutilización de clases?

Solución: 
asignar responsabilidades para que el acoplamiento permanezca bajo


Patrón Alta Cohesión.

Cohesión funcional dentro de una clase es una medida que indica cuan relacionadas están las responsabilidades de una clase

Problema: 
Cómo se puede guardar la complejidad manejable?

Solución:
Asigne responsabilidades para que la cohesión permanezca alta

  • ·         Es un patrón evaluativo: entre más alta cohesión más fácil de entender, de cambiar, de reutilizar
  • ·         No puede ser considerado aisladamente


Patrón Controlador
  • ·         Un evento de entrada al sistema es algún evento desde algún actor externo (humano ó no)
  • ·         El objeto controlador es responsable de decidir que hacer con el evento
  • ·         El controlador se aplica para el manejo de interfaces externas y al manejo de entradas desde interfaces de usuario
  • ·         Los controladores de interface de usuario generalmente tienen la forma: Coordinador, Manejador, Session.


Referencias:

Larman C., “UML y Patrones”, Prentice Hall, Segunda Edición, 2003

Departamento de Ingeniería de Sistemas y Computación, Universidad de los Andes, https://sistemasacademico.uniandes.edu.co/~isis2603/dokuwiki/lib/exe/fetch.php?media=principal:1._grasp-parte1y2.pdf