lunes, 22 de junio de 2015

¿Que es un patrón de diseño?

Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.

Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.

Fuente: Wikipedia (2015), obtenido de: https://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o

miércoles, 3 de junio de 2015

Guías y tutoriales para principiantes de Desarrollo Orientado a Objetos - UML -

Muchos aprendimos a programar casi de manera autodidacta, tal ves les sucedió como a mí, que me compre un libro de Java y en unas semanas ya estaba programando ventanas y consultas a una BD.

Sin embargo llega el momento en que es necesario documentar o proyectar en un papel nuestras ideas, diseños y soluciones, es por eso que escribo esta entrada, en la que pretendo compartir con ustedes algunos enlaces de publicaciones muy útiles para comprender el proceso de Análisis y diseño orientado a objetos.

Estos libros en formato PDF les serán muy útiles si desean aprender a documentar y a modelar casos de uso con el lenguaje de modelado unificado (UML por sus siglas en inglés).

Primero me gustaría citar de wikipedia:
"Análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de software que modela un sistema como un grupo de objetos que interactúan entre sí. Este enfoque representa un dominio absoluto en términos de conceptos compuestos por verbos y sustantivos, clasificados de acuerdo a su dependencia funcional. En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML). ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto - por ejemplo, un sistema de negocio, un conjunto de módulos de software - y para diseñar una solución para mejorar los procesos involucrados. No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las metodologías de análisis y diseño más modernas son casos de uso guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.

El lenguaje unificado de modelado se ha vuelto el lenguaje de modelado estándar usado en análisis y diseño orientado a objetos."
A continuación agrego los enlaces que serán de utilidad:

Wikipedia: Análisis y Diseño orientado a objetos (2015) Obtenido de:
Desarrollo orientado a objetos con UML. Xavier Ferré Grau, María Isabel Sánchez Segura
Facultad de Informática – UPM (2015).
Obtenido de: http://www.uv.mx/personal/maymendez/files/2011/05/umlTotal.pdf
El lenguaje unificado de modelado. Grady Booch, Jim Rumbaugh e Ivar Jacobson.
Obtenido de: http://elvex.ugr.es/decsai/java/pdf/3E-UML.pdf
Herramientas para elaborar diagramas UML
http://thenullpointerexceptionx.blogspot.mx/2015/05/cual-es-la-mejor-herramienta-de.html?view=magazine

En estos documentos se cubren entre otros temas:
  • Componentes UML
  • Casos de uso y diagramas de CU
  • Diagramas de secuencia
  • Modelado de un sistema
  • Fases de Planeación y especificación de requisitos
  • Análisis
  • Diseño
  • Implementación y Pruebas

martes, 19 de mayo de 2015

¿Cual es la mejor herramienta de diagramado UML?


Desde hace algún tiempo me pregunte mucho que herramientas utilizar para generar mis modelos UML y para decidir pensé en plantear una serie de preguntas y en base a ellas evaluar cual seria la mejor solución, tomando en cuanta que algunos productos pueden ser mejores que otros dependiendo el uso que vamos a darles.
A continuación comparto los criterio que tomé en cuenta y que herramientas son útiles para ello:
Nota: este es un punto de vista muy particular y si conocen algunas opciones mejores no duden en compartir su opinión.

  1. ¿Solo requiero diagramar o voy a modelar? (Diagramar: ArgoUML y Visio)
  2. ¿Voy a necesitar modelar en el futuro?(Para modelado básico recomiendo "Comunity editions" de productos comerciales)
  3. ¿Requiero formalizar mis modelos a través de perfiles o meta-modelos? ¿OCL? (Sparx, RSM, Visual Paradigm)
  4. ¿Me preocupa la potabilidad del modelo, soporte XMI? (GenMyModel, Sparx, Visual Paradigm, Altova)
  5. ¿Tengo un conjunto existe de documentos con los que necesito trabajar? (Depende de los documentos)
  6. ¿Me gustaría generar fragmentos de código o código completamente funcional? (GenMyModel, Visual Paradigm, Sparx, Altova)
  7. ¿Requiero un proceso más maduro como es la administración de casos de uso, creación de patrones, creación de activos, integración RUP, etc? (RSA/RSM/IBM Rational products)
Por ejemplo, IBM Rational Software Architect no implementa UML 2.0 a diferencia de Visual Paradigm y Sparx.
Un ejemplo similar puede ser ArgoUML que no genera ningún tipo de código y se enfoca completamente en el diseño de los diagramas más que en el modelado.
Con Visio podemos tener un mejor diseno gráfico de los diagramas, sin embargo requiere licencia.

Bueno, todo dependerá del uso y los recursos con que dispongamos a la hora de elegir una herramienta para generar nuestros diagramas.


Lista de herramientas y tabla comparativa:


Enlaces:



miércoles, 13 de mayo de 2015

Instalación DB2 Express-C database server v10.5 Windows 7 - 64b

DB2 Express Server Edition es una versión free del famoso DB2 de IBM, con esta herramienta podemos ayudarnos a introducirnos al mundo de DB2 y tambien podemos utilizarlo como herramienta para otras aplicaciones de IBM que requieren de una base de datos ya sea para almacenar metadatos o para almacenar otra información.

En mi caso lo utilizaré para configurar un servidor WAS - BPM 8.5.5, pero esa será la próxima entrada del blog. :), bueno a continuación describo los pasos para realizar la descarga e instalación.

Descarga de DB2 Express-C database server v10.5

Para comenzar debemos ir a la página de IBM, buscar el producto y descargrlo, el url es el siguiente:

http://www-03.ibm.com/software/products/en/db2-express-server-edition


1.- Hacer clic en la pestaña "Downloads"
2.- Hacer clic en el botón "Download"





3.- Hacer clic en la pestaña "Downloads and Support"
4.- Elegir la versión del sistema operativo, en mi caso es "Windows 64-bits"
5.- Llenar el formulario con sus datos personales y descargar.
*NOTA: en mi caso tuve un error al descargar con el componente JAVA, así que elegi la opcion descargar "HTTP"


Aquí termina la Descarga.

Instalación de DB2 Express-C database server v10.5

1.- Una vez descargado el archivo debemos descomprimirlo
2.- En la ruta "...\EXPC\" debemos ejecutar el archivo "setup.exe" como administrador:















3.- Se abre la ventana de Instalación y debemos elegir en el menú izquierdo la opción "Install a Product"

4.- En la siguiente ventana hacemos clic en el botón "Install Now"


5.- En la siguiente ventana hacemos clic en "Next"


6.- Aceptamos los términos de la licencia y hacemos clic en "Next"

7.- Como este es un manual básico elegimos la instalación "Typical" y hacemos clic en "Next"

8.-Elegimos la opción "Install DB2 Express-c on this computer and save my settings in a response file"

9.- Elegimos el directorio por default y damos clic en "next"

10.- Elegimos el archivo por default y la opción "Autostart ..." y ahcemos clic en next

11.- Como es una instalación local elegimos la opción "Local user or Domain user account", después en user information elegimos "None - use local user account" esto nos evitara tener futuros conflictos de permisos ya que estamos asignando un usuario local nombrado como administrador de nuestro motor de base de datos. el username por default es "db2admin", y le asignamos una contraseña. NOTA: Escriba la contraseña en algún lugar, no confié en su memoria. :)

12.- En los siguientes pasos dejamos todo como esta por default y hacemos clic en "Next" y en "Finish"



13.- Si usted ve la siguiente pantalla ha finalizado con éxito la instalación:

FIN!!!!!

Process Server - Message Broker - IBM

Ahora entro al mundo de IBM, a diferencia de Oracle y otras marcas IBM es más cerrado, incluso con los productos, es difícil poder descargar algunos productos para probar o aprender si no se cuentan con las licencias, y que decir de tutoriales o manuales!, pero bueno, ahora voy a compartir mis experiencias en cuanto a estos temas, espero les sean útiles a la comunidad.

Saludos