Tema II Desarrollo con Java (Parte 1) Temas Selectos de Computo Cibernetica 912 Agosto-Noviembre 2005.

Slides:



Advertisements
Presentaciones similares
Lenguaje de programación Java
Advertisements

Servicios Web.
Herencia simple y multiple
Arquitectura CLARO-TECNOTREE
DSOO - María Eugenia Valencia
"java del lado del servidor" Servlet y JSP Java Server Pages.
Índice 1. Introducción, objetivos y justificación del proyecto.
Módulo 1: Primeros Pasos
Etapas y actividades en el desarrollo OO basado en UML
Java 2 Platform Enterprise Edition
Aplicación del paradigma orientado a objetos
Presentación del estado del arte
PROGRAMACION ORIENTADA
Encapsulamiento y Abstracción
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
METODOLOGIA DE LA PROGRAMACION
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Programación Orientada a Aspectos (POA)
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
DISEÑO DE SOFTWARE 1ª. Parte
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SPRING MVC.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Applets CONTENIDO ¿Que es un applet? Lo básico de un applet Ciclo de vida de un Applet Las etiquetas de HTML Pasando información a los applets.
Software Testing Juan Carlos Olivares Rojas MSN:
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Spring Framework. Contenedor ligero de aplicaciones
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
EI, Profesor Ramón Castro Liceaga UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO DIPLOMADO DE DESARROLLO DE SISTEMAS CON EL PARADIGMA DE ORIENTACIÓN A OBJETOS.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) INTRODUCCION.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISUAL BASIC.NET MODULO III. Introducción a las aplicaciones Web Forms Tradicionalmente: Las aplicaciones Web se desarrollaban siguiendo un modelo mixto.
Términos y Conceptos Básicos
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Detalles Generales sobre Java
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Capitulo 1 Roger S. Presman
Introducción a UML Departamento de Informática Universidad de Rancagua
Algoritmos y Programación III
Roles de Open UP.
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Page  1 Herramientas Utilizadas Ciclo I Aplicación FICO HERRAMIENTA UTILIZADAFASE Planeacion - Pruebas Planeacion - PostMortem Analisis - Diseño Implemetación.
Actividades en el Proceso de desarrollo de Software
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Instituto Tecnológico de puebla Materia Desarrollo de aplicaciones para ambientes distribuidos Catedrático Dr. José Bernardo Parra Alumnos Cesar Mauricio.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Proceso de desarrollo de Software
ORIENTACIÓN A OBJETOS El paradigma.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
1.  Tomcat es un contenedor web basado en el lenguaje Java que actúa como motor de servlets y JSPs.  Se ha convertido en la implementación de referencia.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Transcripción de la presentación:

Tema II Desarrollo con Java (Parte 1) Temas Selectos de Computo Cibernetica 912 Agosto-Noviembre 2005

Repaso de Programacion orientada a objetos Encapsulamiento. Permite generar modulos autonomos de software con funcionalidad y ocultando los detalles de implantacion. Herencia. Permite basar una clase nueva en la definicion de una clase existente. Polimorfismo. Permite que un solo nombre de clase o de metodo represente diferente codigo seleccionado mediante un mecanismo automatico.

Encapsulamiento Programacion orientada a objetos con Java public class Bean { private String mensaje; public String getMensaje(){ return mensaje; } public void setMensaje(String unMensaje){ mensaje=unMensaje; } public String duplicar(){ return mensaje + mensaje; } public class SubmitBikeAction extends BaseAction { public ActionForward execute( ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws java.lang.Exception { EditBikeForm editBikeForm = (EditBikeForm) form; Bike bike = new Bike( ); bike.setManufacturer(editBikeForm.getManufacturer()); bike.setModel(editBikeForm.getModel( )); bike.setFrame(editBikeForm.getFrame( )); bike.setSerialNo(editBikeForm.getSerialNo( )); bike.setWeight(editBikeForm.getWeight( )); } Herencia public class SubmitBikeController implements Controller { public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception { return new ModelAndView("bikes.jsp", "rentaBike",facade); } Polimorfismo

Dependencia El objeto fachada RentaBicicleta crea a las bicicletas de la tienda. Cuando una nueva bicicleta llegue, se tiene que modificar al codigo. La clase VistaLineaComando y RentaBicicleta estan fuertemente acoplados. La clase RentaBicicleta se identifica como un servicio. El servicio es invocado por los componentes de la interfase de usuario

Desacoplamiento Para lograr el desacoplamiento se debe realizar lo siguiente: Declarar al servicio en una interfase Relacionar a los clientes con la interfase del servicio Implantar al servicio en una clase concreta, e instanciarlo con un patron de construccion de objetos Una clase tercera, ensambla al cliente con el servicio. Esto se conoce como inyeccion de la dependencia

Inyeccion de la dependencia

Objetos Java en el viejo estilo plano Java tiene una decada de edad, nacio en Sus primeros pasos fueron dados en aplicaciones enriquecidas de Web, llamadas applets. Sin embargo, Java a sus 2 años se uso para implantar tecnologia cliente/servidor y componentes de Software (JavaBeans) A sus 3 años, se establecio el concepto de un servidor de aplicaciones y surgieron multiples soluciones como Enterprise Java Beans, Servlets. Para el año 2000, la industria Java se fortalecio con la aplicación de la tecnologia a servidores de alto rendimiento. Surgieron multiples opciones de herramientas de desarrollo. Conforme fue avanzando, la tecnologia se volvio cada vez mas elaborada. Existe un principio basico al construir cualquier sistema, Mantenlo Simple (Keep It Simple o KIS). Java estaba empenzando a violar este principio. Cada vez se requiere de gente mas especializada. Pero varios programadores se dieron cuenta que la programacion se puede hacer de manera mas ligera y sin complicar el modelo, tal como cuando empezo Java. Al estilo de programar las clases con lo minimo indispensable y sin acoplarse fuertemente a la infraestructura, se les conoce como Objetos Java en el Viejo estilo Plano o Plain Old Java Objects (POJO)

El decalogo de la programacion Java Manten simple tu codificacion, piensa en POJOs Prueba antes de codificar, y despues, tambien.Todo codigo debe ser probado facilmente. Desacopla tus clases por medio de interfases, por medio de la inyeccion de la dependencia Se independiente de herramientas y ambientes de desarrollo complicados. No siempre un asistente grafico es lo mas poderoso Piensa las clases como servicios que encapsulen funcionalidad. Separa la funcionalidad de tu clase de la infraestructura tecnologica. Usa UML como herramienta de comunicación con tu equipo, pero no temas en romper las reglas y hasta tirar los diagramas a la basura. No cambies el analisis y diseño por la programacion. Un buen programador es aquel que codifica claramente y correctamente. Rodeate de bibliotecas y frameworks ligeros No siempre JavaSoft tiene la razon Evita a los EJBs No te olvides del mundo.NET, puedes aprender de el.

Herramientas Java Pruebas unitarias – JUnit Automatizacion de rutinas para el desarrollo – Ant, Maven Framework Ligero – Spring Mapeador de Objetos a Relaciones - Hibernate Contenedor de componentes Web – TomCat Contenedor de componentes J2EE – JBoss Herramienta IDE – Eclipse Control de Versiones - CVS

Estandares de Programacion Java Nombre de los paquetes – mx.edu.ulsa.cib Estructura de directorios – src – Codigo fuente test – Codigo fuente de pruebas unitarias lib - Bibliotecas auxiliares bin – Codigo compilado

Pruebas Unitarias Una prueba unitarias es la unidad elemental en el ciclo de pruebas. Una prueba unitaria envia un mensaje a un objeto y a continuacion verifica que se reciba el mensaje esperado por parte del objeto. Una prueba unitaria ejercita las caracteristicas de un objeto Para escribir unitarias, se puede utilizar un marco de trabajo denominado JUnit; que proporciona clases para escribir pruebas unitarias, validar resultados y ejecutar las pruebas en un entorno grafico o de linea de comando Cualquier clase que se considera prueba unitaria, debe hacer herencia de la clase junit.framework.TestCase. Cada metodo que invoque a una prueba unitaria, debe llamarse con el prefijo test Los metodos setup y tearDown sirven para crear y liberar al objeto de prueba

Interfase grafica de JUnit

Automatizacion de tareas del desarrollo Las tareas comunes en cualquier desarrollo Java son: –Crear la estructura de directorios del proyecto –Compilar el codigo fuente –Compilar las pruebas unitarias –Ejecutar pruebas unitarias –Empaquetar las clases en un archivo Jar. La herramienta Ant es software Java que automatiza las tareas anteriores y adicionales. Consiste en programas Java que cargan un archivo XML, que contiene la declaracion de propiedades y tareas a ejecutar. El archivo XML se denomina build.xml Con dicha herramienta, se faculta a los desarrolladores de un proyecto, a tener un metodo estandar para realizar las tareas de desarrollo, de manera independiente a la herramienta IDE + - Script Ant que permite gestionar a un proyecto Java

Conclusiones Escribir el sistema como POJOs. Detectar aquellas clases Java que son candidatas a realizar servicios y aplicarles el principo de inyeccion de la dependencia Automatizar el desarrollo con herramientas como Ant y JUnit

Ejercicio Diseñar un sistema usando UML Traducir el diseño a POJOs Usar el script Ant proporcionado para realizar un proyecto Java Usar Eclipse como IDE (opcional) Detectar las clases que son servicios Aplicar el principio de inyeccion de dependencia Escribir pruebas unitarias para los servicios detectados Correr el script Ant para compilar, pruebas unitarias y empaquetamiento