Tecnologias

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

Tecnologias

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

Scratch

Proramación Visual

Packet Tracer

Modelado de redes

Joomla

Creación de páginas web

jueves, 21 de enero de 2016

Manual Java

MANUAL DE PROGRAMACIÓN DE JAVA
  
MENU DE OPCIONES:


 LA PROGRAMACIÓN ES ALGO MARAVILLOSO....SÍGUEME EN....
                                  

Concepto:

Java es un lenguaje concurrente, orientado a objetos, que fue diseñado para tener pocas dependencias, como este le fuera posible, así mismo, este ya fue creado con las librerías y documentación básica. Por lo cual el programador tiene solamente que programar nada más, así mismo este es un lenguaje estándar es decir, está hecho para que funcione tanto, en ordenadores normales, como en celulares y dispositivos generales.

Importancia

La programación de java es importante ya que es un lenguaje orientado a objetos, pues ya vienen con todas las librerías necesarias y las dependencias necesarias como dice  el concepto. También radica su importancia por la múltiples plataformas que soporta el mismo, pues puede ser instalado en cualquier dispositivo, ordenador e incluso aparatos electrónicos.

Sintaxis


   public class TablaMultiplicar{
                         public static void main(String arg[]){
                         }
         }
        

Modelo, Vista y Controlador

El modelo vista controlador funciona de la siguiente forma.

MODELO:

En esta va las clases constructoras y los diferentes get y set que servirán para poder guardar temporalmente la información.



VISTA:

Van las diferentes pantallas a programar simplemente se las llama del modelo y las conexiones se las llama desde el controlador.
CONTROLADOR

El controlador va las conexiones a base de datos que servirán para todo el programa.

Pasos para la realización de un sistema:




Analizar el ejercicio:


Análisis de Requerimientos

UML tiene casos de uso (use-cases) para capturar los requerimientos del cliente. A través del modelado de casos de uso, los actores externos que tienen interés en el sistema son modelados con la funcionalidad que ellos requieren del sistema (los casos de uso). Los actores y los casos de uso son modelados con relaciones y tienen asociaciones entre ellos o éstas son divididas en jerarquías. Los actores y casos de uso son descritos en un diagrama use-case. Cada use-case es descrito en texto y especifica los requerimientos del cliente: lo que él (o ella) espera del sistema sin considerar la funcionalidad que se implementará. Un análisis de requerimientos puede ser realizado también para procesos de negocios, no solamente para sistemas de software.

Análisis

La fase de análisis abarca las abstracciones primarias (clases y objetos) y mecanismos que están presentes en el dominio del problema. Las clases que se modelan son identificadas, con sus relaciones y descritas en un diagrama de clases. Las colaboraciones entre las clases para ejecutar los casos de uso también se consideran en esta fase a través de los modelos dinámicos en UML. Es importante notar que sólo se consideran clases que están en el dominio del problema (conceptos del mundo real) y todavía no se consideran clases que definen detalles y soluciones en el sistema de software, tales como clases para interfaces de usuario, bases de datos, comunicaciones, concurrencia, etc.

Diseño

En la fase de diseño, el resultado del análisis es expandido a una solución técnica. Se agregan nuevas clases que proveen de la infraestructura técnica: interfaces de usuario, manejo de bases de datos para almacenar objetos en una base de datos, comunicaciones con otros sistemas, etc. Las clases de dominio del problema del análisis son agregadas en esta fase. El diseño resulta en especificaciones detalladas para la fase de programación.

Programación

En esta fase las clases del diseño son convertidas a código en un lenguaje de programación orientado a objetos. Cuando se crean los modelos de análisis y diseño en UML, lo más aconsejable es trasladar mentalmente esos modelos a código.

Pruebas

Normalmente, un sistema es tratado en pruebas de unidades, pruebas de integración, pruebas de sistema, pruebas de aceptación, etc. Las pruebas de unidades se realizan a clases individuales o a un grupo de clases y son típicamente ejecutadas por el programador. Las pruebas de integración integran componentes y clases en orden para verificar que se ejecutan como se especificó. Las pruebas de sistema ven al sistema como una "caja negra" y validan que el sistema tenga la funcionalidad final que le usuario final espera. Las pruebas de aceptación conducidas por el cliente verifican que el sistema satisface los requerimientos y son similares a las pruebas de sistema.


Realizar la base de datos con Mysql.


Como ejemplo simplemente le adaptamos a la necesidad que se tenga:

create database mentor;
Crear la base de datos
use mentor;
Escoger la base de datos.
create table estudiante(
DNI_estudiante int not null,
nombres_completos varchar(60) not null,
telefono int not null,
correo_electronico varchar(50) not null,
nacionalidad varchar(40) not null,
PRIMARY KEY (DNI_estudiante));
Creando la primera tabla.
create table curso (
Id_curso int not null,
nombre_curso varchar(40) not null,
duracion time not null,
titulo_libro varchar(50) not null,
enlace_descarga varchar(100) not null,
PRIMARY KEY (Id_curso));
Creando la segunda tabla
create table matricula(
Cod_matricula int not null,
Id_curso int not null,
DNI_estudiante int not null,
PRIMARY KEY (Cod_matricula),
FOREIGN KEY (Id_curso) REFERENCES curso(Id_curso),
FOREIGN KEY (DNI_estudiante) REFERENCES estudiante(DNI_estudiante));
Creando la tercera tabla
create table aula(
Codigo int not null,
nombre varchar(30) not null,
direccion varchar (30) not null,
DNI_estudiante int not null,
DNI_administrador int not null,
FOREIGN KEY (DNI_estudiante) REFERENCES estudiante(DNI_estudiante),
FOREIGN KEY (DNI_administrador) REFERENCES administrador (DNI_administrador));
Creando la cuarta tabla
create table tutor (
DNI_tutor int not null,
nombres_completos varchar (60) not null,
correo_electronico varchar(60) not null,
direccion varchar (30) not null,
PRIMARY KEY (DNI_tutor));
Creando la tabla tutor
create table asocia(
DNI_tutor int not null,
ID_curso int not null,
FOREIGN KEY(DNI_tutor) REFERENCES tutor (DNI_tutor),
FOREIGN KEY(ID_curso) REFERENCES curso(ID_curso));
Creando la tabla que asocia las demás.

Crear un nuevo proyecto con NetsBeans.



Creamos un nuevo proyecto:


Le colocamos el nombre al proyecto:


Observamos las carpetas y paquetes:


Nos fijamos en los paquetes:


Creamos tres paquetes:


Creamos la clase:


Le colocamos el nombre a la clase Cls_Conexion


Creamos las vistas necesarias:


Le colocamos el nombre a la vista:


Empezar a diseñar:


Creamos una nueva clase es paquetes modelo:


Le colocamos el nombre para la clase constructora:


Crear tres paquetes: modelo, vista  y controlador

Crear modelo:


Crear Vista


Crear controlador


Dentro del paquete Controlador Crear la clase Cls_Conexion

package Controlador;

import java.sql.Connection;
import java.sql.DriverManager;

public class Cls_conexion {
    Connection conec = null;
   
    public Connection conexion (){
         try {
    Class.forName("com.mysql.jdbc.Driver");

     conec=DriverManager.getConnection("jdbc:mysql://localhost/Institucion","root","root");
   
    
    } catch (Exception e) {
        System.out.print(e.getMessage());
    }

    return conec;
}

   
}
Paquete controlador

Importaciones
Clase publica
Palabra reservada.
Clase conexión interna.

Abrimos el Try…Catch…
La clase Class.forName


Las conexiones a la base de datos.


Excepción si falla.


NOTA: Ver bien las llaves que abren y cierran.

Dentro del paquete modelo crear la clase Cls_clase, con sus respectivas clases constructoras, el get y el set.


package Modelo;

public class Cls_Estudiante {
    public String Nombre; // variable Nombre
    public String Apellido;
    public String Direccion;
    public String Telefono;
   


    public void Cls_Estudiante(){}

    public Cls_Estudiante(String Nombre, String Apellido, String
Direccion, String Telefono) {

        this.Nombre = Nombre;
        this.Apellido = Apellido;
        this.Direccion = Direccion;
        this.Telefono = Telefono;
    }

    public String getNombre() {
        return Nombre;
    }
    public String getApellido() {
        return Apellido;
    }
    public String getDireccion() {
        return Direccion;
    }
    public String getTelefono() {
        return Telefono;
    }
    public void setNombre(String Nombre) {
        this.Nombre = Nombre;
    }
    public void setApellido(String Apellido) {
        this.Apellido = Apellido;
    }
    public void setDireccion(String Direccion) {
        this.Direccion = Direccion;
    }
    public void setTelefono(String Telefono) {
        this.Telefono = Telefono;
    }
}
Paquete modelo.
Clase pública
Variable pública 1
Variable pública 2
Variable pública 3
Variable pública 4
Poner las variables que usted necesite.
Clase constructora, posteriormente se la puede usar.
Clase publica constructora con las variables públicas ya creadas.
Las diferentes variables para listar los métodos get y set.


Método get
Método get
Método get
Método get
Método set
Método set
Método set
Método set

En el paquete Vistas crear las vistas que sean necesarias, es decir lo que va ver el cliente.


Dentro de este paquete podemos botones y clases varias, he aquí algunos códigos.


Función botón nuevo:


En este botón vamos a limpiar es igual que nuevo el código generado.
Btn_guardar.setText("Guardar");
        txt_id.setText(null);
        nombre.setText(null);
        apellido.setText(null);
        direccion.setText(null);
        telefono.setText(null);
        Btn_guardar.setEnabled(true);
        Actualizar.setEnabled(false);

Función botón guardar:



// TODO add your handling code here:
        // BOTON DE GUARDAR
        int op = JOptionPane.showConfirmDialog(this, "Desea guardar en la base de datos");
        if(op ==  JOptionPane.YES_OPTION){
            try {
                PreparedStatement pst=(PreparedStatement ) cn.prepareStatement("Insert into Tb_Estudiante(Nombre, Apellido, Direccion, Telefono)values(?,?,?,?)");
                pst.setString(1, nombre.getText());
                pst.setString(2, apellido.getText());
                pst.setString(3, direccion.getText());
                pst.setString(4, telefono.getText());
                pst.executeUpdate();
                JOptionPane.showMessageDialog(this, "Usted  ha guardado los datos");
                Btn_guardar.setText("Guardado");
                Actualizar.setEnabled(true);
                Btn_guardar.setEnabled(false);
            } catch (Exception e) {
            }
           
        }else {
            JOptionPane.showMessageDialog(this, "Usted no ha guardado los datos");
            Btn_guardar.setText("Interrumpido"); // cambiar el texto del boton
            Actualizar.setEnabled(true);
           
        }

Función botón eliminar:


boolean a = true;
        int fila = tabla.getSelectedRow();
        String cod = "";
        cod = tabla.getValueAt(fila, 0).toString();
        try {
            PreparedStatement pst = (PreparedStatement) cn.prepareStatement("Delete from usuarios where id='" + cod + "'");
            pst.executeUpdate();
            mostrardatos("");
        } catch (Exception e) {
        }

Función botón actualizar:


mostrardatos("");

Ejemplo de hacer un registro con archivo persistente:

package Unidad2;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.FileAlreadyExistsException;
import java.util.InputMismatchException;
import java.util.Scanner;
import javax.swing.JOptionPane;

/**
 *
 * @author DAVID GONZALEZ
 */

public class Cls_Resumen {
    public static void main(String[] args) {
        try {
            int ox=Integer.parseInt(JOptionPane.showInputDialog("BIENVENIDOS AL SISTEMA CCC \n Qué deseas hacer....? \n 1 registrar \n 2 Consultar \n 3  Salir"));
            if (ox==1){
                Cls_Resumen Cr= new Cls_Resumen();
                Cr.creararchivos();
            }if (ox==2){
                Cls_Resumen Cr1 = new Cls_Resumen();
                Cr1.leerdatos();
           
            }if (ox==3){
               
           int ax= JOptionPane.showConfirmDialog(null, "Esta seguro de guardar los datos: ");
               
           if(ax==JOptionPane.YES_OPTION){
               System.exit(0);
          
        }else{
            // do while
        }  
               
              
              
            }
            // clase principal utilizar try cath
           
               
               
            
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Aquí esta un error"+ e);
        } catch(Exception ex){
            JOptionPane.showMessageDialog(null,"Se genero un error"+ ex);}
       

   
       
        
  
  
}

    public int cedula1;
    public String strNom;
    public void creararchivos() throws IOException{
        // Aqui solo se utiliza el throws IOException

        Cls_Resumen Cr= new Cls_Resumen();// paara que se lea y se acumule
        Cr.leerdatos();
       
        //int cedula1= Integer.parseInt(JOptionPane.showInputDialog("Ingrese Cedula: "));
        //System.out.println("Este dato esta regsitrado"+cedula1); // si trae los datos
       
      
     
       
        File archivo= new File("resumen.odt");
        PrintWriter escribir =new PrintWriter(new BufferedWriter(new FileWriter(archivo,true)));   
        int ax= JOptionPane.showConfirmDialog(null, "Esta seguro de guardar los datos: ");
        if(ax==JOptionPane.YES_OPTION){
            String salida= String.format("%s, %d", strNom, cedula1);
            escribir.println(salida);
            escribir.close();
        }else{
            JOptionPane.showMessageDialog(null, "No ha guardado los datos");
        }       
    }
    public Scanner entrada;
    public String Nom;
    public int cedula;
    public void leerdatos() throws FileNotFoundException,InputMismatchException{
        entrada=new Scanner(new File("resumen.odt"));
         strNom= JOptionPane.showInputDialog("Ingrese el Nombre: ");
        cedula1= Integer.parseInt(JOptionPane.showInputDialog("Ingrese Cedula: "));
        while(entrada.hasNext()){
            strNom=entrada.next();
            cedula=entrada.nextInt();
           
            if(cedula1==cedula){
               System.out.printf("%s %d", Nom,cedula);
               JOptionPane.showMessageDialog(null, "El regsitro ya existe");
            }
            System.out.printf("%s %d", Nom,cedula);
           
        }
        entrada.close();
        
       
    }
    public void salir() throws IOException{
      
    }
}

Crear archivo persistente:

public static void main(String [] args){
        Scanner lector = new Scanner(System.in);
        System.out.print("Ingrese un nombre ");
        String srtNombre=lector.next();
        System.out.print("Ingrese edad ");
        int intEdad=lector.nextInt();
        //Codigo para crear archivos
        File Archivo=new File("Practica2.odt");
       try {
            PrintWriter escribir=new PrintWriter(new BufferedWriter(new FileWriter(Archivo, true)));
            String salida=String.format("%s %d",srtNombre,intEdad);
            escribir.println(salida);
            escribir.close();
           
        } catch (Exception e) {
            System.out.printf("error......"+e);
        }
      
    }

Función botón editar con popmenu:


Para elegir que se va editar:
int fila = tabla.getSelectedRow();
        if (fila >= 0) {
            txt_id.setText((String) tabla.getValueAt(fila, 0).toString());
            txt_nombre.setText((String) tabla.getValueAt(fila, 1).toString());
            txt_apellido.setText((String) tabla.getValueAt(fila, 2).toString());
            txt_cedula.setText((String) tabla.getValueAt(fila, 3).toString());
            txt_sexo.setText((String) tabla.getValueAt(fila, 4).toString());
            txt_edad.setText((String) tabla.getValueAt(fila, 5).toString());

            txt_profesion.setText((String) tabla.getValueAt(fila, 6).toString());
            txt_direccion.setText((String) tabla.getValueAt(fila, 7).toString());
            txt_telefono.setText((String) tabla.getValueAt(fila, 8).toString());
            comboo.setSelectedItem((String) tabla.getValueAt(fila, 9).toString());
            //txt_tipo.setText((String) tabla.getValueAt(fila, 9).toString());

        } else {
            JOptionPane.showMessageDialog(null, "No selecciono ningun dato");

        }

Función botón editar:


comboo.getSelectedItem().toString();
        if (comboo.equals("activo")){
            int op=JOptionPane.showConfirmDialog(null,"Desea borrar logicamente el dato");
            if (op==JOptionPane.YES_OPTION){
                try {
                    PreparedStatement pst = (PreparedStatement) cn.prepareStatement(""
                            + "UPDATE usuarios SET nombre='" + txt_nombre.getText() +
                            "',apellido='" + txt_apellido.getText() +
                            "',cedula='" + txt_cedula.getText()+
                            "',sexo='" + txt_sexo.getText() +
                            "',edad='" + txt_edad.getText() +
                            "',profesion='" + txt_profesion.getText() +
                            "',direccion='" + txt_direccion.getText() +
                            "',telefono='" + txt_telefono.getText() +
                            "',tipo='" + comboo.getSelectedItem()+
                            "' Where id='" + txt_id.getText()+"'");
                    pst.executeUpdate();
                    JOptionPane.showMessageDialog(null, "Datos guardados correctamente");
                    mostrardatos("");                                  
                } catch (SQLException ex) {}}}
           else {
                try {
                        PreparedStatement pst = (PreparedStatement) cn.prepareStatement(""
                                + "UPDATE usuarios SET nombre='" + txt_nombre.getText() +
                                "',apellido='" + txt_apellido.getText() +
                                "',cedula='" + txt_cedula.getText()+
                                "',sexo='" + txt_sexo.getText() +
                                "',edad='" + txt_edad.getText() +
                                "',profesion='" + txt_profesion.getText() +
                                "',direccion='" + txt_direccion.getText() +
                                "',telefono='" + txt_telefono.getText() +
                                "',tipo='" + comboo.getSelectedItem()+
                                "' Where id='" + txt_id.getText()+"'");
                        pst.executeUpdate();
                        mostrardatos("");                                  
                    } catch (SQLException ex) {}}

Clase actualizar o mostrar datos:

void mostrardatos(String valor) {
        DefaultTableModel modelo = new DefaultTableModel();

        modelo.addColumn("id");
        modelo.addColumn("nombre");
        modelo.addColumn("apellido");
        modelo.addColumn("cedula");
        modelo.addColumn("sexo");
        modelo.addColumn("edad");
        modelo.addColumn("profesion");
        modelo.addColumn("direccion");
        modelo.addColumn("Telefono");
        modelo.addColumn("Tipo");

        tabla.setModel(modelo);
        String sql = "";
        if (valor.equals("")) {
            sql = "Select * from usuarios";

        } else {
            sql = "Select * from usuarios Where id = " + "'" + valor + "'";

        }

        String[] datos = new String[10];
        try {
            Statement st = (Statement) cn.createStatement();
            ResultSet rs = st.executeQuery(sql);

            while (rs.next()) {
                datos[0] = rs.getString(1);
                datos[1] = rs.getString(2);
                datos[2] = rs.getString(3);
                datos[3] = rs.getString(4);
                datos[4] = rs.getString(5);
                datos[5] = rs.getString(6);
                datos[6] = rs.getString(7);
                datos[7] = rs.getString(8);
                datos[8] = rs.getString(9);
                datos[9] = rs.getString(10);

                modelo.addRow(datos);
            }
            tabla.setModel(modelo);
        } catch (Exception e) {

        }
    }

Leer archivo persistente:

public Scanner entrada;
 public void leerArchivo(){
     try {
         entrada=new Scanner(new File("Practica2.odt"));
         while(entrada.hasNext()){
             String srtNombre=entrada.next();
             int intEdad=entrada.nextInt();
             System.out.printf("%s %d", srtNombre, intEdad);
            
         }
         entrada.close();
     } catch (Exception e) {
     }
}
}

Enviar correo electrónico:

1.       Descargra la librería Java.mail:
Realizar el siguiente código en el paquete email:

package Email;

import com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;

import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.JOptionPane;

public class Cls_Email {
    String usuarioCorreo;
    String password;
    String rutaArchivos;
    String nombreArchivo;
    String destinatario;
    String asunto;
    String mensaje;

    public Cls_Email(String usuarioCorreo, String password, String rutaArchivos, String nombreArchivo, String destinatario, String asunto, String mensaje) {
        this.usuarioCorreo = usuarioCorreo;
        this.password = password;
        this.rutaArchivos = rutaArchivos;
        this.nombreArchivo = nombreArchivo;
        this.destinatario = destinatario;
        this.asunto = asunto;
        this.mensaje = mensaje;
    }
     public Cls_Email(String usuarioCorreo, String password, String destinatario, String mensaje) {
         this(usuarioCorreo, password,"","", destinatario,"", mensaje);
        
     }
      public Cls_Email(String usuarioCorreo, String password, String destinatario, String asunto, String mensaje) {
         this(usuarioCorreo, password,"","", destinatario,asunto,mensaje);
        
     }
     
      public boolean sendEmail(){
          try {
              Properties props = new Properties();
              props.put("mail.smtp.host","smtp.gmail.com");
              props.setProperty("mail.smtp.starttls.enable", "true");
              props.setProperty("mail.smtp.port","587");
              props.setProperty("mail.smtp.user",usuarioCorreo);
              props.setProperty("mail.smtp.auch","true");
              Session session= Session.getDefaultInstance(props,null);
              BodyPart texto= new MimeBodyPart();
              texto.setText(mensaje);
              BodyPart adjunto = new MimeBodyPart();
              if(!rutaArchivos.equals("")){
                  adjunto.setDataHandler(new DataHandler(new FileDataSource(rutaArchivos)));
                  adjunto.setFileName(nombreArchivo);
              }
             MimeMultipart multipart = new MimeMultipart();
              multipart.addBodyPart(texto);
              if(!rutaArchivos.equals("")){
                  multipart.addBodyPart(adjunto);
                 
              }
              MimeMessage message = new MimeMessage(session);
              message.setFrom(new InternetAddress(usuarioCorreo));
              message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
              message.setSubject(asunto);
              message.setContent(multipart);
              Transport t= session.getTransport("smtp");
              t.connect(usuarioCorreo,password);
              t.sendMessage(message, message.getAllRecipients());
              t.close();
              return true;
             
             
          } catch (Exception e) {
              e.printStackTrace();
              return false;
          }
         
     
     
         
      }
     public static void main(String[]  args){
         String clave= "";// se coloca la clave qde gmail que la descargamis de la configuracion que se hizo en gmail
         Cls_Email e = new Cls_Email("davidgabrielgonzalezgalvez@gmail.com", clave, "luistillaguango@yahoo.com", "prueba de correo");
         if(e.sendEmail()){
             JOptionPane.showMessageDialog(null, "Se envio correctamente");
            
         }else{
             JOptionPane.showMessageDialog(null, "No se nevio correctamente");
         }
     } 
  
}

Botón salir



int op = JOptionPane.showConfirmDialog(this, "Desea salir");
        if(op ==  JOptionPane.YES_OPTION){
            dispose();
        }
       
    }     

Creando Reportes:

1.       Primero damos clik en el proyecto y nos vamos en nuevo y seleccionamos Report Wizard.

2. Luego seleccionamos el molde del reporte en este caso un Simple Blue y damos siguiente


3. Damos clik en new luego seleccionamos Database JDBC connection y siguiente.

4.  Llenamos los datos en el nombre es opcional en el server ponemos localhost y en database el nombre de nuestra base de     datos en este caso institución2, el usuario y la contraseña depende de cómo está instalado su MySql en su pc.

5. Nos aparece una ventana damos clic en Desing query luego nos aparece una ventana con las tablas de nuestra base de datos arrastramos al espacio de la derecha y damos ok.

6. En esta ventana aparecen todos los campos de nuestra tabla seleccionamos todos y los pasamos a la derecha usando las   fechas que se nos presentan en la mitad de nuestra ventana y damos siguiente y en los siguientes pasos solo damos siguiente y finalizamos.

7. Una ves finalizado nos queda el reporte damos clic en el botón Preview y nos saldrán los datos guardados en nuestra tabla de la base de datos.

8. Ahora nos dirigimos a nuestro programa y dentro del botón mostrara reporte agregamos el siguiente código el recuadro de celeste nos indica que debemos poner el nombre de nuestro reporte en este caso report1.jrxml.

9. Ahora ejecutamos nuestro programa y damos clic en el botón de reporte y nos aparece todos los datos que tenemos guardados dentro de un reporte.



Verificar que no exista errores: (Recomendaciones)

 -Ver si están instalados bien las librerías.
-Ver las conexiones a base de datos estén correctas.
-Verificar la sintaxis a cada momento.
-Realizar el análisis, rápido para un simple prototipo.
-Realizar correctamente cada botón.
-Programar con tranquilidad, no apurarse.
-Verificar las líneas de conexiones a tablas en la base de datos (Mysql).


BIBLIOTECA DE EJERCICIOS PARA QUE SE AYUDEN

NOTA:   Estos ejemplos son con fines educativos. No afecta a ningún derecho de autor. Son con licencia GNU.
Ejemplo de un mini-sistema
 Para matriculación y registro














AUTOR DEL MANUAL: David Gabriel González Gálvez & Robert Castillo
LICENCIA:




Share:

miércoles, 20 de enero de 2016

Enrutamiento estático y dinámico Ventajas Y desventajas


Ventajas y desventajas del enrutamiento estático

En la tabla se comparan directamente las características del enrutamiento dinámico y estático. A partir de esta comparación, podemos enumerar las ventajas de cada método de enrutamiento. Las ventajas de un método son las desventajas del otro.

Ventajas del enrutamiento estático:
·                     El procesamiento de la CPU es mínimo.
·                     Es más fácil de comprender para el administrador.
·                     Es fácil de configurar.
Desventajas del enrutamiento estático:
·                     La configuración y el mantenimiento son prolongados.
·                     La configuración es propensa a errores, especialmente en redes extensas.
·                     Se requiere la intervención del administrador para mantener la información cambiante de la ruta.
·                     No se adapta bien a las redes en crecimiento; el mantenimiento se torna cada vez más complicado.
·                     Requiere un conocimiento completo de toda la red para una correcta implementación.

Ventajas y desventajas del enrutamiento dinámico

Ventajas del enrutamiento dinámico:
·                     El administrador tiene menos trabajo en el mantenimiento de la configuración cuando agrega o quita redes.
·                     Los protocolos reaccionan automáticamente a los cambios de topología.
·                     La configuración es menos propensa a errores.
·                     Es más escalable, el crecimiento de la red normalmente no representa un problema.
Desventajas del enrutamiento dinámico:
·                     Se utilizan recursos del router (ciclos de CPU, memoria y ancho de banda del enlace).
·                     El administrador requiere más conocimientos para la configuración, verificación y resolución de problemas.
Share:

miércoles, 13 de enero de 2016

Enrutamiento Estático


Enrutamiento Estático


1. Primero armar un modelo de red en este caso les presento el siguiente.




2.  En este ejemplo necesitaremos  3 router 3 switch y 6 equipos, a los equipos debemos configurar a cada uno de ellos para darles un ip a cada uno, para ello realizamos lo siguiente:

  • Dar clik en el equipo.
  • Luego en la barra superior damos clik en Desktop.
  • Posteriormente clik en Ip Configuration.


 
3. Después configuramos la dirección ip, máscara y gateway a cada uno de los equipos dependiendo de la Dirección  dada a cada uno de las redes, la configuración del primer equipo seria asi:
  




4. Ahora vamos a configurar la Interfaz Fastethernet del Router, para eso haces clic en el router y en la barra superior damos clik en CLI.

 Una ves ingresado a la interfaz de linea de comando ejecutamos el siguiente comando.

Router> enable (Modo Usuario)
Router# configure terminal (Modo privilegiado)

(Modo configuración Global)
Router(config)# interface fastEthernet (donde está conectada el router1 eemplo 0/0) 
Router(config-if)# ip address 172.168.5.1 255.255.240.0 
Router(config-if)# no shutdown
Router(config-if)#exit
Router# wr (Guardar cambios con wr)

5. Una vez realizada la configuración nos tiene que permitir enviar mensajes de el Router0 a un de los equipos conectados a este Router0 mirar imagen: 

La misma configuración es para los demás router pero ubicando sus respectivas direcciones ip.

Damos clik en el icono en forma de carta, posteriormente le damos un clik al router y luego al equipo, finalmente observamos en la parte inferior y nos tiene que salir el mensaje Successful (Éxito).





6. Conectamos los Router para ello usamos el cable Serial DTE y lo conectamos al serial0/0/0 al serial0/0/0 y así mismo el último Router.

7. Ingresamos al Router y damos clic en CLI, en este caso comunicaremos San Pedro con Camayo realiza lo siguiente:

Router> enable 
Router# configure terminal 
Router(config)#ip route 192.168.1.0 255.255.255.0 10.2.0.2

192.168.1.0 = Direccion a la que vamos a comunicar es la de Catamayo.
10.2.0.2 = Es la dirección en donde esta conectado el serial0/0/0 como puerta de entrada.

Esto es todo espero les funcione.

Share:

Enrutamiento Estático


Enrutamiento  Estático


El enrutamiento estático es donde se especifican las redes de destino, por donde enviar la información y la distancia administrativa.

Las rutas estáticas

Se las define manualmente para que el router aprenda sobre una red remota. Las rutas estáticas es recomendable utilizarlas cuando nuestra red esté compuesta por unos cuantos routers o que la red se conecte a internet solamente a través de un único ISP. 

Para configurar una ruta estática por medio de comando  es "ip route"  

Sintaxis:

router(config)# ip route direccion-red mascara-subred { direccion-ip | interfaz-salida }

Configuración:

Al configurar la ruta estática, se han de especificar los siguientes datos: 

- IP de red de destino.
- Máscara de red de destino.
- IP del router por el cual se enviarán los paquetes o bien interfaz de envío de los datos.

Ejemplo 

La presente imagen muestra un ejemplo de configuración estática de un router, dada la siguiente red wam 172.16.1/30, simulada en la herramienta Packet Tracer. En la que he utilizado la siguiente linea de código para su configuración:

#ip route 172.16.3.2  255.255.0.0 172.16.1.1




Share:

Visitas

Blogroll

Recent Posts

Unordered List

Theme Support