programación de aplicaciones

44

Upload: universidad-tecnologica-de-mexico-unitec

Post on 03-Jul-2015

124 views

Category:

Education


6 download

DESCRIPTION

Conoce qué principios usan los desarrolladores para crear los softwares y aplicaciones que usamos todos los días.

TRANSCRIPT

Page 1: Programación de Aplicaciones
Page 2: Programación de Aplicaciones

Programación de Aplicaciones

Los Principios del Desarrollo de

Software de Hoy en Día

Conceptos y utilización del paradigma de la programación orientada a objetos para la creación de soluciones informáticas.

Page 3: Programación de Aplicaciones

Este webinar te interesa si deseas conocer cómo crear soluciones computarizadas…

Aprenderás los principios que emplean los desarrolladores profesionales para crear los programas que hoy en día se utilizan alrededor del mundo.

Page 4: Programación de Aplicaciones

Lic. Luis Ernesto Rubio Torres

Profesor de la Academia de Tecnologías de la Información Sun Certified Java Programmer. Profesor de Ingenierías Ejecutivas en UNITEC [email protected]

Page 5: Programación de Aplicaciones

Comencemos con una pregunta:

¿Cómo se hace un programa?

Page 6: Programación de Aplicaciones

PROGRAMACIÓN ORIENTADA A

OBJETOS

Page 7: Programación de Aplicaciones

Programa = Aplicación

http://blogs.sun.com/manuelcr/entry/por_qu_eacute_java_es

Page 8: Programación de Aplicaciones

http://leo.ugr.es/J2ME/INTRO/img/dispositivos.jpg

Page 9: Programación de Aplicaciones

http://www.nasa.gov/mission_pages/mer/news/roverb-20090526.html

http://www.telva.com/albumes/2009/09/02/electrodomesticos_inteligentes/index.html

Page 10: Programación de Aplicaciones

http://www.telva.com/albumes/2009/09/02/electrodomesticos_inteligentes/index.html

Page 11: Programación de Aplicaciones

http://java.sun.com/javaone/sf/2007/articles/toyshow.jsps

http://library.abb.com/global/scot/scot271.nsf/veritydisplay/c9c1e89a8f8e6622c12574ef0053a7fb/$File/ABB%20SR_China_72dpi.pdf

Page 12: Programación de Aplicaciones

http://blogs.sun.com/plamere/entry/lego_java_jsapi_talking_robots

Page 13: Programación de Aplicaciones

http://blogs.sun.com/mgorshenev/entry/javaone_2007_part_3_cool

http://blogs.sun.com/mgorshenev/resource/picturepuzzle.html

Page 14: Programación de Aplicaciones

http://blogs.sun.com/jag/entry/java_for_first_robotics_competition

Page 15: Programación de Aplicaciones

http://java.sun.com/

Page 16: Programación de Aplicaciones

http://netbeans.org/features/all.html

Page 17: Programación de Aplicaciones

http://netbeans.org/features/scripting/index.html

Page 18: Programación de Aplicaciones

http://www.vancouver2010.com/olympic-medals/geo-view/

Page 19: Programación de Aplicaciones

http://java.sun.com/javafx/index.jsp

Page 20: Programación de Aplicaciones

http://netbeans.org/features/javafx

Page 21: Programación de Aplicaciones

http://java.sun.com/developer/onlineTraining/index.jsp

Page 22: Programación de Aplicaciones

http://www.sun.com/training/certification/java/scjp.xml

Page 23: Programación de Aplicaciones

http://netbeans.org/features/

Page 24: Programación de Aplicaciones

http://imagenes.mailxmail.com/cursos/imagenes/2/6/introduccion_7062_1_1.gif

Page 25: Programación de Aplicaciones

http://robocode.sourceforge.net/

Page 26: Programación de Aplicaciones

http://www.robocode-argentina.com.ar/descargas/tutderob.doc

http://www.youtube.com/watch?v=ZWlATkrMflw

public class MiPrimerRobot extends Robot {

/**

* El Metodo Run() del Robot

*/

public void run() {

while (true) {

ahead(100); // Se mueve hacia adelante

turnGunRight(360); // gira el arma

back(100); // Se mueve hacia atrás

turnGunRight(360); // Gira el arma

}

}

/**

* Dispara cuando ve un robot

*/

public void onScannedRobot(ScannedRobotEvent e) {

fire(1);

}

/**

* Nos dieron, corramos! Girar perpendicularmente en contra de donde vino el disparo

*

*/

public void onHitByBullet(HitByBulletEvent e) {

turnLeft(90 - e.getBearing());

}

}

Page 27: Programación de Aplicaciones

Lenguaje de Programación

Page 28: Programación de Aplicaciones

Person i = new Man();

Person you = new Woman();

for( this.day; ever && ever; always++) {

if( you.love( me ) ) {

i.love ( you );

} else {

i.die( )

}

}

Page 29: Programación de Aplicaciones

Productora

- cveProductora : int

- nombre : String

+ getNombre() : String

+ getCve(argname) : int

+ getProduccion(indice : int) : Pelicula

Actor

- cveActor : int

- nombre : String

- edad : double

- nacionalidad : String

+ getNombre() : String

+ getFilmografia(indice : int) : Pelicula

+ getEdad(argname) : double

+ getCve(argname) : int

+ getNacion(argname) : String

Pelicula

- cveProductora : int

- nombre : String

+ getNombre() : String

+ getCompañia() : Productora

+ getSoundTrack() : TemaMusical

+ getReparto(indice : int) : Actor

+ getCve(argname) : int

1

1..*

-compañia 1

-producciones 1..*

1..*1..*

-reparto

1..*

-filmografia

1..*

Compositor

- cveCompositor : int

- nombre : String

- nacionalidad : String

+ getNombre() : String

+ getNacion(argname) : String

+ getCve(argname) : int

+ getObra(indice : int) : TemaMusical

TemaMusical

- cveTema : int

- nombre : String

+ getNombre() : String

+ getAutor() : Compositor

+ getCve(argname) : int

1

1

-soundtrack 1

-film 1

1..*1..*

-autor

1..*

-obras

1..*

Page 30: Programación de Aplicaciones

public class RepartoCorazonVal {

Pelicula corazonVal;

Productora twentiethCenturyFox;

TemaMusical braveHeartSoundtrack;

Compositor jamesHorner;

Actor[] repartoEstelar;

String reporte;

public RepartoCorazonVal() {

(corazonVal = new Pelicula()).setNombre("Corazon Valiente");

corazonVal.setCompañia(twentiethCenturyFox = new Productora());

twentiethCenturyFox.setNombre("20th Century Fox");

corazonVal.setSoundtrack(braveHeartSoundtrack = new TemaMusical());

braveHeartSoundtrack.setNombre("Brave Heart Song");

braveHeartSoundtrack.setAutor(jamesHorner = new Compositor());

jamesHorner.setNombre("James Horner");

corazonVal.setReparto(repartoEstelar = new Actor[3]);

(repartoEstelar[0] = new Actor()).setNombre("Mel Gibson");

(repartoEstelar[1] = new Actor()).setNombre("Sophie Marceau");

(repartoEstelar[2] = new Actor()).setNombre("Catherine McCormack");

}

}

Page 31: Programación de Aplicaciones

reporte = "Pelicula: "

+ corazonVal.getNombre() + "\n"

+ "Productora: "

+ twentiethCenturyFox.getNombre() + "\n"

+ "Tema: "

+ braveHeartSoundtrack.getNombre() + "\n"

+ "Autor: "

+ jamesHorner.getNombre() + "\n"

+ "Reparto Estelar: " + "\n";

for(int i = 0; i < 3; i++){

reporte = reporte

+ "\t"

+ (corazonVal.getReparto(i)).getNombre()

+ "\n";

}

Page 32: Programación de Aplicaciones

public class Pelicula {

private int cveProductora;

private String nombre;

private Productora compañia;

private Actor reparto[];

private TemaMusical soundtrack;

Pelicula() {

}

public String getNombre() {

return this.nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

public Actor getReparto(int indice) {

return this.reparto[indice];

}

public void setReparto(Actor interprete, int indice) {

this.reparto[indice] = interprete;

}

}

Page 33: Programación de Aplicaciones

Modelo Orientado a

Objetos

Page 34: Programación de Aplicaciones
Page 35: Programación de Aplicaciones

Humano

- nombre

- edad

- estatura

+correr( ){normal}

+hablar( )

+saltar( ){normal}

Hombre

- cuerpoMasculino

Mujer

- cuerpoFemenino

Hulk

- grandesMúsculos

+saltar( ) {altísimo}

+correr(

){superVeloz}

Vehiculo

- nombre

- marca

- motor

+endencerMotor

()

Avión

- turbina

Automóvil

- llantas

<interface>

Volador

+despegar( )

+volar( )

+aterrizar( )

Mujer bettyRoss;

Hombre bruceBanner;

Hulk theHulk;

Avion cazaII;

CazaII = new Avion();

bettyRoss = new Mujer();

bruceBanner = new Hulk();

theHulk = bruceBanner;

bettyRoss.hablar(“Ayuda”);

bettyRoss.correr();

theHulk.correr();

theHulk.saltar();

theHulk.volar();

cazaII.volar();

Page 36: Programación de Aplicaciones
Page 37: Programación de Aplicaciones

Humano

- nombre

- edad

- estatura

+correr( ){normal}

+hablar( )

+saltar( ){normal}

Hombre

- cuerpoMasculino

Mujer

- cuerpoFemenino

Hulk

grandesMúsculos

+saltar( ) {altísimo}

+correr( )

{superVeloz}

Vehiculo

- nombre

- marca

- motor

+encenderMotor

()

Avión

- turbina

Automóvil

- llantas

<interface>

Volador

+despegar( )

+volar( )

+aterrizar( )

Mujer bettyRoss;

Hombre bruceBanner;

Hulk theHulk;

Avion cazaII;

CazaII = new Avion();

bettyRoss = new Mujer();

bruceBanner = new Hulk();

theHulk = bruceBanner;

((Humano)theHulk).correr();

Humano personaje;

personaje = bettyRoss;

personaje.correr();

personaje = theHulk;

personaje.correr();

Page 38: Programación de Aplicaciones
Page 39: Programación de Aplicaciones
Page 40: Programación de Aplicaciones

// TestSpidey.java

public class TestSpidey{

public static void main( String args[] ) {

Humano spiderMan;

spiderMan = new Humano("Peter Parker", "castaño", "negros");

Humano maryJane = new Humano("Mary Jane Watson", "rojo", "azules");

Humano [ ] docOctopus;

docOctopus = new Humano[ 8 ] ;

docOctopus[ 0 ] = spiderMan;

docOctopus[ 1 ] = maryJane;

docOctopus[ 2 ] = new Humano("May Parker", "blanco", "cafes");

for( int k = 0; k < 3; k++) System.out.println( docOctopus[ k ].perfil() );

}

}

Page 41: Programación de Aplicaciones
Page 42: Programación de Aplicaciones

import learning.business.superAnimals.*;

public class TestCharlotte {

public static void main(String[] args) {

Spider charlotte;

HomoSapiens otto;

Animal someOne;

SpiderMan peter;

Arachnidsspidey;

Charlotte = new Spider();

otto= new HomoSapiens();

peter = new SpiderMan();

someOne = charlotte; someOne.walk(); //displays: "This animal walks on 8 legs"

someOne = otto; someOne.walk(); //displays "This animal walks on 2 legs"

spidey = charlotte; spidey.climb(); spidey.jump(); //displays: "climb walls jump furniture"

spidey = peter; spidey.climb(); spidey.jump(); //displays: "climb buildings jump towers"

}

}

This animal walks on 8 legs.

This animal walks on 2 legs.

Spiders climb walls.

Spiders jump furniture.

SpiderMan climb buildings.

SpiderMan jump towers.

Page 43: Programación de Aplicaciones
Page 44: Programación de Aplicaciones

@UNITECMX UNITEC Universidad Tecnológica de México UNITEC México

Preguntas y Respuestas Ponente: Lic. Luis Ernesto Rubio Torres

[email protected]