tag:blogger.com,1999:blog-46350946196710646032024-03-14T06:14:32.697-07:00Programacion orientada a objetosGaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-4635094619671064603.post-29656178879540534292011-07-15T14:59:00.000-07:002011-07-15T15:09:10.883-07:00Demo Final<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">En esta entrada les voy a mostrar algo de lo que fue la demostracion final de mi programa</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Interfaz:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsmsVCcGMLdDy7zItd0lehblbj0CJByHegSn1K9QvwRd3MQCdXzvnGA6HJdXa2fT7L0r6n7lUTU-7MWL5ouEMZBZefuGVr6xC6g9HCdovLRHl2X2UbMN6AJ1YTGiE7GiWVgXrcJTJIpG0/s1600/Mipiano.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsmsVCcGMLdDy7zItd0lehblbj0CJByHegSn1K9QvwRd3MQCdXzvnGA6HJdXa2fT7L0r6n7lUTU-7MWL5ouEMZBZefuGVr6xC6g9HCdovLRHl2X2UbMN6AJ1YTGiE7GiWVgXrcJTJIpG0/s1600/Mipiano.jpg" /></a></div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Codigo:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.*;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.event.*;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.geom.*;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.Graphics;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.event.KeyEvent;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//INTERFAZ</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">public class Tecla extends Frame</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">{</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>//atributos</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int estado = 0;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int ubicacion = 0;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int sonido;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//constructor</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Tecla () { };</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//metodos</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void paint(Graphics g) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.setColor(Color.white);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(43, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(43, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(66, 80, 20, 80);//posicion horizontal, vertical tamano ancho largo</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(66, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(89, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(89, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(112, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(112, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(135, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(135, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(158, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(158, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(181, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(181, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(204, 80, 20, 80); </span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(204, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(227, 80, 20, 80); </span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(227, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(250, 80, 20, 80); </span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(250, 80, 20, 80);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.setColor(Color.black);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(60, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(60, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(83, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(83, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(129, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(129, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(152, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(152, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(175, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(175, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(218, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(218, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.drawRect(241, 80, 12, 40);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>g.fillRect(241, 80, 12, 40);<span class="Apple-tab-span" style="white-space: pre;"> </span></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public static void main(String args[]) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Frame frame = new Tecla();</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>frame.addWindowListener(new WindowAdapter(){</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void windowClosing(WindowEvent we){</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>System.exit(0);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>});</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>frame.setBackground(Color.green);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>frame.setSize(315,200);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>frame.setVisible(true);</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>frame.setTitle("Mi piano");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//KeyEvent</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public void keyPressed(KeyEvent e) </span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">{</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>switch(){</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_Q:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("DO");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_W:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("RE");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_E:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("MI");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_R:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("FA");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_T:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("SOL");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_Y:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("LA");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.VK_Q:</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> System.out.println("SI");</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//music</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//variables</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set estado newvar estado</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setEstado ( int newVar ) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> estado = newVar;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get estado return estado</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getEstado ( ) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return estado;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set ubicacion newvar ubicacion</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setUbicacion ( int newVar ) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> newVar = ubicacion++;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> ubicacion = newVar;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get ubicacion return ubicacion</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getUbicacion ( ) {</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return ubicacion;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span><br />
<div><br />
</div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-62332607033331810742011-07-15T11:43:00.000-07:002011-07-15T12:26:35.647-07:00Sistemas Distribuidos (Taller y Clase)<div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Los sistemas distribuidos son los sistemas que están conectados por medio de una red y su objetivo principal es tener un mayor numero de usuarios utilizando la red y que estos puedan acceder desde diferentes sitios.</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Caracteristicas</span><br />
<ul style="font-family: Verdana,sans-serif;"><li style="display: inline; list-style: none outside none;"> </li>
<li><span style="font-size: x-small;"><b>Concurrencia: </b>Permite que una gran cantidad de usuarios puedan utilizar al mismo tiempo el sistema disponible en la red sin tener problemas y con la misma velocidad.</span></li>
<li><span style="font-size: x-small;"><b>Compatibilidad:</b> El sistema tiene que ser compatible para todos los usuarios que lo manejen.</span></li>
<li><span style="font-size: x-small;"><b>Fallos independientes de los componentes:</b> Los componentes del sistema son independientes unos de otros, por lo que si uno llega a fallar, el resto de los componentes puede continuar con sus acciones determinadas para poder seguir trabajando.</span></li>
</ul></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><b></b></span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><b><a href="http://www.blogger.com/post-create.g?blogID=4635094619671064603" id="CARACT" name="CARACT"></a></b></span> </div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.dei.uc.edu.py/tai2002/SD/discom_files/image002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="http://www.dei.uc.edu.py/tai2002/SD/discom_files/image002.jpg" width="320" /></a></div><ul style="font-family: Verdana,sans-serif;"><li> <span style="font-size: x-small;"><b><a href="http://www.blogger.com/post-create.g?blogID=4635094619671064603" id="CARACT" name="CARACT"></a></b> Ejemplo de sistema distribuido</span></li>
</ul><span style="font-size: x-small;"> En mi opinion, el programa con el que estuve trabajando en estos dias si podria ser un sistema distribuido ya que es una herramienta de entretenimiento que puede tener interes por medio de los usuarios.</span><br />
<span style="font-size: x-small;">Para hacer mi programa formar parte de un sistema distribuido podria subir la aplicacion a internet para que los usuarios puedan utilizar el piano en linea y producir diferentes canciones. Despues podria implementarse la opcion de grabar las canciones y almacenarlas para que sea mas atractivo y economico para el usuario hacer musica. </span><br />
<span style="font-size: x-small;"> </span><br />
<span style="font-size: x-small;"> </span><span style="font-size: x-small;">Referencias:</span><br />
<span style="font-size: x-small;"><a href="http://www.dei.uc.edu.py/tai2002/SD/discom_files/image002.jpg">Imagen </a></span><br />
<span style="font-size: x-small;"><a href="http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemas-distribuidos.shtml">Sistemas distribuidos</a></span><br />
<span style="font-size: x-small;"><a href="http://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida">Computacion distribuida </a></span><br />
<span style="font-size: x-small;"><br />
</span>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-81033345282199891452011-07-15T11:29:00.000-07:002011-07-15T11:29:28.284-07:00Retroalimentación<div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Para poder aprender un poco mas sobre un tema es necesario compartir conocimiento con las demas personas. De esta manera se puede escuchar diferentes puntos de vista o perspectivas sobre un tema, ideas, aprender nuevas cosas o entender conceptos que antes no habian sido comprendidos.</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Por este motivo hable un poco con mis compañeros sobre temas importantes de la clase y sobre cosas que ellos entendieron mejor, compartimos ideas y ayudamos a solucionar las dudas que teníamos. Hablamos sobre las clases, atributos y métodos, sobre todos los diagramas, el uso y la importancia que tiene cada uno de ellos, entre otras cosas.</span></div><div style="font-family: Verdana,sans-serif;"><br />
</div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Despues de haber tenido una conversacion sobre los temas vistos en la clase decidi publicar comentarios sobre sus entradas para darles sugerencias. Mis compañeros también comentaron en mis entradas.</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">A continuacion les mostraré los comentarios que compartimos</span></div><div style="font-family: Verdana,sans-serif;"> <span style="font-size: x-small;"><br />
</span></div><ul style="font-family: Verdana,sans-serif;"><li> <span style="font-size: x-small;">Pedro: (Esqueleto de Software, Taller)</span></li>
</ul><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">"Oye gaby nomas un comentario porque no utilizas el SintaxHighlighter para mostrar el código de una forma mas bonita.<br />
<br />
Aquí esta un link que explica como hacerlo:<br />
<br />
http://soloinformaticayalgomas.blogspot.com/2011/01/colocar-codigo-en-blogger-con.html" </span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">En una entrada de Vanessa donde hablaba sobre patrones de diseño comente:</span></li>
</ul><div style="font-family: Verdana,sans-serif;"><br />
</div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">"Tambien existe el patron Memento, que funciona como el undo (deshacer). Permite regresarte a estados anteriores del sistema.<br />
Saludos:)"</span></div><div style="font-family: Verdana,sans-serif;"><br />
</div><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">En otra entrada de Vanessa donde hablaba de autogeneracion de codigo escribi:</span></li>
</ul><div style="font-family: Verdana,sans-serif;"> <span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">"Lo que me gusto del autogenerador es que te define la estructura y ya de ahi vas mejorando el codigo, aunque lo mejor es escribirlo todo para saber exactamente que funcion realiza cada una de las lineas del codigo<br />
Saludos(:"</span> </div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-18809808355594320812011-07-14T11:57:00.000-07:002011-07-14T11:59:30.146-07:00Pruebas Unitarias<div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Los casos de prueba son las formas en las que podemos probar nuestro programa para verificar que todo funcione de la manera mas correcta y efectiva posible.</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"> </span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">A continuacion describire algunos de los casos de prueba utilizados en mi programa </span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"> </span><br />
<span style="font-size: x-small;"> <span style="font-size: small;">Caso 1: Reproducir Sonido</span></span></div><div style="font-family: Verdana,sans-serif;"><br />
</div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Objetivo: Que el programa sea capaz de producir un sonido al momento de presionar una tecla del teclado</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Requisitos: Tener el programa, sonido y contar con Java para poder ejecutarlo correctamente.</span></div><div style="font-family: Verdana,sans-serif;"><br />
</div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Datos de prueba (Variables):</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Teclasociada<br />
Estado de la tecla<br />
Ubicacion de la tecla<br />
Funcion Key Listener<br />
Funcion Reproducir Sonido</span> <span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"></div><div style="font-family: Verdana,sans-serif;"></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
Pasos: </span></div><ol style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">Ejecutar el programa</span></li>
<li><span style="font-size: x-small;">Presionar una tecla de la computadora y verificar que se escuche un sonido</span></li>
<li><span style="font-size: x-small;">Presionar otra tecla para comprpbar si se escucha bien el sonido en todas las teclas</span></li>
</ol><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Resultado Esperado:</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"> Escuchar el sonido producido por el programa según la tecla indicada</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Resultado Obtenido</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">No se pudo obtener bien el sonido ya que faltan algunos detalles por terminar </span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><br />
</div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-517862797817871082011-07-14T01:59:00.000-07:002011-07-14T11:36:14.927-07:00Documentacion Tecnica (Taller y Clase)<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">La Documentación Técnica es muy útil para saber manejar de una manera adecuada cualquier programa que se nos proporcione, optimizar los resultados y disminuir el tiempo de aprendizaje del programa.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">Ademas, sirve para conocer completamente todas las funciones del programa y sacar máximo provecho de este. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">La documentación explica también las características técnicas de un programa, así como los requerimientos y las necesidades para poder utilizar el programa de la manera mas adecuada y que su utilización sea la mejor posible.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">Para la persona que creo el programa es muy fácil crear la documentación ya que conoce perfectamente el programa, sus características, requerimientos, entre otras cosas. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">Para crear la documentacion tecnica de mi programa utilice un programa llamado Doxygen. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;">Despues de haber proporcionado al programa los datos principales dentro de mi codigo se genero el html de documentacion.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"> </span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">A continuacion les mostrare algunas capturas de pantalla del html generado por Doxygen</span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkPhGOkUPz3rTIM9g3poJhq-PF0nNX0qwJxgPOg-PVarfVXZIoSRWq7JutWfoFZvLH8bg5GcglxQysLl42-8Z9YmTSpK52e-EcJVf9-5cvG2RkR75YluL8TZIic49AavE1Yi330-3pI5g/s1600/documentacion1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkPhGOkUPz3rTIM9g3poJhq-PF0nNX0qwJxgPOg-PVarfVXZIoSRWq7JutWfoFZvLH8bg5GcglxQysLl42-8Z9YmTSpK52e-EcJVf9-5cvG2RkR75YluL8TZIic49AavE1Yi330-3pI5g/s320/documentacion1.png" width="320" /></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-hX1WU6QgN0Fq8qBow4XUb3pOgbSOzoehNiUYm_LtMiCldaMVC7hqU5OaFCetzzG-voHV8p4sHuTalySciFbqYXxTa82YZ68_b0k8N_yGRb76Kbnjk1WeT2rjAAGU2nqdDIoSC9M8rI/s1600/documentacion2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-hX1WU6QgN0Fq8qBow4XUb3pOgbSOzoehNiUYm_LtMiCldaMVC7hqU5OaFCetzzG-voHV8p4sHuTalySciFbqYXxTa82YZ68_b0k8N_yGRb76Kbnjk1WeT2rjAAGU2nqdDIoSC9M8rI/s320/documentacion2.png" width="320" /> </a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhffZNXX5rlrTO_CNzSgvfhp9mSvQ_AKhEMmy5ng2HcnYq_UMEM3LbfbqF9l95tbcdlMc4DSH3fX9crJwt52uIRKI_yJ_x78lYxBND06aTpiAiDqvYfKe5VpOtNjpK-rKTVlEiIFbLorJ8/s1600/piano.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhffZNXX5rlrTO_CNzSgvfhp9mSvQ_AKhEMmy5ng2HcnYq_UMEM3LbfbqF9l95tbcdlMc4DSH3fX9crJwt52uIRKI_yJ_x78lYxBND06aTpiAiDqvYfKe5VpOtNjpK-rKTVlEiIFbLorJ8/s320/piano.png" width="320" /> </a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.megaupload.com/?d=0M7TUED1"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"> Aqui les incluyo un link para que puedan descargar la documentacion realizada </span></span></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: xx-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-6613660133409690742011-07-14T01:22:00.000-07:002011-07-15T14:46:04.614-07:00Autogeneracion de codigo<div><span style="font-family: Verdana, sans-serif; font-size: x-small;">Existen programas que generan el codigo del software automaticamente, sin la necesidad de escribirlo nosotros mismos. A este tipo de programas los llamamos programas autogeneradores de código.</span></div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">Un ejemplo de programa que realiza esto es el Umbrello (Programa de Diagramas para Ubuntu). Este programa genera el codigo despues de realizar el diagrama de clase.</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"><br />
</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">A continuacion les muestro el codigo autogenerado de una de las clases principales llamada Tecla:</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"><br />
</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"><span class="Apple-style-span" style="line-height: 20px;"></span></span></span><br />
<div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">import java.util.*;</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"><br />
</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">//clase Tecla</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">public class Tecla </span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> //atributos</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> private int sonido;</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> //constructor</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> public Tecla () { };</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> //metodo</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> set sonido newvar sonido</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> private void setSonido ( int newVar ) {</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> sonido = newVar;</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> }</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> get sonido return sonido</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> private int getSonido ( ) {</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> return sonido;</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> }</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> //otros metodos</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> public void reproducir( )</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> {</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"> }</span></span></div><div><span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">}</span></span></div><br />
<br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;">Como es un programa generado a partir de un diagrama de clase, los metodos no tienen mucho codigo.</span></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Los comentarios agregados (//) yo los escribi.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-61978512211684909152011-07-14T01:08:00.000-07:002011-07-14T02:06:57.469-07:00Especificacion Tecnica<div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Una especificación técnica es la descripcion detallada de un programa y su funcionamiento para que el usuario pueda utilizarlo de la mejor manera. En esta tambien se especifican los requerimientos necesarios, asi como las tareas que se ejecutan. </span></span></div><ul style="text-align: justify;"><li><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Descripcion del programa:</span></span></li>
</ul><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">El programa que estoy realizando consiste en un pequeño teclado virtual que emite sonidos a traves del teclado de la computadora. Segun la tecla que se presione sera el sonido obtenido.</span></span></div><ul style="text-align: justify;"><li><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Objetivo:</span></span></li>
</ul><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">El objetivo de mi programa es que el usuario pueda escuchar sonidos a traves de las teclas del teclado. El usuario puede ayudarse de las partituras incluidas en el programa, las cuales le indican como reproducir canciones populares de una manera más facil. </span></span></div><ul style="text-align: justify;"><li><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Requerimientos:</span></span></li>
</ul><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">El programa se puede ejecutar en cualquier sistema operativo y es necesario que la computadora cuente con Java para poderlo correr.</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"> </span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"><b>Detalles por terminar</b></span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Al programa le falta una serie de detalles para que quede completamente funcional y pueda utilizarse bien. Dichas funcionalidades las expresare a continuacion:</span></span></div><ul style="text-align: justify;"><li><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"> Función KeyListener: Esta funcion permite escuchar la tecla que es presionada</span></span></li>
</ul><ul style="text-align: justify;"><li><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Funcion Reproducir Sonido: Esta funcion permitira reproducir el sonido al momento de presionar la tecla</span></span></li>
</ul><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Para llevar a cabo las funcionalidades que faltan es necesario primeramente realizar la funcion KeyListener y después de esta accion reproducir el sonido de la tecla que fue presionada.</span></span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Una vez que fue codificada la primera tecla ya sera mas facil hacer lo que falta del programa porque el resto de las teclas serán codificadas de la misma manera. </span><span style="font-family: Verdana,sans-serif;">Por este motivo tambien me falta tener la interfaz grafica completa.</span></span><span style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif; text-align: justify;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif; text-align: justify;"><span style="font-size: x-small;">REFERENCIAS</span><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif; text-align: justify;"><a href="http://c2.com/cgi/wiki?TechnicalSpecification"><span style="font-size: x-small;">ESPECIFICACION TECNICA </span></a></div><div style="font-family: Verdana,sans-serif; text-align: justify;"><br />
</div><div style="font-family: Verdana,sans-serif; text-align: justify;"><br />
</div><div style="font-family: Verdana,sans-serif; text-align: justify;"><br />
</div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-57598207968241932682011-07-13T23:37:00.000-07:002011-07-13T23:37:56.792-07:00Demostracion Avance Parcial (Taller)<span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Antes de terminar el proyecto me gustaria darles una pequeña demostración de lo que hace mi programa hasta ahorita y mostrarles mis avances en la materia.</span></span><br />
<br />
<span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Primeramente les mostraré la pantalla principal de la interfaz </span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"><span style="font-size: x-small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL4tehLDMcF9VhYr_j0ljgoNGpmD798XOXIX0WY7fylCfZzPw5VgSlD03hhY0ttYBguueAIimJGkFgpWLzxvm_8GzdfCzVA2ZgSnPcMDCvQ1w1uyWoew-tAlNHPsTD-zv2epp3w6Ug6ZY/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL4tehLDMcF9VhYr_j0ljgoNGpmD798XOXIX0WY7fylCfZzPw5VgSlD03hhY0ttYBguueAIimJGkFgpWLzxvm_8GzdfCzVA2ZgSnPcMDCvQ1w1uyWoew-tAlNHPsTD-zv2epp3w6Ug6ZY/s320/Screenshot.png" width="320" /></a></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">En esta pantalla podemos observar la primera tecla de mi programa. Es importante que quede la primera tecla porque el resto seran codificadas de la misma manera. </span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">A esa tecla le impĺementare un key listener para que pueda reconocer la tecla de la computadora que le corresponde y que despues emita un sonido. </span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Ahora les mostrare algo del codigo que llevo de la tecla:</span></span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">import java.awt.*; <br />
import java.awt.event.*; <br />
import java.awt.geom.*; <br />
import java.applet.Applet; <br />
<br />
//Rectangulo <br />
public class Tecla extends Frame { <br />
Stroke drawingStroke = new BasicStroke(2); <br />
Rectangle2D rect = new Rectangle2D.Double(30, 35, 10, 40); <br />
<br />
public void paint(Graphics g) { <br />
Graphics2D g1 = (Graphics2D)g; <br />
g1.setStroke(drawingStroke); <br />
g1.draw(rect); <br />
g1.setPaint(Color.white); <br />
g1.fill(rect); <br />
} <br />
public static void main(String args[]) { <br />
Frame frame = new Rectangulo(); <br />
frame.addWindowListener(new WindowAdapter(){ <br />
public void windowClosing(WindowEvent we){ <br />
System.exit(0); <br />
} <br />
}); <br />
frame.setSize(300,200); <br />
frame.setVisible(true); <br />
frame.setBackground(Color.black); <br />
} <br />
//key listener <br />
<br />
public class Keylistener extends Applet{ <br />
<br />
public void keyPressed(KeyEvent e) <br />
{ <br />
} <br />
public void actionPerformed(ActionEvent e) <br />
{ <br />
} <br />
} <br />
}</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"> </span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Tambien les mostrare un avance del codigo que tengo para las otras clases</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"><br />
</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">import java.util.*;<br />
import java.awt.*;<br />
<br />
//clase Piano<br />
public class Piano {<br />
<br />
//atributos<br />
private char teclasociada;<br />
private int estado = 0;<br />
private int ubicacion = 0;<br />
<br />
//constructor<br />
public Piano () { };<br />
<br />
//metodo<br />
<br />
//set teclasoc newVar teclasociada<br />
<br />
public void setTeclasociada ( char newVar ) { <br />
newVar = 'q';<br />
teclasociada = newVar;<br />
}<br />
<br />
//get teclasociada return teclasociada<br />
public char getTeclasociada ( ) {<br />
return teclasociada;<br />
}<br />
<br />
//set estado newvar estado<br />
public void setEstado ( int newVar ) {<br />
estado = newVar;<br />
}<br />
<br />
//get estado return estado<br />
public int getEstado ( ) {<br />
return estado;<br />
}<br />
<br />
//set ubicacion newvar ubicacion<br />
public void setUbicacion ( int newVar ) {<br />
newVar = ubicacion++;<br />
ubicacion = newVar;<br />
}<br />
<br />
//get ubicacion return ubicacion<br />
public int getUbicacion ( ) {<br />
return ubicacion;<br />
<br />
}<br />
<br />
}</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"><br />
</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">import java.util.*;<br />
<br />
<br />
//Clase partitura<br />
public class Partitura {<br />
<br />
//<br />
// Fields<br />
//<br />
<br />
private char nombre;<br />
private char titulo;<br />
private char dificultad;<br />
<br />
//<br />
// Constructor<br />
//<br />
public Partitura () { };<br />
<br />
// Metodos<br />
<br />
//Set nombre newvalue nombre<br />
private void setNombre ( char newVar ) {<br />
nombre = newVar;<br />
}<br />
//Get nombre return nombre<br />
private char getNombre ( ) {<br />
return nombre;<br />
}<br />
<br />
//Set titulo newvalue titulo<br />
private void setTitulo ( char newVar ) {<br />
titulo = newVar;<br />
}<br />
//Get titulo return titulo<br />
private char getTitulo ( ) {<br />
return titulo;<br />
}<br />
//Set dificultad new value<br />
private void setDificultad ( char newVar ) {<br />
dificultad = newVar;<br />
}<br />
//Get dificultad return dificultad<br />
<br />
private char getDificultad ( ) {<br />
return dificultad;<br />
}<br />
//Otros metodos<br />
public void imprimir( )<br />
{<br />
}<br />
public void mostrarimagen( )<br />
{<br />
}<br />
public void back( )<br />
{<br />
}<br />
<br />
}</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;"><br />
</span></span></div><div style="text-align: justify;"><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Todo el codigo que aqui les muestro ya compila y corre en la terminal.</span></span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-16920369314443275662011-07-13T11:45:00.000-07:002011-07-15T11:55:33.618-07:00Eventos Excepciones y Errores<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Un evento es un suceso que forma parte importante del programa y que lo define como tal. </span><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">A continuacion les mostrare la tabla con los eventos de mi programa</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimMTK5BBZnaNspzugkG4j-es9BTdFS5ACEaxXEK_5fVplNsz8W9gqudbk4kLj0ESJ0Pfvay_se0laZwpGhV3eR6h-LYUKhUtycfSYQEm1G9XiXLVyACMuA67IfVKNAPC-65c948rwnnPM/s1600/eventos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimMTK5BBZnaNspzugkG4j-es9BTdFS5ACEaxXEK_5fVplNsz8W9gqudbk4kLj0ESJ0Pfvay_se0laZwpGhV3eR6h-LYUKhUtycfSYQEm1G9XiXLVyACMuA67IfVKNAPC-65c948rwnnPM/s320/eventos.png" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En la tabla se muestran los diferentes graficos del programa con las acciones que realizan y una descripcion del tipo de evento</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En la siguiente tabla mostrare las excepciones o errores que puede tener el programa en caso de que no se ejecuten sus funciones de manera correcta.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2GirGDF2uQlBUcDYjRQi9qxQBYSFcIsYqtQRyVaTEAAnPeIHyYkRYWeLf5e6QHeW0QBjwUXO-0Pl2SsRpKLFrbYZRQRbcvNniFr_U-U8sVHkKCorBRY0ymIhU7XgcAGfaTeWCU2mNUc/s1600/excepciones+y+errores.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2GirGDF2uQlBUcDYjRQi9qxQBYSFcIsYqtQRyVaTEAAnPeIHyYkRYWeLf5e6QHeW0QBjwUXO-0Pl2SsRpKLFrbYZRQRbcvNniFr_U-U8sVHkKCorBRY0ymIhU7XgcAGfaTeWCU2mNUc/s320/excepciones+y+errores.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Para codificar seria muy sencillo no realizar ninguna accion al momento de presionar una tecla que no esta incluida en el teclado. Podemos decir que al momento de presionar una tecla existente emita el sonido, pero que al momento que no exista la tecla en el teclado simplemente terminar con la funcion ( cerrarlo }) y que no realize ninguna accion, para que de esta manera el usuario vea cuales son las que si emiten sonido y cuales no.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Otra forma de lidiar con este error sería utilizar una pantalla de error al momento de presionar una tecla.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">El codigo quedaría se podria aplicar dentro del switch despues de cada caso de las teclas que si se utilizan.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">default:</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">system.err.println("Error: Tecla no reconocida. Intente Nuevamente");</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">break;</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-86019072588345179352011-07-13T11:12:00.000-07:002011-07-14T02:18:07.929-07:00Interfaz Grafica<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Aqui les mostrare un poco de la interfaz grafica que tengo planeada para mi proyecto.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Esta muy basica ya que el dise<span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;">ñ</i></span>o fue realizado en paint, un programa que no tiene muchas herramientas de dise<span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;">ño. Mi idea es mejorarlo al momento de hacerlo en la interfaz verdadera de mi programa.</i></span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><br />
</i></span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;">Asi se veria la interfaz principal del programa</i></span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><br />
</i></span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhERNDRk99apvjSmpyUOAD4Sj2bv8yP91H9coD9W4CZznQuq5O382JulPLVSLc0VlXD_GzMMifGJx8yi2H1VvCGmhoHgEjTmVyT9iXsK5Z_ByN5_lj7yyQtuaFyxnRKFVAheQzkZNMSwaI/s1600/interfaz+principal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhERNDRk99apvjSmpyUOAD4Sj2bv8yP91H9coD9W4CZznQuq5O382JulPLVSLc0VlXD_GzMMifGJx8yi2H1VvCGmhoHgEjTmVyT9iXsK5Z_ByN5_lj7yyQtuaFyxnRKFVAheQzkZNMSwaI/s1600/interfaz+principal.png" /></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><br />
</i></span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Como pueden observar, en la esquina inferior derecha hay un boton que da la opcion de ver partituras para tocar algunas melodias comunes.</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Al momento de presionar ese boton se abriria una ventana con las partituras. Las partituras van a mostrar las teclas asociadas con el teclado del telefono que se tienen que presionar para escuchar el sonido. En pocas palabras, son las teclas que tiene que presionar el usuario en su telefono</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdiBbGibhmm0FCtPROVlpBB5lZw4eEW_c9vVWkLhieb-TgdaZYU9jY7KookVFJt8zvlQc8zIYEJ-gXml6cEpMJB3yiRBOWpHHuws_bUUTHim_pJUzdjMuaAosppSOdvdmH2itt8FFBvbs/s1600/PARTITURAS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdiBbGibhmm0FCtPROVlpBB5lZw4eEW_c9vVWkLhieb-TgdaZYU9jY7KookVFJt8zvlQc8zIYEJ-gXml6cEpMJB3yiRBOWpHHuws_bUUTHim_pJUzdjMuaAosppSOdvdmH2itt8FFBvbs/s1600/PARTITURAS.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><b>El dise<span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;">ño de las interfaces ira mejorando poco a poco</i></span></b></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">A continuacion les mostrare un poco de codigo de lo que llevo hasta ahorita de la interfaz grafica:</span></i></span><br />
<span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span><br />
<span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">import java.awt.*; <br />
import java.awt.event.*; <br />
import java.awt.geom.*; <br />
import java.applet.Applet; <br />
<br />
//Rectangulo <br />
public class Rectangulo extends Frame { <br />
Stroke drawingStroke = new BasicStroke(2); <br />
Rectangle2D rect = new Rectangle2D.Double(30, 35, 10, 40); <br />
<br />
public void paint(Graphics g) { <br />
Graphics2D g1 = (Graphics2D)g; <br />
g1.setStroke(drawingStroke); <br />
g1.draw(rect); <br />
g1.setPaint(Color.white); <br />
g1.fill(rect); <br />
} <br />
public static void main(String args[]) { <br />
Frame frame = new Rectangulo(); <br />
frame.addWindowListener(new WindowAdapter(){ <br />
public void windowClosing(WindowEvent we){ <br />
System.exit(0); <br />
} <br />
}); <br />
frame.setSize(300,200); <br />
frame.setVisible(true); <br />
frame.setBackground(Color.black); <br />
} <br />
//key listener <br />
<br />
public class Keylistener extends Applet{ <br />
<br />
public void keyPressed(KeyEvent e) <br />
{ <br />
} <br />
public void actionPerformed(ActionEvent e) <br />
{ <br />
} <br />
} <br />
}<br />
</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="line-height: 16px;"><i style="font-style: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></i></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: x-small; line-height: 16px;"><i style="font-style: normal; font-weight: bold;"><br />
</i></span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-4269754752814921042011-07-13T10:33:00.000-07:002011-07-13T10:53:14.888-07:00Diagrama de Secuencia<div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Un diagrama de secuencia es el diagrama que muestra las interacciones entre las clases u objetos definidos en un programa. </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">A continuacion les mostrare un ejemplo de diagramas de secuencia de mi proyecto.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Para la siguiente demostracion utilizare la funcion que sirve para reproducir un sonido al momento de presionar una tecla</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UmVwcm9kdWNpciBTb25pZG8KUGlhbm8tPlRlY2xhOiBVYmljYQphY3RpdmF0ZSAAGAUABQoAIAUAIw8ASAoKAD8FLS0-AE4FABAKZQBjCA&s=napkin" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UmVwcm9kdWNpciBTb25pZG8KUGlhbm8tPlRlY2xhOiBVYmljYQphY3RpdmF0ZSAAGAUABQoAIAUAIw8ASAoKAD8FLS0-AE4FABAKZQBjCA&s=napkin" /></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Primeramente al momento de presionar una tecla el Piano la ubica. Despues le pide que se reproduzca y dicha tecla reproduce el sonido deseado.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=TW9zdHJhciBQYXJ0aXR1cmEKUGlhbm8tPgAICTogAB0HCmFjdGl2YXRlIAAeBQAECwAyCgA-CC0tPgBDBTogU2UgbXVlc3RyYQo&s=napkin" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=TW9zdHJhciBQYXJ0aXR1cmEKUGlhbm8tPgAICTogAB0HCmFjdGl2YXRlIAAeBQAECwAyCgA-CC0tPgBDBTogU2UgbXVlc3RyYQo&s=napkin" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">En mi segundo diagrama se puede ver la funcion que sirve para mostrar la partitura que el usuario desee tocar en el piano.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Primeramente el piano debe pedirle a la partitura que se muestre y despues de que la partitura recibio esa orden se va a mostrar en el piano.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UGlhbm8tPlRlY2xhOiBVYmljYQoABg5zb21icmVhCmFjdGl2YXRlIAAuBQAFCgA2BQoAPAUtLT4ASwU6IFNlAC8J&s=napkin" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=UGlhbm8tPlRlY2xhOiBVYmljYQoABg5zb21icmVhCmFjdGl2YXRlIAAuBQAFCgA2BQoAPAUtLT4ASwU6IFNlAC8J&s=napkin" /></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Para este diagrama se muestra como la tecla se va a sombrear de un color al momento de estar presionada. Primeramente el piano debe ubicar cual es la tecla que esta presionada y pedirle que se sombree. Al momento de recibir la orden de sombrearse la tecla se sombreara en el piano.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">REFERENCIAS</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><a href="http://www.websequencediagrams.com/">DIAGRAMAS </a></span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-71852330435567898332011-07-11T08:36:00.000-07:002011-07-14T02:20:08.907-07:00Herencia y Polimorfismo<span class="Apple-style-span" style="font-family: Verdana,sans-serif;"></span><br />
<div><span class="Apple-style-span" style="font-family: Verdana,sans-serif;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif;">Herencia</span></span></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif;"><span class="Apple-style-span" style="font-size: x-small;">Una herencia es el mecanismo que nos permite compartir características(metodos y atributos) similares entre las clases. Es donde una clase padre hereda características a la clase hija (pueden ser todas o algunas).</span></span><br />
<div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Existen dos tipos de herencias: La herencia simple y la herencia multiple.</span></div><div><ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La herencia simple puede tener solo una clase padre</span></li>
<li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La herencia multiple puede tener varias clases padres</span></li>
</ul><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Aqui les muestro un ejemplo de codigo de herencia que obtuve de internet</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">class Persona</span></div><div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> private:</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> char * nif;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> int edad;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> char * nombre, *apellidos;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> public:</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> Persona(char * , int = 0, char *, char * );</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> Persona & operator=( Persona &);</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> ~Persona(); // Destructor</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> void medad(int);</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> void mnombre(char *);</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> char * mnombre() ;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">void mostrar() ;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">char * nombreCompleto() ;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">void felizCumple(); // El día del cumpleaños</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">void leer(); // Lectura de los datos de la persona</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">};</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Class Alumno : public Persona</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> private:</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> int curso;</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> public:</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> Alumno(char * , int = 0, char *, char * , int );</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> Alumno& operator=( Alumno &);</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> ~Alumno (); // Destructor</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"> int mcurso ();</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">void mcurso (int );</span></div></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">};</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Para mi programa no utilizare herencia ya que la clase principal no heredara ningun atributo o método con las otras clases. Las clases son completamente diferentes y no se podrían definir como clases hijas. </span></div></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Tecla NO es un tipo de Piano</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Partitura NO es un tipo de Piano</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Por lo que en este programa no se puede utilizar herencia</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif;">Polimorfismo</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Polimorfismo es la capacidad que tienen las clases para que una serie de clases derivadas utilicen el mismo método para realizar una función especifica</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Existen dos tipos de polimorfismo:</span></div><div><div><ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Polimorfismo Dinámico: En esta forma de polimorfismo no es especifica el tipo de datos con el que se trabaja</span></li>
<li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Polimorfismo Estático: Es en el que tienen que ser declarados especificamente los tipos de datos que se van a utilizar.</span></li>
</ul><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Aqui les muestro un ejemplo de codigo de polimorfismo que encontre en internet</span></div></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><br />
<pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public abstract class figura {</span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">protected String nombre; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">protected int color; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">protected int grosorBorde; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">
</span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public String getNombre(){ </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">return this.nombre; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public void setNombre(String n){ </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">this.nombre=n; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public int getColor(){ </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">return this.color; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small; line-height: 18px; white-space: normal;">public void setColor(int c){ </span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">this.color=c; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public int getGrosorBorde(){ </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">return this.grosorBorde; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public void setGrosorBorde(int g){ </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">this.grosorBorde=g; </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">} </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">public abstract void dibujar(); </span></span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="line-height: 18px; white-space: normal;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">}</span></span><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small; white-space: normal;">
</span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em/1.2em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small; white-space: normal;">
</span></pre><pre class="de1" style="background-image: none; border: 0px none white; font: 1em/1.2em monospace; margin: 0px; padding: 0px; vertical-align: top;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small; white-space: normal;"><span class="Apple-style-span" style="line-height: 18px;">
</span>Para la ejecucion de mi programa tampoco utilizare polimorfismo ya que ninguna de las clases comparten metodos similares.</span></pre></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Referencias</span></div></div><div><div><div style="margin: 0px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://www.nebrija.es/%7Eabustind/Informatica/MetodologiaII/Herencia3.pdf">CODIGO HERENCIA</a></span></div></div><div></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://es.wikipedia.org/wiki/Polimorfismo_%28inform%C3%A1tica%29">POLIMORFISMO Y CODIGO</a></span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-55188067240205836632011-07-11T08:18:00.000-07:002011-07-11T08:18:17.657-07:00Esqueleto del software (Taller)<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Un esqueleto de software es la parte principal que define la esctructura de un programa.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Es imprescindible realizar el esqueleto de las clases para acomodar bien la estructura y dividir las partes del programa correctamente. Despues de realizar el esqueleto podemos codificar los atributos y metodos mas especificamente.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Aqui les muestro el esqueleto de las 3 clases mas importantes de mi programa</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;">Esqueleto 1: Clase Piano</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Esta clase es la que define, relaciona y unifica las demás clases. Es la clase principal y la que va a controlar todo.</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.util.*;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.*;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//clase Piano</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public class Piano {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //atributos</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private char teclasociada;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int estado = 0;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int ubicacion = 0;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//constructor</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Piano () { };</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//metodo</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set teclasoc newVar teclasociada</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setTeclasociada ( char newVar ) { </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> newVar = 'q';</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> teclasociada = newVar;<span class="Apple-tab-span" style="white-space: pre;"> </span> </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get teclasociada return teclasociada</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public char getTeclasociada ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return teclasociada;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set estado newvar estado</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setEstado ( int newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> estado = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get estado return estado</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getEstado ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return estado;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set ubicacion newvar ubicacion</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setUbicacion ( int newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> newVar = ubicacion++;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> ubicacion = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get ubicacion return ubicacion</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getUbicacion ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return ubicacion;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;">Esqueleto 2: Tecla</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Esta clase va a definir y reproducir el sonido de cada tecla. Realizare una clase por tecla. En total serian 8 clases.</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.util.*;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//clase Tecla</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">public class Tecla </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //atributos</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private int sonido;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //constructor</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public Tecla () { };</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //metodo</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> set sonido newvar sonido</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private void setSonido ( int newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> sonido = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> get sonido return sonido</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private int getSonido ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> return sonido;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //otros metodos</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public void reproducir( )</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span></div></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;">Esqueleto 3: Partitura</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Esta clase va a permitir que el usuario sea capaz de ver partituras que pueda utilizar durante el programa para reproducir diferentes melodias</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.util.*;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//Clase partitura</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">public class Partitura {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> // Fields</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char nombre;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char titulo;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char dificultad;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> // Constructor</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public Partitura () { };</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> // Metodos</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Set nombre newvalue nombre</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private void setNombre ( char newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> nombre = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Get nombre return nombre</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char getNombre ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> return nombre;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Set titulo newvalue titulo</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private void setTitulo ( char newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> titulo = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Get titulo return titulo</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char getTitulo ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> return titulo;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Set dificultad new value</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private void setDificultad ( char newVar ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> dificultad = newVar;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> //Get dificultad return dificultad</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> </span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> private char getDificultad ( ) {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> return dificultad;</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//Otros metodos</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public void imprimir( )</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public void mostrarimagen( )</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public void back( )</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> {</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> }</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span></div></div><div><br />
</div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-61286029789154560242011-07-08T10:51:00.001-07:002011-07-14T02:20:50.244-07:00AntipatronesDocumentar 4 antipattrones de diseñoGaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-13426250791201815522011-07-08T10:50:00.001-07:002011-07-15T12:16:53.187-07:00Patrones de Diseño<div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Los patrones de diseño ayudan a optimizar el uso de la interfaz grafica y a solucionar posibles problemas que pueden ocurrir con estos patrones.</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Los patrones de diseño tienen ciertas caracteristicas: </span> </div><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">Efectividad: Tiene que estar comprobada la efectividad del patron para que se pueda utilizar</span></li>
</ul><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">Reutilizable: El patrón tiene que estar programado para ayudar a que se pueda utilizar varias veces. </span></li>
</ul><span style="font-size: x-small;"><span style="font-family: Verdana,sans-serif;">Ejemplos de patrones de diseño:</span></span> <br />
<h3 style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><span class="mw-headline" id="Patrones_creacionales">Patrones creacionales</span></span></h3><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">Object Pool</span></li>
<li><span style="font-size: x-small;">Abstract Factory</span> </li>
<li><span style="font-size: x-small;">Builder</span></li>
<li><span style="font-size: x-small;">Factory Method</span></li>
<li><span style="font-size: x-small;">Prototype</span></li>
<li><span style="font-size: x-small;">Singleton</span></li>
</ul><h3 style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><span class="mw-headline" id="Patrones_estructurales">Patrones estructurales</span></span></h3><ul style="font-family: Verdana,sans-serif;"><li><span style="font-size: x-small;">Adapter</span></li>
<li><span style="font-size: x-small;">Bridge (Puente) </span></li>
<li><span style="font-size: x-small;">Composite (Objeto compuesto)</span></li>
<li><span style="font-size: x-small;">Decorator (Envoltorio)</span></li>
<li><span style="font-size: x-small;">Facade (Fachada)</span></li>
<li><span style="font-size: x-small;">Flyweight (Peso ligero)</span></li>
<li><span style="font-size: x-small;">Proxy</span></li>
</ul><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">Uno de los patrones que me llamo mas la atencion fue el patron Memento. Este programa se utiliza para la funcion "Undo" o "Deshacer" la cual es muy utilizada.</span><br />
<br />
<span style="font-size: x-small;">Otro patron de diseño que me llamo mucho la atención y podría usar para mi programa es el patron Prototype.</span><br />
<span style="font-size: x-small;">Este patron permite crear clones de objetos ya existentes un numero determinado de veces. </span></div><div style="font-family: Verdana,sans-serif;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://flylib.com/books/2/440/1/html/2/FILES/bfig09.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="http://flylib.com/books/2/440/1/html/2/FILES/bfig09.gif" width="320" /></a></div><div style="font-family: Verdana,sans-serif;"><br />
<span style="font-size: x-small;">Codigo ejemplo:</span><br />
<div style="font-family: Verdana,sans-serif;"><span style="font-size: xx-small;"><br />
</span></div><pre class="de1"><span style="font-size: xx-small;"><span class="co3" style="font-family: Verdana,sans-serif;">/**
* Prototype Class
*/</span>
<span class="kw1" style="font-family: Verdana,sans-serif;">abstract</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">class</span><span style="font-family: Verdana,sans-serif;"> PrototypeFactory </span><span class="kw1" style="font-family: Verdana,sans-serif;">implements</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw3" style="font-family: Verdana,sans-serif;">Cloneable</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">public</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw3" style="font-family: Verdana,sans-serif;">Object</span><span style="font-family: Verdana,sans-serif;"> clone</span><span class="br0" style="font-family: Verdana,sans-serif;">()</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">throws</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw3" style="font-family: Verdana,sans-serif;">CloneNotSupportedException</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="co1" style="font-family: Verdana,sans-serif;">// call Object.clone()</span>
<span style="font-family: Verdana,sans-serif;"> PrototypeFactory copy </span><span class="sy0" style="font-family: Verdana,sans-serif;">=</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">(</span><span style="font-family: Verdana,sans-serif;">PrototypeFactory</span><span class="br0" style="font-family: Verdana,sans-serif;">)</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">super</span><span style="font-family: Verdana,sans-serif;">.</span><span class="me1" style="font-family: Verdana,sans-serif;">clone</span><span class="br0" style="font-family: Verdana,sans-serif;">()</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="co1" style="font-family: Verdana,sans-serif;">//In an actual implementation of this pattern you might now change references to</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="co1" style="font-family: Verdana,sans-serif;">//the expensive to produce parts from the copies that are held inside the prototype.</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">return</span><span style="font-family: Verdana,sans-serif;"> copy</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">}</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">abstract</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw4" style="font-family: Verdana,sans-serif;">void</span><span style="font-family: Verdana,sans-serif;"> prototypeFactory</span><span class="br0" style="font-family: Verdana,sans-serif;">(</span><span class="kw4" style="font-family: Verdana,sans-serif;">int</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="br0" style="font-family: Verdana,sans-serif;">)</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">abstract</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw4" style="font-family: Verdana,sans-serif;">void</span><span style="font-family: Verdana,sans-serif;"> printValue</span><span class="br0" style="font-family: Verdana,sans-serif;">()</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span class="br0" style="font-family: Verdana,sans-serif;">}</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span class="co3" style="font-family: Verdana,sans-serif;">/**
* Concrete Prototypes to clone
*/</span>
<span class="kw1" style="font-family: Verdana,sans-serif;">class</span><span style="font-family: Verdana,sans-serif;"> PrototypeImpl </span><span class="kw1" style="font-family: Verdana,sans-serif;">extends</span><span style="font-family: Verdana,sans-serif;"> PrototypeFactory </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw4" style="font-family: Verdana,sans-serif;">int</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">public</span><span style="font-family: Verdana,sans-serif;"> PrototypeImpl</span><span class="br0" style="font-family: Verdana,sans-serif;">(</span><span class="kw4" style="font-family: Verdana,sans-serif;">int</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="br0" style="font-family: Verdana,sans-serif;">)</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">this</span><span style="font-family: Verdana,sans-serif;">.</span><span class="me1" style="font-family: Verdana,sans-serif;">x</span><span style="font-family: Verdana,sans-serif;"> </span><span class="sy0" style="font-family: Verdana,sans-serif;">=</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">}</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span style="font-family: Verdana,sans-serif;"> @Override</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw4" style="font-family: Verdana,sans-serif;">void</span><span style="font-family: Verdana,sans-serif;"> prototypeFactory</span><span class="br0" style="font-family: Verdana,sans-serif;">(</span><span class="kw4" style="font-family: Verdana,sans-serif;">int</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="br0" style="font-family: Verdana,sans-serif;">)</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">this</span><span style="font-family: Verdana,sans-serif;">.</span><span class="me1" style="font-family: Verdana,sans-serif;">x</span><span style="font-family: Verdana,sans-serif;"> </span><span class="sy0" style="font-family: Verdana,sans-serif;">=</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">}</span>
<span style="font-family: Verdana,sans-serif;"> </span>
<span style="font-family: Verdana,sans-serif;"> @Override</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw1" style="font-family: Verdana,sans-serif;">public</span><span style="font-family: Verdana,sans-serif;"> </span><span class="kw4" style="font-family: Verdana,sans-serif;">void</span><span style="font-family: Verdana,sans-serif;"> printValue</span><span class="br0" style="font-family: Verdana,sans-serif;">()</span><span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">{</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="kw3" style="font-family: Verdana,sans-serif;">System</span><span style="font-family: Verdana,sans-serif;">.</span><span class="me1" style="font-family: Verdana,sans-serif;">out</span><span style="font-family: Verdana,sans-serif;">.</span><span class="me1" style="font-family: Verdana,sans-serif;">println</span><span class="br0" style="font-family: Verdana,sans-serif;">(</span><span class="st0" style="font-family: Verdana,sans-serif;">"Value :"</span><span style="font-family: Verdana,sans-serif;"> </span><span class="sy0" style="font-family: Verdana,sans-serif;">+</span><span style="font-family: Verdana,sans-serif;"> x</span><span class="br0" style="font-family: Verdana,sans-serif;">)</span><span class="sy0" style="font-family: Verdana,sans-serif;">;</span>
<span style="font-family: Verdana,sans-serif;"> </span><span class="br0" style="font-family: Verdana,sans-serif;">}</span>
<span class="br0" style="font-family: Verdana,sans-serif;">}</span></span></pre><span style="font-size: x-small;"></span><br />
<span style="font-size: x-small;"></span></div><div style="font-family: Verdana,sans-serif;"><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">REFERENCIAS</span></div><span style="font-size: xx-small;"><span style="font-size: x-small;"><a href="http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o" style="font-family: Verdana,sans-serif;">PATRONES DE DISEÑO</a></span><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-8071315397526429372011-07-07T14:11:00.000-07:002011-07-11T07:59:56.224-07:00Selección e instalación de herramientas (Taller)<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Para esta entrada voy a explicar las herramientas que utilice para poder llevar a cabo la elaboración de mi programa.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Al principio habia descargado el JDK <span class="Apple-style-span" style="line-height: 16px;">(</span><span class="Apple-style-span" style="line-height: 16px;"><em style="font-style: normal; font-weight: bold;">Java</em></span><span class="Apple-style-span" style="line-height: 16px;"> Development Kit</span><span class="Apple-style-span" style="line-height: 16px;"><wbr></wbr></span><span class="Apple-style-span" style="line-height: 16px;">) </span>de Java en Ubuntu. El diagrama de clases lo hice con Umbrello y el codigo en Emacs.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Desgraciadamente perdi lo que tenia de mi proyecto por lo que tuve que hacerlo de nuevo ahora utilizando Windows.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Estos fueron los pasos que hice para llevar a cabo la instalacion de las herramientas de desarrollo de la mejor manera:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">1) Asi como en el Ubuntu, tuve que instalar el JDK aqui en windows.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Lo descargue desde esta pagina:</span></div><div style="text-align: justify;"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">http://www.oracle.com/technetwork/java/javase/downloads/index.html</span></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1rDR7VLcrMSs2jKyhixYT5dJk_fj59ze87a6l5O6HJyZj5t84FwYiYXzre4hFYO7HrTtOtja8nnNqmNtJ2cYFz7PaEJByvC5lKSatXnZ6XqeZZHkD8I9U2Z5FaTr-Wtl3W_tfmwOWXi4/s1600/1.javajdk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1rDR7VLcrMSs2jKyhixYT5dJk_fj59ze87a6l5O6HJyZj5t84FwYiYXzre4hFYO7HrTtOtja8nnNqmNtJ2cYFz7PaEJByvC5lKSatXnZ6XqeZZHkD8I9U2Z5FaTr-Wtl3W_tfmwOWXi4/s400/1.javajdk.png" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">2) Despues de haber instalado el JDK instale un programa especial para telefonos Blackberry llamada JDE (<span class="Apple-style-span" style="line-height: 15px;"><em style="font-style: normal; font-weight: bold;">Java</em> Development Environment). Es importante descargar el JDE de la version del sistema operativo que tiene la version de Blackberry que deseas utilizar, por ejemplo, yo descargue la version v4.6.1</span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Aqui les dejo el link de un buen tutorial de JDE </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><a href="http://developerlife.com/tutorials/?p=478">http://developerlife.com/tutorials/?p=478</a></span></div><div class="separator" style="clear: both; text-align: justify;"><br />
</div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg398qlIeJaoXhkFczm9V4uaSkPbITLPCzm0fgQc1nShfRK4FhRfWGvKH2wVEu5bkydt0DLP4yXEFb4D2xYficzuH6CHG-r5pPB5aQCZU6OGr2EAFvKC1lAzK2kEcC1WAjNY2dQkM2xxB0/s1600/2.javajde.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg398qlIeJaoXhkFczm9V4uaSkPbITLPCzm0fgQc1nShfRK4FhRfWGvKH2wVEu5bkydt0DLP4yXEFb4D2xYficzuH6CHG-r5pPB5aQCZU6OGr2EAFvKC1lAzK2kEcC1WAjNY2dQkM2xxB0/s400/2.javajde.jpg" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">3) Ahora se tiene que instalar el simulador del Blackberry que vaya a utilizar la aplicacion para poder correrlo desde la computadora y verificar si este es compatible. Yo descargue el simulador para el Blackberry 8520 v4.6.1.272</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_0B0BpkzPGTZlH78HqWmZMkFi0h6cQHMdQLqbLIAKoZzAm0TDKuxr-X-MIztpPc-BSXb0nUhuuFDNTmUdS538psO7v_hKDakW0edr9OWbPhZY06ikG3TRLb8pkrPFy9YpHisLRCd8x4/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_0B0BpkzPGTZlH78HqWmZMkFi0h6cQHMdQLqbLIAKoZzAm0TDKuxr-X-MIztpPc-BSXb0nUhuuFDNTmUdS538psO7v_hKDakW0edr9OWbPhZY06ikG3TRLb8pkrPFy9YpHisLRCd8x4/s400/3.jpg" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Otra opcion que tenemos es descargar el Eclipse (nos sirve para hacer programas en Java) y despues instalar un plug-in de Blackberry que podemos encontrar en la pagina de Blackberry, de donde hemos estado descargando las herramientas. </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Despues de tener todas las herramientas necesarias pude comenzar a hacer la aplicacion...</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">Aqui les muestro una parte del codigo que use para la primera clase llamada Piano</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.util.*;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">import java.awt.*;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">//clase Piano</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> public class Piano {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//atributos</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//private int sonido;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private char teclasociada;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int estado = 0;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int ubicacion = 0;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//constructor</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Piano () { };</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"> </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//metodo</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set teclasoc newVar teclasociada</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setTeclasociada ( char newVar ) { </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> newVar = 'q';</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> teclasociada = newVar;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get teclasociada return teclasociada</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public char getTeclasociada ( ) {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return teclasociada;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set estado newvar estado</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setEstado ( int newVar ) {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> estado = newVar;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get estado return estado</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getEstado ( ) {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return estado;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//set ubicacion newvar ubicacion</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void setUbicacion ( int newVar ) {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> newVar = ubicacion++;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> ubicacion = newVar;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//get ubicacion return ubicacion</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getUbicacion ( ) {</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return ubicacion;</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;">}</span></div><br />
<div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-29491019137810804322011-07-06T12:26:00.000-07:002011-07-14T02:22:25.075-07:00Documentacion Tecnica<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La Documentación Técnica es muy útil para saber manejar de una manera adecuada cualquier programa que se nos proporcione, optimizar los resultados y disminuir el tiempo de aprendizaje del programa.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Ademas, sirve para conocer completamente todas las funciones del programa y sacar máximo provecho de este. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La documentación explica también las características tecnicas de un programa, así como los requerimientos y las necesidades para poder utilizar el programa de la manera mas adecuada y que su utilización sea la mejor posible.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Para la persona que creo el programa es muy fácil crear la documentación ya que conoce perfectamente el programa, sus características, requerimientos, entre otras cosas. </span></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-65917956196371717522011-07-05T06:35:00.000-07:002011-07-14T02:26:29.596-07:00Diagrama de clases<span style="font-family: Verdana,sans-serif; font-size: x-small;">Bueno aqui les incluyo el diagrama de clases de mi proyecto</span>.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipli_cwdU5rZKK0cf0Bw6OEDUKZAf2Ed4JqwLQQTwbDP8jCgYDPfQwatZI6OsBMjzGi9Z_zSK1XDPOvS_kVxYlqftY7xwGHTXXUwQIcwHnwhzOBw0COIAjiv9WpREnonDMpZEh8I_AJFM/s1600/diagrama.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipli_cwdU5rZKK0cf0Bw6OEDUKZAf2Ed4JqwLQQTwbDP8jCgYDPfQwatZI6OsBMjzGi9Z_zSK1XDPOvS_kVxYlqftY7xwGHTXXUwQIcwHnwhzOBw0COIAjiv9WpREnonDMpZEh8I_AJFM/s320/diagrama.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-85032441315244896862011-07-04T01:48:00.000-07:002011-07-14T02:27:08.042-07:00Proyecto (Clases, Atributos y Metodos)<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Aquí les presento un avance de mi proyecto.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En este avance mostrare las clases, atributos y métodos que utilizare para realizar mi programa y que funcione correctamente.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La clase mas importante de mi proyecto seria Tecla.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Decidí asignar una clase por cada una de las teclas del piano por que cada una tendrá un sonido y una asignación diferente. La idea es que al presionar la tecla esta emita un sonido y se sombree, por lo que tiene que tener un estado (Presionado o no) y una ubicación (0,1,2,3,4,5) para saber donde esta esa tecla. También es importante asignarle una tecla asociada con el teclado que se utilizara (0q,1w,2e,3r,4t,5y...)</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><ul><li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clase: Teclas</span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Atributos: Sonido, Tecla asociada, Estado (Presionado), Ubicación</span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Método: Reproducir sonido, Sombrearse</span></li>
</ul><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La segunda clase que utilizare para mi proyecto sera una de Partitura.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En esta clase se presentara la opción de mostrar una partitura con diferentes letras de canciones para que el usuario sea capaz de tocar alguna utilizando las teclas y las teclas asociadas del teclado del teléfono.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><ul><li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clase: Partitura</span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Atributos: Nombre, Titulo, Dificultad, Secuencia</span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Método: Imprimir, Mostrar imagen, Volver</span></li>
</ul><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Tenia pensado hacer una clase grande llamada Piano que englobara estas dos clases pero esta mas bien seria parte de la interfaz gráfica, ya que el programa no tendrá otras funciones ademas de las teclas y las partituras.</span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Conforme vaya pasando el tiempo les iré mostrando mis avances del proyecto.</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-17934412536642630132011-07-04T01:33:00.000-07:002011-07-14T02:27:40.302-07:00Casos de Uso (Proyecto)<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En esta entrada describiré algunos de los casos de uso para mi proyecto final.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Descripción:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">El programa consistirá en un peque<span class="Apple-style-span" style="line-height: 19px;">ño piano que </span><span class="Apple-style-span" style="line-height: 19px;">reproducirá</span><span class="Apple-style-span" style="line-height: 19px;"> sonidos con la ayuda de las teclas del </span><span class="Apple-style-span" style="line-height: 19px;">teléfono</span><span class="Apple-style-span" style="line-height: 19px;">. Cada tecla </span><span class="Apple-style-span" style="line-height: 19px;">tendrá</span><span class="Apple-style-span" style="line-height: 19px;"> un sonido diferente. Se pueden crear diferentes canciones. Las teclas que estén presionadas aparecerán en la pantalla sombreada. Habr</span>á<span class="Apple-style-span" style="line-height: 19px;"> también un área que contendrá partituras para que al usuario le sea mas fácil ver y tocar canciones. Dichas partituras contienen las teclas asociadas del teclado del teléfono para poder tocar una canción conocida. Las partituras tendrán diferente nivel de dificultad. </span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><br />
</span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;">Casos de uso:</span></span></div><ul><li style="text-align: justify;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Presionar tecla: El actor podra presionar una tecla del telefono y al mismo tiempo ver que una tecla de la pantalla se sombrea.</span></span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Escuchar sonido: El usuario sera capaz de escuchar un sonido diferente por cada tecla que presione</span></span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Ver partituras: El usuario podra ayudarse de partituras para crear sonidos o canciones ya existentes</span></span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Seleccionar nivel para la partitura: El actor podra seleccionar el nivel de dificultad de la partitura dependiendo de las habilidades que posea.</span></span></li>
<li style="text-align: justify;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Volver a la pantalla principal: Siempre que el usuario abra otra ventana tendra la opcion de volver a la pantalla principal. </span></span></li>
</ul><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;">Ahora les mostrare el diagrama de casos de uso</span></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Georgia,Utopia,'Palatino Linotype',Palatino,serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><br />
</span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb0BM3bwdYNtflpLp8DyMOl1HQbgSCW2CzJlTjk6bmd5SBy2JPQM4FHagqjWMN8W5c97LQ8W2MFsh4tKxcBfCtD4E3CB6124UBZRNkteDH6D9l11Tt9IlwTAMgftkbvUohWgJX1gm8QKY/s1600/casos+de+uso.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb0BM3bwdYNtflpLp8DyMOl1HQbgSCW2CzJlTjk6bmd5SBy2JPQM4FHagqjWMN8W5c97LQ8W2MFsh4tKxcBfCtD4E3CB6124UBZRNkteDH6D9l11Tt9IlwTAMgftkbvUohWgJX1gm8QKY/s320/casos+de+uso.png" width="320" /></a></div><div><span class="Apple-style-span" style="color: #333333; font-family: Georgia,Utopia,'Palatino Linotype',Palatino,serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><br />
</span></span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com1tag:blogger.com,1999:blog-4635094619671064603.post-2306201932298870532011-07-04T01:27:00.000-07:002011-07-14T02:29:04.194-07:00Interfaz (Puntos Extra)<span class="Apple-style-span" style="line-height: 19px;"></span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Una interfaz es una clase completamente abstracta (una clase sin implementación). <br />
<br />
Caracteristicas<br />
</span><br />
<ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Sólo declaran comportamiento </span></li>
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">
<li>Se utiliza la palabra clave interface </li>
<li>Por defecto todos sus métodos son públicos y abstractos </li>
<li>No implementan el comportamiento </li>
<li>Por defecto todos sus atributos son públicos, constantes y de clase </li>
<li>Por legibilidad normalmente los declaramos static y final </li>
<li>Permite simular algunos aspectos de la herencia múltiple </li>
<li>Define un tipo de datos </li>
<li>Posibilita el enlace dinámico </li>
<li>Otras clases pueden implementar un interfaz </li>
<li>Cualquier clase que implemente un interfaz debe definir todos los métodos de dicho interfaz </li>
<li>Debe proporcionar la implementación de dichos métodos </li>
<li>Si la clase no proporciona la implementación para todos los métodos del interfaz debe ser declarada como abstract </li>
</span></ul><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
Sintaxis<br />
<br />
interface NombreInterfaz {<br />
tipo static final NOMBRECONSTANTE1 = valor;<br />
…….….….<br />
public tipoDevuelto nombreMetodo1(listaParámetros);<br />
…….….….<br />
}<br />
class NombreClase implements NombreInterfaz1 <br />
[, NombreInterfaz2 ..] {<br />
// declaración atributos y métodos de la clase<br />
…….….….<br />
</span><br />
<div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif;">A continuacion les presentare un ejemplo de codigo de interfaz<br />
<br />
public interface Nombrable {<br />
static final boolean CIERTO = true;<br />
public void mostrarNombre();<br />
}<br />
public class Elemento implements Nombrable {<br />
String nombre;<br />
public Elemento(String nom) {<br />
nombre = nom; }<br />
// obligatorio implementar método mostrarNombre<br />
public void mostrarNombre(){<br />
System.out.println("Nombre: "+nombre);<br />
if (CIERTO)<br />
System.out.println("Constante CIERTO ");</span></span><span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif;">}}clases abstractas e Interfaces 15<br />
<br />
Referencias<br />
<a href="http://www.fdi.ucm.es/profesor/lgarmend/ArcGISJava/Temas/Tema%209%20Clases%20abstractas%20e%20interfaces.pdf">Interfaz</a></span></span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-2688361625892688132011-07-04T00:49:00.000-07:002011-07-14T02:29:45.030-07:00Herencias<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Una herencia es una de las principales características de los lenguajes orientados a objetos. Es un mecanismo que permite compartir características entre las clases padre y las clases hijos para extender funcionalidades. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Existen dos tipos de herencias:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Herencia simple: Este tipo de herencia solo puede tener una sola clase padre. (Java)</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Herencia multiple: Esta herencia sucede cuando la clase hijo puede obtener características de varias clases padres. (C++)</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">En esta actividad la profesora nos pidió que identificáramos herencias en clases de dos programas.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Los programas fueron los siguientes:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"></div><ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Buscaminas</span></li>
</ul><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Este programa consiste en un juego en el que el usuario tiene que obtener la mayor cantidad de puntos posibles sin tocar las bombas ubicadas en las casillas del juego </span><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://gabyg-prograoo.blogspot.com/2011/07/casos-de-uso.html">Click aquí para saber mas información sobre el juego</a></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clases padres:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Casilla, Tablero, Timer, Juego, Jugador, Historial.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clases hijas:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Tablero: Principiante, Intermedio, Avanzado</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Juego: Principiante, Intermedio, Experto</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"></div><ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">SIASE (<span class="Apple-style-span" style="line-height: 21px;">Sistema Integral para la Administración de los Servicios Educativos)</span></span></li>
</ul><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">El Siase es una plataforma educativa utilizada por la Universidad Autonoma de Nuevo Leon para controlar el registro de alumnos y maestros, calificaciones, horarios, kardex, entre otras muchas funciones que realiza este sistema.</span><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiboMd5PuVQUrFGmZokRI-kAJ3quYMr3_b4vgjQetD_4LGer2fU1LmtiHaCRQJ6-80ga2ZT5_TeLtz6-4YBgFw54XdQSQmWM3jgWdkNhgRJji1_att_wk6gcAQ550qHyfK0Uk5ySAMXSJ0/s1600/SIASE.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiboMd5PuVQUrFGmZokRI-kAJ3quYMr3_b4vgjQetD_4LGer2fU1LmtiHaCRQJ6-80ga2ZT5_TeLtz6-4YBgFw54XdQSQmWM3jgWdkNhgRJji1_att_wk6gcAQ550qHyfK0Uk5ySAMXSJ0/s320/SIASE.PNG" width="320" /></a></span></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clases padres: Usuario, Inscripción, Horario, Calificación, Encuesta, Kardex, Pago, Beca, Grupo</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clases Hijas: </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Usuario: Estudiante, Administrador, Maestro</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Inscripcion: Clase ordinaria, Laboratorio</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Encuesta: Verano, Beca</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Pago: Cuota Interna, Cuota Externa</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Beca: Deportiva, Bajos Recursos, Académica</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">A continuacion les comparto el codigo de un programa que encontre en internet que utiliza herencias.</span></div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><i><u><br />
class punto<br />
{<br />
protected<br />
int x, y ;<br />
public c:<br />
punto (int mx, int my);<br />
int dax ();<br />
int day ();<br />
};<br />
class pixel: public punto<br />
{<br />
protected<br />
booleano visible<br />
public<br />
pixel (int mx, int my);<br />
void mostrar ();<br />
void ocultar ();<br />
booleano es_visible ();<br />
void mover_hacia (int nueva x, int nueva y);<br />
};</u></i></span><br />
<div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Referencias</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://www.alegsa.com.ar/Dic/herencia.php">Informacion</a></span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://www.xuletas.es/ficha/ejemplo-de-herencia-en-c/">Codigo</a></span></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiboMd5PuVQUrFGmZokRI-kAJ3quYMr3_b4vgjQetD_4LGer2fU1LmtiHaCRQJ6-80ga2ZT5_TeLtz6-4YBgFw54XdQSQmWM3jgWdkNhgRJji1_att_wk6gcAQ550qHyfK0Uk5ySAMXSJ0/s1600/SIASE.PNG"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Imagen SIASE</span></a></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-55917301853775892232011-07-03T23:46:00.000-07:002011-07-14T02:30:07.042-07:00Casos de Uso<div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Los casos de uso son una técnica para especificar el comportamiento de un programa. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Todo software ofrece a sus usuarios una serie de instrucciones a los servicios y acciones que realiza el programa para poder utilizarlo de una mejor manera.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios.</span></div></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Para esta actividad se nos pidió identificar los diferentes casos de uso de un popular juego llamado Buscaminas.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Descripción:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">El Buscaminas es un juego que consiste en que el jugador busca obtener el mayor puntaje posible sin tocar las casillas de las bombas ubicadas en el juego. </span><br />
<span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://res1.windows.microsoft.com/resbox/es/Windows%207/main/b/4/b4196736-3113-4885-88be-81c91fe54e0f/b4196736-3113-4885-88be-81c91fe54e0f.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><img border="0" src="http://res1.windows.microsoft.com/resbox/es/Windows%207/main/b/4/b4196736-3113-4885-88be-81c91fe54e0f/b4196736-3113-4885-88be-81c91fe54e0f.jpg" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Actor: El usuario puede seleccionar la casilla de su interés, cambiar la dificultad y la apariencia, marcar casillas, reiniciar el juego, ver estadisticas de los jugadores anteriores o entrar a la sección de ayuda para solucionar dudas que tenga sobre el juego.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">A continuación se hará una breve descripción de algunos casos de uso mencionados anteriormente.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Dificultad: Cada jugador puede elegir la dificultad que desee: Principiante, Intermedio o Avanzado, según sus habilidades y destreza en el juego. </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Apariencia: El usuario puede cambiar el color de las casillas a verde o azul según su gusto.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Reiniciar: Si el usuario ya no quiere jugar esa partida puede reiniciarla o bien comenzar una nueva.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Ver estadísticas: El jugador puede ver estadísticas sobre los juegos anteriores, así como los mayores puntajes obtenidos en el juego.</span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Marcar casillas: El usuario puede marcar las casillas que desee y buscar las que tengan números para sumar los puntos. </span></div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Referencias</span></div><div style="text-align: justify;"><a href="http://www-2.dc.uba.ar/materias/isoft1/2001_2/apuntes/CasosDeUso.pdf"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Casos de uso</span></a></div><div style="text-align: justify;"><a href="http://res1.windows.microsoft.com/resbox/es/Windows%207/main/b/4/b4196736-3113-4885-88be-81c91fe54e0f/b4196736-3113-4885-88be-81c91fe54e0f.jpg"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Imagen</span></a></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-76123398958420084852011-07-03T23:22:00.000-07:002011-07-14T02:33:07.334-07:00Clases Atributos y Metodos<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Para poder realizar esta actividad fue necesario identificar las clases, atributos y metodos de uno de los programas que nos proporciono la maestra. Fue una tarea algo dificil al principio pero despues de la explicacion fue mas facil identificar cada uno y diferenciarlos. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Itunes</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://pampelmoose.com/mimg/iTunes_DRM_Free.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><img border="0" height="223" src="http://pampelmoose.com/mimg/iTunes_DRM_Free.jpg" width="320" /></span></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Itunes es un reproductor desarrollado por Apple. Es muy completo y funciona para reproducir, descargar y comprar musica, aplicaciones, escuchar radio, entre otras funciones que ofrece. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clase: Musica (Reproduccion)</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Atributo: Genero, Titulo, Nombre</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Metodo: Reproducir, Descargar, Mover, Cambiar nombre</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Clase: Videos</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Atributo: Duracion, Nombre, Tamaño</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Método: Reproducir, Descargar, Comprar </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><br />
</div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0tag:blogger.com,1999:blog-4635094619671064603.post-75527130725327748432011-07-03T22:09:00.000-07:002011-07-14T02:33:37.448-07:00Crisis de Software<span class="Apple-style-span" style="font-family: Verdana,sans-serif;"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px;"></span></span><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">La crisis del software es un termino que se refiere a la dificultad para desarrollar programas eficaces y comprensibles. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios, ademas de la falta de algoritmos y soluciones adecuadas para los problemas proporcionados por los usuarios o clientes.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">El término “Crisis del Software” fue utilizado a principios de los años 70, cuando la ingeniería de software era prácticamente inexistente. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software:</span></div><div style="text-align: justify;"><ul><li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Los proyectos no terminaban en plazo. </span></li>
<li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Los proyectos no se ajustaban al presupuesto inicial. </span></li>
<li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Baja calidad del software generado. </span><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Software que no cumplía las especificaciones.</span></li>
<li><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Código inmantenible que dificultaba la gestión y evolución del proyecto. </span></li>
</ul></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Aunque se han propuesto diversas metodologías para intentar subsanar los problemas mencionados, lo cierto es que todavía hoy no existe ningún método que haya permitido estimar de manera fiable el coste y duración de un proyecto antes de su comienzo.</span></div><div style="text-align: justify;"><br />
</div><div><div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://histinf.blogs.upv.es/files/2011/01/primera.jpg"><img border="0" height="168" src="http://histinf.blogs.upv.es/files/2011/01/primera.jpg" width="320" /></a></span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;">Bibliografia</span><br />
<div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://histinf.blogs.upv.es/2011/01/04/la-crisis-del-software/">Investigacion</a></span></div><div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://es.wikipedia.org/wiki/Crisis_del_software">Investigacion</a></span><br />
<div><span class="Apple-style-span" style="font-family: Verdana,sans-serif; font-size: x-small;"><a href="http://histinf.blogs.upv.es/files/2011/01/primera.jpg">Imagen</a></span></div></div></div></div></div>Gaby García Cárdenashttp://www.blogger.com/profile/03947455633526371847noreply@blogger.com0