lunes, 15 de julio de 2019

QUE ES UN STRING?

La clase String es una de las más utilizadas en las aplicaciones Java. Los desarrolladores utilizan cadenas para almacenar y procesar texto, incluyendo el texto capturado de la entrada del usuario o leer fuentes externas. Los objetos String pueden crear y utilizar cualquier aplicación Java. Dicha clase también proporciona una serie de funciones útiles para el acceso y la modificación de caracteres, que pueden incluir letras, números y signos de puntuación.
USO
Además de la creación directa de Strings, los desarrolladores pueden utilizarlos para que sean devueltos de otras funciones. El tipo de objeto String es común, regresó de muchos de los métodos más utilizados en el lenguaje. Por ejemplo, todos los objetos Java proporcionan el método "toString", una representación legible de la instancia de objeto con la siguiente firma de método: public String toString()
Resultado de imagen para QUE ES UN STRING
  • Los Strings también se pueden pasar como parámetros a otros métodos, como en el siguiente ejemplo: String someWords = "some arbitrary words"; someMethod(someWords);
  • Esto funcionaría con un método descrito de la siguiente manera: public void someMethod(String wordString)

A QUE LLAMAMOS CASE EN JAVA?

Switch case es una estructura de control empleada en programación. Se utiliza para agilizar la toma de decisiones múltiples; trabaja de la misma manera que lo harían sucesivos ifif else o until anidados, así como combinaciones propias de determinados lenguajes de programación.
El switch no es tan popular como el if, pero se utiliza con regularidad en la programación. En principio la funcionalidad de un switch también se puede implementar con múltiples if anidados. En el caso de que haya muchas acciones dependientes de muchos valores iniciales, es recomendable su uso. El switchfavorece la Facilidad y rapidez en la programación.
Resultado de imagen para A QUE LLAMAMOS CASE EN JAVA



QUE ES OUTPUT EN JAVA?

En el momento que incurcionamos en la forma de manejar archivos en Java, somos suceptibles de confundirnos dado las nuevas palabras desconocidas con las que nos topamos, y aunque son conceptos similares, van dirigidos a una necesidad en especial,  requerimientos y objetivos propios.

Es eso lo que intentaré resumir en esta entrada, dotarte de una visión para que sepas que se adapta a tus necesidades en la entrada (Input) y salida (Output)  de datos en Java (I/O).

Para cada uso de las clases debemos tener en cuenta un uso general (que luego especificaré) que se trata de:

  1. Importar las Clases específicas necesarias para I/O.
  2. Instanciar los objetos I/O y hacerlos igual a null.
  3. En medio de una sentencia try inicializar nuestros objetos I/O y abrir el archivo a manipular, manipularlo.
  4. Arrojar (throw) o capturar (catch) las excepciones de cada objeto I/O manipulado. (obligatorío para manejar archivos.)
  5. En una sentencia finally cerrar nuestros objetos I/O.
Si no has manejado nunca excepciones, verás que es muy fácil y es un modo de programación "muy bonito" como dirían algunos en especial porque mantienes separado la parte lógica de las validaciones y asi el mismo programa maneja sus potenciales errores sin que éste termine.


¿Qué es Ruby?

Un poco de historia…

  •  
    Fue creado por Yukihiro Matsumoto (aka Matz) en 1993 en Japón.
  •  
    Matz unió lo mejor de su lenguaje de programación favorito (PERL) para crear un lenguaje potente, flexible e incluso divertido.
  •  
    Escogió lo mejor de la programación (ADA, PERL, SMALLTALK, EIFFEL, LISP) e incluso creó un lenguaje orientado a objetos más potente que Python.
  •  
    Es un lenguaje que fomenta la productividad.
  •  
    EN Ruby primero interesa la mejora entendible por humanos y después por las máquinas.
  •  
    Es perfecto para principiantes, ya que es sencillo.

Características.

    Resultado de imagen para QUE ES RUBY
  •  
    Mejor amigo del programador.
  •  
    Es un lenguaje de propósito general, es decir, con Ruby se pueden desarrollar todo tipo de aplicaciones diferentes: aplicaciones de servicio web, clientes de correo electrónico, procesamiento de datos en Backend, aplicaciones de red, etc. Cualquier cosa que se te ocurra puedes hacerlo con Ruby.
  •  
    Es un lenguaje interpretado, es decir, no es compilado, se necesita que el intérprete de Ruby evalué el código y lo traduzca en lenguaje de máquina entendible por un ordenador, pero no existe un proceso previo de compilación como en C o Java.
  •  
    Es dinámico y flexible. Con estrategias como la metaprogramación (escribir programas que escriben o manipulan otros programas). Incluso se puede utilizar el propio lenguaje Ruby para alterar el código en tiempo de ejecución.
  •  
    Es de alto nivel, significa que está lejos del lenguaje de máquina y es muy cercano al inglés, a veces parecerá que simplemente se está escribiendo en inglés.
  •  
    Es de software libre (Open Source) y multiplataforma, se puede descargar totalmente gratis de la página oficial y ejecutarlo en diferentes sistemas operativos.









QUE ES UN ARRAY?

Un array, es un tipo de dato estructurado que permite almacenar un conjunto de datos homogeneo, es decir, todos ellos del mismo tipo y relacionados. Cada uno de los elementos que componen un vector pueden ser de tipo simple como caracteres, entero o real, o de tipo compuesto o estructurado como son vectores, estructuras, listas...
A los datos almacenados en un array se les denomina elementos; al número de elementos de un array se les denomina tamaño o rango del vector.

Para acceder a los elementos individuales de un array se emplea  un índice que será un número entero no negativo que indicará la posición del elemento dentro del array. Para referirse a una posición particular o elemento dentro del array, especificamos el nombre del array y el número de posición del elemento particular dentro del mismo, el índice.


  • En términos generales un array unidimensional puede expresarse como: 

tipo-almacenamiento tipo-dato array[expresión];
donde:
Resultado de imagen para QUE ES UN ARRAY
  • "tipo-almacenamiento" se refiere al tipo de almacenamiento del array
  • "tipo-dato" es el tipo de dato
  • "array" es el nombre del array
  • "expresion" una expresión entera positiva que indica el número de elementos del array.




TIPOS DE VARIABLE EN JAVA
Una variable en Java es un identificador que representa una palabra de memoria que contiene información. El tipo de información almacenado en una variable sólo puede ser del tipo con que se declaró esa variable.
Una variable se declara usando la misma sintaxis de C. Por ejemplo la siguiente tabla indica una declaración, el nombre de la variable introducida y el tipo de información que almacena la variable:


  • Java posee dos grandes categorías de tipos para las variables:

Resultado de imagen para Java posee dos grandes categorías de tipos para las variables:

Las variables de tipos primitivos almacenan directamente un valor que siempre pertenece al rango de ese tipo. Por ejemplo una variable int almacena un valor entero como 1, 2, 0, -1, etc.
Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que ocupa la segunda variable.
Las variables de tipo referencia a objetos en cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new.
Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas variables quedan refenciando el mismo objeto.
MODIFICADORES DE VARIABLES EN JAVA

En su soporte para la encapsulación, la clase proporciona dos beneficios principales. Primero, vincula datos con el código que lo manipula. Usted ha estado aprovechando anteriormente este aspecto de la clase. En segundo lugar, proporciona los medios por los que se puede controlar el acceso a los miembros. Es esta característica la que se examina aquí.
  • No es posible que el código fuera de la clase establezca el valor de un miembro privado directamente.
  • También puede controlar con precisión cómo y cuándo se utilizan los datos dentro de un objeto

  • Modificadores de java:

DEFAULT:
Si no elegimos ningún modificador, se usa el de por defecto, que sólo puede ser accedido por clases que están en el mismo paquete.
PUBLIC:
Este nivel de acceso permite a acceder al elemento desde cualquier clase, independientemente de que esta pertenezca o no al paquete en que se encuentra el elemento.
PRIVATE:
Es el modificador más restrictivo y especifica que los elementos que lo utilizan sólo pueden ser accedidos desde la misma clase en la que se encuentran. Este modificador sólo puede utilizarse sobre los miembros de una clase y sobre interfaces y clases internas, no sobre clases o interfaces de primer nivel, dado que esto no tendría sentido.
PROTECTED:
Indica que los elementos sólo pueden ser accedidos desde su mismo paquete y desde cualquier clase que extienda la clase en que se encuentra, independientemente de si esta se encuentra en el mismo paquete o no. Este modificador, como private, no tiene sentido a nivel de clases o interfaces no internas.
En otras palabras, si determinada clase Hijo hereda el comportamiento de una clase Padre, la clase Hijo tendrá acceso a todos aquellos campos/métodos definidos como protected en Padre, pero no aquellos declarados como private en Padre.
Resultado de imagen para LOS MODIFICADORES DE VARIABLES EN JAVA


LOS TIPOS DE DATOS EN JAVA

Tipos numéricos enteros

En Java existen cuatro tipos destinados a almacenar números enteros. La única diferencia entre ellos es el número de bytes usados para su almacenamiento y, en consecuencia, el rango de valores que es posible representar con ellos. Todos ellos emplean una representación que permite el almacenamiento de números negativos y positivos. El nombre y características de estos tipos son los siguientes:
  • byte: como su propio nombre denota, emplea un solo byte (8 bits) de almacenamiento. Esto permite almacenar valores en el rango [-128, 127].
  • short: usa el doble de almacenamiento que el anterior, lo cual hace posible representar cualquier valor en el rango [-32.768, 32.767].
  • int: emplea 4 bytes de almacenamiento y es el tipo de dato entero más empleado. El rango de valores que puede representar va de -231 a 231-1.
  • long: es el tipo entero de mayor tamaño, 8 bytes (64 bits), con un rango de valores desde -263 a 263-1.

Tipos numéricos en punto flotante

Los tipos numéricos en punto flotante permiten representar números tanto muy grandes como muy pequeños además de números decimales. Java dispone de 2 tipos concretos en esta categoría:
  • float: conocido como tipo de precisión simple, emplea un total de 32 bits. Con este tipo de datos es posible representar números en el rango de 1.4x10-45 a 3.4028235x1038.
  • double: sigue un esquema de almacenamiento similar al anterior, pero usando 64 bits en lugar de 32. Esto le permite representar valores en el rango de 4.9x10-324 a 1.7976931348623157x10308.

Booleanos y caracteres

Aparte de los 6 tipos de datos que acabamos de ver, destinados a trabajar con números en distintos rangos, Java define otros dos tipos primitivos más:
  • boolean: tiene la finalidad de facilitar el trabajo con valores "verdadero/falso" (booleanos), resultantes por regla general de evaluar expresiones. Los dos valores posibles de este tipo son true y false.
  • char: se utiliza para almacenar caracteres individuales (letras, para entendernos). En realidad está considerado también un tipo numérico, si bien su representación habitual es la del carácter cuyo código almacena. Utiliza 16 bits y se usa la codificación UTF-16 de Unicode.

Resultado de imagen para LOS TIPOS DE DATOS en java
QUE ES UN IDENTIFICADOR EN JAVA?

Resultado de imagen para que es un identificador en java
Identificadores
Se llaman así los nombres de las variables,  clases,  objetos y métodos de los programas JAVA. No pueden ser identificadores las palabras claves ni las palabras reservadas del lenguaje JAVA.
Cuando hablamos de variables nos estamos refiriendo a lugares concretos de memoria en donde se almacenará un dato del tipo admitido por JAVA.
  • Los métodos son tareas específicas del programa.
  • Las clases son definiciones de métodos y variables con un fin.
  • Los objetos son instancias de una clase. Mientras que la clase es única el objeto no lo es.

De unas clases puede haber muchos objetos y estos sólo pueden ser creados en el momento de la ejecución del programa JAVA.

PALABRAS RESERVADAS DE JAVA

En el lenguaje de programación Java se puede hacer uso de las palabras clave (keywords) –también llamadas palabras reservadas– mostradas en la siguiente tabla, donde se indica la funcionalidad de cada una de ellas. Dichas palabras, no pueden ser utilizadas como identificadores por los programadores para definir variables, constantes, etc.
Las palabras reservadas son identificadores predefinidos que tienen un significado para el compilador y por tanto no pueden usarse como identificadores creados por el usuario en los programas.Las palabras reservadas en Java ordenadas alfabéticamente son las siguientes:


Resultado de imagen para 10 palabras reservadas en java


martes, 4 de junio de 2019

Diagrama de Distribución
Una herramienta de análisis que dibuja pares relacionados de variables para presentar un patrón de relación o de correlación. Cada conjunto de datos representa un factor diferente que puede ser cuantificado. Un conjunto de datos es dibujado en un eje horizontal (eje x) y el otro conjunto de datos se dibuja en el eje vertical (eje y). El resultado es un número de puntos que pueden ser analizados para determinar si existe una relación significativa ( también conocida como “correlación”) entre los dos conjuntos de datos.
  • ¿Cuándo se utiliza?

Se debe utilizar un Diagrama de Distribución cuando se quiera:
· Verificar si el desempeño de un factor está relacionado con otro factor.
· Demostrar que un cambio en una condición afectará la otra.
  • ¿Cómo se utiliza?

1. Reunir varios conjuntos de observaciones en pares, preferiblemente 25 ó más, los cuales se piensa que pueden estar relacionados.
2. Trazar los pares de datos desde el más bajo al más alto para cada conjunto
de datos.
3. Construir los ejes verticales y horizontales de tal forma que el valor más alto
y más bajo puedan trazarse. (ver Figura 1).
Resultado de imagen para que es diagrama de distribucion4. Dibujar los datos colocando una marca en el punto correspondiente a cada
par x-y (ver Figura 1).
5. Marcar los ejes x - y, de tal manera que el Diagrama de Distribución tenga
sentido para observadores futuros.
6. Colocar la fecha y la fuente de dónde los datos fueron recolectados.

Diagrama de Componentes

El diagrama de componentes proporciona una visión física de la construcción del sistema de información. Muestra la organización de los componentes software, sus interfaces y las dependencias entre ellos.
  • Descripción
Estos diagramas pueden incluir paquetes que permiten organizar la construcción del sistema de información en subsiste mas y que recogen aspectos prácticos relacionados con la secuencia de compilación entre componentes, la agrupación de elementos en librerías, etc.
  • Notación
Componente
Un componente se representa como un rectángulo, con dos pequeños rectángulos superpuestos perpendicularmente en el lado izquierdo.
Paquete
Un paquete se representa con un icono de carpeta (ver Diagrama de Paquetes).
Relación de dependencia
Una relación de dependencia se representa mediante una línea discontinua con una flecha que apunta al componente o interfaz que provee del servicio o facilidad al otro. La relación puede tener un estereotipo que se coloca junto a la línea, entre el símbolo: <<...>>

  • Ejemplo

undefined
Sistema encargado de la gestión de los préstamos y reservas de libros y revistas en una biblioteca. El lenguaje de desarrollo será Java, y los accesos a la información del prestatario serán mediante un paquete de Base de Datos.

Diagrama de colaboración

El diagrama de colaboración es un tipo de diagrama de interacción cuyo objetivo es describir el comportamiento dinámico del sistema de información mostrando cómo interactúan los objetos entre sí, es decir, con qué otros objetos tiene vínculos o intercambia mensajes un determinado objeto.
  • Descripción
Un diagrama de colaboración muestra la misma información que un diagrama de secuencia pero de forma diferente. En los diagramas de colaboración no existe una secuencia temporal en el eje vertical; es decir, la colocación de los mensajes en el diagrama no indica cuál es el orden en el que se suceden. Además, la colocación de los objetos es más flexible y permite mostrar de forma más clara cuáles son las colaboraciones entre ellos. En estos diagramas la comunicación entre objetos se denomina vínculo o enlace (link) y estará particularizada mediante los mensajes que intercambian.
  • Notación
Objeto
Un objeto se representa con un rectángulo dentro del que se incluye el nombre del objeto y, si se desea, el nombre de la clase, separando ambos por dos puntos.
Vínculo
En el diagrama, un vínculo se representa como una línea continua que une ambos objetos y que puede tener uno o varios mensajes asociados en ambas direcciones. Como un vínculo instancia una relación de asociación entre clases, también se puede indicar la navegabilidad del mismo mediante una flecha.
Mensaje
Un mensaje se representa con una pequeña flecha colocada junto a la línea del vínculo al que está asociado. La dirección de la flecha va del objeto emisor del mensaje al receptor del mismo. Junto a ella, se coloca el nombre del mensaje y sus argumentos.

  • Ejemplo

Diagrama de colaboración para el caso de uso: Prestar un ejemplar de una aplicación encargada de los préstamos y reservas de una biblioteca.

undefined

Diagrama de Actividades 


lunes, 3 de junio de 2019

Diagramas de Secuencia



Resultado de imagen para que es diagrama de secuencias












Diagrama de Objetos

Diagrama de objetos - Ejemplo de cuenta bancariaUn diagrama de objetos se enfoca en los atributos de un conjunto de objetos y cómo esos objetos se relacionan entre sí. Por ejemplo, en el siguiente diagrama de objetos, las tres cuentas bancarias están ligadas al banco mismo. Los títulos de clase muestran el tipo de cuentas (ahorros, corriente y tarjeta de crédito) que un cliente dado podría tener con este banco en particular. Los atributos de clase son diferentes para cada tipo de cuenta. Por ejemplo, el objeto de tarjeta de crédito tiene un límite de crédito, mientras que las cuentas de ahorros y corriente tienen tasas de interés.

  1. Elementos del diagramas de objetos

Los diagramas de objetos son sencillos de crear: se componen de objetos, representados por rectángulos, conectados mediante líneas. Echa un vistazo a los elementos principales de un diagrama de objetos.

  • Objetos

Diagrama de objetos - Títulos de clasesLos objetos son instancias de una clase. Por ejemplo, si "coche" es una clase, un Altima 2007 de Nissan es un objeto de una clase.

  • Títulos de clases

Los títulos de clases son los atributos específicos de una clase dada. En el diagrama de objetos de árbol genealógico, los títulos de clases incluyen nombre, género y edad de los integrantes de la familia. Se pueden listar títulos de clases como elementos en el objeto o incluso en las propiedades del propio objeto (como el color).

  • Atributos de clases

Diagrama de objetos - Conexión de objetosLos atributos de clases se representan por medio de un rectángulo con dos pestañas que indica un elemento de software.

  • Enlaces
Los enlaces son líneas que conectan dos figuras de un diagrama de objetos entre sí. El diagrama de objetos corporativo siguiente muestra cómo los departamentos están conectados al estilo del organigrama tradicional.




Diagrama de Estados
Este muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el sistema. Es una forma de representación gráfica más intuitiva de los autómatas finitos basadas en dígrafos con arcos acotados llamados transiciones en los cuales se ponen los símbolos de tránsito entre un vértice (estado) y otro y se identifican los estados de partida y los de aceptación del resto. Los diagramas de estados finitos son también representaciones más cómodas para su elaboración, legibilidad y comprensión de distintos tipos de abstracciones computacionales de reconocimiento como los autómatas de pila y las máquinas de Turing.
  • Características

Resultado de imagen para que es diagrama de estados
  1. Todos los estados de Q se representan por círculos en cuyo interior se designa el nombre del estado que representa.
  2. El estado inicial q0 se indica agregando una saeta corta a su izquierda que no tiene origen alguno y concluye en el borde de la circunferencia, normalmente en los 180 grados del mismo.
  3. Los estados finales se indican o bien sombreando el círculo o poniendo un borde doble al estado.
  4. Pueden existir estados iniciales finales, simplemente se aplican los dos casos anteriores.
  5. A cada transición entre los estados qi y qj con el símbolo terminal x o la cadena vacía ε se representa como un arco etiquetado con x ó εsegún corresponda
  6. Si entre los estados y en el mismo sentido hay varias transiciones con los terminales x1, x2, ..., xn entonces se indican en el mismo arco pero separados por espacio o comas según convenga.
  • Función
En el diagrama de estados se indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustra qué eventos pueden cambiar el estado de los objetos de la clase. En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones.
  • Partes que forman el diagrama de estados

1.Estado

Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino. La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimento aparece el nombre del estado. El segundo compartimento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.

2.Eventos

Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:
  • Condición que toma el valor de verdadero o falso
  • Recepción de una señal de otro objeto en el modelo

3.Recepción de un mensaje

Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particular. El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.

4.Envío de mensajes

Además de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del objeto receptor del mensaje.

5.Transición simple

Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un texto con el siguiente formato:

6.Transición interna

Es una transición que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.

7.Acciones

Se puede especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.

8.Generalización de Estados

Se puede reducir la complejidad de estos diagramas usando la generalización de estados. Se distingue así entre supe restado y subastados. Un estado puede contener varios subastados disjuntos. Los subastados heredan las variables de estado y las transiciones externas. La agregación de estados es la composición de un estado a partir de varios estados independientes. La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subastados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al supe restado asociado, no el fin del objeto.

9. Subastados

Resultado de imagen para que es diagrama de estadosUn estado puede descomponerse en subastados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior.

10.Transacción Compleja

Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronizan. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.

11.Transición a estados anidados

Una transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subastados hacia afuera (a cualquier nivel de profundidad).

12.Transiciones temporizadas

Las esperas son actividades que tienen asociada cierta duración. La actividad de espera se interrumpe cuando el evento esperado tiene lugar. Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.