ANTECEDENTES LAS HERRAMIENTAS CASE



Documentos relacionados
Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Introducción al lenguaje de programación java

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

Preliminares. Tipos de variables y Expresiones

Introducción a la Programación en Java. Page 1

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

FACULTAD DE INGENIERÍA

Capítulo 5. Cliente-Servidor.

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Computación III. Objetivo de aprendizaje del tema

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

CAPÍTULO 3 VISUAL BASIC

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Módulo 1 El lenguaje Java

Modulo 1 El lenguaje Java

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Informática I para Bachillerato

Elementos requeridos para crearlos (ejemplo: el compilador)

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

1 ELEMENTOS BASICOS DEL LENGUAJE

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Generación de código para Hibernate desde modelos UML

Módulo 2. Inicio con Java

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

INTRODUCCIÓN A JAVA. Índice

8. Sentencia return y métodos

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

Tema 1. Introducción a JAVA

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

Curso de PHP con MySQL Gratis

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

Introducción a la programación orientada a objetos

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Modelo de Objetos Distribuidos

Curso Informática Lección 2. Introducción a la programación en Java

Arquitectura de Aplicaciones

PART II: Moviendo al jugador

Programación Orientada a Objetos con Java

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y


PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Unidad 1. Fundamentos en Gestión de Riesgos

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Novedades en Q-flow 3.02

Capitulo 5. Implementación del sistema MDM

Clases y Objetos. Informática II Ingeniería Electrónica

Capítulo I. Marco Teórico

1. Manejo de memoria estática 2. Manejo de memoria dinámica

MATERIAL 2 EXCEL 2007

Guía de Instalación de la JDK y del Eclipse

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Tema 3 Elementos básicos de programación

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

JAVA PARA PRINCIPIANTES

INF 473 Desarrollo de Aplicaciones en

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

LiLa Portal Guía para profesores

1. INTRODUCCIÓN Y OBJETIVOS

Java. Mtro. Manuel Suárez Gutiérrez

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Curso PHP Módulo 1 R-Luis

Bases de datos en Excel

(volver a Tabla de Contenidos)

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

PROGRAMACIÓN ORIENTADA A OBJETOS

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Introducción a las redes de computadores

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Workflows? Sí, cuántos quiere?

Software Computacional y su clasificación

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Tema: Introducción a Java y Netbeans

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

(Integrated Development Environment) Herramienta de soporte para el desarrollo de sotfware: Editor (escribir y editar programas); un

Universidad Central de Bayamón COLEGIO DE DESARROLLO EMPRESARIAL Y TECNOLOGIA. Número Estudiante:

AUDITORIA A AMBIENTES DE DESARROLLO, APLICACIONES EN PRODUCCION, SERVICIOS DE TI, CONTRATACION DE RECURSOS DE TI. VIVIANA GÓMEZ BARCO PRESENTADO A:

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

BASES DE DATOS OFIMÁTICAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

Introducción a la extensión de scripting en gvsig 2.0

Novedades. Introducción. Potencia

CAPÍTULO 5. DESARROLLO Y PRUEBAS

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

CURSO COORDINADOR INNOVADOR

Transcripción:

Elaborado por Irlesa Indira Sánchez Medina 1 ANTECEDENTES Durante las tres primeras décadas de la informática, el principal desafío era el desarrollo del hardware de las computadoras, de forma que se redujera el costo de procesamiento y almacenamiento de datos. A lo largo de la década de los ochenta, los avances en microelectrónica dio dado como resultado una mayor potencia de cálculo, a la vez que una reducción del costo. Hoy, el problema es diferente. El principal desafío es mejorar la calidad (y reducir el costo) de las soluciones basadas en computadoras -soluciones que se implementan con el software-. Conforme crecía la demanda para desarrollar grandes sistemas de software, el desarrollo de software se hace cada vez más complejo, generando lo que se conoció como crisis del software, caracterizada fundamentalmente por: (Pressman, 1998) : 1.La sofisticación del hardware ha dejado desfasada la capacidad de construir software que pueda explotar el potencial del hardware; 2. La capacidad de construir nuevos programas no puede dar abasto a la demanda de nuevos programas; 3. El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la operación fiable del software; 4.Se lucha por construir software informático que tenga fiabilidad y alta capacidad; 5. La capacidad de mantener los programas existentes está amenazada por el mal diseño y el uso de recursos inadecuados. Es así como el concepto Computer Aided Software Engineering (CASE) ha venido a ser un término de uso común de la Ingeniería de Software (Sommerville, 1998). Dado que la Ingeniería de Software se centra en la disciplina y en la estructura necesarias para obtener sistemas informáticos económicos y confiables, el objetivo del enfoque CASE es apoyar el uso consistente de los principios de la Ingeniería de Software mediante la utilización de una variedad de ayudas automatizadas de computación. LAS HERRAMIENTAS CASE Desde 1990 los analistas empezaron a beneficiarse de la herramientas de productividad denominadas herramientas de ingeniería de software asistida por computadora (CASE, Computer Aided Software Engineering) creadas para mejorar su trabajo rutinario mediante apoyo automatizado. Los analistas de sistemas y desarrolladores se apoyan en estas herramientas desde el principio hasta el fin del ciclo de vida de desarrollo del sistema, para incrementar la productividad, comunicarse de manera más eficiente con el usuario e integrar el trabajo que desempeña en el sistema. HERRAMIENTAS CASE DE BAJO NIVEL: utilizadas para genera código fuente. HERRAMIENTAS CASE DE ALTO NIVEL: dan la posibilidad de crear y modificar el diseño de sistema. RAZONES PARA SU USO Aumento en la productividad: con la posibilidad de realizar planeación, análisis y diseño por medio de gráficos con propósito de construir aplicaciones y bases de datos complejas. Mejora de la comunicación: importante una excelente comunicación entre analistas y usuarios durante todo el ciclo de vida del sistema. Integración de las actividades del ciclo de vida: integrando actividades y proporcionando continuidad de una fase a la siguiente durante todo el ciclo de vida de desarrollo del sistema. Evaluar de manera precisa los cambios en el mantenimiento: permite a los usuarios analizar y evaluar el impacto de los cambios en el mantenimiento. Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos. Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto. Ayuda a la reutilización del software, portabilidad y estandarización de la documentación Gestión global en todas las fases de desarrollo de software con una misma herramienta. Facilitar el uso de las distintas metodologías propias de la ingeniería del software. Mejorar la planificación de un proyecto Los beneficios que una nueva herramienta pueda tener sobre la productividad o calidad de los Sistemas de Información resultantes son difícilmente medibles. Para seleccionar una herramienta CASE, es necesario tener en cuenta tanto los aspectos técnicos de la herramienta como los aspectos organizacionales de la empresa que ha de adoptarla, ya que la selección no es producto

Elaborado por Irlesa Indira Sánchez Medina 2 solamente de las propiedades que ella posee, sino también de las características del proyecto de desarrollo de sistemas y de las características de la organización que la adopta. Por ello, es importante no dejar a un lado la influencia que tiene el entorno organizacional frente a la adquisición y/o adopción de las herramientas CASE para soportar el proceso de desarrollo. La calidad del proceso de desarrollo de sistemas de software puede verse mejorada por una correcta selección de la herramienta que apoye cada fase del proceso de desarrollo, desde el análisis de requerimientos hasta las pruebas finales y la integración. La selección de una herramienta inapropiada, por el contrario, puede impedir el buen desarrollo del Sistemas de Información. Ejemplos case: Microsoft Project: software de administración de proyectos diseñado, desarrollado y comercializado por Microsoft para asistir a administradores de proyectos en el desarrollo de planes, asignación de recursos a tareas, dar seguimiento al progreso, administrar presupuesto y analizar cargas de trabajo. Rational Rose: herramienta de producción y comercialización establecidas por Rational Software Corporation (actualmente parte de IBM), como un instrumento operativo conjunto que utiliza el lenguaje Unificado (UML) como medio para facilitar la captura de dominio de la semántica, la arquitectura y el diseño. Oracle Jdeveloper 10g: entorno integrado y desarrollado por Oracle trabaja con la ingeniería inversa, es decir primero se crea él código y después el diagrama. Es un software propietario pero gratuito desde 2005; las primeras versiones de 1998 estaban basadas en el entorno JBuilder de Borland, pero desde la versión 9i de 2001 está basado en Java, no estando ya relacionado con el código anterior de JBuilder. MagicDraw: herramienta de modelaje con completas características UML, considerada una de las mejores herramientas CASE ya que procura mantenerse además siempre al día con continuas actualizaciones, esta desarrollada totalmente en JAVA. Especialmente diseñada para los analistas del negocio, los analistas del software, los programadores, los ingenieros de software, y los escritores de la documentación, esta herramienta de desarrollo dinámica y versátil facilita análisis y el diseño de los sistemas y de las bases de datos orientados objeto. Microsoft Visio: software de diagramas para Microsoft Windows, usa gráficos de vectores para crear diversos diagramas. Facilita a los profesionales empresariales y de Tecnologías de la Información la visualización, el análisis y la comunicación de información compleja. Los diagramas de Visio comunican información de un vistazo, conectados a datos muestran información, son fáciles de actualizar y pueden aumentar la productividad. La amplia variedad de diagramas de Microsoft Visio permite comprender, procesar y compartir información sobre los sistemas, recursos y procesos organizativos de una empresa. Argouml: Herramienta que contiene funciones avanzadas en las etapas de diseño y modelación de software. Requiere de licencia comercial; como características fundamentales se encuentra: que soporta todas las especificaciones UML, esta integrado con la WEB y brinda una excelente ayuda. NetBeans: entorno de desarrollo, hecho principalmente para el lenguaje de programación Java, de código abierto, permitiendo que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo, las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software. El futuro de las Herramientas CASE radicara en la innovación de recursos para beneficiar Sistemas de software, donde estas herramientas proporcionaran ayuda automatizada a las actividades del proceso de software. Las herramientas CASE ofrecerán una gran gama de componentes que incluyen todos o la mayoría de los requisitos necesarios para el desarrollo de los sistemas, siendo creados con una gran exactitud en torno a las necesidades de los desarrolladores de software para la automatización de procesos incluyendo el análisis, diseño e implantación; y ofrecer una gran plataforma de seguridad a sistemas que las usan.

Elaborado por Irlesa Indira Sánchez Medina 3 DESARROLLO RÁPIDO DE APLICACIONES El desarrollo rápido de aplicaciones o RAD (rapid application development) es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución. ENTORNO DE DESARROLLO INTEGRADO Un entorno de desarrollo integrado - IDE (integrated development environment) es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz grafica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de Macros para Microsoft Word. Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. Sus componentes son: un editor de texto, compilador, interprete, depurador, para algunos casos un sistema de control de versiones y factibilidad para construir interfaces graficas de usuario. Algunos IDE s soportan múltiples lenguajes, tales como Eclipse o NetBeans, ambas basadas en Java o MonoDevelop, basado en C#. El soporte para lenguajes alternativos es a menudo proporcionada por plugins, que les permite ser instalado en el mismo IDE al mismo tiempo. Por ejemplo, Eclipse y NetBeans tiene plugins para C / C + +, Ada, Perl, Python, Ruby y PHP, entre otros lenguajes. Algunos de código abierto, tales como IDE Code::Blocks, Eclipse, Lázaro, KDevelop y Netbeans, que a su vez se desarrollan utilizando un lenguaje multi-plataforma (por ejemplo, Free Pascal o Java), se ejecutan en múltiples plataformas incluyendo Windows, GNU / Linux, y Mac OS. QUÉ ES NETBEANS? NetBeans es un proyecto exitoso de código abierto con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios ( y creciendo!) en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio 2000 y continúa siendo el patrocinador principal de los proyectos. Al día de hoy hay disponibles dos productos: el NetBeans IDE y NetBeans Platform. NetBeans IDE es un entorno de desarrollo - una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java - pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. También está disponible NetBeans Platform; una base modular y extensible usada como estructura de integración para crear grandes aplicaciones de escritorio. Empresas independientes asociadas, especializadas en desarrollo de software, proporcionan extensiones adicionales que se integran fácilmente en la plataforma y que pueden también utilizarse para desarrollar sus propias herramientas y soluciones. Ambos productos son de código abierto y gratuito para uso tanto comercial como no comercial. HISTORIA DE JAVA BIBLIOTECAS ENTORNO DE DESARROLLO Historia de JAVA Sun Microsystems patrocino en 1991 un proyecto interno de investigación denominado Green, el cual desemboco en el desarrollo de un lenguaje basado en C++ al que su creador, James Gosling, llamó Oak debido a un roble que tenía a la vista desde su ventana en la oficina de Sun. Luego se descubrió que ya existía un lenguaje de computadora con el mismo nombre, cuando un grupo de gente de Sun visito a la cafetería local, sugirieron el nombre de Java (una variedad de café) y así se quedo. Se presentan tropiezos con el riesgo de cancelar el proyecto pero la popularidad de la World Wide Web exploto en 1993 y la gente de Sun se dio cuenta del potencial de java para agregar contenido dinámico, como interactividad y animaciones, a las páginas Web, esto trajo vida al proyecto. En 1995 se desarrollo una conferencia donde java genero la atención de la comunidad de negocios debido al fenomenal interés en World Wide Web. En la actualidad java se utiliza para

Elaborado por Irlesa Indira Sánchez Medina 4 desarrolla aplicaciones empresariales a gran escala para mejorar la funcionalidad de los servidores Web, proporcionar aplicaciones para los dispositivos domésticos y para muchos otros propósitos. BIBLIOTECAS DE CLASES DE JAVA Los programas de JAVA constan de varias piezas llamadas clases. Estas clases incluyen piezas llamadas métodos, los cuales realizan tareas y devuelven información cuando completan eses tareas. Los programadores pueden crear cada una de las piezas que necesitan para formar programas en JAVA. Sin embargo la mayoría de los programadores en JAVA aprovechan las ricas colecciones de clases existentes en las bibliotecas de clases de JAVA, que también se conoce como APIs (Interfaces de programación de aplicaciones) de JAVA. Por lo tanto, en realidad existen dos fundamentos para conocer el mundo java; el primero es el lenguaje java en si de manera que se puedan programar sus propias clases; el segundo son las clases incluidas en las extensas bibliotecas de clases de JAVA. Entorno de desarrollo Los programas en java pasan a través de cinco fases; edición, compilación, carga, verificación y ejecución: Fase 1: Creación de un programa; consiste en editar un archivo con un programa de edición (conocido comúnmente como editor), se escribe un programa en java (conocido como código fuente) utilizando el editor realiza las correcciones necesarias y guarda el programa en un dispositivo de almacenamiento secundario, como un disco duro. Un nombre de archivo que termina con la extensión.java indica que este contiene código fuente en java. Dos de los editores que se utilizan ampliamente en sistemas Linux son vi y emacs. En Windows basta con usar un programa editor simple como el bloc de notas. También existen editores freeware y shareware disponibles para descargarlos en internet. Para organizaciones que desarrollan sistemas de información extensos hay entornos de desarrollo integrados (IDEs) disponibles de la mayoría de los proveedores de software, incluyendo Sun Microsystems. Los IDEs proporcionan herramientas que dan soporte al proceso de desarrollo de software, incluyendo editores para escribir y editar programas y depuradores para localizar errores lógicos. Los IDEs conocidos son Eclipse, Netbeans, JBuilder, Creator, Blue, JGRASP y JEdit; el JAVA Studio Enterprise de Sun Microsystems es una versión mejorada de NetBeans. Fase 2: Compilación de un programa en java para convertirlo en código de bytes; aquí el programador utiliza el comando javac (el compilador de java) para compilar un programa. Por ejemplo para compilar un programa llamado Bienvenido.java, escriba: Javac Bienvenido.java En la ventana de comandos del sistema (es decir el indicador de MS-DOS en Windows 95/98/me, el símbolo del sistema en Windows NT/2000/XP, el indicador de Shell de Linux o la aplicación terminal en Mac OS X). Si el programa se compila el compilador produce un archivo.class llamado Bienvenido.class, que contiene la versión compilada del programa. El compilador java traduce el código fuente en códigos de bytes que representan las tareas a ejecutar en la fase de ejecución. La máquina virtual de java (JVM) una parte del JDK y la base de la plataforma java, ejecuta los códigos de bytes. Una máquina virtual (VM) es una aplicación de software que simula a una computadora, pero oculta el sistema operativo y el hardware subyacente de los programas que interactúan con la VM. Si se implementa la misma VM en muchas plataformas computacionales, las aplicaciones que ejecute se podrán utilizar en todas esas plataformas. La JVM es una de las máquinas virtuales más utilizadas, a diferencia del lenguaje máquina, que depende del hardware de una computadora especifica, los códigos de bytes son instrucciones independientes de la plataforma; no dependen de una plataforma de hardware en especial. Entonces los códigos de bytes de java son portables (es decir, se pueden ejecutar en cualquier plataforma que contenga una JVM que comprenda la versión de java en la que se compilaron). La JVM se invoca mediante el comando java. Por ejemplo, para ejecutar una aplicación llamada Bienvenido, debe escribir el comando java Bienvenido En una ventana de comandos para invocar la JVM, que a su vez inicia los pasos necesarios para ejecutar la aplicación. Fase 3: Carga un programa en memoria; el programa debe colocarse en memoria antes de ejecutarse; a esto se le conoce como carga. El cargador de clases toma los archivos.class que contienen los códigos de bytes del programa y los transfiere a la memoria principal. El

Elaborado por Irlesa Indira Sánchez Medina 5 cargador de clases también carga cualquiera de los archivos.class que su programa utilice, y que sean proporcionados por java. Puede cargar los archivos.class desde un disco en su sistema o a través de una red (como la de la universidad local o incluso desde internet). Fase 4: Verificación del código de bytes; a medida que se cargan las clases, el verificador de códigos de bytes examina sus códigos de bytes para asegurar que sean validos y que no violen las restricciones de seguridad. Java implementa una estrecha seguridad para asegurar que los programas que llegan legan a través de la red no dañen sus archivos o su sistema (como podrían hacerlo los virus de computadora y los gusanos). Fase 5: ejecución; la JVM ejecuta los códigos de bytes del programa, realizando así la acciones especificas por el mismo. En la primeras versión de Java la JVM era tan solo un interprete de códigos de bytes de Java, esto hacia que la mayoría de los programas se ejecutaran con lentitud, ya que la JVM tenia que interpretar y ejecutar un código de bytes a la vez. Por lo general las JVM actuales ejecutan códigos de bytes usando una combinación de la interpretación y la denominada compilación justo a tiempo (JIT). La JVM analiza los códigos de bytes a medida que se interpretan, buscando puntos activos: partes de los códigos de bytes que se ejecutan con

Elaborado por Irlesa Indira Sánchez Medina 6 frecuencia. Para estas partes, un compilador justo a tiempo (JIT) conocido como compilador HotSpot de Java traduce los códigos de bytes al lenguaje máquina correspondiente a la computadora. Cuando la JVM encuentra estas partes compiladas nuevamente, se ejecuta el código en lenguaje máquina, que es más rápido. Por ende, los programas en Java en realidad pasan por dos fases de compilación: una en la cual el código fuente se traduce a código de bytes (para tener portabilidad a través de las JVMs en distintas plataformas computacionales) y otra en la que durante le ejecución, los códigos de bytes se traducen en lenguajes máquinas para la computadora actual en la que se ejecuta el programa. Problemas que pueden ocurrir en tiempo de ejecución: es portable que los programas no funcionen la primera vez. Cada una de las fases anteriores pueden fallar, debido a diversos errores, ejemplo un programa en ejecución podría intentar una división entre cero (una operación ilegal para la aritmética con números enteros en Java); esto haría que el programa de java imprimiera un mensaje de error. Si esto ocurre tendría que regresar a la fase de edición, ión, hacer las correcciones necesarias y proseguir con las fases restantes nuevamente, para determinar que las correcciones resolvieron los problemas. SECUENCIAS \n \t \r \\ \ ;, // o /* DESCRIPCIÓN Nueva línea. Coloca el cursor de la pantalla al inicio de la siguiente línea. Tabulador horizontal. Desplaza el cursor de la pantalla hasta la siguiente posición de tabulación. Retorno de carro. Coloca el cursor de la pantalla al inicio de la línea actual; no avanza a la siguiente línea. Cualquier carácter que se imprima después del retorno de carro sobrescribe los caracteres previamente impresos en esa liena. Barra diagonal. Se usa para imprimir un carácter de barra diagonal inversa. Doble comila. Se usa para iomprimir un carácter de dible comilla. Por ejemplo System.out.println( \ entre comillas \""); muestra entre comillas Todas las instrucciones en java terminan en punto y coma. Cuando un método quiera utilizar variaos argumentos estos se separan por comas. Abre comentario /* y cierra comentario */ PRIMER PROGRAMA EN JAVA: IMPRIMIR UNA LINEA DE TEXTO. Una aplicación en JAVA es un programa de computador que ejecuta cuando utiliza el comando java para iniciar a maquina virtual de java (JVM). Este empieza con //, indica que el resto de línea

Elaborado por Irlesa Indira Sánchez Medina 7 es un comentario, estos ayudan a otras personas a comprender y leer el programa. El compilador ignora estos comentarios cuando el programa se ejecuta. Otro comentario adicional /* este es un comentario */ Código Fuente Basico.java public class Basico public static void main(string args[]) System.out.println("Un despliegue de Datos"); } } La primer característica de un programa Java es que este debe definir una Clase que lleve por nombre el mismo nombre del archivo fuente, en este caso el archivo Basico.java debe incluir una definición de una Clase llamada Basico, nótese que ambos nombres coinciden en su sintaxis, esto es, ambos inician con letra mayúscula lo cual es una convención llevada acabo para la definición de Clases. Para definir una Clase se utiliza el vocablo class así como un calificador de acceso, en este caso se utiliza el calificador public, el uso y variación de calificadores será descrito posteriormente cuando se aborde el tema de librerías ("packages") donde es de influencia su uso. Dentro de la definición de la Clase se deben incluir los respectivos métodos que podrán ser invocados. En el caso del programa Basico.java únicamente es definido el método main, dicho método es invocado por "default" al ejecutarse el programa (Clase). Nótese que el método inicia con letra minúscula, esta es otra convención utilizada para diferenciarse de las distintas clases. La definición del método indica lo siguiente: Primeramente se definen los calificadores del método en este caso siendo public static Posteriormente se define el valor de retorno del método: void, lo cual indica que no será retornado ningún valor Le sigue el nombre del método: main Dentro de paréntesis se incluyen los parámetros de entrada para el método (String args[]). Finalmente la Clase/Método System.out.println envía un mensaje a la pantalla Método principal main El método principal main de una Clase Java es inalterable, es este sentido inalterable se refiere a sus características: Siempre debe incluir los calificadores : public y static. Nunca puede retornar un valor como resultado, por ende, siempre debe indicar el valor void como retorno. Su parámetro de entrada siempre será un arreglo de String's (String[]) el cual es tomado de la linea de comandos o una fuente alterna. Aunque no es un requerimiento definir el método main dentro de toda Clase Java, dicho método representa el único mecanismo automático para realizar tareas al invocarse una Clase, esto es, al momento de ejecutarse determinada Clase siempre será ejecutado todo el contenido dentro de dicho método. Los tipos básicos de datos que se utilizan en la mayor parte de los programas de JAVA serán boolean, int y double. Caracteres: En Java los caracteres está siempre rodeado de comillas simples como 'A', '9', 'ñ', etc. El tipo de dato char sirve para guardar estos caracteres. Variables booleanas: En el lenguaje C/C++ el valor 0 se toma como falso y el 1 como verdadero. En el lenguaje Java existe el tipo de dato boolean. Una variable booleana solamente puede guardar uno de los dos posibles valores: true (verdadero) y false (falso). boolean encontrado=false;...} encontrado=true;

Elaborado por Irlesa Indira Sánchez Medina 8 Variables enteras: Una variable entera consiste en cualquier combinación de cifras precedidos por el signo más (opcional), para los positivos, o el signo menos, para los negativos. Son ejemplos de números enteros: 12, -36, 0, 4687, -3598. Como ejemplos de declaración de variable enteras tenemos: int numero=1205; int x,y; long m=30l; int es la palabra reservada para declarar una variable entera. Declarar e inicializar una variable es una práctica aconsejable. En la tercera línea 30 es un número de tipo int por defecto, le ponemos el sufijo L en mayúsculas o minúsculas para indicar que es de tipo long. Existen tipos de números enteros (byte, short, int, long), y también existe una clase denominada BigInteger cuyos objetos pueden guardar un número entero arbitrariamente grande. Variables en coma flotante: Las variables del tipo float o double (coma flotante) se usan para guardar números en memoria que tienen parte entera y parte decimal. double PI=3.14159; double g=9.7805, c=2.9979e8; El primero es una aproximación del número real, el segundo es la aceleración de la gravedad a nivel del mar, el tercero es la velocidad de la luz en m/s, que es la forma de escribir 2.9979 10 8. El carácter punto '.', separa la parte entera de la parte decimal, en vez del carácter coma ',' que usamos habitualmente en nuestro idioma. Valores constantes: Normalmente, las constantes de un programa se suelen poner en letras mayúsculas, para distinguirlas de las que no son constantes. He aquí ejemplos de declaración de constantes. final double PI=3.141592653589793; final int MAX_DATOS=150; Las cadenas de caracteres o strings: Además de los ocho tipos de datos primitivos, las variables en Java pueden ser declaradas para guardar una instancia de una clase, las cadenas de caracteres o strings son distintas en Java y en el lenguaje C/C++, en este último, las cadenas son arrays de caracteres terminados en el carácter '\0'. Sin embargo, en Java son objetos de la clase String. String mensaje="el primer programa"; Empleando strings, el primer programa quedaría de la forma equivalente public class PrimeroApp public static void main(string[] args) //imprime un mensaje String mensaje="el primer programa"; System.out.println(mensaje); } } En una cadena se pueden insertar caracteres especiales como el carácter tabulador '\t' o el de nueva línea '\n' String texto="un string con \t un carácter tabulador y \n un salto de línea";

Elaborado por Irlesa Indira Sánchez Medina 9 Ejercicios en clase // Bienvenido1.java // Programa para imprimir texto. public class Bienvenido1 en Java System.out.println( "Bienvenido a la programacion en Java!" ); } // fin de la clase Bienvenido1 // Bienvenido3.java // Imprimir varias líneas de texto con una sola instrucción. public class Bienvenido3 en Java System.out.println("Bienvenido\na\nla programacion\nen Java!" ); } // fin de la clase Bienvenido3 // Suma.java // Programa que muestra la suma de dos enteros. import java.util.scanner; // el programa usa la clase Scanner public class Suma en Java // crea objeto Scanner para obtener la entrada de la ventana de comandos Scanner entrada = new Scanner( System.in ); int numero1; // primer número a sumar int numero2; // segundo número a sumar int suma; // suma de numero1 y numero2 System.out.print( "Escriba el primer entero: " ); // indicador numero1 = entrada.nextint(); // lee el primer número del usuario System.out.print( "Escriba el segundo entero: " ); // indicador numero2 = entrada.nextint(); // lee el segundo número del usuario suma = numero1 + numero2; // suma los números System.out.printf( "La suma es %d\n", suma ); // muestra la suma } // fin de la clase Suma //Bienvenido2.java // Imprimir una línea de texto con varias instrucciones. public class Bienvenido2 en Java System.out.print( "Bienvenido a "); System.out.println( "la programacion en Java!" ); } // fin de la clase Bienvenido2 // Bienvenido4.java // Imprimir varias líneas en un cuadro de diálogo. public class Bienvenida4 de Java System.out.printf( "%s\n%s\n", "Bienvenido a", "la programacion en Java!" ); } // fin de la clase Bienvenido4 // Comparacion.java // Compara enteros utilizando instrucciones if, operadores relacionales // y de igualdad. import java.util.scanner; // el programa utiliza la clase Scanner public class Comparacion en Java // crea objeto Scanner para obtener la entrada de la ventana de comandos Scanner entrada = new Scanner( System.in ); int numero1; // primer número a comparar int numero2; // segundo número a comparar System.out.print( "Escriba el primer entero: " ); // indicador numero1 = entrada.nextint(); // lee el primer número del usuario System.out.print( "Escriba el segundo entero: " ); // indicador numero2 = entrada.nextint(); // lee el segundo número del usuario if ( numero1 == numero2 ) System.out.printf( "%d == %d\n", numero1, numero2 ); ); if ( numero1!= numero2 ) System.out.printf( "%d!= %d\n", numero1, numero2 if ( numero1 < numero2 ) System.out.printf( "%d < %d\n", numero1, numero2

Elaborado por Irlesa Indira Sánchez Medina 10 ); ); if ( numero1 > numero2 ) System.out.printf( "%d > %d\n", numero1, numero2 if ( numero1 <= numero2 ) System.out.printf( "%d <= %d\n", numero1, numero2 ); if ( numero1 >= numero2 ) System.out.printf( "%d >= %d\n", numero1, numero2 ); } // fin de la clase Comparacion Declaración de una clase con un método e instancia miento de un objeto de una clase. //LibroCalificaciones.java // Declaración de una clase con un método. public class LibroCalificaciones // muestra un mensaje de bienvenida al usuario de LibroCalificaciones public void mostrarmensaje() System.out.println( "Bienvenido al Libro de calificaciones!" ); } // fin del método mostrarmensaje } // fin de la clase LibroCalificaciones // PruebaLibroCalificaciones.java // Crea un objeto LibroCalificaciones y llama a su método mostrarmensaje. public class PruebaLibroCalificaciones // el método main empieza la ejecución del programa // crea un objeto LibroCalificaciones y lo asigna a milibrocalificaciones LibroCalificaciones milibrocalificaciones = new LibroCalificaciones(); // llama al método mostrarmensaje de milibrocalificaciones milibrocalificaciones.mostrarmensaje(); } // fin de main } // fin de la clase PruebaLibroCalificaciones