domingo, 20 de septiembre de 2015

Diagramas UML

La diagramación UML me parece que es de las mejores diagramaciones que expresan intervención del usuario y sistema en desarrollos de software.

En la experiencia que tengo como analista de calidad y los diferentes artefactos con los que he trabajado considero que la diagramación UML es la mejor que hay para entender la intervención de un usuario y el sistema.

Los elementos básicos que tiene este lenguaje de modelado son:

Clases: Es la unidad base que encapsula toda la información de un Objeto.
Atributos: definen el grado de comunicación y visibilidad de ellos en el entorno, los atributos que se manejan son público, privados y protegidos.
Métodos: pertenecen a la clase, estas interactúan con su entorno y tienen características de público, privados y protegidos.
Agregación por valor: El tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye.
Agregación por referencia: El tiempo de vida del objeto incluido es independiente del que lo incluye.

Asociación: Permite asociar objetos que colaboran entre sí.





BPMN (Business Process Modeling Notation)

Se trata de una notación gráfica para el modelado de procesos, el cual es independiente de cualquier metodología.

Esta notación se estandarizo a nivel mundial, y es reconocido como la mejor herramienta para describir procesos.

En forma personal pienso que los diagramas son importantes para la descripción de un negocio y para la socialización de procesos en modos productivos, como también para capacitaciones de recursos nuevos en las organizaciones, también considero que estos modelos deben ser publicados y de fácil acceso para verificar que un proceso se esté ejecutando tal como se describió en un comienzo.
También creo que es importante ir actualizando estos modelos cuando se realicen cambios en los procesos, y anunciar a todos los afectados los cambios de estos procesos.


Considero que la notación no es complicada de entender y fácil de expresar o dibujar.


domingo, 13 de septiembre de 2015

Como gestionar un proyecto.

La gestión de proyectos como primer medida es entender y reconocer cuales son los requerimientos del cliente para así nosotros tener un contexto de lo que el cliente o usuario necesita y nosotros aplicar la estrategia y herramientas más adecuadas para que dicho proyecto o requerimiento se lleve a feliz término.

El objetivo de la gestión de proyectos es saber distribuir cargar o asignaciones al grupo de trabajo y realizar un seguimiento periódico riguroso asegurando que las actividades asignadas se cumplan en su totalidad y en los tiempos establecidos, es decir verificar que los requerimientos del cliente o usuario se estén realizando como se solicitaron.

Las funciones en la gestión de proyectos es realizar la planificación de todas las actividades como se mencionó en el objetivo, debe realizar seguimiento a las actividades asignadas a cada recurso, y verificar que la planeación se esté cumpliendo como se planeó, de encontrar inconsistencias en estas actividades, re plantear los planes de trabajo y proponer una estrategia.


Dentro de las funciones están emplear una metodología, estimar costos y tiempos, hacer métricas de medición, re plantear estrategias y entregar informes de avance tanto al grupo de trabajo como a la alta gerencia.


Procesos Transversales en la organización

Los procesos transversales en las organizaciones siempre han existido y son un apoyo indispensable para cada uno de los negocios o áreas de la organización, los procesos transversales son los que abarcan toda la estructura en la organización y pueden hacer uso de herramientas tecnológicas para automatizar y reducir esfuerzos del proceso.

Es importante que las organizaciones hoy en día apliquen estos procesos transversales para cubrir todos los negocios de la misma y que no realicen estos procesos de forma individual, esto genera en las organizaciones re procesos y altos costos en la generación de áreas, adicional la información estaría descentralizada que para fines de pronósticos y reportes de sus actividades y negocios la información no estaría completa.

En la imagen se muestra los procesos a los que se dedica el negocio o organización y sus áreas o procesos transversales.


domingo, 6 de septiembre de 2015

Dato Vs  Información.

Así como nos mostró nuestro profesor los ejemplos de Datos Vs Información espero que estos sean también unos buenos ejemplos para que nos contextualicemos más en el tema:

Propiedad: Interés por alguien
Dato: Claudia 
Propiedad: Gusto
Dato: Chocolate blanco
Contexto: Invitación a salir por primer vez.

Principios:
-          Invitación   a cenar que hace por primera vez Camilo a Claudia para conocer el nivel de interés que Claudia tiene por Camilo.

-          El chocolate blanco que lleva Camilo es importante para que aumente el interés de Claudia.

Propiedad: Compra
Dato: Casa
Propiedad: Económica
Dato: vivienda de interés social
Contexto: Se necesita realizar compra de una vivienda que sea de interés social para recibir beneficios monetarios.
Principios:
-          Aplicar a subsidio de vivienda para realizar la compra de vivienda de interés social
-          Con el beneficio del subsidio familiar se podrá realizar la compra de vivienda de una forma más fácil.
Modelos de Información

Como aporte para esta semana y haciendo referencia al tema enviado mi opinión es la siguiente:
Siendo la información la parte más importante de una empresa y como tal la que más se resguarda, de nada sirve esta información si no se le da un tratamiento y transformación, es por esto que me parece muy importante el tema que se nos compartió en donde se indica que efectivamente la información nos puede dar una serie de beneficios  como son el análisis de la información, automatizar el tratamiento de la información caracterizar la información, entre otras.

Opino que a partir de la información podemos realzar segmentos de clientes, ver perfiles, comportamientos, gustos, aficiones, comportamiento de pago, que en últimas son la información de los datos que ellos nos han dejado, creo q este es el ejemplo más claro de cómo a partir de los datos obtenemos una información la cual podemos tratar y generar informes para nuestros negocios.


Particularmente en la empresa donde trabajo tengo conocimiento de un proyecto muy interesante de Inteligencia de Negocios que se está trabajando en este momento, donde se pretende que todos los negocios unifiquen su información para que desde allí puedan sacar todos sus informes, proyecciones, comportamiento de clientes, entre otros (en la actualidad cada negocio tiene su información y son muy pocos los que están integrados con otros.)

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