Mostrando entradas con la etiqueta Herramientas de programación II. Mostrar todas las entradas
Mostrando entradas con la etiqueta Herramientas de programación II. Mostrar todas las entradas

martes, 9 de mayo de 2023

Patente estadounidense No 6016394

 Resumen de Patente estadounidense No 6016394

La patente se titula "Método y sistema para bases de datos". Su descripción es: Crear una aplicación de software de destino a partir de una descripción denominada diccionario que interopera con una aplicación de software genérica. Tras la independencia de la soberanía británica, Estados Unidos buscó mecanismos para estimular el crecimiento económico. Para ello, se propone establecer un sistema de patentes para estimular la producción intelectual, aprovechando al máximo los recursos naturales y la mano de obra del país. Por lo tanto, Estados Unidos presentó al mundo el primer sistema de patentes moderno, basado en principios democráticos amplios, por el cual cualquiera podía patentar su invención.


Este sistema se diferenciaba del sistema de la época en que buscaba divulgar efectivamente el conocimiento de la solicitud presentada e implementar un sistema de examen basado en el examen de la novedad, no obviedad y utilidad de la invención, que debía ser realizado por un examinador técnico. Capacitado para garantizar que la invención realmente represente tecnología de punta. En un corto período de tiempo, el número de solicitudes de patentes en los Estados Unidos ha superado el número de solicitudes de patentes relacionadas con el Reino Unido, que se originan tanto en áreas rurales como urbanas de la región. Hoy en día, el sistema de patentes de EE. UU. sigue siendo único en el mundo y conserva las características que lo distinguen de sus orígenes. Primero, es un incentivo económico para seguir ofreciendo descuentos a las pequeñas empresas. Por lo tanto, el sistema de patentes de EE. UU. ofrece varias ventajas para que los solicitantes demuestren sus invenciones, contando con un sistema de examinación único que busca garantizar la validez de las concesiones otorgadas.


Un sistema y método para el software de administración de bases de datos asistido por computadora para crear aplicaciones de software de destino a partir de descripciones llamadas diccionarios que interactúan con aplicaciones de software genéricas. El contenido del diccionario personaliza la aplicación genérica en la aplicación de software de destino, generada por un diálogo de alto nivel entre el diseñador de la aplicación y el editor gráfico de la aplicación. En el campo de la innovación, se sitúa como un referente en informática, especialmente en la automatización de la creación de aplicaciones de software interactivo con bases de datos. Esto conduce a un diálogo entre humanos de alto nivel y máquinas.


En cuanto al estado temporal de la implementación, se basa en necesidades que se hacen evidentes a medida que las transacciones comerciales complejas se vuelven más complejas. Las discusiones sobre las aplicaciones de software y los defectos de calidad involucrados en el desarrollo dan como resultado productos entregados que son visualmente defectuosos e inconsistentes con el resto de la aplicación, y los cambios en la tecnología requieren una innovación acorde con la complejidad de la aplicación. Por lo tanto, existe la necesidad de un "método y sistema para la creación automática o altamente automatizada de aplicaciones de software de bases de datos complejas, sin la necesidad de una programación detallada, tradicional y exhaustiva".


Entre los objetivos de la innovación, se destacan los siguientes objetivos: Proporcionar un método para crear un software de administración de bases de datos asistido por computadora, con la ayuda de una aplicación de software de propósito general que interactúa con una base de datos extendida, entre otras cosas, para proporcionar una base de datos asistida por computadora. Creación de una aplicación del sistema de objetos para gestionar la base de datos de la aplicación. La innovación proporciona una interfaz de usuario y manipulación de los datos contenidos en la base de datos de la aplicación. Como se mencionó anteriormente, la base de datos de destino puede incluso existir antes de que se cree la aplicación para interactuar con ella, por lo que permite que la estructura se cree al mismo tiempo.

REDA: Gestión de información desde bases de datos

 






Comparación SGDB

 Los Sistemas de Gestión de Bases de Datos (SGBD) son herramientas muy importantes para el manejo de grandes cantidades de datos. A continuación, se presenta un cuadro comparativo entre algunos de los SGBD más representativos en el mercado:



  • Tipo: indica si el SGBD es relacional o no relacional.
  • Licencia: indica si el SGBD es comercial o libre.
  • Lenguaje: indica el lenguaje de consulta utilizado por el SGBD.
  • Escalabilidad: indica la capacidad del SGBD para escalar y manejar grandes cantidades de datos.
  • Confiabilidad: indica la capacidad del SGBD para mantener la integridad y consistencia de los datos.
  • Interfaz: indica la interfaz utilizada para interactuar con el SGBD.
  • Soporte de plataforma: indica las plataformas en las que se puede utilizar el SGBD.
Es importante mencionar que la elección del SGBD adecuado dependerá de las necesidades específicas de cada proyecto y de los recursos disponibles.

jueves, 13 de abril de 2023

clases abstractas, estáticas e interfaces

 

Característica

Clases abstractas

Clases estáticas

Interfaces

Propósito

Servir como base para otras clases

Agrupar funciones relacionadas y datos

Declarar un conjunto de métodos que una clase debe implementar

Uso de instancias

No se pueden instanciar directamente, solo se pueden usar como base para otras clases

No se pueden instanciar, se usan directamente desde la clase

No se pueden instanciar, solo se usan para definir una serie de métodos

Implementación de métodos

Pueden tener tanto métodos abstractos como concretos

Pueden tener solo métodos estáticos

Solo tienen la declaración de los métodos, sin implementación

Herencia

Pueden ser heredadas por otras clases

No pueden ser heredadas ni heredar de otras clases

Pueden ser implementadas por cualquier clase que quiera utilizar sus métodos

Modificadores de acceso

Pueden tener cualquier modificador de acceso

Solo pueden tener el modificador de acceso "static"

Todos los métodos y propiedades son públicos por defecto

Flexibilidad

Son menos flexibles que las interfaces, pero más flexibles que las clases estáticas

Son menos flexibles que las clases abstractas e interfaces

Son las más flexibles de las tres, ya que cualquier clase puede implementar una interfaz sin importar su jerarquía de clases

Ejemplo de uso

Una clase abstracta "Animal" con métodos comunes para todas las subclases de animales, como "respirar" o "moverse".

Una clase estática "Math" con métodos para operaciones matemáticas comunes, como "abs" o "pow".

Una interfaz "Serializable" que define el método "serialize" para guardar un objeto en un archivo o base de datos.

REDA: Aplicaciones multiplataforma basadas en POO

 Código: 


public class Main{


    


public class Persona {


    private String nombre;


    private String apellidos;


    private int numIdentificacion;


    private String estadoCivil;




    public Persona(String nombre, String apellidos, int numIdentificacion, String estadoCivil) {


        this.nombre = nombre;


        this.apellidos = apellidos;


        this.numIdentificacion = numIdentificacion;


        this.estadoCivil = estadoCivil;


    }




    public void cambiarEstadoCivil(int numIdentificacion, String estadoCivil) {


        if (this.numIdentificacion == numIdentificacion) {


            this.estadoCivil = estadoCivil;


        }


    }


}




public class Empleado {


    private int anioIncorporacion;




    public Empleado(int anioIncorporacion) {


        this.anioIncorporacion = anioIncorporacion;


    }


}




public class Administrativo extends Empleado {


    private static final int numIdentificacion = 0;


    private String dependencia;




    public Administrativo(int anioIncorporacion, String dependencia) {


        super(anioIncorporacion);


        this.dependencia = dependencia;


    }




    public void cambiarDependencia(int numIdentificacion, String dependencia) {


        if (this.numIdentificacion == numIdentificacion) {


            this.dependencia = dependencia;


        }


    }


}




public class ServiciosVarios extends Empleado {


    private static final int numIdentificacion = 0;


    private String labor;




    public ServiciosVarios(int anioIncorporacion, String labor) {


        super(anioIncorporacion);


        this.labor = labor;


    }




    public void cambiarLabor(int numIdentificacion, String labor) {


        if (this.numIdentificacion == numIdentificacion) {


            this.labor = labor;


        }


    }


}




public class Profesor extends Empleado {


    private static final int numIdentificacion = 0;


    private String facultad;




    public Profesor(int anioIncorporacion, String facultad) {


        super(anioIncorporacion);


        this.facultad = facultad;


    }




    public void cambiarFacultad(int numIdentificacion, String facultad) {


        if (this.numIdentificacion == numIdentificacion) {


            this.facultad = facultad;


        }


    }


}




public class Estudiante extends Persona {


    private String curso;




    public Estudiante(String nombre, String apellidos, int numIdentificacion, String estadoCivil, String curso) {


        super(nombre, apellidos, numIdentificacion, estadoCivil);


        this.curso = curso;


    }




    public void matricularEnCurso(int numIdentificacion, String curso) {


        if (this != null);


    }


}


}

miércoles, 1 de marzo de 2023

tabla comparativa relaciones UML

 


Componentes y pilares de la POO

 La Programación Orientada a Objetos (POO) es un paradigma de programación que se basa en la creación de objetos que interactúan entre sí para resolver un problema. Los pilares de la POO son los siguientes:


Encapsulamiento: El encapsulamiento es la capacidad de ocultar el estado interno de un objeto y permitir el acceso controlado a sus atributos y métodos. Es importante porque permite mantener el objeto en un estado consistente y predecible, evitando que su estado interno sea modificado accidentalmente.


Herencia: La herencia es la capacidad de crear una nueva clase a partir de una clase existente, conservando sus características y añadiendo nuevas propiedades y métodos. Es importante porque permite la reutilización del código, reduciendo la duplicación y facilitando la mantenibilidad del software.


Polimorfismo: El polimorfismo es la capacidad de un objeto para adoptar múltiples formas, es decir, para ser tratado como un objeto de diferentes tipos en diferentes contextos. Es importante porque permite la flexibilidad en el diseño de software y permite que el mismo método pueda ser utilizado con diferentes objetos.


En resumen, los pilares de la POO son fundamentales para el desarrollo de software orientado a objetos. El encapsulamiento permite mantener un objeto en un estado consistente y predecible, la herencia permite la reutilización del código y la facilidad de mantenimiento, y el polimorfismo permite la flexibilidad en el diseño de software y la utilización de un mismo método con diferentes objetos.

miércoles, 8 de febrero de 2023

Diferencias entre objeto, clase y método

 

Los objetos:

Es el elemento fundamental de la POO. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.

-       Un objeto no es un dato simple, sino que contiene en su interior cierto numero de componentes bien estructurados.

-       Cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica o de otro tipo.

Las clases:

A la hora de definir las características de los objetos de nuestro sistema es el concepto de clase. Una clase es la descripción de una familia de objetos que tienen la misma estructura (atributos) y el mismo comportamiento (métodos)

 

Los métodos:

Son las acciones que los objetos de la clase pueden realizar

miércoles, 1 de febrero de 2023

Presentación Herramientas de programación II

 Sin las herramientas de programación, dichos dispositivos no servirían para mucho más que pisapapeles o en algunos casos, como pantallas led. De igual forma, los programas y aplicaciones simplemente no podrían existir. Cosas como las redes sociales, la página de Amazon o las plataformas de streaming desaparecían… algo que parece difícil de creer tomando en cuenta la cantidad de funciones que estos pueden realizar y el uso que les damos casi diariamente.

Son estas utilidades las que hacen necesarias dichas herramientas, y mientras más complejo sea un dispositivo más herramientas necesitará para que actúen como su cerebro. 


Las herramientas de programación, o herramienta de desarrollo de software, son programas informáticos que los desarrolladores de software utilizan para crear, depurar, mantener, encontrar solución de errores, o apoyar programas y aplicaciones.


El término se refiere a la implementación de programas relativamente sencillos, que se pueden combinar para realizar una tarea, así como cuando una persona utiliza varias herramientas de mano para arreglar un objeto físico. La capacidad de utilizar una variedad de herramientas de forma productiva y sin que presente problemas es una característica de un buen formación de auxiliar de odontología.






Mapa mental-informe final de auditoría