UML - Introduccion

Veremos el objetivo de UML, su arquitectura, las bases para el modelado en UML y como sacar el máximo provecho del lenguaje..

UML - Objetivos y arquitectura

Primer Post sobre UML que trata los aspectos básicos del modelado de software, sus principios y las diferentes vistas del lenguaje.

Blogger se integra a Google+

Google continua con su plan de integrar todo a su red social, esta vez el turno fue para Blogger, ofreciéndonos servicios interesantes con la promesa de mejoras en el futuro.

Apoyo a Megaupload

Artistas muestran su apoyo a Megaupload en respuesta a las demandas que ha sufrido este sitio en los últimos tiempos.

Ley Lleras

Una breve introducción a la controvertida ley Sinde en Colombia o ley Lleras, la cual ha generado múltiples reacciones entre los usuarios de la red no solo colombianos sino de todo el mundo.

Internet móvil de ETB en Ubuntu 10.10

Si al conectar tu módem HUAWEI de ETB en Ubuntu 10.10 este no lo recone, aquite traemos un video-tutorial que te puede ser muy util.

lunes, 27 de febrero de 2012

UML - Elementos estructurales


Son las partes estáticos que representan conceptos (Elementos lógicos) o cosas materiales (Elementos físicos)  de un sistema.

Elementos lógicos

  • Clase: Descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.
Representación de una clase

  • Interfaz: Describe el comportamiento parcial o completo visible externamente de un elemento por medio de una colección de operaciones.
Representación de una interfaz

  • Colaboración: Es una sociedad de roles y otros elementos que cooperan para dar un comportamiento mayor que la suma de los comportamientos de sus elementos.
Representación de una colaboración

  • Caso de uso: Conjunto de secuencia de acciones que producen un resultado observable o de interés para un actor.
Representación de un caso de uso

  • Los siguientes elementos son similares a las clases dado que describen un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.
    • Clase activa: Cuyos objetos tienen uno o más procesos o hilos en ejecución.
Representación de una clase activa

    • Componente: Oculta todo su comportamiento tras un conjunto de interfaces externas.
Representación de un componente


Elementos físicos


  • Artefacto: Es una parte reemplazable del sistema del sistema, pueden ser archivos de código fuente, ejecutables o scripts.
Representación de un artefacto

  • Nodo: elemento que existe en tiempo de ejecución y representan un recurso computacional que generalmente tienen unidad de procesamiento.
Representación de un nodo

miércoles, 15 de febrero de 2012

UML - Objetivos y arquitectura


UML es un lenguaje que puede ser utilizado tanto para el modelado de software y hardware (En compañía de VHDL). En mi opinión con UML es suficiente la combinación con VHDL utilizado para la programación de FPGAs limita nuestros desarrollos a estos dispositivos.

Es un lenguaje porque tiene un vocabulario y unas reglas que permiten su combinación para facilitar su combinación. Dándonos la oportunidad de modelar una representación física y conceptual de un sistema.

Objetivos de UML

  • Visualizar: Nos permite ver lo que queremos lograr con el sistema, facilitándonos la comunicación y dándonos una representación gráfica del problema y su solución.
  • Especificar: Construir modelos con una estructura precisa, cubriendo las decisiones de análisis, diseño e implementación.
  • Construir: A pesar que UML no es un lenguaje de programación permite el desarrollo de plantillas aplicables a diferentes lenguajes.
  • Documentar: Cubre la documentación de la arquitectura y todos los detalles de un sistema. Expresando requisitos y pruebas, modelando las actividades y gestionando las versiones del proyecto.
Arquitectura

Como mencionamos en el post anterior UML tiene su propia arquitectura formada por la combinación de diferentes vistas, cada una de estas vistas cumple una función específica y está formada por una serie de diagramas.

Todo el proceso esta centrado en los casos de uso, de ahí se desprenden las otras vistas.


Para obtener el beneficio máximo de UML se debería considerar el siguiente proceso:

  • Dirigido por casos de uso: Se utilizan como artefactos básicos para establecer el comportamiento deseado, verificar y validar la arquitectura, establecer las pruebas y facilitar la comunicación.
  • Centrado en la arquitectura: La arquitectura se usa como artefacto básico para conceptualizar, construir, gestionar y hacer evolucionar el sistema de desarrollo.
  • Proceso iterativo e incremental: Integración continua de la arquitectura para introducir mejoras al modelo. Se busca que con cada iteración se agreguen nuevas características al modelo.

Con estos conceptos básicos del por qué utilizar UML podemos pasar con más seguridad al como utilizarlo.



lunes, 13 de febrero de 2012

UML - Introducción


En la actualidad casi cualquier proyecto que se emprende necesita de una etapa de planeación que es la más importante dado a que se construyen las bases del mismo y se verifica si es viable desde el punto de vista de tecnológico, económico y/o de las capacidades del equipo de desarrollo.

En este post y en los siguientes trataremos el modelado de un proyecto de software desde un punto de vista teórico. Para ello utilizaremos un lenguaje de modelado orientado a objetos y grafico (UML 2.0) que es independiente del lenguaje de programación que se elija (Mas adelante veremos cómo se puede generar parte del código a partir del modelo).

Antes de comenzar con cualquier lenguaje o método de modelado debemos saber la importancia y los principios básicos que son comunes a todos los modelos.

Modelar un software es como construir un edificio, si el diseño y los cimientos quedan sólidos se presentaran menos inconvenientes en la implementación y los cambios serán mas fáciles de realizar.

Modelado de software

Un “modelo” es una simplificación de la realidad, construidos para comprender mejor el sistema que estamos desarrollando. Si dividimos el problema en problemas  más pequeños, facilitamos la comprensión y la construcción de la solución.

Para construir un buen modelo se deben tener en cuenta los siguientes principios:

  1. Escoger los modelos con el enfoque correcto porque estos son los que van a dar la forma a nuestra solución. En el desarrollo de software es necesario escoger diferentes enfoques para así abordar un problema desde diferentes puntos de vista (GUI, bases de datos, relación con el entorno, etc.).
  2. Los modelos se pueden expresar en diferentes niveles de precisión. No es lo mismo mostrarle los gráficos a un cliente que a una persona del equipo de desarrollo encargada de una tarea específica.
  3. Los modelos deben estar ligados a la realidad, para tener claridad sobre las limitaciones y el alcance de nuestro modelo se debe saber cómo se aparta exactamente de la realidad.
  4. Se deben tener vistas casi independientes, digo casi independientes porque deben permitir dividir el problema y observarlo desde sus aspectos principales sin perder las relaciones entre ellos.
Introducción a UML

UML (Lenguaje unificado de modelado) es un lenguaje grafico para VISUALIZAR (Lo que queremos), ESPECIFICAR (La estructura), CONSTRUIR (Plantillas de guía) y DOCUMENTAR las piezas discretas de información de un sistema con gran cantidad de software.

Vistas de un modelo:

  • Vista de casos de uso: Muestra los requisitos del sistema.
  • Vista de diseño: Muestra la arquitectura del problema y la solución.
  • Vista de interacción: Muestra las relaciones internas y las relaciones externas con el entorno.
  • Vista de implementación: Muestra La materialización física del sistema.
  • Vista de distribución: Muestra cómo se va a poner en marcha el sistema.


Esta vista las veremos mejor mas adelante con mayor cuidado. En la siguiente entrada haremos una presentación formal de UML.



Síguenos en Google+
Síguenos en Twitter!
Síguenos en Facebook
Míranos en  YouTube!