lunes, 21 de mayo de 2012

Leer del teclado.



existen varias formas de obtener datos desde el teclado, pero las formas mas usadas para hacer esto es a travez de BuffererReader y de Scanner


BufferedReader

esta clase se encuentra dentro de la libreria java.io la cual requiere de generar un objeto de la misma clase.

BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));

Scanner

esta clase pertenece por default a java y al igual que el BufferedReader requiere que se genere un objeto de dicha clase
Scanner s=new Scanner(System.in);

-------------------------------------------------------------------------------------------------------------

para realizar la captura desde el teclado, cada una de las clases tiene diferentes metodos
br.readLine--> en el caso del bufferedreader. obtiene string que si se quiere manipular como otro tipo de dato se tendra que hacer un cast
s.next--> en caso de Scanner. obtiene un string, o si se desea otro tipo de dato se usa nextInt, nextDouble, etc.
la diferencia entre los dos, es que Scanner es mas rapido de utilizar, pero BufferedReader es mas preciso al momento de capturar datos.

sábado, 4 de junio de 2011

Lo que somos.

 

Transmitir mis enseñanzas mas allá de lo que vemos en clase, queriéndolos inspirar a cambiar, a ser mejores cada día y exigirse al máximo, aunque me lo proponga no podre cambiar el mundo, pero si a un grupo de futuros profesionales que están en esa búsqueda al igual que yo de la excelencia, tenemos que vernos como iguales, seres humanos con aptitudes, con vicios, con sentimientos, conviértanse en agentes de cambio de su propia vida, acá les dejo este video espero les guste. Feliz fin de semana.

Lo extraordinario es lo que hacemos no lo que somos.

miércoles, 25 de mayo de 2011

Ejercicios

 

_Ejercicios basicos_ Asignacion. 10%


1. Dado un número entero y positivo que se introduce por teclado,determinar si es par o impar.
2. Dado un número entero que se introduce por teclado, determinar si es positivo, negativo o nulo.
3. Dado un número entero que se introduce por teclado, determinar si se encuentra en el intervalo cerrado 51 - 100.
4. Dado un número entero que se introduce por teclado, determinar si es negativo o superior a 100.
5. Dado un número que se introduce por teclado, si es positivo verificar si se encuentra en el intervalo abierto 60 – 90, de lo contrario emitir un mensaje de error.
--------------------------------------------------

Cuales son los Tipos de datos en java.

Cuales son las reglas que hay que cumplir para declarar un identificador

Que es un paquete en java. Ejemplo

Como se declara una variable. Ejemplo y explicación.

Cual es la estructura de un programa en java.

10 palabras reservadas de java.

Cual es el finalizador de sentencia en java.

Como se declara una clase en java.

Que es un constructor en java, como se declara para que se utiliza.

Que es un destructor en java, como se declara para que se utiliza.

Como se declara un objeto en java, ejemplo y explicación.

Ejemplos de jerarquía o herencia, abstracción, encapsulamiento, polimorfismo. En java.

Como se declara un comentario en java.

sábado, 29 de enero de 2011

UML material de clase

uml_logopatterns

http://www.megaupload.com/?d=U5INTK3A

es un archivo comprimido…

UML y programas de Software Libre para usar UML.

 

UML (Unified Modeling Language) es un lenguaje de modelado visual para sistemas. Aunque UML está más asociado con modelar sistemas de software orientados a objetos, tiene una aplicación más amplia debido a sus mecanismos de extensibilidad. Los diagramas UML son legibles por las personas y los ordenadores pueden mostrarlos fácilmente, pero es importante apreciar que UML no nos proporciona ningún tipo de metodología de modelado, simplemente proporciona una sintaxis visual que podemos utilizar para construir modelos. Esto es un punto importante a mencionar, ya que los novatos en UML piensan a menudo que puede desarrollarse un proyecto de un sistema de información solamente en base a esta sintaxis, como si se tratase de una metodología.

UML en realidad no está ligado a ninguna metodología específica o ciclo de vida y se puede utilizar con todas las metodologías existentes. Sin embargo UP (Unified Process) utiliza UML como su sintaxis de modelado visual subyacente y se integran muy bien el uno con el otro. Este tema no viene al caso, pero si os interesa podéis leer la bibliografía que estoy siguiendo actualmente y que me está ayudando mucho ante las dificultades que encuentro: UML2 de Jim Arlow y Ila Neustadt (Anaya Multimedia).

Por lo que he podido apreciar parece ser que las principales alternativas de software libre que trabajan con UML en Linux se toman al pie de la letra el hecho de utilizar UML solamente como una sintaxis visual, y se limitan a la generación de diagramas con más o menos acierto. Ninguno de los programas de software libre que aquí trato incluyen una gestión de requisitos adicionales a los propios casos de uso, que tratan los requisitos funcionales de los proyectos. En el caso del software Dia ni si quiera se mantiene el modelo de elementos, aunque tal y como indica el propio nombre del programa, se trata de un programa especializado en diagramas y no en UML.

Sin embargo, buscando otros programas que se centrasen en UML disponibles para Linux, he encontrado Visual Paradigm for UML, el cual tiene una extensión de funcionalidades exquisita, un tratado del modelo UML muy claro, y una parte dedicada para la gestión de requisitos no funcionales que no tiene ninguna de las alternativas libres por desgracia. A pesar de que este programa no es de código libre, si que tiene una versión gratuita para uso no comercial.

Las diferentes alternativas de las que os voy a hablar son: Dia, Umbrello, ArgoUML y Visual Paradigm for UML

Dia

Dia es un programa de creación de diagramas basado en GTK+ bajo la licencia GPL. Está inspirado en el programa comercial de Windows ‘Visio’, y puede ser usado para dibujar muchos tipos diferentes de diagramas. Dispone de una serie de extensiones para ayudar en la elaboración de diagramas entidad-interrelación, UML, flujo de datos, diagramas de red, y un largo etc.

Como podéis observar, se trata “solamente” de un programa para generación de diagramas. Para realizar algún que otro diagrama puede servirnos, pero queda completamente descartado si queremos realizar un buen modelado de UML con todo lo que ello implica. A pesar de ello incluye características para generar código a partir de los modelos desarrollados, aunque esto se consigue según he leído con un parseador externo que lee los archivos guardados por la herramienta.

Aquí dejo una captura con la interfaz que presenta el programa para diseñar diagramas UML:

Umbrello

Umbrello UML Modeller es una herramienta de diagramas que ayuda en el proceso del desarrollo de software. Umbrello UML Modeller le facilitará la creación de un producto de alta calidad, especialmente durante fases de análisis y diseño del proyecto. UML también puede usarse para documentar sus diseños de software para ayudarle a usted y al resto de desarrolladores.

Quizás sea la herramienta más intuitiva para aquellos que están pocos acostumbrados a trabajar con UML de las que aquí comento. Guarda la estética común a todos los programas desarrollados para y por KDE, por lo que si estás acostumbrado a trabajar en este escritorio o con algunos de sus programas principales no te costará nada adaptarte al mismo.

Incluye una curiosa separación en vistas, parecida a la arquitectura de “vistas 4 + 1” descrita por Phillippe Kruchten, aunque un poco diferente. Además, se incluye la idea de UML de mantener todos los elementos creados en un modelo externo a los diagramas, por lo que si eliminamos un elemento de un diagrama este no desaparece del modelo hasta que lo eliminemos explícitamente del mismo, tal y como especifican las últimas versiones de UML. Aunque eso si, los diferentes elementos los separa por vistas, cuando según tengo entendido no debería existir tal división en cuanto a los elementos del modelo.

También soporta la generación de código a partir del modelo de elementos y los diagramas para un gran número de lenguajes.

Aquí dejo una captura de la interfaz del programa:

ArgoUML

ArgoUML presume de ser el líder en el modelado de UML en el mundo del código libre e incluye un soporte total para el estándar UML 1.4. Este se ejecuta sobre una plataforma Java e incluye las siguientes características a destacar entre otras:

Como opinión personal acerca de este programa, he decir que el que esté montado en una plataforma Java presenta la ventaja de la portabilidad y la desventaja de la fluidez del programa como siempre. Al principio cuando empiezas a utilizar el programa tiene un aspecto un poco clásico y te puede llevar a pensar que el programa esté desfasado. Sin embargo, a medida que le dedicas más tiempo a intentar conocer el programa con profundidad te encuentras con que efectivamente cumple el estándar UML 1.4 hasta el más mínimo detalle, con unos menús de interacción muy cómodos y una gestión del metamodelo muy intuitiva. Sin duda alguna nos encontramos con la mejor opción de software libre para el modelado de UML.

Otro punto a favor es que cuenta con una extensa documentación, eso si, si no te manejas en el idioma de Shakespeare mejor no le eches el vistazo :P .

Visual Paradigm UML

En cuanto a Visual Paradigm, solo puedo decir que a medida que le voy dando uso, más me sorprendo de lo bueno que es el programa. En el enlace que os dejé anteriormente aparece una animación en flash explicando cada uno de las funcionalidades que aparecen en el programa. A pesar de estar estos vídeos en inglés, seguramente si llegas a tener necesidad de utilizar un programa de este tipo, te desenvolverás mínimamente con este idioma como para entender lo que hacen en ellos y poder aprender rápidamente a aplicar el uso del programa a tu proyecto.

El programa cuenta con una funcionalidad para la especificación de requisitos software la cual es de gran ayuda para mantener una lista acerca de los requisitos funcionales y no funcionales de los que consta nuestro proyecto. La gestión de requisitos software es una parte fundamental en cualquier proyecto y es la principal causa de fracaso de los mismos si no son tratados debidamente. Esta funcionalidad no la he encontrado en ningún otro software dentro de GNU/Linux, pero si alguien conoce de algo parecido me encantaría que dejara un comentario haciendo referencia a dicha alternativa para examinarla.

Además, parece que el programa está en pleno desarrollo ya que la versión que me he bajado es de Julio. Quizás la única pega que se le pueda poner sea que no incluye idioma español, y que necesite de una máquina virtual de Java para funcionar, con todo lo que ello implica.