lunes, 9 de agosto de 2010

Taller_ingesoftware_definitivo200901

POLITECNICO COLOMBIANO JAIME ISAZA CADAVID



TALLER DE INGENIERIA DE SOFTWARE
Asignatura: Análisis y Diseño
Profesor: BERNARDO MOLINA ZULUAGA, bmolina@escolme.edu.co
 


ENUNCIADO
 

Suponga que creará un sistema informático que jugará ajedrez con un usuario. Diseñe LOS MODELOS UML que permitan implementar una solución elabore el diagrama de clases, el de casos de uso, el de secuencias y colaboración necesario para responder al menos a los siguientes requerimientos:

La partida de ajedrez se juega entre dos adversarios que mueven alternativamente sus propias piezas sobre un tablero cuadrado, llamado "tablero de ajedrez". El jugador con las piezas blancas comienza la partida. Se dice que un jugador "está en juego" cuando se ha realizado la jugada de su adversario.

El objetivo de cada jugador es situar al rey de su adversario "bajo ataque", de tal forma que el adversario no disponga de ninguna jugada (movimiento de pieza) legal que evite la "captura" del rey en la siguiente jugada. Del jugador que alcanza este objetivo se dice que ha dado "mate" al rey de su adversario y que ha ganado la partida. El adversario, cuyo rey ha recibido el mate, pierde la partida.

Si la posición es tal que ninguno de los jugadores puede dar mate, la partida es tablas.

Reconocer que tipo de pieza es cada una (Rey, reina, alfil, caballo, torre y peón)

Reconocer la forma de moverse de cada pieza:

No está permitido mover una pieza a una casilla ocupada por una pieza del mismo color. Si una pieza se mueve a una casilla ocupada por una pieza de su adversario, ésta es capturada y retirada del tablero como parte del mismo movimiento.

El alfil a cualquier casilla a lo largo de una de las diagonales sobre las que se encuentra.

La torre a cualquier casilla a lo largo de la fila o columna en las que se encuentra.

La dama a cualquier casilla a lo largo de la fila, columna o diagonal en las que se encuentra.

El caballo a una de las casillas más próximas a la que se encuentra, sin ser de la misma fila, columna o diagonal.

El peón puede hacia adelante a la casilla inmediatamente delante suyo en la misma columna, siempre que dicha casilla esté desocupada, o en su primer movimiento puede avanzar dos casillas a lo largo de la misma columna, siempre que ambas casillas estén desocupadas, o el peón puede ser movido a una casilla ocupada por una pieza del adversario que esté en diagonal delante suyo, sobre una columna adyacente, capturando dicha pieza.

Cuando un peón alcanza la fila más alejada desde su posición inicial debe ser cambiado, como parte del mismo movimiento, por una dama, torre, alfil o caballo del mismo color.

Hay dos formas diferentes de mover el rey: Desplazándolo a cualquier casilla adyacente no atacada por una o más piezas del adversario. O el "Enrocando". Movimiento del rey y de una de las torres del mismo color y que esté en la misma fila: el rey es trasladado dos casillas desde su casilla original hacia la torre y luego dicha torre es trasladada a la casilla que acaba de cruzar el rey.

Reconocer el tablero (número de casillas, identificadas las filas por letras y pro números las columnas)

Reconocer si una pieza es blanca o negra y en que casilla se encuentra.

ACTIVIDADES

Fase Análisis del problema (Lectura analítica del enunciado)

  1. Identificar Actores.
  2. Identificar Casos de Usos.
  3. Elaborar Diagrama de Caso de Uso.
  4. Elaborar Especificación textual del Caso de Uso.


Fase Análisis de textual del problema (Lectura gramatical del enunciado)

  1. Identificar Objetos y Clases Candidatas.
  2. Identificar Características y atributos candidatos.
  3. Identificar operaciones y métodos candidatos.
  4. Identificar, jerarquías y relaciones de clases.
  5. Elaborar Listado de Clases Candidatas.
  6. Elaborar Diagrama de clases candidatas.


Fase Análisis Funcional de Escenarios de utilizacion

  1. Análisis de la especificación textual de cada escenario de utilizacion.
  2. Identificar Objetos que participan en el escenario de utilizacion.
  3. Identificar relaciones estimulo - acccion - efecto (Evento/Metodo/Cambio de estado)
  4. Establecer mensajes entre objetos y secuencias de interaccion.
  5. Elaborar el Diagrama de Secuencias.
  6. Elaborar el Diagrama de Clases.


Fase Diseño Funcional refinamiento del comportamiento de objetos en relación a estimulo - acción - efecto (Evento/Método/Cambio de estado)

  1. Ordenación de interacciones estimulo/acción.
  2. Diseño de Interfaces internas
  3. Diseño de Interfaces externas
  1. Elaborar Diagrama de Colaboración.
  2. Identificar relaciones estimulo - acción - efecto (Evento/Método/Cambio de estado).
  3. Elaborar Diagrama de Estados.
  4. Identificar Heurística de actividades de los objetos.
  5. Elaborar Diagrama de actividades.
  6. Actualizar Diagrama de estructura estática de clases.
  7. Actualizar Diagrama de Objetos.
  8. Diseño de componentes.


Fase Implementación (Calificación de arquitectura de clases)

  1. Implementación de clases padres
  2. Implementación de atributos, heurística de clases
  3. Compilacion de framework base de la solución (arquitectura de clases).


Fase Implementación (Codificacion de Interfaces internas/externas)

  1. Implementación de Interfaces internas.
  2. Implementación de Interfaces externas.
  3. Integracion de framework base de la solución (arquitectura de clases).
  4. Pruebas


RECURSOS
 

Sitio DE INTERÉS

  • Para modelar uml en linea: http://yuml.me/
  • Herramientas Case para modelar UML
  •  

sábado, 7 de agosto de 2010

Jonathan Zittrain: La Web y sus actos fortuitos de bondad

Jonathan Zittrain: La Web y sus actos fortuitos de bondad




Me llamo Jonathan Zittrain, y durante mi último trabajo me he sentido un poco pesimista. Así que he pensado esta mañana que me gustaría ser optimista, y dar razones para la esperanza para el futuro de Internet diseñando el presente.

Puede parecer que haya menos esperanza ahora que la que había antes. Las personas son menos amables. Hay menos confianza en todo. No lo sé. Como muestra, podríamos hacer una prueba aquí. ¿Cuántas personas han hecho alguna vez autostop? Lo sé... ¿Cuántas personas han hecho autostop en los últimos 10 años? Claro. ¿Qué ha cambiado? El transporte público no es mejor. Así que ésa es una razón para pensar que estamos empeorando, yendo por una dirección equivocada.

Pero yo quisiera poner tres ejemplos con el fin de mostrar que la tendencia va, de hecho, hacia la otra dirección y es Internet el motor que contribuye a ello. Así el ejemplo número uno: Internet mismo. Éstos son los tres fundadores de Internet. Eran en realidad compañeros de bachillerato en el mismo instituto de un barrio de Los Ángeles en la década de los 60. Puede que ustedes tuvieran un club francés o de debate. Ellos tenían el club "Vamos a montar una red mundial", y todo salió muy bien.

Aquí en la foto aparecen en su 25º aniversario, La retrospectiva de Newsweek sobre Internet. Y como pueden ver, son básicamente unos chiflados, que tenían una gran limitación y una gran libertad al intentar concebir una red mundial. La limitación es que no tenían dinero. Ningún capital para invertir, en una red física donde posiblemente se necesitara camiones y personal y un centro para mover paquetes durante la noche. Pero ellos no tenían nada de eso.

Pero tenían una libertad asombrosa, pues no pretendían hacer dinero con esto. Internet no tiene un plan de negocios, nunca lo tuvo. Tampoco director general, ninguna empresa responsable, individualmente, de su construcción. En cambio, las personas se van reuniendo para hacer algo solo para divertirse, y no porque se les obligó a hacerlo o porque esperaban hacer dinero con ello.

Esa ética los llevó a una arquitectura de red, una estructura que se diferenció de otras redes digitales desde y a partir de entonces. De modo inusitado, de hecho, se dijo que no estaba claro que Internet pudiera funcionar. Más tarde en 1992, IBM manifestó que no se podría construir una red corporativa mediante el protocolo de Internet. E incluso algunos ingenieros de Internet hoy en día dicen que todo esto es un proyecto piloto y el jurado aún está deliberando. (Risas)

Por eso la mascota de la tecnología de Internet, si es que debiera haber una, sería el abejorro. Debido a que la envergadura del ala del abejorro es casi demasiado larga para que sea capaz de volar. Y, sin embargo, misteriosamente, de alguna manera vuela. Me complace decir que, gracias a la financiación masiva del gobierno, hace unos tres años, finalmente se ha sabido cómo vuelan las abejas. (Risas) Es muy complicado, pero resulta que agitan las alas muy rápidamente. (Risas)

Entonces, ¿cómo está montada esta arquitectura tan caprichosa que hace que la red fluya en sintonía y además sea tan inusual? Bueno, para mover datos de un lugar a otro - pero, no como un servicio de mensajería. Es más como una danza de mosh o pogo. (Risas) Imagínense, siendo parte de una red donde tal vez esté en un evento deportivo. Y usted está sentado en una de las filas y alguien pide una cerveza, y se hace una cadena de manos. Y su deber como buen vecino es hacer que pase la cerveza, arriesgando mancharse los pantalones, para llegar al destino.

Nadie te paga por hacer esto. Es parte del deber de ser buen vecino. Y, en cierto modo, así es exactamente cómo los paquetes se mueven por Internet, a veces dando 25 o 30 saltos, a través de las entidades que intervienen que están moviendo y pasando los datos sin tener ninguna obligación contractual o jurídica con el remitente original, o con el receptor.

Claro está que en un mosh es difícil especificar un destino. Se necesita mucha confianza, pero no del tipo "Por favor, lléveme a Pensacola". Así que Internet necesita destinatarios y direcciones. Resulta que no existe un mapa general de Internet. En vez de eso, es como si todos estuviéramos en un teatro, pero sólo pudiéramos ver entre la niebla a la gente que nos rodea. Entonces, ¿qué podemos hacer para averiguar quién está dónde? Nos dirigimos a la persona a la derecha y le explicamos lo que vemos a nuestra izquierda. Y viceversa. Y pueden enjabonar, enjuagar, repetir. Y antes de que nos demos cuenta, tendremos una idea general de dónde está todo.

Así es cómo funcionan realmente las direcciones de Internet y el enrutamiento. Es un sistema que se basa en la bondad y la confianza, lo que también le convierte en un sistema muy frágil y vulnerable. En casos raros, pero asombrosos, una sola mentira contada por una sola entidad, en este nido de abeja puede llevar a un gran problema.

Así, por ejemplo, el año pasado, el gobierno de Pakistán pidió a sus proveedores de servicios de Internet impedir que los ciudadanos de Pakistán vieran YouTube. Había allí un vídeo que al gobierno no le gustaba y por eso quería bloquearlo. Ésta es una incidencia común. Los gobiernos en todas partes intentan a menudo bloquear, filtrar y censurar contenidos en Internet.

Bueno este ISP de Pakistán eligió para hacer efectivo el bloqueo para sus abonados una manera bastante inusual. Anunciaba -- la forma en que se podría pedir, si se fuese parte de Internet, expresar lo que está pasando cerca -- de hecho, así se detectó de repente de que se trataba de YouTube. "Así es", dijo, "Yo soy de YouTube." Lo que significaba que los paquetes de datos de los abonados que iban a YouTube se detuvieron en el ISP, porque pensaban que ya habían llegado al destino. Y el ISP los tiró a la basura sin abrirlos porque se trataba de bloquearlo.

Pero la cosa no quedó ahí. Vean el comunicado salió mediante un solo clic, que repercutió en el exterior. Y resulta que, cuando se analiza la historia de este suceso, se ve que en un primer momento que YouTube funciona perfectamente. Luego, en un segundo momento, se ve como el anuncio falso se emite. Y en dos minutos, esto repercute en todas partes y YouTube queda bloqueado en todo el mundo. Si estuviera sentado en Oxford, Inglaterra, tratando de conectar a YouTube, los paquetes se irían a Pakistán y no regresarían.

Ahora sólo piensen en eso. Uno de los sitios web más populares en el mundo, dirigido por la empresa más poderosa del mundo, y no hubo nada que YouTube o Google pudieran hacer para evitarlo a pesar de su poderío. Y, sin embargo, de alguna manera, en unas dos horas, el problema se solucionó. ¿Cómo fue posible?

Para una gran respuesta, nos remitimos a NANOG, el North American Network Operators Group, [Grupo de operadores de la Red de América del Norte]. Se trata de un grupo de personas que en cualquier día hermoso en una habitación sin ventanas, en sus computadoras leen el correo electrónico y mensajes con tipos de fuentes fijas, como éste, y hablan sobre redes. Y algunos de ellos son empleados de compañías proveedoras de servicios de Internet en todo el mundo. Y aquí muestro el mensaje de uno de ellos: "Parece que tenemos un problema. ¡Han bloqueado YouTube!. Esto no es un simulacro. No es sólo un despiste de los ingenieros de YouTube. Lo prometo. Algo está pasando en Pakistán." Y entonces se unieron para ayudar a encontrar el problema y solucionarlo.

Es algo así como si su casa se incendia. La mala noticia es que no hay cuerpo de bomberos. La buena noticia es que hay gente que aparece de la nada, apaga el fuego y se va sin esperar nada a cambio. (Aplausos) Estaba tratando de pensar en el modelo adecuado para describir este tipo de actos aleatorios de bondad realizados por extraños cerebritos. (Risas) Ya saben, es como cuando se pregona alabanzas a los cuatro vientos, la gente está dispuesta a ayudar. Y resulta que esto existe en todas partes, si se busca.

Ejemplo número dos: Wikipedia. Si un hombre llamado Jimbo se le hubiera acercado en 2001 y le hubiera dicho: "Tengo una gran idea. Empezamos con siete artículos que cualquiera pueda editar en cualquier momento, y lograremos tener una gran enciclopedia. ¿Vale?" Claro. La idea más tonta del mundo. (Risas) De hecho, Wikipedia es una idea tan tonta que ni siquiera a Jimbo se le hubiera ocurrido.

La idea de Jimbo era Nupedia. Concebida como algo tradicional. El fundador debía pagar dinero a los redactores porque se sentía buena persona y el dinero iría a parar a las personas que escribieran los artículos. Se implantó la tecnología wiki de manera que otros pudieran hacer sugerencias sobre las modificaciones -- casi como una idea tardía, una cuarto trasero. Y resulta que el cuarto trasero creció absorbiendo la totalidad del proyecto.

Y hoy, Wikipedia es tan omnipresente que ahora se puede encontrar incluso en los menús de restaurantes chinos. (Risas) No lo estoy inventando. (Risas) Tengo una teoría que puedo explicar más tarde. Baste decir por ahora que yo prefiero mi Wikipedia salteada con pimientos. (Risas)

Pero ahora, Wikipedia no sólo funciona de forma espontánea. ¿Cómo funciona realmente? Resulta que hay una sala trasera, una sin ventanas, metafóricamente hablando. Y hay un montón de gente que, en un día soleado, prefieren no salir y hacer el seguimiento de esto, administrar el tablón de anuncios, de una página wiki que cualquiera puede editar. Y que genera problemas a la página. Es una reminiscencia de la descripción de la historia de "una cosa tras la otra", ¿verdad?

Número uno: "La edición tendenciosa del usuario Andyvphil". Disculpe Andyvphil, caso de que usted esté aquí hoy. No estoy tomando partido. No estoy tomando partido."Anon me ataca para volver". Esta es mi favorita: "Una larga historia." (Risas) Resulta que hay más personas en esta página para comprobar los problemas y el deseo de resolverlos que problemas que se plantean en la página.

Y eso es lo que mantiene a flote Wikipedia. En todo momento, Wikipedia está aproximadamente a 45 minutos de la destrucción total. ¿Vale? Hay spambots rastreando, tratando de convertir cada artículo en un anuncio de un reloj Rolex. (Risas) Es esta línea delgada de los cerebritos que mantiene todo en funcionamiento. No por ser un empleo, ni por hacer carrera, sino por vocación. Es algo a lo que se sienten obligados a hacer porque se preocupan.

Incluso se asocian en grupos como la Unidad contra el vandalismo -- "Civismo, madurez, responsabilidad" -- sólo para limpiar las páginas. Puede que se pregunte, si hubo, por ejemplo, una convención muy popular de Star Trek durante un fin de semana, quién podría hacerse cargo de la tienda. (Risas)

Así que lo que vemos, (Risas) lo que vemos en este fenómeno es algo que el loco y desaparecido ingeniero de tráfico Hans Monderman, descubrió en los Países Bajos, y aquí en South Kensington, que, si se eliminan algunas de las normas externas y las señales y todo lo demás, al final realmente se puede lograr un entorno más seguro en el que la gente puede funcionar, y donde se es más humano con los demás. Ellos se dan cuenta de que tienen que asumir la responsabilidad de lo que hacen. Y la Wikipedia ha abrazado este principio.

Algunos de ustedes pueden recordar a Star Wars Kid, el pobre adolescente que se filmó a sí mismo con una pértiga de recuperar bolas de golf. actuando como si se tratara de un sable láser. La película, sin su permiso, o incluso con su conocimiento en un primer momento, encontró su camino en Internet. Un increíble vídeo viral. Extremadamente popular. Muy humillante para él.

Incluso se ha convertido en enciclopédico y todo. Wikipedia tuvo que hacer un artículo sobre Star Wars Kid. Cada artículo de Wikipedia tiene una página de discusión correspondiente. Y en la página de discusión había una discusión larga de los wikipedistas, en cuanto a si su nombre real debía aparecer en el artículo. Se pueden leer argumentos de ambas partes. Ésto es sólo una muestra de algunos de ellos. Finalmente decidieron, no por unanimidad ni mucho menos, no incluir su nombre real, a pesar de que casi todos los medios de comunicación lo hicieron. Ellos simplemente no creían que era lo correcto. Fue un acto de bondad.

Y a partir de ese día la página de Star Wars Kid tiene una señal de alerta en la parte superior que reza que no se debe poner el nombre real en la página. Si lo hace se eliminará inmediatamente, se eliminará por personas que puede que hayan estado en desacuerdo con la decisión original, pero respetan el resultado, y trabajan para que se respete porque creen en algo más grande que su propia opinión. Como abogado, tengo que decir que estos tipos están inventando la ley derechos a través de hechos a medida que avanzamos.

Ahora bien, esto no se limita sólo a Wikipedia. Lo vemos en los blogs por doquier. Esto es una portada del Business Week del 2005. Guau. Los blogs van a cambiar su negocio. Sé que parecen tontos. Y seguro que parecen tontos. Comienzan en todo tipo de proyectos bobalicones.

Éste es mi blog bobo favorito: Catsthatlooklikehitler.com (Risas) Usted envía una foto de su gato si se parece a Hitler. (Risas) Sí lo sé. El número cuatro, es como, bueno ¿se imaginan volver a casa y ver cada día ese gato? (Risas)

Con esto entonces, se puede ver la misma clase de caprichos aplicado a personas. Éste es un blog dedicado a los retratos penosos. Éste reza: "Prado bucólico con valla de madera en zig zag. ¿Hay un animal muerto detrás de ella?" (Risas) Es como: "¿Sabes? Creo que hay un animal muerto detrás de ella."

Y podemos ver uno tras otro. Hasta que aparece éste. Imagen eliminada a petición del propietario. Eso es todo. Imagen eliminada a petición del propietario. La cuestión es que alguien que resultó mofado escribió al tipo irritante autor del blog, no con una amenaza legal, ni a cambio de pago, y sólo dijo: "Oiga, ¿le importaría?" La persona contestó: "No, está bien."

Creo que podemos construir arquitecturas en línea para hacer tales peticiones humanas mucho más fáciles, para hacer posible para todos nosotros ver que los datos que nos encontramos en línea es material sobre el que se hace clic, se pega, copia y reenvía, que en realidad representa emoción humana, esfuerzo e impacto, y para poder tener espacios éticos y decidir cómo queremos emplearlos.

Creo incluso que pueden adentrarse en el mundo real. A medida que estamos en un mundo con cada vez más censores, podemos acabar -- en todas partes hay una cámara filmándote, tal vez emitiéndose en línea -- con un clip en la solapa con el mensaje: "¿Sabe?, yo preferiría que no". Y contar con la tecnología que comunique a la persona autora de la foto que se debe buscar a esta persona para contactarla antes de que su imagen se divulgue a los cuatro vientos y saber si no le importa. Y la persona que hace la foto puede decidir si lo respeta y la manera de respetarlo.

En el mundo real podemos ver esta clase de filtraciones que tienen lugar en Pakistán. Y ahora tenemos medios con los que podemos construir, como este sistema, para que las personas pueden denunciar la filtración, cuando se topen con ella. Y ya no es sólo un: "Yo no lo sé. Yo no pude llegar. Creo que voy a continuar", pero de repente una conciencia colectiva, sobre lo que está bloqueado y censurado en línea. De hecho, hablar de la tecnología es imitar la vida la imitación de tecnología, o tal vez es al revés:

Un estudio de la Universidad de Nueva York puso a unos robots de cartón con caras sonrientes y un motor que sólo se movían hacia adelante y una banderín colocado en la parte de atrás con el destino deseado. Y en el mensaje: "¿Puede ayudarme a llegar?" Soltaron uno en las calles de Manhattan. (Risas) Hoy en día financian cualquier cosa. Aquí está la gráfica, más de 43 personas ayudando al robot que no podía girar a que se encaminara hacia la dirección correcta, desde una esquina desde una esquina de Washington Square Park a otra.

Esto nos lleva al ejemplo número tres: hacer autostop. Yo no estoy tan seguro de que el autostop esté muerto. ¿Por qué? Existe un servicio para organizar el autostop. Si se llama Craigslist rideshare board Tumbleweeds funcionaba de forma similar. La Craigslist rideshare board es básicamente lo mismo. Ahora, ¿por qué hay personas que lo usan? No lo sé. ¿Tal vez ellos piensan que los asesinos no planifican con premeditación? (Risas) No. Creo que la verdadera respuesta es que una vez que planteas la situación, Una vez superadas las iniciativas pasadas de un proyecto fracasado de antaño que, por cualquier motivo, se ve deslucido, usted puede realmente reavivar la bondad humana y compartir lo que representa el Craigslist.

Y entonces se puede constatar que es posible algo así como: CouchSurfing.org. CouchSurfing: la idea de una persona que, al final, reune a personas que van a algún lugar lejos y les gustaría dormir en el sofá de un extraño de forma gratuita, con personas que viven lejos, y desean que alguien al que no conocen duerma en su sofá de forma gratuita. Es una idea brillante. Es una abeja que, sí, vuela.

Increíble el éxito que ha tenido lo del sofá compartido. Y si usted se está preguntando, no, no se han conocido víctimas mortales asociados con esta iniciativa del sofá compartido. Aunque, sin duda, el sistema de gestión de satisfacción, hasta ahora funciona dejando el informe tras la experiencia del sofá. Así que claro está, la información puede estar sesgada. (Risas)

Así que, mi insistencia, mi pensamiento, es que Internet no es sólo un montón de información. No es un sustantivo. Es un verbo. Y cuando navegas en él, si se escucha y observa con suficiente atención, se descubre que esa información está diciendo algo. Lo que dice es lo que escuchamos ayer, Demóstenes nos lo decía. Es decir, "Vamos a seguir". Muchas gracias. (Aplausos)

Invirtiendo en un mundo mejor después del Crash

Este video de Geoff Mulgan: Invirtiendo en un mundo mejor después del Crash
Nos invita a mirar las dificultades del mundo actual con nuevos ojos.