miércoles, 26 de enero de 2011

~Semana 1, Herramientas UML

Semana 1
Materia: Taller de Programación Orientada a Objetos
Jueves M1-M2


Hola a todos, bueno en esta entrada les hablaré sobre algunas herramientas que se utilizan para modelar los sistemas orientados a objetos.

DIAGRAMAS UML

Los diagramas UML son un conjunto de herramientas que sirven para modelar, diseñar y analizar un sistema orientado a objetos.

Como se muestra en la figura de la derecha, estos diagramas sirven para describir métodos o procesos. Por ejemplo en la imagen, el crítico de comidas en un restaurant puede: probar la comida, pagar la comida y beber vino, en cuanto el chef es el que prepara la comida.

Existen diferentes tipos de diagramas. 
  • Diagramas de Estructura. Estos diagramas hacen énfasis a los elementos que deben existir en el sistema de modelado.
    - Diagrama de clases
    - Diagrama de componentes
    - Diagrama de objetos
    - Diagrama de estructura compuesta
    - Diagrama de despliegue
    - Diagrama de paquetes
  • Diagramas de comportamiento. Estos diagramas hacen énfasis a lo que debe de suceder en el sistema.
    - Diagrama de actividades
    - Diagrama de caso de uso
    - Diagrama de estados
  • Diagramas de interacción. Son subtipos de los diagramas de comportamiento, hacen énfasis en el flujo de control y datos entre los elementos del sistema.
    - Diagrama de secuencia
    - Diagrama de comunicación
    - Diagrama de tiempos
    - Diagrama global de interacciones


BOUML 
Es una aplicación UML2 gratuita con modelador que te permite generar código en C++, Java, Idl, PHP y Phyton.

Bouml esta disponible para Unix, Linux, Solaris, MacOS X y Windows.

Es muy rápido y requiere de muy poca memoria para ejecutar miles de clases, es extensible, los programas llamados plug-outs pueden ser escritos a través de Java o C++ a través de Bouml como cualquier otro programa.

En la siguiente imagen se muestra un diagrama de secuencia diseñado en BOUML.




Esta aplicación la pueden descargar en el siguiente link BOUML, en esta misma página en la pestaña de Documentation viene un manual de referencia que puede servirles también. 

Desde Ubuntu lo pueden descargar en el Ubuntu Software Center que se encuentra en el menú Applications. Ahí del lado superior derecho viene el buscador y escriben bouml y les aparece ya nadamas lo descargan. Desde la terminal escriben sudo apt-get install bouml.

Les dejo también un tutorial de Bouml.


UMBRELLO
Es una herramienta libre que se ujtiliza para crear y editar diagramas UML. Fue desarrollada por Paul Hengsen. Se permite código en C++, Java, Phtyon, IDL, Pascal/Delphi, Ada. Te permite crear un diagrama y genera el código automáticamente.

Aquí les dejo una imagen con un diagrama que hicieron con  umbrello.


Aquí les dejo el link para descargarlo.

También se puede descargar de la misma forma qe el bouml, se meten a Ubuntu Software Center y lo buscan con el buscador. 

Les dejo un manual también.

Bueno, esta fue mi primer entrada para taller, espero que les sirva de algo y si tienen dudas o comentarios háganlos :) saludos.

~Semana 1, Descripción de proyecto

Semana 1.
Materia: Programación Orientada a Objetos
Martes M1-M3

Hola a todos compañeros, en esta entrada les hablaré sobre el proyecto que pienso desarrollar en esta materia de Programación Orientada a Objetos. Quiero hacer un sistema para la administración de consultas de pacientes, mi prima esta estudiando nutrición y me pidio que si le podría hacer un sistema que le ayude a tener un orden con las consultas de sus pacientes con sus datos personales, con campos para hacer anotaciones de como han ido avanzando, que dieta tienen cada uno de los pacientes entre otras cosas. Esto es lo que yo quiero realizar para mi proyecto final, en internet encontre la siguiente imagen de un sistema parecido a lo que quiero lograr.


Bueno esto lo quería hacer en C++ ya que me gustaría aprender un nuevo lenguaje y hacer este sistema en este lenguaje nuevo pero el inconveniente es que se qe C++ no es un lenguaje muy portable y pues como mi prima lo va a utilizar en su computadora puede que no funcione en la suya, entonces estoy entre C++ o Java. Y ya si no lo logro hacer en estos pues optare por Phyton que es más sencillo.

Me gusta la idea de este proyecto ya que el cliente es una persona real y pues ella me puede decir que tal le funciona o no, o  lo que le pueda faltar para mejorarlo entre otras cosas. 

Bueno, esta seria mi entrada de la semana 1, saludos a todos (=