tag:blogger.com,1999:blog-71687816591626889092024-03-05T09:55:55.295-08:00Programacion orientada a objetosAlejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-7168781659162688909.post-74934130068732981102011-05-19T05:14:00.000-07:002011-05-19T05:21:49.948-07:00Ligas a YoutubeTaller de programacion orientada a objetos --> <a href="http://www.youtube.com/watch?v=wZz6-utFd8U">http://www.youtube.com/watch?v=wZz6-utFd8U</a><br /><br />Programacion orientada a objetos --> <a href="http://www.youtube.com/watch?v=NfG67dhk86M">http://www.youtube.com/watch?v=NfG67dhk86M</a>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-65566046104231515882011-05-19T03:17:00.000-07:002011-05-19T05:14:11.099-07:00Proyecto Final (Resumen)<span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><b><i>Eventos:</i></b> </span><span style=";font-family:Georgia,serif;font-size:14pt;" lang="ES">En nuestro proyecto contamos con varios eventos, que forman parte de la primera ventana del Login, en donde podemos encontrar un Jlabel, esto nos permite aplicar una imagen de </span><span style=";font-family:Georgia,serif;font-size:14pt;" lang="ES">fondo.Tambien con otros 4 botones que nos indican el usuario y contraseña. En la otra ventana tenemos mas botones de guardar, eliminar, modificar, salir, busqueda y nuevo. </span></span><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span style=";font-family:Georgia,serif;font-size:14pt;" lang="ES"><span class="Apple-style-span" style=";font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span" style="font-size:19px;"><span lang="ES" style="font-family:Georgia,serif;"><b><i>Excepciones:</i></b> </span></span><span class="Apple-style-span" style=";font-family:'Arial, Tahoma, Helvetica, FreeS';font-size:19px;" > aqui utilizamos en la interfaz gráfica, en el botón eliminar, ya que nos</span></span></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span style=";font-family:Georgia,serif;font-size:14pt;" lang="ES"><span class="Apple-style-span" style=";font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span" style=";font-family:'Arial, Tahoma, Helvetica, FreeS';font-size:19px;" > pediría la confirmación si realmente queremos eliminar un contacto y aparte para mandar la información a la base de datos de querer eliminarlo, hicimos lo mismo para la función de</span></span></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:'Arial, Tahoma, Helvetica, FreeS';font-size:19px;" > modificar.</span></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Arial, Tahoma, Helvetica, FreeS';font-size:19px;" ></span><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia769PSJyMf2qInu9eJhV0rntimbuU7v72LgIKKNtjtmC1_HUyrXG25J1i7k5felsJFUGJZb371IWyUNbWt68jZ0JQp-vFTXGF0Z4NyXs7-cdJzGH0k4O6Ln-rJD_BKiElBNBRoOKcv78/s400/ventana.png" style="cursor: pointer; width: 400px; height: 193px;" alt="" border="0" /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 26px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:19px;" ><b><i>Errores</i></b>: los errores que se nos presentaron </span><span class="Apple-style-span" style="line-height: 26px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:19px;" >era que al momento de introducir el contacto pero no introducíamos la dirección o el nombre, este lo guardaba, pero lo pudimos arreglar con una excepción.</span></div><div style="text-align: center;"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 26px;font-size:19px;" ><br /></span></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 26px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:19px;" ><b><i>Sistemas Distribuidos</i></b>: </span><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES">Nuestro proyecto se puede distribuir mediant</span></p></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES">e una empresa, es decir, que la agenda podría estar conectada a una red interna en la empresa, y ya conectada a la base de datos para guardar los registros, que el personal pueda acceder a sus contactos y también<b> </b></span></p></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" >poder comunicarse con ellos mediante la agenda</span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><br /></span></p></span></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUSkuoDKijJuv8SQEzw_2Sdy_JGzxPgK72YybQ-8QlE1h3qMIiMvh1RkVmEv_7EBgJAoScMBo370_MOHGdYuvguv9-hZ0bmQgzsopv1ahgfVXC9mmEOMfMjyRimdmP3pRT5VZ-PotjLg/s320/Red%2520Internet.jpg" style="cursor: pointer; width: 299px; height: 305px;" alt="" border="0" /></span></p></span></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><br /></span></p></span></b></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES">Interfaz grafica: </span></p></span></b></span><span class="Apple-style-span" style="line-height: 19px;font-size:19px;" >Nuestra interfaz gráfica cuenta con dos ventanas, la primera que nos aparece es para acceder a la agenda, es una ventana en donde tenemos que introducir nuestro nombre de usuario y nuestra contraseña.</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 19px;font-size:19px;" ><br /></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 19px;font-size:19px;" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYJJv23w7Uh_P9EktNFDYB2Jg8l6iwlcPRmj-S2YXYhMTIykJqS7LGVr8vjzo8PgyPNh42fQU6fOIEk4C7dYwd1fdFBnVc8UkIoOtrng4BSkeSvisuIs27pr2donO5CUya0_Y8TLCtdzg/s400/ventana.png" style="cursor: pointer; width: 237px; height: 235px;" alt="" border="0" /></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 19px;font-size:19px;" ><br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 19px;font-size:19px;" >En esta ventana es donde agregaremos, modificaremos, eliminaremos, guardemos y también podamos buscar a algún contacto en especifico. Contamos con varias areas como donde ingresamos los datos, una de botones, y una tabla. </span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><br /></span></p></span></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggV4TVKv0Gt0TVquvsbAv-VmAJq29lm9GAU2umTumM0jU21K4xhjxW83vi4WhdVIuaupLi8Re83XZ2PxZvPGPtovKK4ye4c9ybsSkXuXgBiu6KYM8xjbYsKMPPbmgnqOfy7FJlGLBhW1g/s400/Sin+t%25C3%25ADtulo.png" style="cursor: pointer; width: 400px; height: 249px;" alt="" border="0" /></span></p></span></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><b><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><br /></span></p></span></b></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"><b>Pruebas unitarias: </b>Quisimos implementar pruebas unitarias en nuestro</span></p></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;" ><span class="Apple-style-span"><p class="Standard" style="text-align: justify; display: inline ! important;"><span style=";font-family:'Comic Sans MS';font-size:14pt;" lang="ES"> proyecto ya que presenta varios modulos, por decir un area para modificar,</span></p></span></span><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" > otra para guardar, salir, etc. y teniamos que verificar que cada una</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" >funcionara correctamente.Lamentablemente no pudimos implementarlo. La herramienta con la que trabajarams era el JUnit</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" ><br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" ><br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" ><br /></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" > </span><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMAQ23qp2jeVkqQ8OwppyzIgdJI_6cEg-GzDrB3kXdhv9SiH6_uQmZIlqr35N7eLZs25efF_fKSS9Y6Zf-2MYiyAtkFTp3zZgNUsL2PkHSkLzlHQk_ou5FSAFsaF8I81qUivWzM1pLWwov/s1600/junit.gif" style="cursor: pointer; width: 224px; height: 71px;" alt="" border="0" /><span class="Apple-style-span" style="line-height: 18px;font-family:'Comic Sans MS';font-size:19px;" > </span></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-78855592713082699602011-05-18T22:36:00.001-07:002011-05-18T22:40:35.804-07:00POO (session 11)<div style="text-align: center;"><b><span class="Apple-style-span" >Sistemas Distribuidos</span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" ><br /></span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" ><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuV0-RdBU9Y5246PCc_AzECDrOhQyzG78nOBcY_hFzuHIQIGdrlOqGhi3H1fLzYuKp5Y4d7JUi45OL-k-l5Z0YaSqNiDVZCwETuLQuRJpxQf5yw9LZq-w7ZqLRBBW4OwTttS7XTchw_lI/s400/Sin+t%25C3%25ADtulo.png" style="cursor:pointer; cursor:hand;width: 400px; height: 193px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608297212898230258" /></span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" ><p class="Standard" style="text-align:justify"><span lang="ES" style="font-size: 14.0pt;font-family:"Comic Sans MS"">Nuestro proyecto se puede distribuir mediante una empresa, es decir, que la agenda podría estar conectada a una red interna en la empresa, y ya conectada a la base de datos para guardar los registros, que el personal pueda acceder a sus contactos y también poder comunicarse con ellos mediante la agenda, o poder hacer otro tip</span></p><p class="Standard" style="text-align:justify"><span lang="ES" style="font-size: 14.0pt;font-family:"Comic Sans MS"">o de cosas como mandarse mensajes entre ellos, mails, etc. Pensamos en muchas formas de darle esta distribución al proyecto, pero esta fue la que mejor nos llamo la atención.<o:p></o:p></span></p><p class="Standard" style="text-align: center;"><span lang="ES" style="font-size: 14.0pt;font-family:"Comic Sans MS""><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi72lk0l0bflDbMn6cU1T68IqGux6hDJlDpoeCmt5Hf-KsT39ioqBffV_wQKgTA9qVy4BhOhfW2LRuj2_laxzuktsw30PF3RzRbsq4h46N_BzWZtujj2g3XRLUkiCw-x_HhswIj9zxkeCI/s400/Sin+t%25C3%25ADtulo.png" style="cursor:pointer; cursor:hand;width: 313px; height: 383px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608297516361013634" /></span></p><p class="Standard" style="text-align:justify"><span lang="ES" style="font-size: 14.0pt;font-family:"Comic Sans MS""><br /></span></p></span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" ><br /></span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" ><br /></span></b></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-6060904264246092882011-05-16T22:42:00.000-07:002011-05-22T23:18:35.159-07:00TALLER POO<div style="text-align: center;"><b><span class="Apple-style-span" style="font-size:180%;">Tipos de sistemas distribuidos</span></b><br /><span class="Apple-style-span" style="font-size:180%;"><b><br /></b></span><b><span class="Apple-style-span" style="font-size:180%;"><img src="http://148.208.209.28:8080/wDCC/images/sistemas_distribuidos.jpg" style="cursor: pointer; width: 380px; height: 285px;" alt="" border="0" /></span></b></div><div style="text-align: center;"><div style="text-align: left;"><b><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;">Se clasifican los sistemas cliente servidor de</div></span></div></b></div><div style="text-align: center;"><span class="Apple-style-span" style="font-size:100%;"><div style="font-weight: bold; text-align: left;">acuerdo al nivel de abstracción del servicio que se</div><div style="font-weight: bold; text-align: left;">ofrece. Se distinguen tres componentes básicos de</div><div style="font-weight: bold; text-align: left;">software:</div><div style="text-align: left;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><br /></div></span></div></span></div></span></div></span></div></span></div></span></div><div style="text-align: left;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;">1-Interaccion con el usuario</div></span></div></span></div></span></div></span></div></span></div></span></div><div style="text-align: left;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;">2-Logica de aplicacion</div></span></div></span></div></span></div></span></div></span></div></span></div><div style="text-align: left;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><span style="font-weight: bold;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;">3-Repositorio de datos</div></span></div></span></div></span></div></span></div></span></div></span></div><div style="text-align: left;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: center; display: inline ! important;"><p style="text-align: left; font-family: 'Times New Roman'; font-weight: normal;">Los sistemas distribuidos necesitan un software distinto al de los sistemas centralizados. Los S. O. para sistemas distribuidos han tenido importantes desarrollos pero todavía existe un largo camino por recorrer.</p><p><b>Ventajas de los sistemas distribuidos con respecto de los centralizados.</b></p><p style="text-align: left;"><b>Economía: </b>es la razón número uno de la tendencia hacia los sistemas distribuidos ya que estos sistemas tienen en potencia una proporción precio/desempeño mucho mejor que la de un sistema centralizado.</p><p style="text-align: left;"><b>Velocidad: </b>un sistema distribuido puede tener mayor poder de cómputo que una mainframe.<b><br /></b></p><p style="text-align: left;"><b>Distribución inherente: </b>otra razón para la construcción de un sistema distribuido es que ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas aplicaciones utilizan máquinas que están separadas a cierta distancia.<b><br /></b></p><p style="text-align: left;"><b>Confiabilidad: </b>un sistema distribuido ofrece mayor confiabilidad: al distribuir la carga de trabajo en muchas máquinas, la falla de un circuito descompondrá a lo más una máquina y el resto seguirá intacto.</p><div style="text-align: left;" id="htmlContent"> <p><b>Crecimiento por incrementos:</b> si se necesita añadir poder de cómputo a la compañía, con un sistema distribuido, podrían añadirse sólo más procesadores al sistema, lo que permite un desarrollo gradual conforme surjan las necesidades.</p><p><span><span><span><span><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span><span><span><span><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span><span><span><span><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size:100%;"><span><span><span><span><span><span><span><span class="Apple-style-span" style="font-size:100%;"><span style="font-weight: bold;"><span class="Apple-style-span" style="font-size:100%;"><span style="font-weight: bold;"><span class="Apple-style-span" style="font-size:100%;"><span style="font-weight: bold;"><span class="Apple-style-span" style="font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://estudiandomas.blogia.com/upload/20091125164153-slidedistributed.jpg"><img style="cursor: pointer; width: 600px; height: 337px;" src="http://estudiandomas.blogia.com/upload/20091125164153-slidedistributed.jpg" alt="" border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><b><br /></b></p><p style="text-align: center;"><b><br /></b></p><div style="text-align: center;"><b>Desventajas de los diferentes sistemas distribuidos</b></div><p></p> <p><b>Software: </b>No hay mucha experiencia en el diseño, implantación y uso del software distribuido, además existe poco software para los sistemas distribuidos en la actualidad.<b><br /></b></p><p><b>Redes: </b>Una vez que el sistema llega a depender de la red, la pérdida o saturación de ésta puede negar algunas de las ventajas que el sistema distribuido debía conseguir.<b><br /></b></p><p><b>Seguridad: </b>si las personas pueden tener acceso a los datos en todo el sistema, entonces también pueden tener acceso a datos con los que no tienen nada que ver.</p></div><ol style="font-weight: bold; display: inline ! important;"><li style="font-weight: normal; display: inline ! important;font-size:16px;"><div style="text-align: center; display: inline ! important;"><div style="text-align: center; display: inline ! important;"><ol style="display: inline ! important;"><span class="Apple-style-span" style="font-weight: normal;font-size:16px;" ><span class="Apple-style-span" style="font-size:100%;"><li style="display: inline ! important;"><span class="Apple-style-span" style="font-weight: normal;font-size:16px;" ><b><b><div style="text-align: center; display: inline ! important;"><span class="Apple-style-span" style="font-size:100%;"><div style="text-align: left; display: inline ! important;"><br /></div></span></div></b></b></span></li></span></span></ol></div></div></li></ol></div></span></div></div></span></div></div></span></div></div><div style="font-weight: bold; text-align: left;"><br /></div></span></div></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-26872163277796966322011-05-16T11:31:00.000-07:002011-05-23T11:56:01.733-07:00Taller POO (Interfaz Grafica)En la interfaz grafica para nuestro proyecto utilizamos diversos botones llamados Jbutton, utilizamos 6 botones en total, y a cada boton tuvimos que cambiarle el valor de la variable, para que al momento de usar el codigo, cada boton sea independiente y le podamos dar las instrucciones adecuadas. Tambien insertamos campos de texto para cada dato del usuario. Al momento de querer insertar un contacto los campos de texto estan desabilitados, pero al hacer click en nuevo se activan para poder ingresar los datos.<br /><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6XOFEAo1bL93wO1dnbXPHoX68wigDsV2GAqCIhO8aKUDipQD4qI3QcpVaYe-XLgDSpHluP-30ALdY2Srg4Bduq2EDjkn3QSnAejBxmGa-FPT4kuNt610wpPbodBkSR-xW6MT0Avqo1MY/s320/grafica.jpg" style="cursor:pointer; cursor:hand;width: 320px; height: 70px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5609983867644128130" /></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8FSrjx-xybH7CczzbwIeepljOOP0FqrhlnCvCwRZK1ZviUVCgZIFDpjsRq3cHq82JvMmXHAMjaWUBof_XuLf_WkNamHp96xiA1dzSC352D8Esf3PBMKG8jQkp9C2DC_nU1rpSX4Tbzfw/s400/campo.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 133px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5609986227595469874" /></div><div style="text-align: center;"><br /></div><div style="text-align: left;">Aqui podemos ver como los campos de id, direccion, telefono, nombre, direccion y sexo estan desactivados, despues de hacer click en el boton nuevo los campos se activan, menos el dato "id" ya que si cambiamos ese dato nos pondra un error, ya que se va agregando automaticamente y no podremos cambiarlo.</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl5jP0NcPZd3zyAJ1W5c1MAocl7I35RSwAaEPzUU1cLDlkl0giinSZGcEukMDB8O1w2q-axMXgGsFhin6q7i_oD-RSYPkxNj9yq1eXQtfKV4o-5_-wkHZQSkWX08eKI1kyOaKgxiG-p7s/s400/campo2.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 88px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5609986856345582050" /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;">Un ejemplo de los botones fue el que usamos para el boton Nuevo, ya que cuando seleccionamos este boton habilita los campos de texto y podemos ingresar texto o numeros.</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVhFpz9zL_E65AVeYc1cehPGOiJx8xIZkakGqwXAN9hyKqbD6U-7lrPjQ24szgwTv2a1xGl0QOfA1a1x80KTRvjr0pZv6NJC7FimM87T-VxNte-w78SP7k9xw4UEBJSDX2h_aMNoaESRw/s400/nombre.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 113px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5609985629944844770" /></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-4962020317566999502011-05-08T15:12:00.000-07:002011-05-18T22:36:09.568-07:00POO (session 10)<div style="text-align: center;"><b>Interfaz Gráfica de Usuario</b></div><div style="text-align: center;"><b>
<br /></b></div><div style="text-align: left;"><meta equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">La </span></span><b style="font-family: sans-serif; font-size: 13px; line-height: 19px; font-weight: normal; ">i</b><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">nterfaz gráfica de usuario, conocida también como </span></span><b style="font-family: sans-serif; font-size: 13px; line-height: 19px; font-weight: normal; ">GUI</b><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;"> es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador.</span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">
<br /></span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;"><img src="http://www.zonawindows.com.ar/wp-content/uploads/2009/03/windowsmobile.png" style="cursor:pointer; cursor:hand;width: 480px; height: 642px;" border="0" alt="" /></span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">
<br /></span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">
<br /></span></span></div><div style="text-align: left;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;"><p class="Standard" style="text-align:justify"><span lang="ES" style="font-size: 14.0pt;font-family:"Georgia","serif"">Nuestra interfaz gráfica cuenta con dos ventanas, la primera que nos aparece es para acceder a la agenda, es una ventana en donde tenemos que introducir nuestro nombre de usuario y nuestra contraseña. Utilizamos los botones para que el usuario acepte que quiera ingresar a la agenda, y el otro de cancelar, para omitir todo.<o:p></o:p></span></p> </span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYJJv23w7Uh_P9EktNFDYB2Jg8l6iwlcPRmj-S2YXYhMTIykJqS7LGVr8vjzo8PgyPNh42fQU6fOIEk4C7dYwd1fdFBnVc8UkIoOtrng4BSkeSvisuIs27pr2donO5CUya0_Y8TLCtdzg/s400/ventana.png" style="cursor:pointer; cursor:hand;width: 237px; height: 235px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608294958360822274" /></span></span></div><div style="text-align: center;"><span class="Apple-style-span" ><span class="Apple-style-span" style="line-height: 19px;">
<br /></span></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 19px; "><p class="Standard" style="font-family: sans-serif; font-size: small; text-align: justify; "><span lang="ES" style="font-size: 14.0pt;font-family:"Georgia","serif"">Como vemos en la imagen<span style="mso-spacerun:yes"> </span>de arriba, se puede apreciar dos botones, que el primero nos muestra la barra en donde debemos de escribir nuestro nombre de usuario y abajo la contraseña, después de presionar la tecla aceptar se nos aparecerá la ventana de nuestra agenda. En esta ventana es donde agregaremos, modificaremos, eliminaremos, guardemos y también podamos buscar a algún contacto en especifico. Nuestro primer menú es el de los “Datos del contacto” en donde tenemos que introducir varios datos como el nombre, dirección, teléfono, email y el sexo. Hay que destacar que el id no lo podemos introducir, ya que </span><span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 19px; ">automáticamente se le agrega a cada contacto que agreguemos.</span></p><p class="Standard" style="font-family: sans-serif; font-size: small; text-align: center; "><span lang="ES" style="font-size: 14.0pt;font-family:"Georgia","serif""><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggV4TVKv0Gt0TVquvsbAv-VmAJq29lm9GAU2umTumM0jU21K4xhjxW83vi4WhdVIuaupLi8Re83XZ2PxZvPGPtovKK4ye4c9ybsSkXuXgBiu6KYM8xjbYsKMPPbmgnqOfy7FJlGLBhW1g/s400/Sin+t%25C3%25ADtulo.png" style="cursor:pointer; cursor:hand;width: 400px; height: 249px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608295418278853666" /></span></p><p class="Standard" style="font-family: sans-serif; font-size: small; text-align: justify; "><span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 19px; ">Otra cosa importante es que hicimos que estén inactivos los campos de texto, ya que queríamos que al momento de presionar el botón de nuevo (icono azul) se pueda habilitar estos campos, para después introducir los datos. Después de esto sigue el menú de botones, que contamos con 5 botones, el primero es para agregar un nuevo contacto, después tenemos para modificar un contacto seleccionado en la tabla que se muestra en la parte de abajo. Después de esto tenemos el botón de eliminar (rojo) en donde igual que al modificar, primero tendremos que seleccionar un contacto de la tabla y después seleccionar el botón de eliminar, se nos preguntara si realmente deseamos eliminar ese contacto. Después tenemos el botón de guardar, ya que hemos activado los campos de texto e introducir todos los datos, debemos de oprimir este botón para que automáticamente se guarde en nuestra base de datos. Al final del menú tenemos el botón de salir.</span></p></span></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-10829171800260808492011-05-08T14:59:00.000-07:002011-05-08T15:12:00.697-07:00Extra POO<div style="text-align: center;"><b><span class="Apple-style-span">Frase "No hay lonche gratis"</span></b></div><div style="text-align: center;"><b><span class="Apple-style-span"><br /></span></b></div><div style="text-align: left;"><span class="Apple-style-span" ><span class="Apple-style-span"><b>Entre el significado que le podemos encontrar a esta frase, es que no llegará el </b></span><span class="Apple-style-span"><b>día en que un descubrimiento milagroso, un invento mágico, un genio, resuelva </b></span><span class="Apple-style-span"><b>todos nuestros problemas, y nunca llegara algo similar. Es decir, se podría argumentar que ciertos inventos han transformado radicalmente la vida </b></span><span class="Apple-style-span"><b>del hombre, mejorando significativamente sus comodidades. Sí, pero no</b></span></span></div><div style="text-align: left;"><span class="Apple-style-span" ><b>resolvieron todo y no fueron gratis.</b></span></div><div style="text-align: center;"><span class="Apple-style-span"><b><br /></b></span></div><div style="text-align: center;"><span class="Apple-style-span"><b><img src="http://mariana.org.mx/portal/images/stories/fruit/lonches.jpg" style="cursor:pointer; cursor:hand;width: 225px; height: 160px;" border="0" alt="" /></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="font-size: medium; "><b><div style="text-align: center; display: inline !important; "><br /></div></b></span></div><div style="text-align: left;"><span class="Apple-style-span"><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; ">Ningún invento nos salvará milagrosamente de la crisis </div></b></span><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; ">energética , o de otro problema grande que se nos presente,</div></b></span><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; "> tendremos que ir paso a paso, </div></b></span><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; ">incrementando eficiencias, buscando fuentes alternas, mejorando la seguridad de </div></b></span><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; ">los procesos nucleares, reduciendo el consumo; en fin, usando todas las </div></b></span><span class="Apple-style-span"><b><div style="text-align: center; display: inline !important; ">herramientas a nuestra disposición para atacar el problema. Y no será gratis.</div></b></span></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-size: medium; "><b><div style="text-align: center; display: inline !important; "><br /></div></b></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-size: medium; "><b><div style="text-align: center; display: inline !important; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIRWoA1KOKngEgJB8zfzv5BTCzE74EJb2K4n5ZMuhKj6IdTz9L4kIaR8NeyzSEe87ktsDPkcg54UBpwRfCuxe1eP-Ufsmnms5oJVnX5xDu_-JOiiMFs3k1qDsRunUB3_ej3jjWFY_Yx2R8/s400/2008081057crisisDentro-20080811.jpg" style="cursor:pointer; cursor:hand;width: 300px; height: 300px;" border="0" alt="" /></div></b></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-size: medium; "><b><div style="text-align: center; display: inline !important; "><br /></div></b></span></div><div style="text-align: left;"><span class="Apple-style-span"><b><br /></b></span></div><div><br /></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1tag:blogger.com,1999:blog-7168781659162688909.post-8381321251085451732011-05-08T13:45:00.000-07:002011-05-08T13:58:09.283-07:00Taller de POO 8 (Demo parcial)<div style="text-align: center;"><b><i><span class="Apple-style-span" >Demo parcial de mi proyecto</span></i></b></div><br />En este post les mostrare las funcionalidades que ahorita cuenta mi proyecto de la agenda personal, cuenta con los botones basicos como nuevo, modificar, salir, guardar y quitar. Aun me falta agregar varios eventos a varios botones, pero les mostrare como puedo agregar y quitar un contacto. <div><br /></div><div>Aqui primero compilo mi programa y nos saldra el menu con las opciones correspondientes, despues de eso yo escogo el boton "Nuevo" y a continuacion se abren los campos de texto para rellenar el nombre, direccion, sexo, etc.</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgivPfrRkGi1Y-jYjMUqugXloq6MRtTf3wSteE7OnzpnpDvdQ3KcwT9_IyyMst8SfQJuTgIY8x-MWWfaSMQdl542Z_QHtQ2P8U2h-YztyvbD6pIBDDQZaX_WO-Kn8dxjcWB6EAyR2IisL8/s400/Pantallazo-2.png" style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5604451589419270514" /></div><div style="text-align: center;"><br /></div><div style="text-align: left;">Una vez hecho esto, nos dirigimos al botón de "Guardar" y automáticamente se conectara a nuestra base de datos y almacenara en una tabla el contacto que acabamos de teclear, con su respectiva información.</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggnpL38puFNzRFrhKYVruEngE1IFq6wFWG98fp5j3Ks2VFpAGbBenprpgBUuxzy4_IRVa9A3AGdq-BVCg4vXbKGpH-I2k7v4PSmd0EKezUfwhqjA2gursM61q9eEodgTVuvRUE5Z1uY4Q/s400/Pantallazo-3.png" style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5604452049915526466" /></div><div style="text-align: center;"><br /></div><div style="text-align: left;">Esto es todo lo que llevamos con el proyecto, aun faltan mas cosas como agregar las citas, pero eso espero y pronto poder implementarlo</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div><br /></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-81817320530470262262011-05-08T13:12:00.000-07:002011-05-18T22:27:20.375-07:00POO (session 9)<div style="text-align: center;"><b><span class="Apple-style-span" >Eventos, errores y excepciones</span></b></div><div style="text-align: center;"><span lang="ES" style="font-size:14.0pt;font-family:"Comic Sans MS""><br /></span></div><div style="text-align: left;"><span lang="ES" style="font-size:14.0pt;font-family:"Comic Sans MS""><b><i>Eventos:</i></b> </span><span lang="ES" style="font-size:14.0pt;font-family:"Georgia","serif"">En nuestro proyecto contamos con varios eventos, que forman parte de la primera ventana del Login, en donde podemos encontrar un Jlabel, esto nos permite aplicar una imagen de </span><span lang="ES" style="font-size:14.0pt;font-family:"Georgia","serif"">fondo. Otros botones con los que contamos son con 4 Jbutton, estos botones nos</span><span class="Apple-style-span" style="font-size: 19px; "> permite darles instrucciones, como el de identificar el botón de usuario y contraseña, además de otro</span><span class="Apple-style-span" style="font-size: 19px; ">s dos botones que son el de “aceptar” y “cancelar” como el n</span><span class="Apple-style-span" style="font-size: 19px; ">ombre nos lo indic</span><span class="Apple-style-span" style="font-size: 19px; ">a, el primero botón hace que pasemos a la siguiente ventana que es la interfaz donde manejaremos nuestros conta</span><span class="Apple-style-span" style="font-size: 19px; ">ctos, y el botón cancelar hace que se cierre la ventana automáticamente. El usuario y contraseña lo puse por defecto en el código, pero se puede cambiar cuando se necesite. También agregamos campos de texto para poder ingresar los datos, estos son llamados TextField, y lo acomode en el botón de usuario, por otra</span><span class="Apple-style-span" style="font-size: 19px; "> parte hay un campo de texto especial por si uno desea poner una contraseña, así lo aplique para poder ingresar nuestra contraseña.</span></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihS1VqLeYbv-AoVIoKxtZ0ovNJaCLRpfJl1a8isI_UoitUPM3xDbh7noHUfD0ZUHCSaMtaLsHyS-9-z_vac15LQMgHIZlHzP5UmM1J2nOdi8f-jSMdSHdcLSXxt1xcHnMl8yxkZq8ru9E/s200/ventana.png" style="cursor:pointer; cursor:hand;width: 200px; height: 191px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608291444560531922" /></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><p class="Standard" style="text-align:justify"><span class="Apple-style-span" style="font-size: 19px;"></span></p><p class="Standard" style="text-align: center;"><span lang="ES" style="font-size: 14.0pt;font-family:"Georgia","serif"">Aquí aparece la parte del código, es corto, y además fácil, pero muy eficiente, le dimos la instrucción de que primero apareciera la ventana del login, después de esto al introducir el usuario y contraseña nos mandara directamente a la página 2, <span style="mso-spacerun:yes"> </span>a la otra ventana que tenemos hecha.</span></p><p></p><p class="Standard" style="text-align: center;"><span class="Apple-style-span" style="font-size: 19px; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgykXVb6I7DZAC6Ejo6GRzjq61qV_O6J9NaHF8HLVSzneAzbxxGvZgAyJGxCIcRsmNAjD4skcFfZBm9g8jvXuFYGkSSPOqV9buf1B2kt_2eCQRxyFSU8EUAZ8b1wEXB5Nil9EkaWnJW_YY/s400/ventana.png" style="cursor:pointer; cursor:hand;width: 400px; height: 231px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608293560944221058" /></span></p><p class="Standard" style="text-align: center;"><span class="Apple-style-span" style="font-size: 19px; "></span></p><p class="Standard" style="text-align: left;margin-left: 18pt; text-indent: -18pt; "><span class="Apple-style-span" style="font-size: 19px; "><span lang="ES" style="mso-bidi-font-size:14.0pt;font-family:"Georgia","serif""><b><i>Excepciones:</i></b> dentro de las excepciones en nuestro proyecto se encuentran varias, ya que las use más que nada en los botones que use en la interfaz. </span><span lang="ES" style="font-size:14.0pt;font-family:"Arial\, Tahoma\, Helvetica\, FreeS"; color:black">Ahora les mostrare una parte de mi código en donde utiliza el bloqu</span></span><span class="Apple-style-span" style="font-family: 'Arial, Tahoma, Helvetica, FreeS'; font-size: 19px; ">e try-catch, lo utilice en la interfaz gráfica, en el botón eliminar, ya que nos pediría la confirmación si realmente queremos eliminar un contacto y aparte para mandar la información a la base de datos de querer eliminarlo, hicimos lo mismo para la función de modificar.</span></p><p class="Standard" style="text-align: left;margin-left: 18pt; text-indent: -18pt; "><span class="Apple-style-span" style="font-size: 19px; "><span lang="ES" style="font-size:14.0pt;font-family:"Arial\, Tahoma\, Helvetica\, FreeS"; color:black"><br /></span></span></p><p></p><p class="Standard" style="text-align: center;"><span class="Apple-style-span" style="font-size: 19px; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia769PSJyMf2qInu9eJhV0rntimbuU7v72LgIKKNtjtmC1_HUyrXG25J1i7k5felsJFUGJZb371IWyUNbWt68jZ0JQp-vFTXGF0Z4NyXs7-cdJzGH0k4O6Ln-rJD_BKiElBNBRoOKcv78/s400/ventana.png" style="cursor:pointer; cursor:hand;width: 400px; height: 193px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608294015769788834" /></span></p></div><div style="text-align: left;"><span class="Apple-style-span" style="font-size: 19px; "><b><i>Errores</i></b>: los errores que se nos presentaron en nuestro proyecto si fueron varios, por ejemplo, al momento de hacer la búsqueda de un contacto en la tabla aparecían celdas de más, o por ejemplo cuando escribíamos un nombre en el cuadro de búsqueda nos aparecían la mayoría de los contactos. Otro error era que al momento de introducir el contacto pero no introducíamos la dirección o el nombre, este lo guardaba, pero lo pudimos arreglar con una excepción, en tanto a los otros errores también pudimos solucionarlos con éxito.</span></div><div style="text-align: left;"><br /></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-67749016380569362102011-03-17T08:00:00.000-07:002011-05-08T13:10:32.305-07:00POO (sesion 8)<div style="text-align: center; "><span class="Apple-style-span" ><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(51, 153, 153);">P</span></span><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; ">atrones de diseño</span></span><span style="font-weight: normal; color: rgb(0, 0, 0); ">
<br /></span><div style="font-weight: bold; text-align: left; "><span style="font-weight: normal; " >
<br /></span></div><div style="font-weight: bold; text-align: left; "><span style="font-weight: normal; ">Los patrones de diseño </span><span style="font-weight: normal; "> son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software</span><span style="font-weight: normal; "> y otros ámbitos referentes al diseño de interacción o interfaces.</span> <span>Los patrones de diseño se pueden clasificar en 3 grupos:
<br /></span><ol><li>Patrones creacionales</li><li>Patrones estructurales</li><li>Patrones de comportamiento
<br /></li></ol></div><div style="text-align: left; "><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(0, 0, 0);"><span style="font-weight: bold;">Existen en total 23 patrones de diseño, con sus respectivas funciones y aqui pondre dos ejemplos.</span></span></span>
<br /><ul><li><span><b>Command: Este patrón </b></span><meta equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; color: rgb(0, 0, 0); font-family: sans-serif; font-weight: normal; ">permite solicitar una operación a un objeto sin conocer realmente el contenido de esta operación, ni el receptor real de la misma. Para ello se encapsula la petición como un objeto, con lo que además se facilita la parametrización de los métodos</span></li></ul><div><span class="Apple-style-span"><b><i><span class="Apple-style-span" style="line-height: 19px;"> Propósito</span><span class="Apple-style-span" style="line-height: 19px; ">: </span></i></b></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">Encapsula un mensaje como un objeto, con lo que permite gestionar colas o regis</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">tro de mensaje y deshacer operaciones, s</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">oportar restaurar el estado a partir de un momento dado, y </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">Ofrecer una interfaz común que permita invocar las acciones de forma uniforme y extender el sistema con nuevas acciones de forma más sencilla</span></div><div><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">
<br /></span></div><div><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">
<br /></span></div><span class="Apple-style-span"><div style="text-align: center;"><b><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsiG7kiflQfdHRADnQXqn7MUmG2wgOs8SWxsQPet4qs6COREa0wsiSjUIU6m0zOzJcrcaRfgQ3iSesWXPxpbVfDZx_2V7c9wbsHAeSNeZfBh9Ig76MOJZ_KTpzXoADLsB_P1YrOhKvfjY/s320/Command.JPG" style="cursor:pointer; cursor:hand;width: 304px; height: 203px;" border="0" alt="" /></b></div><b>
<br /></b><b>
<br /><ul><li><span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; color: rgb(0, 0, 0); font-weight: normal; "><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 18px; "><b>Mediator: </b></span></span><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; font-family: sans-serif; ">Cuando muchos objetos interactúan con otros objetos, se puede formar una estructura muy compleja, con objetos con muchas conexiones con otros objetos. En un caso extremo cada objeto puede conocer a todos los demás objetos. Para evitar esto el patrón Mediator encapsula el comportamiento de todo un conjunto de objetos en un solo objeto.</span></span></li></ul></b><b></b></span><div style="text-align: justify;"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px;"><i><b> Aplicabilidad:</b></i></span></span></div><meta equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span"><ul style="font-family: sans-serif; font-size: 13px; line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="margin-bottom: 0.1em; ">Un conjunto grande de objetos se comunica de una forma bien definida, pero compleja.</li><li style="margin-bottom: 0.1em; ">Reutilizar un objeto se hace difícil por que se relaciona con muchos objetos.</li><li style="margin-bottom: 0.1em; ">El comportamiento de muchos objetos que esta distribuido entre varias clases, puede resumirse en una o variaspor subclasificación.</li></ul><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px;">
<br /></span></span></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; "><img src="http://upload.wikimedia.org/wikipedia/commons/e/e4/Mediator_design_pattern.png" style="cursor:pointer; cursor:hand;width: 634px; height: 192px;" border="0" alt="" /></span></div><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(51, 153, 153);">
<br />
<br /></span></span></div><div style="text-align: center; "><span class="Apple-style-span" style="font-size: large; "><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(51, 153, 153);">
<br /></span></span></span></div><div style="text-align: center; "><span class="Apple-style-span" ><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(51, 153, 153); ">Antipatrones de dise</span></span><span class="Apple-style-span"><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; ">ñ</span><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; ">o</span></span></span></div><div style="text-align: left;"><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; font-size: x-large; "><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; color: rgb(0, 0, 0); font-family: sans-serif; font-weight: normal; ">
<br /></span></span></div><div style="text-align: left;"><span class="Apple-style-span"><meta equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; color: rgb(0, 0, 0); font-family: sans-serif; ">Un antipatrón de diseño es un patron d</span><span class="Apple-style-span" style="line-height: 19px; font-family: sans-serif; "><span class="Apple-style-span">e dise</span></span></span><span class="Apple-style-span">ñ</span><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px; font-family: sans-serif; "><span class="Apple-style-span">o </span></span><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; color: rgb(0, 0, 0); font-family: sans-serif; ">que invariablemente conduce a una mala solución para un problema.</span></span><span class="Apple-style-span"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px;">Los antipatrones se consideran una parte importante de una buena práctica de programación. Es decir, un buen programador procurará evitar los antipatrones siempre que</span></span><span class="Apple-style-span" style="line-height: 19px; "> sea posible, lo que requiere su reconocimiento e identificación tan pronto como sea posible, dentro del ciclo de vida del software.</span></span></div><div style="text-align: left;"><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px;"></span></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">El concepto de antipatrón se puede aplicar a la ingenieria</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; "> en general, e incluso a cualquier tarea realizada por el hombre. Aunque no se escucha con frecuencia fuera del campo ingenieril, la noción está ampliamente extendida.</span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">
<br /></span></div><div style="text-align: center;"><span class="Apple-style-span" style="line-height: 19px; "><img src="http://i.msdn.microsoft.com/dynimg/IC129488.jpg" style="cursor:pointer; cursor:hand;width: 568px; height: 360px;" border="0" alt="" /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">
<br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">
<br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px; ">Entre estos patrones existen varias clasificaciones, en donde se encuentran numerosos antipatrones, a continuacion les dejo sus categorias:</span></div><div style="text-align: left;"><ul><li><span class="Apple-style-span" style="font-family: sans-serif; font-size: 17px; font-weight: bold; line-height: 19px; ">Antipatrones de gestión</span></li><li><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 17px; line-height: 19px;"><b>Antipatrones de gestión de proyectos</b></span></span></li><li><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 17px; line-height: 19px; "><b>Antipatrones generales de diseño de software </b></span></span></li><li><span class="Apple-style-span" style="font-family: sans-serif; font-weight: bold; line-height: 19px; "><span class="Apple-style-span">Antipatrones de diseño orientado a objetos</span></span></li><li><span class="Apple-style-span" style="font-family: sans-serif; font-size: 17px; font-weight: bold; line-height: 19px; ">Antipatrones de </span><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 17px; line-height: 19px;"><b>programación</b></span></span></li><li><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 17px; line-height: 19px; "><b>Antipatrones metodológicos </b></span></span></li><li><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 17px; line-height: 19px;"><b>Antipatrones de gestión de la configuración</b></span></span></li></ul></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 17px; font-weight: bold; line-height: 19px; ">
<br /></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 17px; font-weight: bold; line-height: 19px; ">
<br /></span></div><div style="text-align: center; "><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; font-size: x-large; ">
<br /></span></div><div style="text-align: center; "><span class="Apple-style-span" style="color: rgb(51, 153, 153); font-weight: bold; font-size: x-large; ">
<br /></span></div><meta equiv="content-type" content="text/html; charset=utf-8"><div style="text-align: center; "><div style="color: rgb(51, 204, 255); font-weight: bold; text-align: left; ">
<br /></div><span style="color: rgb(51, 204, 255); font-weight: bold; "><span style="color: rgb(51, 153, 153);"></span></span><div style="color: rgb(51, 204, 255); font-weight: bold; text-align: left; "><span><span style="color: rgb(51, 153, 153);"></span></span>
<br /><span><span style="color: rgb(51, 153, 153);"></span></span></div><span style="color: rgb(51, 204, 255); font-weight: bold; ">
<br /></span><div style="color: rgb(51, 204, 255); font-weight: bold; text-align: left; "><span style="color: rgb(0, 0, 0);"></span>
<br /></div><div style="color: rgb(51, 204, 255); font-weight: bold; text-align: left; ">
<br /></div><div style="color: rgb(51, 204, 255); font-weight: bold; text-align: left; ">
<br /></div></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-78186318908000514462011-03-15T07:19:00.000-07:002011-03-15T07:34:31.888-07:00Taller de programacion<div style="text-align: center; font-weight: bold;">Diagrama de ejemplo con BOUML<br /><br /><div style="text-align: left;">Este es un ejemplo del diagrama hecho con el programa BOUML, donde podemos indentificar mas facilmente las clases, metodos y operaciones del programa.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://oi51.tinypic.com/154xemq.jpg"><img style="cursor: pointer; width: 557px; height: 310px;" src="http://oi51.tinypic.com/154xemq.jpg" alt="" border="0" /></a></div><br /></div></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-14391468803821459632011-02-24T05:38:00.000-08:002011-02-24T05:39:28.986-08:00Proyecto presentacion<div style="WIDTH: 425px" id="__ss_7043635"><strong style="MARGIN: 12px 0px 4px; DISPLAY: block"><a title="Proyecto" href="http://www.slideshare.net/kkkrip/proyecto-7043635">Proyecto</a></strong><object id="__sse7043635" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=proyecto-110224073318-phpapp02&stripped_title=proyecto-7043635&userName=kkkrip"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed name="__sse7043635" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=proyecto-110224073318-phpapp02&stripped_title=proyecto-7043635&userName=kkkrip" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="PADDING-BOTTOM: 12px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/kkkrip">dani</a>.</div></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com3tag:blogger.com,1999:blog-7168781659162688909.post-55131015543486593582011-02-16T14:44:00.000-08:002011-02-20T15:00:19.674-08:00Documentacion en doxygen<span class="Apple-style-span" style="color: rgb(51, 153, 153); font-family: 'trebuchet ms'; font-size: x-large; "><b><div style="text-align: center;"><span class="Apple-style-span" style="font-weight: normal; "><b><br /></b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="font-weight: normal; "><b>Programacion orientada a objetos</b></span></div></b></span><div style="text-align: center;"><span class="Apple-style-span"><b><br /></b></span></div><div style="text-align: left;"><span class="Apple-style-span">El programa que use para hacer la prueba de documentacion de las clases de mi proyecto fue con el Doxygen, lo instale en Windows 7.</span></div><div style="text-align: center;"><span class="Apple-style-span"><br /></span></div><div style="text-align: center;"><span class="Apple-style-span"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwrOJUifAYLglvgl6mbkn_CKU79S-Zt8mIUxxIDKVwvoz5eg9CeiQFMMmTPjcRzYcXZFeOnWVXF_uIq537rE_nyE34c8vZamYKXjEbWjRw5IlsG3JvTwXuo92tTqbZJYp6ikYmIRxEYjU/s400/doxygen.png" style="cursor:pointer; cursor:hand;width: 400px; height: 184px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5575907299490350562" /></span></div><div style="text-align: center;"><span class="Apple-style-span"><br /></span></div><div style="text-align: left;"><span class="Apple-style-span">Instalado y todo precedemos a montar los archivos de las clases para que nos lo muestre en una pagina HTML. </span></div><div style="text-align: left;"><span class="Apple-style-span"><br /></span></div><div style="text-align: center;"><span class="Apple-style-span"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoVPHd9xJcZ2CiOZaJ7udo2AZghglSwwYu5EueeT6cQxQqDWuHOwYXXW2wQnbgxtbpQ4KoBnLJSoK7bVZ3U2y0xo5-oqiJTLJcSGUkdYFFYz2KmLhrAZHRsXeumt-QxHuvZ6ZnW09O6LU/s400/contacto.png" style="cursor:pointer; cursor:hand;width: 400px; height: 194px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5575907901192804338" /></span></div><div style="text-align: center;"><br /></div><div style="text-align: center;">-------------------------------------------------------------------------------------</div><div style="text-align: center;"><span class="Apple-style-span"></span><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcH0E4jLsf56iCtpvASJIz-hpWNdu3fqDOZfpWnPh-S8nZEPitt5tPcCmBVt7s3hophlHFlheHqyhQTywRvMrWPdYz0eR2CftVc0oUlHtn16SXKWoM2edHHM7Dgz9sX8Hf2aFSg2SxVCI/s400/cita.png" style="cursor:pointer; cursor:hand;width: 400px; height: 184px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5575908325033869810" /></div><div style="text-align: center;">-------------------------------------------------------------------------------------</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-TzhZjbCn9Quyp6VngUtJr40Yp1nZMUr93gdY_UMTyX3oIkhsiTekjNTuTfiLeVVkw7N_HzPa6EwBN-9uyDt08dmsCjiZ-mZwaE390QUwUqWfskexnsgyN9d4VWuqaLxBcOFKcw3dfM/s400/lista.png" style="cursor:pointer; cursor:hand;width: 400px; height: 119px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5575908956429236338" /></div><div style="text-align: center;">-------------------------------------------------------------------------------------</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0xYyRlfQK9JYy5VKhyu-cnHXaYyc0z1Ww6xy7oCeBZjtWQIaxh5qGRei2ULmMacTqZBYAGu2R-cXyAqPAlTnNuP655INPgcCzE5kIq3kfNTpKDAGfaisrAJnzmjyeZq7RSyEEPJlA0tY/s400/pruebad.png" style="cursor:pointer; cursor:hand;width: 400px; height: 319px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5575910267650567058" /></div><div style="text-align: center;"><span class="Apple-style-span"><br /></span></div><div style="text-align: center;"><span class="Apple-style-span">-------------------------------------------------------------------------------------</span></div><div style="text-align: center;"><span class="Apple-style-span"><br /></span></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1tag:blogger.com,1999:blog-7168781659162688909.post-7038462731081163672011-02-15T05:25:00.000-08:002011-03-28T20:55:42.037-07:00Avance de clases en el proyecto final<pre><span style="font-weight: bold; font-style: italic;">En este avance identificamos las clases que usaremos</span><br /><span style="font-weight: bold; font-style: italic;">mientras para el proyecto, en esta clase llamada Usuarios </span><br /><span style="font-weight: bold; font-style: italic;">es donde se registraran obviamente las personas que agreguemos, cuenta </span><br /><span style="font-weight: bold; font-style: italic;">con una "id", "nombre", "direccion", "telefono", "email" y "sexo"</span><br />-------------------------------------------------------------<br />public class Contacto {<br /><br /> private Long id;<br /> private String nombre;<br /> private String direccion;<br /> private String telefono;<br /> private String email;<br /> private String sexo;<br /><br /> public String getDireccion() {<br /> return direccion;<br /> }<br /><br /> public void setDireccion(String direccion) {<br /> this.direccion = direccion;<br /> }<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public Long getId() {<br /> return id;<br /> }<br /><br /> public void setId(Long id) {<br /> this.id = id;<br /> }<br /><br /> public String getNombre() {<br /> return nombre;<br /> }<br /><br /> public void setNombre(String nombre) {<br /> this.nombre = nombre;<br /> }<br /><br /> public String getSexo() {<br /> return sexo;<br /> }<br /><br /> public void setSexo(String sexo) {<br /> this.sexo = sexo;<br /> }<br /><br /> public String getTelefono() {<br /> return telefono;<br /> }<br /><br /> public void setTelefono(String telefono) {<br /> this.telefono = telefono;<br /> }<br /><br /><br />}<br />-------------------------------------------------------------<br /><span style="font-weight: bold; font-style: italic;">En esta clase usaremos las Citas programadas, que</span><br /><span style="font-weight: bold; font-style: italic;">contaran con tambien un "id", "el nombre del contacto", </span><br /><span style="font-weight: bold; font-style: italic;">"fecha", "hora" y "evento".</span><br /><br /></pre><pre><span class="Apple-style-span" style="color: rgb(34, 34, 34); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px; white-space: normal; "><pre>public class Cita { int id; Contacto contacto; String direccion; String fecha; String hora; String evento; public Cita() { } public String getevento() { return evento; } public void setevento(String evento) { this.evento = evento; } public Contacto getContacto() { return contacto; } public void setContacto(Contacto contacto) { this.contacto = contacto; } public String getFecha() { return fecha; } public void setFecha(String fecha) { this.fecha = fecha; } public String getHora() { return hora; } public void setHora(String hora) { this.hora = hora; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getDireccion() { return lugar; } public void setDireccion(String direccion) { this.direccion = direccion; } }</pre></span></pre><pre>------------------------------------------------------------</pre><pre><br /></pre>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1tag:blogger.com,1999:blog-7168781659162688909.post-82710390297709758442011-02-06T16:54:00.000-08:002011-02-14T18:59:22.397-08:00Taller de programacion orientada a objetos<span style="font-weight: bold; font-style: italic;">Programa con varias clases multiples (3 clases)</span><br /><br />Este programa que intente realizar es sencillo, ya que nos muestra el ID y el saldo de un cliente, este programa tiene 3 clases: Principal, Cliente y Cuenta.<br /><br />--------------------------------------------------------------------------------------------------------------------------------------<br /><span style="color: rgb(51, 51, 255);">en la clase Principal, le damos la instruccion que muestre el valor y el sueldo del cliente 1 (c1) y nos lo muestre en la pantalla, aqui le asignamos un numero de cliente y numero de cuenta que en la siguiente clase la declaramos privados</span><br />--------------------------------------------------------------------------------------------------------------------------------------<br /><br />public class Principal {<br /> public static void main (String[] args) {<br /> Cliente c1 = new Cliente("1453478","Alejandro");<br /> Cuenta cuenta1 = new Cuenta(c1,"001",25000);<br /> <br /> System.out.print("Nombre:" + cuenta1.getCliente().getNombre());<br /> System.out.println("Saldo:" + cuenta1.getSaldo());<br /> }<br />}<br />--------------------------------------------------------------------------------------------------------------------------------------<br /><span style="color: rgb(51, 51, 255);">en esta clase Cliente le damos las instrucciones para que se le asigne el nombre del id y del nombre, dandole atributos privados.</span><br /><br /><br />public class Cliente {<br /> private String id;<br /> private String nombre;<br /><br /> public Cliente(String id,String nombre) {<br /> this.id=id;<br /> this.nombre=nombre;<br /><br /> }<br /><br /> public String getId(){<br /> return id;<br /> }<br /> public String getNombre(){<br /> return nombre;<br /> }<br />}<br />--------------------------------------------------------------------------------------------------------------------------------------<br /><span style="color: rgb(51, 51, 255);">en la ultima clase que es Cuenta, es casi lo mismo que la clase anterior, que es para asignarle el numero de cuenta que es privado.</span><br /><br />public class Cuenta {<br /> private Cliente cliente;<br /> private String numCuenta;<br /> private double saldo;<br /><br /> public Cuenta(Cliente cliente,String numCuenta,double saldo){<br /> this.cliente=cliente;<br /> this.numCuenta=numCuenta;<br /> this.saldo=saldo;<br /> }<br /><br /> public Cliente getCliente() {<br /> return cliente;<br /> }<br /> public String getNumCuenta() {<br /> return numCuenta;<br /> }<br /> public double getSaldo(){<br /> return saldo;<br /> }<br />}Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1tag:blogger.com,1999:blog-7168781659162688909.post-20008096004208027972011-01-31T17:45:00.000-08:002011-01-31T18:11:25.143-08:00Crisis del Software<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 13px; line-height: 16px; ">El término más conocido es "crisis del software", referida no tan solo a la época en que se comenzaron a desarrollar sistemas de software de tamaño mediano y grande, en la década de 1960, sino también en la actualidad, en pleno siglo XXI. La crisis del software es la falta de capacidad de las organizaciones que producen software para dominar la complejidad inherente del software y desarrollar productos en tiempo y forma pactado. </span><span class="Apple-style-span" style="font-size: small; line-height: 16px; ">Algunas referencias útiles para comprender cuáles </span><span class="Apple-style-span" style="font-size: small; line-height: 16px; ">eran los conocimientos estables para el desarrollo </span><span class="Apple-style-span" style="font-size: small; line-height: 16px; ">de software en 1968 son:</span></span><div><div><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 16px;"><br /></span></span></div><div><ul><li><span class="Apple-style-span" ><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">En 1962 se publicó el primer algoritmo para </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">búsquedas binarias</span></span></li></ul></div><div><ul><li><span class="Apple-style-span" ><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">C.Böhm y G. Jacopini publicaron en 1966 el </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">documento que creaba una fundación para la </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">eliminación de "GoTo" y la creación de la </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">programación estructurada.</span></span></li></ul></div><div><ul><li><span class="Apple-style-span" ><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">En 1968 los programadores se debatían entre el </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">uso de la sentencia GoTo, y la nueva idea de </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">programación estructurada; ese era el caldo de </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">cultivo en el que Edsger Dijkstra escribió su </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">famosa carta "GoTo Statement Considered </span><span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; font-size: small; line-height: 16px; ">Harmful" en 1968.</span></span></li></ul><div><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 16px; "><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; "><p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; color: rgb(0, 0, 0); font-family: sans-serif; "><img src="http://rolandoastarita.files.wordpress.com/2010/12/04-variacic3b3n-de-inversic3b3n-en-equipos-y-software-eeuu-1988_2008.jpg?w=700&h=419" style="cursor:pointer; cursor:hand;width: 700px; height: 419px;" border="0" alt="" /></p><p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; color: rgb(0, 0, 0); font-family: sans-serif; "><br /></p><p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "><span class="Apple-style-span">Por último, las aplicaciones de hoy en día son programas muy complejos, inabordables por una sola persona. En sus comienzos se valoró como causa también la inmadurez de la ingeniería de software, aunque todavía hoy en día no es posible realizar estimaciones precisas del coste y tiempo que necesitará un proyecto de software.</span></p><p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; color: rgb(0, 0, 0); font-family: sans-serif; ">Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software:</p><ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://bits.wikimedia.org/skins-1.5/vector/images/bullet-icon.png?1); font-family: sans-serif; "><li style="margin-bottom: 0.1em; "><span class="Apple-style-span" >Los proyectos no terminaban en plazo.</span></li><li style="margin-bottom: 0.1em; "><span class="Apple-style-span" >Los proyectos no se ajustaban al presupuesto inicial.</span></li><li style="margin-bottom: 0.1em; "><span class="Apple-style-span" >Baja calidad del software generado.</span></li><li style="margin-bottom: 0.1em; "><span class="Apple-style-span" >Software que no cumplía las especificaciones.</span></li><li style="margin-bottom: 0.1em; "><span class="Apple-style-span" >Codigo inmantenible que dificultaba la gestión y evolución del proyecto.</span></li></ul><div><span class="Apple-style-span"><br /></span></div><div><span class="Apple-style-span">En clase vimos un ejemplo de como hace tiempo en un aeropuerto hubo muchas fallas en un sistema para organizar el equipaje, esto se debio al mal desarrollo de este proyecto y a la pesima calidad que se le puso, aqui les dejo un video de como en una conferencia de microsoft surge el famoso error de "la pantalla azul de la muerte" , esto quiere decir que ni grandes empresas como Microsoft estan invulnerables a este tipo de fallas y queda mucho por arreglar.</span></div><div><span class="Apple-style-span"><br /></span></div></span></span></span></div></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 16px;"><br /></span></span></div></div><div style="text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzQ7J-te-ReWxaMYoCWM1sL1f5hbi49ymeWlxErakS7xLML8_vJYDdDnLdKkuQCCSUf78sikbv_G6oOIQLISg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com0tag:blogger.com,1999:blog-7168781659162688909.post-11641589806559615932011-01-31T17:07:00.000-08:002011-01-31T17:40:10.435-08:00Proyecto final<span class="Apple-style-span"><span class="Apple-style-span"><div><span class="Apple-style-span">En</span><span class="Apple-style-span"><span class="Apple-style-span"> el proyecto final, trataremos de crear una agenda personal, primeramente con los aspectos basicos que debe de tener, como dar de alta un contacto, con sus respectivos detalles (nombre, direccion, telefono, email, datos personales, etc) o darlo de baja. Tambien agregaremos las opciones de busqueda, editar, borrar, cambiar, etc. Con el paso del tiempo iremos agregando mas funciones, como que se conecte a una base de datos y se guarden y actualizen todo lo que el usuario quiera</span>. El programa lo realizaremos con Java, y despues veremos si lo pasamos a Android.</span></div></span></span><div><br /></div><div><span class="Apple-style-span"><span class="Apple-style-span"><b>Herramientas que usaremos:</b></span></span></div><div><ul><li><span class="Apple-style-span"><b>jdk java development kit</b></span></li><li><span class="Apple-style-span"><b>Linux</b></span></li><li><span class="Apple-style-span"><b>emacs para escribir el codigo</b></span></li><li><span class="Apple-style-span"><b>Mysql para la base de datos</b></span></li><li><span class="Apple-style-span"><b>Android para dispositivos moviles</b></span></li></ul><div style="text-align: center;"><span class="Apple-style-span"><b><img src="http://www.g3ekarmy.mx/wp-content/uploads/2010/12/Logo-Java.jpg" style="cursor:pointer; cursor:hand;width: 600px; height: 400px;" border="0" alt="" /></b></span></div><div><span class="Apple-style-span"><b><br /></b></span></div></div><div><span class="Apple-style-span"><b>En el programa usaremos objetos como "agenda", "contactos", "busqueda", "menu", entre otros, cada uno con sus respectivos metodos y clases.</b></span></div><div style="text-align: center;"><span class="Apple-style-span"><b><br /></b></span></div><div style="text-align: center;"><span class="Apple-style-span"><b><img src="http://www.pendulo.mx/fotos/android_logo.jpg" style="cursor:pointer; cursor:hand;width: 500px; height: 323px;" border="0" alt="" /></b></span></div><div><span class="Apple-style-span"><br /></span></div><div><span class="Apple-style-span">Integrantes: Alejandro Josafat Loera Ramirez </span></div><div><span class="Apple-style-span"> Gabriela Martinez Ponce</span></div><div><span class="Apple-style-span"> </span></div><div><span class="Apple-style-span"><br /></span></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1tag:blogger.com,1999:blog-7168781659162688909.post-25396664028692868982011-01-24T13:53:00.000-08:002011-01-24T20:53:18.434-08:00Clase: Taller de programacion orientada a objetos<div style="text-align: center;"><span style="color: rgb(51, 102, 255);font-size:180%;" >Practica 1</span><br /></div><span style="font-size:180%;"><span style="font-weight: bold; font-style: italic;">Herramientas </span></span><br /><span style="font-size:100%;"><br />Las herramientas que utilizare para el avance del curso</span> sera Python, ya que se me hace un lenguaje sencillo pero potente. Ubuntu por defecto ya cuenta con varios lenguajes de programación, por lo que ya cuenta con en lenguaje Python.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.glatelier.org/wp-content/uploads/2009/04/python-logo.png?w=284"><img style="cursor: pointer; width: 338px; height: 114px;" src="http://www.glatelier.org/wp-content/uploads/2009/04/python-logo.png?w=284" alt="" border="0" /></a><b><br /></b><div style="text-align: left;"><b>Python</b> es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible.<br />Se trata de un lenguaje de programación multiparadigma ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación multifuncional. Es un interpretado, usa tipado dinámico, es fuertemente tipado y es multiplataforma.<br /><span style="font-weight: bold; color: rgb(51, 153, 153);">Este es un programa sencillo que hice en python, que muestra las poblaciones de 4 ciudades en total</span><br />--------------------------------------------------------------------------------------------------------------------------------------<br /><span style="color: rgb(51, 153, 153);">#le damos nombre a la clase u objeto, aqui solo pongo un objeto</span><br />class Ciudad:<br /><span style="color: rgb(51, 153, 153);">#despues de esto con la instruccion def_init_ le damos valores a los atributos, en este caso ciudad y habitantes, y las instrucciones para los metodos</span><br />def __init__(self, ciudad, habitantes):<br /> <br /> self.nombrec = ciudad<br /> self.habitantes = habitantes<br />def getNombre(self):<br /> return self.nombrec<br /><br />def getNumeroHabitantes(self):<br /> return self.habitantes<br />def main():<br /><span style="color: rgb(51, 153, 153);">#aqui ponemos las ciudades y el numero de habitantes que aparezcan en la pantalla </span><br />ciudad1 = Ciudad("Madrid", 170.187)<br />ciudad2 = Ciudad("Cataluna", 143.933)<br />ciudad3 = Ciudad("Monterrey", 1.130960)<br />ciudad4 = Ciudad("Paris", 2.193031)<br /><span style="color: rgb(51, 153, 153);">#mandamos a imprimir los numeros de habitantes con sus respectivas ciudades</span><br />print ciudad1.getNombre()<br />print ciudad1.getNumeroHabitantes()<br />print ciudad2.getNombre()<br />print ciudad2.getNumeroHabitantes()<br />print ciudad3.getNombre()<br />print ciudad3.getNumeroHabitantes()<br />print ciudad4.getNombre()<br />print ciudad4.getNumeroHabitantes()<br />main()<br /><span style="color: rgb(51, 153, 153);">#fin del programa</span> <span style="color: rgb(51, 153, 153);">#alejandro josafat-1453478</span><br />--------------------------------------------------------------------------------------------------------------------------------------<br /><br /><div style="text-align: center;"><span style="font-style: italic;">Captura de pantalla</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYnZlmwQtPqnEkOc876tHja3dvDZKz9fEwyXWjttnYIv2bvgJjac2Db3-HEG1qN5TX5V6t4M2Nh_TPUrsF7ak5vgbCMjGpShRKcfXCB1xgXxoLyVD61UaYL6q6iNb07NwimbvWbspys0g/s1600/Pantallazo+%2528Modificada%2529.png"><img style="cursor: pointer; width: 400px; height: 281px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYnZlmwQtPqnEkOc876tHja3dvDZKz9fEwyXWjttnYIv2bvgJjac2Db3-HEG1qN5TX5V6t4M2Nh_TPUrsF7ak5vgbCMjGpShRKcfXCB1xgXxoLyVD61UaYL6q6iNb07NwimbvWbspys0g/s400/Pantallazo+%2528Modificada%2529.png" alt="" id="BLOGGER_PHOTO_ID_5565980757244329474" border="0" /></a><br /><br /><div style="text-align: left;">Fuentes:<br />me base en los métodos y atributos de la siguiente pagina<br /><a href="http://www.linuxhispano.net/2009/10/29/metodos-estaticos-en-python/">http://www.linuxhispano.net/2009/10/29/metodos-estaticos-en-python/</a><br /><br />Dra. Sara no pude como poner el syntax highlight espero y poder preguntarle para corregirlo<br /></div></div><br /><div style="text-align: center;"><br /></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div><div style="text-align: left;"><p><br /></p><p><br /></p></div></div>Alejandro Josafathttp://www.blogger.com/profile/04217960499963272488noreply@blogger.com1