domingo, 20 de septiembre de 2015

Un vistazo a UML

Como cada semana en nuestra clase de modelado nuestro maestro abre las puertas a nuevas herramientas tecnológicas, y al escucharlo mi mente empieza a navegar de inmediato en un nuevo mar de posibilidades.   Aunque mi mente quiere inmediatamente hacerse a la mar, es necesario primero terminar de construir el navío que me llevará por estas aguas, y para ello quiero dejar en claro algunos de los conceptos de los que vimos en su clase.

Uno de los temas que me llamó poderosamente la atención esta semana, fue la posibilidad de plasmar un modelo a través de gráficas en un lenguaje completamente estructurado, éste lenguaje es UML; y para terminar de aclarar en mi mente, presento a continuación algunos conceptos básicos.

¿Qué es un lenguaje? Según una de las definiciones del diccionario, un lenguaje es un conjunto de señales que dan a entender algo.  Según lo visto en clase se puede ver también un lenguaje como un instrumento para la transferencia de información.  Un lenguaje tiene un conjunto de símbolos que tienen un significado cuando se ordenan de una manera predeterminada.

UML
Con base en lo anterior, podemos decir que UML es un lenguaje que utiliza unos objetos gráficos predefinidos para representar un modelo de información.
Según la definición oficial UML (Unified Modeling Language) es un lenguaje para especificar, visualizar, construir y documentar los elementos de un sistema software, así como para modelado de procesos de negocio u otros sistemas no-software. UML reúne una colección de las mejores prácticas en la ingeniería que han sido utilizadas con éxito para modelar sistemas grandes y complejos.

Dentro de este lenguaje se definen nueve diagramas que representan diferentes puntos de vista del modelado, a continuación traigo unas definiciones para estos diagrama, y que considero fáciles de digerir.

Diagramas De Casos De Uso

Los Casos de Uso no forma parte de la llamada Fase de Diseño, sino parte de la fase de Análisis, respondiendo el interrogante ¿Qué? De forma que al ser parte del análisis ayuda a describir que es lo que el sistema debe hacer.
Los casos de usos se representan en el diagrama por unas elipses la cual denota un requerimiento solucionado por el sistema. El conjunto de casos de usos representa la totalidad de operaciones que va a desarrollar el sistema. Por último a estas elipses las acompaña un nombre significativo de manera de rótulo.
Estos diagramas muestran operaciones que se esperan de una aplicación o sistema y como se relaciona con su entorno, es por ello que se ve desde el punto de vista del usuario. Describen un uso del sistema y como éste interactúa con el usuario.



Diagrama De Clases
En UML el diagrama de clases es uno de los tipos de diagramas o símbolo estático y tiene como fin describir la estructura de un sistema mostrando sus clases, atributos y relaciones entre ellos.  
Estos diagramas son utilizados durante el proceso de análisis y diseño de los sistemas informáticos, en donde se intentan conformar el diagrama conceptual de la información que se manejará en el sistema.

Diagrama De Objetos
Forma parte de la vista estática del sistema. En este diagrama se modelan las instancias de las clases del Diagrama de Clases. Este diagrama cabe aclarar que cuenta con objetos y enlaces. En estos diagramas también es posible encontrar las clases para tomar como referencia su instanciación. 

Diagrama De Estados
Un estado es una condición durante la vida de un objeto, de forma que cuando dicha condición se satisface se lleva a cabo alguna acción o se espera por un evento.  El estado de un objeto se puede caracterizar por el valor de uno o varios de los atributos de su clase, además, el estado de un objeto también se puede caracterizar por la existencia de un enlace con otro objeto.

Diagrama De Actividad
Un Diagrama de Actividades representa un flujo de trabajo paso a paso de negocio y operacionales de los componentes en un sistema.  Un diagrama de actividades es una variación del Diagrama de Estados UML donde los estados representan operaciones y las transiciones representan las actividades que ocurren cuando la operación es completa.

Diagrama De Secuencia

Un Diagrama de Secuencias muestra una interacción ordenada según la secuencia temporal de eventos y el intercambio de mensajes. Los diagramas de secuencia ponen especial énfasis en el orden y el momento en el que se envían los mensajes a los objetos

Diagrama De Colaboración

Un diagrama de colaboración, se puede decir que es una forma alternativa al diagrama de secuencias a la hora de mostrar un escenario. Este tipo de diagrama muestra las interacciones que ocurren entre los objetos que participan en una situación determinada.   A diferencia del diagrama de secuencia, el diagrama de colaboración se enfoca en la relación entre los objetos y su topología de comunicación.

Diagrama De Componentes

Lo que distingue el Diagrama de Componentes de otro tipo de diagramas es sin duda su contenido. Normalmente contiene componentes, interfaces y relaciones entre ellos. Los componentes perteneces a un mundo físico, es decir, representan a un bloque de construcción al modelar aspectos físicos de un sistema.

Diagrama De Despliegue

Básicamente este tipo de diagrama se utiliza para modelar el Hardware utilizado en la implementación del sistema y las relaciones entre sus componentes.  
Los elementos usados por este tipo de diagrama son nodos, componentes y asociaciones. En el UML 2.0 los componentes ya no están dentro de nodos, en cambio puede haber artefactos (archivo, un programa, una biblioteca o Base de datos) u otros nodos dentro de nodos.

Referencias:
http://ingenieriadesistemas-shirley.blogspot.com.co/2012/05/tipos-de-diagramas-uml.html

Mi evaluación de la semana.

Está semana culminó con muchas sorpresas, después de mucho tiempo he retornado al trabajo; me esperan nuevos retos, entre los cuales debo organizar una información específica, ya que buscan automatizar un tema relacionado con los reportes para generar los indicadores, dado que la “oligarquía española”  lo quiere ver todo en tiempo real y en línea,  ¿saben para qué?, claro, según ellos hay tiempos muertos y como respetados españoles, “Nos deben asignar más tareas”.

Lo maravilloso del cuento, es que en parte de mi proceso de aprendizaje para asumir mi cargo, me han hablado de puntos de vista, modelos, Interés y como evaluamos el modelo.  No lo podía creer  era casi como una historia de ciencia ficción, porque sabía de qué me estaban hablando y entendía lo que querían de mí, gracias a la enseñanza de mi docente de modelado; por primer vez en la vida no sentí miedo, como en otras ocasiones y como en otras empresas.  Mientras me explicaban mis nuevas responsabilidades debo confesar que me asustaba y quería huir, pero esta vez considero que soy afortunada.

Ahora bien, entrando en contexto, voy a compartir un tema interesante que aprendí en la asignatura de Modelado de la Información y que pude ver en vivo y en directo esta semana: La evaluación de Modelos.

¿Para qué evaluamos Modelos de Información?
Un modelo lo evaluamos para comprobar su Validez, para conocer si la fuente de información va a resolver los problemas en cuanto a la toma de decisiones eficaces  y mejora continúa de los procesos de un negocio.

Existen tres (3) componentes principales a la hora de evaluar un modelo, que consiste en realizar una serie de preguntas y dependiendo de la respuesta obtenida de cada una de éstas, conoceremos la validez del modelo.

Evaluación conceptual. Se formulan las siguientes preguntas:
1. ¿Se presentan conceptos del dominio? es decir, tenemos claro los conceptos definidos.
2. ¿los conceptos son excluyentes?, recordemos que entre más excluyentes existan, el concepto está mejor definido.
3. ¿Los conceptos están en contexto?, es decir, que los contextos siempre deben estar definidos.

Evaluación Relacional
1. ¿Las relaciones están definidas? (entre los conceptos que tenemos definidos). 
2. ¿Las relaciones están descritas?
3. ¿Las relaciones no son ambiguas? en este interrogante es importante realizar relaciones perfectamente adornadas.

Evaluación Categórica. En esta valoración es fundamental que los conceptos estén basados en axiomas.
1. ¿Existen mecanismos de clasificación conceptual? Aquí nos están preguntando que las categorías deben estar definidas.
2. ¿Existen meta- categorías descritas? esta pregunta solo aplica en caso de que sí existan, tengamos presente, que a medida que se agreguen categorías se está enriqueciendo el modelo de información.


Por consiguiente, y en resumen, luego que tengamos un modelo diseñado el siguiente paso que se debe dar es evaluarlo respondiendo a las interrogantes anteriormente planteadas para comprobar la validez.  Esto nos lleva a responder ante las necesidades para la optimización de su información de forma eficiente y proactiva.


sábado, 12 de septiembre de 2015

Aprendamos a Categorizar




Hace algunos años cuando trabajaba en el Service Desk era común escuchar y replicar frecuentemente la palabra “Categorizar”, la repetíamos todo el día, cada vez que teníamos que atender una llamada y posteriormente registrar la información de los usuarios, siempre le preguntaba a mis compañeros ¿cómo categorizo esto?.. ¿Usted sabe por dónde va esto?,  La duda inminente asechando todo el tiempo… es más, se sentía adrenalina pura porque si no categorizábamos bien las solicitudes íbamos a estar en problemas serios con los jefes. Allí sí que nos sorprendían con los inesperados llamados de atención acompañados de un memorando.  Así es como describo el día a día en ese lugar gratos recuerdos.

Sin embargo, cuatro años después comprendo porque en aquella recordada aplicación de gestión aparecía la temerosa palabra “Categorizar”. Inicialmente es necesario destacar, como lo he repetido en la mayoría de mis entradas del blog que todo este nuevo conocimiento se lo agradezco a mi Docente de Modelado de la Información.

¿Qué es Categoría?

Antes que todo  para responder a este interrogante, es necesario tener claro qué es un atributo dice que es una característica propia de algo.

Ahora bien, procedamos a la definición de Categoría “Es un conjunto de atributos que permiten clasificar la información”. Es decir, que se trata de un conjunto de características propias que nos permiten  ordenar o determinar la información. Es bastante claro la explicación.

Por consiguiente, Las categorías sirven Como base fundamental para modelado de información, cuando un cliente solicite un requerimiento bien sea de software,  las categorías siempre deben diseñarse de acuerdo al punto de vista e intereses  de dicho solicitante.

En resumidas cuentas, es evidente que para poder modelar información nos tenemos que esforzar cada día para adquirir más conocimiento y tener claro una serie de conceptos, responder a unos interrogantes con la finalidad de conseguir un Modelo de Información deseado. 



¿Conocemos las claves para modelar?



Hoy estamos inmersos en un universo de información, pero que tanto sabemos de cómo organizarla o clasificarla.

En mi caso no tenía claro cómo hacerlo, o tal vez cuando clasificaba información consideraba y creía que lo hacía bien, ¡equivocada estaba!, hasta que mi docente de modelado nos enseñó las claves para aprender a construir modelos correctamente.
Ahora bien, voy a compartir el secreto para modelar, lo aprendí durante esta semana, con certeza aseguro que es clave para los arquitectos de los sistemas de información:

·  Si no podemos evaluar el contexto o conjunto de circunstancias que se producen alrededor de un hecho, no podemos valorar la información: El mismo contexto.

·       Para obtener más información se debe: Evaluar la cantidad de Datos asociados.

·   Entre más puntos de vista satisfaga la información, genera mayor valor: Cantidad de Puntos de Vista. Recordemos, que en una de nuestras entradas anteriores mencionamos que un punto de vista es la posición que un sujeto toma frente a un sistema y está relacionado con sus intereses.  

·   ¡Falsear!... muy importante, la información entre más falsa sea, tiene más argumentos contrarios, es decir, que podemos producir información verdadera y de esa manera llegamos al modelo deseado: Nivel de falsedad que tenga la Información.

Por con siguiente, si se aplican correctamente los elementos antes mencionados, nos va a permitir saber interpretar la manera adecuada de organizar la información y seguidamente plasmarla gráficamente definiendo todas las relaciones que existen entre ellos.


Para finalizar, es necesario No hay que descartar la información mal modelada o lo que llamamos “reciclar” ya que puede generar muchos más modelos que conllevan a un modelo deseado.


viernes, 4 de septiembre de 2015

Datos vs Información








En la actualidad empleamos con frecuencia los términos “datos” e “Información”, pero será que alguna vez nos hemos preguntado sí tenemos claridad sobre su significado, para que sirven o que los diferencia.


Es probable que no hagamos este ejercicio, pero hay que hacerlo, lo recomiendo, además de ser interesante, es muy importante para todas las personas profesionales que nos gusta en el maravilloso mundo del modelado de información.

Ahora bien, para comenzar me pregunto: ¿Qué es un dato?

Busqué en la web su significado y encontré varias definiciones me gustó esta: “Los datos son la mínima unidad semántica, y se corresponden con elementos primarios de información que por sí solos son irrelevantes como apoyo a la toma de decisiones. También se pueden ver como un conjunto discreto de valores, que no dicen nada sobre el porqué de las cosas y no son orientativos para la acción”.

Es decir, que mientras el dato esté aislado, no posee relevancia, pero empleado en las premisas de un razonamiento  puede llevarnos a una conclusión.

Asimismo,  cabe suponer, que los datos pueden derivar de fuentes externas o internas a la organización, pudiendo ser de carácter objetivo o subjetivo, o de tipo cualitativo o cuantitativo

También quiero agregar, que otra definición que me interesó fue la expuesta en clase por mi docente “Un Dato es un conjunto de símbolos de carácter cognitivo”, “Valor que se asigna a una propiedad”.

Ahora que ya tenemos claridad sobre la definición del dato, ¿Qué es información?

Se dice que la información son datos con significado, es decir, procesados, organizados en un contexto definido y por lo tanto son de utilidad o interés para quien debe tomar decisiones, al disminuir su incertidumbre. Por consiguiente, los datos se pueden transformar en información agregando valor como podemos apreciarlo a continuación:

Contextualizando: se conoce en qué contexto y para qué propósito se generaron.
Categorizando: se conoce las unidades de medida que permiten interpretarlos.

Calculando: los datos pueden haber sido procesados matemáticamente.
Corrigiendo: se han eliminado errores e inconsistencias de los datos.

Condensando: los datos se han podido resumir de forma más concisa.

Para finalizar, es indiscutible que la información es la comunicación de conocimientos  y tiene la capacidad de cambiar la forma en que el interesado percibe algo, impactando sobre sus juicios de valor y sus comportamientos.
 





Calidad del Producto de Software




En una de nuestras entradas anteriores introdujimos la norma ISO de calidad, adicionalmente expusimos que ISO es la Organización Internacional de Normalización, que se encarga  de buscar la estandarización de normas de productos y seguridad para las empresas u organizaciones (públicas o privadas) a nivel internacional.

¿Qué es calidad?

Podríamos decir que la calidad es cumplir con un conjunto de necesidades establecidas o implícitas a través de  propiedades y características de un producto, proceso o servicio.   La calidad es el resultado de un esfuerzo complejo se trabaja en forma eficiente para satisfacer la necesidad de un cliente.

Ya habíamos hablado de la familia ISO 9000, ahora bien, conozcamos otra norma más, la ISO/25000 SQuaRE, ésta norma busca establecer que cuando se desarrolle un software cumpla con los procesos establecidos para asegurar la calidad del producto.

Entrando en contexto,  La calidad del producto, junto con la calidad del proceso, es uno de los aspectos más importantes actualmente en el desarrollo de Software. Por esta razón cuando hablamos de  la calidad del producto, en la actualidad ha aparecido la familia de normas ISO/IEC 25000, que proporciona una guía para el uso de la nueva serie de estándares internacionales llamada Requisitos y Evaluación de Calidad de Productos de Software.

¿Qué quiere decir SQuaRE? Se refiere a Requisitos y Evaluación de calidad de Productos de Software.  Tiene como objetivo guiar el desarrollo de los productos de software con la especificación y evaluación de requisitos de calidad. Además establece criterios para la especificación de requisitos de calidad de productos software, sus métricas y su evaluación.
SQuaRE está formada por las siguientes divisiones:
 






SQuaRE define un ciclo de vida de calidad del producto de software fundamentado en tres fases:

La fase de la calidad de uso, es el inicio y el fin, acá se solicitan los requisitos y se mide si lo construido cumple los requisitos.

La fase de un producto en pruebas contrasta los requisitos con la calidad externa.

3.   La fase de un producto en desarrollo examina los requisitos internos contra calidad interna.

 

·         El modelo de calidad del producto se encarga de evaluar la calidad de un producto de software como tal.

·         La calidad en uso, se encarga de evaluar la calidad de la interacción con un sistema.

Todas Las partes se interrelacionan afectando los valores de la calidad interna a los de la calidad externa  y los de la calidad externa a los de la calidad en uso. Por esta razón, la calidad en uso dependerá de la calidad interna y externa.

En la imagen a continuación se puede observar el ciclo de vida del modelo:
 




El modelo de calidad del producto de la ISO 25000 clasifica la calidad del producto en ocho características:

  •    Funcionalidad.
  •    Rendimiento
  •    Compatibilidad
  •    Usabilidad
  •    Fiabilidad
  •    Seguridad
  •    Mantenibilidad
  •    Portabilidad.

El modelo de calidad en uso de la ISO 25000 clasifica la calidad en uso en cinco características:

  •       Efectividad
  •       Productividad
  •       Seguridad
  •       Satisfacción
  •       Contexto de uso 

En conclusión, es una buena práctica fundamentarnos en una norma de calidad al momento de realizar un producto, porque nos da confianza de lo que se hace está bien hecho, además vamos a recibir el producto esperado, generando valor para el negocio, cumpliendo la utilidad y asegurando garantía.