Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos.



Documentos relacionados
Módulo 2. Inicio con Java

INF 473 Desarrollo de Aplicaciones en

Java Básico. Introducción a Java. Copyright

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

PROGRAMACIÓN ORIENTADA A OBJETOS

APLICACIONES MÓVILES NATIVAS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

CAPITULO 3 VRML-JAVA-WWW

Curso Online de Programación Java

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

19. Packages o paquetes

Institución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller Previsto

CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

2.2.- Paradigmas de la POO

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

La vida en un mundo centrado en la red

Programador en Plataforma Java y XML

Figura 4.1 Clasificación de los lenguajes de bases de datos

Programación Orientada a Objetos en Java

Licenciatura en Computación

Patrones de Diseño Orientados a Objetos 2 Parte

Java. Mtro. Manuel Suárez Gutiérrez

4 ARQUITECTURA DE COMUNICACIONES

Capítulo 1 INTRODUCCIÓN. Introducción

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

picojava TM Características

BASE DE DATOS RELACIONALES

INTRODUCCIÓN A JAVA. Índice

Utilización de la ingeniería de software como mecanismo de aplicación y. evaluación de la eficiencia y calidad operacional de un sistema de función

Fundamentos de Programación Orientada a Objetos ( POO ) - Parte 3 Desarrollo de Software

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

El proceso unificado en pocas palabras

NORMA ISO DE RIESGOS CORPORATIVOS

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

ADMINISTRACIÓN ELECTRÓNICA DEL SIGLO XXI

Módulo 1 El lenguaje Java

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

LA METODOLOGÍA DEL BANCO PROVINCIA

Pseudocódigo, algoritmo, programación, implementación y pruebas. M. en C. Erika Vilches

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)


Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)

Sockets y otros objetos orientados a Internet en Delphi.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

ESCUELA POLITÉCNICA NACIONAL 28 DE OCTUBRE, 2015 ORTIZ JÁCOME LEONARDO JOSÉ

Estructuras de Sistemas Operativos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Evaluación del Software

Planificación y administración de redes SNMP

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Curso de Doctorado: Tecnologías de Objetos

Unidad II: Administración de Procesos y del procesador

Diseño orientado a los objetos

Metodologías de diseño de hardware

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Uso de las tecnologias de la informacion en las PyMES de los municipios de Comalcalco y Cunduacán

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS

Capítulo 4. Prueba de Adaptabilidad

Arquitectura de Redes y Comunicaciones

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Sistema de Mensajería Empresarial para generación Masiva de DTE

Guía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones

La importancia del desarrollo para el buen diseño del software

Redes de alta velocidad. William Stallings Traducido por Horacio Goetendía Bonilla

Técnico de Soporte Informático TEMA 02 NUEVAS TECNOLOG AS

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Partes, módulos y aplicaciones de un Controlador de Procesos

TECNOLOGÍAS DE DESARROLLO: JAVA

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín

REDES AD HOC INFORME DE REDES DE COMPUTADORES I. Felipe Muñoz Jonathan Porta Matías Contreras

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

GLOSARIO DE TÉRMINOS

Curso de Java POO: Programación orientada a objetos

1. A qué se parece Internet? 2. Cómo comenzó Internet? 3. De quién es ahora Internet?

6.8 La Arquitectura del Sistema. [Proceso]

EL COMPUTADOR. Las computadoras son actualmente

Unidad 9. Entornos de Desarrollo

Capítulo 1. Introducción

4. Programación Paralela

Capitulo V Administración de memoria

Población con discapacidad en Jalisco en 2010

1. Introducción Perfiles de Usuarios Definir el primer perfil Añadir perfiles Introducción a Internet

Para poder controlar se tiene que medir! Por qué desarrollar una cultura de la medición en la empresa?

MATERIAL 2 EXCEL 2007

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

7.1 Java vs.net, la lucha se acrecienta

Transcripción:

Unidad I Conceptos Básicos de la Programación Orientada a Objetos 1.1 Paradigma de la Programación Orientada a Objetos Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma se define como Cada uno de los esquemas formales en que se organizan las palabras nominales y verbales para sus respectivas flexiones.. En el ámbito de la programación paradigma es una técnica de programación. Paradigma de la Programación Estructurada En los años sesenta, Edsger Dijkstra demostró que todo programa podía escribirse correctamente combinando tres bloques de control: bloques secuenciales, el bloque de selección if y el bloque de repetición. En la programación estructurada un problema se divide en tareas más pequeñas llamadas procesos, los cuales se pueden distribuir varios programadores para llegar a una solución de forma rápida y eficiente. La programación estructurada es un mecanismo para hacer programas más comprensibles, evitando hacer saltos de una parte del programa a otra, lo que facilita la lectura del código en forma continua. Entrada de Datos Datos parciales Datos Parciales La Programación estructurada se concentra en las acciones que controlan el flujo de datos. Paradigma de la Programación Orientada a Objetos Es un modelo de programación cuya idea principal es mediante descomponer un problema en entidades de software llamadas objetos. La Programación Orientada a Objetos trata de aproximar la programación a la vida real. Nombre Atributos Linea Tamaño Orientación Tipo Color Grosor Métodos Dibujar Borrar Rotar Mover La POO se centra en la interrelación que existe entre los datos y las acciones. Comparación entre Programación Estructurada y Programación Orientada a Objetos Tradicionalmente el código y los datos se han mantenido separados. Por ejemplo, en lenguaje C, a los bloques de código se le conoce como funciones, mientras a las unidades de datos se les conoce como estructuras; en C, las funciones y las estructuras no están formalmente conectadas. Una función en C puede operar sobre más de un tipo de estructura y más de una función puede operar sobre la misma estructura. En la programación orientada a objetos el código y los datos estan fusionadas en algo indivisible: un objeto. En la POO los datos son tratados como elementos críticos y no fluyen libremente, sino que se limitan a las funciones donde operan, lo que los protege de una modificación accidental. Ing. Alma Leticia Palacios Guerrero 3

Ventajas de la Programación Orientada a Objetos. Los datos estan encapsulados y no pueden ser accesados por funciones externas al objeto. Los objetos pueden comunicarse entre sí a través de funciones. Pueden agregarse nuevos datos y funciones fáilmente cuando se requiera. 1.2 Conceptos Básicos de Programación Orientada a Objetos. Clase: Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y métodos o funciones miembro. La clase es el patrón o modelo para crear objetos. Objeto: Es un paquete de variables y métodos relacionados. Los objetos en software frecuentemente son la abstracción de las propiedades y comportamientos de una entidad del mundo real. Mensaje: Los mensajes son simples llamadas a las funciones o métodos del objeto con el se quiere comunicar para decirle que haga cualquier cosa. Herencia: La herencia permite que se pueden definir nuevas clases basadas en clases existentes, lo cual facilita reutilizar código previamente desarrollado. Si una clase deriva de otra (extends) hereda todas sus variables y métodos. La clase derivada puede añadir nuevas variables y métodos y/o redefinir las variables y métodos heredados. En Java, a diferencia de otros lenguajes orientados a objetos, una clase sólo puede derivar de una única clase, con lo cual no es posible realizar herencia múltiple en base a clases. Encapsulación: Es el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus características esenciales. Esto significa que aquello que está en interior de la clase está oculto, solo las interfaces externas pueden ver otros objetos. [1] Polimorfismo: Es una propiedad que permite enviar el mismo mensaje a objetos de diferentes clases, de forma que cada uno de ellos responde a ese mismo mensaje de modo distinto dependiendo de su implementación. [1] Interface: Una interface es un conjunto de declaraciones de funciones. Si una clase implementa una interface, debe definir todas las funciones especificadas por la interface. Una clase puede implementar más de una interface, representando una forma alternativa de la herencia múltiple. A su vez, una interface puede derivar de otra o incluso de varias interfaces, en cuyo caso incorpora todos los métodos de las interfaces de las que deriva. Package: Un package (paquete) es una agrupación de clases Ing. Alma Leticia Palacios Guerrero 4

Unidad 2. Introducción a Java 2.1 Historia de Java Java inició su vida bajo un nombre y un propósito diferente a los actuales. El lenguaje de programación original fue escrito para aparatos electrodomésticos como tostadores, hornos de microondas, etc. A principios de los 90 s la incorporación de los microprocesadores a los objetos de la vida diaria, fue vista como el inicio de una nueva era. En 1991 Sun MicroSystems fundó un proyecto de investigación interno llamado Green. El equipo de Green, encabezado por James Gosling, rápidamente se dio cuenta de que lenguajes como C y C++ no eran adecuados para la gama de tareas que los dispositivos necesitaban ejecutar. Uno de los problemas anticipados por Green era la dificultad de proveer software para nuevos dispositivos ya que cada vez que aparecía un nuevo chip, se tenía que recompilar el programa escrito en C o C++ para el chip en particular. A mediados de 1991, James Gosling empezó a trabajar en un nuevo lenguaje apropiado, el nombró al lenguaje Oak (Roble) por un roble que veía desde su oficina en Sun. Gosling diseñó el nuevo lenguaje para ser pequeño, confiable e independiente de arquitectura. El equipo de desarrollo fue incorporado a la nueva compañía FirstPerson. Desafortunadamente, FirstPerson, se vió en una serie de dificultades principalmente porque el mercado para el consumo de dispositivos electrónicos inteligentes no estaba desarrollado como lo había anticipado Sun La liberación de NCSA Mosaic y la explosión de la World Wide Web en 1993 salvaron el proyecto. Los desarrolladores de OAK vieron que un lenguaje de arquitectura neutral sería ideal para programar en Internet porque el programa podría correr en cualquier parte. Los desarrolladores hicieron cambios menores al diseño y cambiaron el nombre a Java. Habiendo desarrollado Java para productos electrónicos de consumo este resultó ser un lenguaje robusto. Cuando el equipo de Java decidió que sería particularmente apropiado para Internet debido a su independencia de plataforma, agregaron funciones para el manejo de red. Así fue como Java se convirtió en la nueva elección de lenguaje para desarrollar aplicaciones cliente/servidor o de red. Sun anunció formalmente Java en la conferencia SunWorld en mayo de 1995. Inmediatamente generó interés porque no era un lenguaje académico como Pascal ni diseñado por un pequeño grupo para uso local como C o C++. Ing. Alma Leticia Palacios Guerrero 5

2.2. Características de Java Sun describe Java como un lenguaje simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutral, portable, de alto desempeño y multihilos. Cada una de estas palabras es una característica del lenguaje Java. Mientras muchas de estas características pueden usarse para describir otros lenguajes, esta combinación en particular es única en Java y su ambiente. Simple: Se dice que Java es simple porque aunque tiene todas las características de un lenguaje potente, descarta las características menos usadas y más confusas de éstos. C y C++ son lenguajes muy conocidos, por eso Java se diseñó para ser parecido a C++ y así facilitar su aprendizaje. En Java no es necesario liberar memoria, no se usan la aritmética de punteros, las referencias, registros, definición de tipos (typedef) ni macros. Orientado a objetos: Desde el punto de vista del usuario la orientación a objetos no cambia nada. Al correr un programa no importa si está escrito en programación convencional o en lenguaje orientado a objetos. Pero si se está acostumbrado a programar en lenguajes convencionales como Pascal y C, entonces orientado a objetos significa que serán necesarios mayores ajustes en la planeación e implementación de las aplicaciones. Este ajuste es probablemente la parte más díficil en el aprendizaje de Java. Distribuido: Java viene con una completa biblioteca de aplicaciones de red que facilita al programador el trabajar con protocolos desde bajo nivel como TCP/IP (Transport Control Protocol and Internet Protocol) o alto nivel como HTTP (Hyper Text Transfert Protocol) y FTP (File Transfer Protocol). Interpretado. La ejecución de un programa en Java pasa a través de dos fases. 1. El compilador de java convierte el código fuente en un tipo de lenguaje de bajo nivel llamado bytecode. 2. Para correr el programa se usa un interprete que ejecuta el bytecode compilado. Este interprete es conocido como la JVM (Java Virtual Machine). Compilador Robusto: Java no solo verifica el código para encontrar problemas en tiempo de compilación, también busca errores que se puedan presentar en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en el ciclo de desarrollo. Entre otras cosas proporciona la comprobación de punteros, límites de arreglos, y manejo de excepciones, etc. Seguro: Debido a que Java fue diseñado para correr en un ambiente de red tienes restricciones de seguridad. Además durante la ejecución el intérprete usa un mecanismo para verificar que el bytecode cargado a través de la red no viola ninguna restricción del lenguaje Java. Ing. Alma Leticia Palacios Guerrero 6

Multihilos: En la actualidad muchas aplicaciones permiten al usuario realizar múltiples tareas en forma simultánea. La capacidad para ejecutar varios procesos al mismo tiempo se conoce como multihilo. Java proporciona paquetes para implementar y aplicaciones multihilo. Dinámico. Java es un lenguaje dinámico porque puede adaptarse a un ambiente cambiante y en desarrollo. Java no intenta conectar todos los módulos que conforman una aplicación hasta el tiempo de ejecución. Las librerías nuevas o actualizadas no paralizarán las aplicaciones actuales Arquitectura Neutral : La internet es la composición de muchas computadoras interconectadas con procesadores y sistemas operativos diferentes. Java fue desarrollado con la meta de ser capaz de correr en cualquier tipo de computadora sin tener que recompilar el código. Por esta razón, cuando se compila un programa fuente de Java, el resultado no es un código nativo sino un bytecode de arquitectura neutral de bajo nivel que representa los datos en un formato independiente de la máquina objeto. El interprete de Java puede más tarde, leer este bytecode y traducirlo a llamadas de sistema dependientes de máquina. Esta combinación de características es la razón por la que las aplicaciones de Java pueden correr en cualquier computadora que implementa la Java Virtual Machine. Compilador Portable: Ser de arquitectura neutral es sólo una parte de ser portable. Java además implementa otros estándares de portabilidad para facilitar el desarrollo, por ejemplo los enteros son siempre de 32 bits, la construcción de interfaces de usuarios se realiza utilizando las clases del paquete awt (abstract window toolkit) de forma que las ventanas puedan ser implantadas en cualquier entorno.. Ing. Alma Leticia Palacios Guerrero 7

2.3. Componentes de Java La plataforma de Java tiene dos componentes: La máquina virtual de Java y el API de Java. El API (Application Programming Interface) es un conjunto de componentes de software, está agrupado en paquetes o librerías de clases. programa.java API de Java Máquina Virtual de Java Plataforma de Hardware 2.4 Tipos de Programas en Java Los tipos de programas más comunes en Java son los applets y las aplicaciones standalone. Applet: Es un programa que se apega a ciertas convenciones que le permiten correr en un browser habilitado para Java. Aplicación Standalone: Es un programa independiente que corre directamente en plataforma Java. Ing. Alma Leticia Palacios Guerrero 8