… como les comente ayer… la tarea consiste en:

- disenhar y desarrollar una aplicacion en c# que interactue con siguiente tabla (en microsoft access):

tabla mensajes

nombre de la tabla: mensajes
campos en la tabla: creado, conversacion, nick, mensaje

La mecanica de la aplicacion (y con lo cual se basara la calificacion de la asignacion) es usar esta tabla para guardar mensajes cortos (maximo 255 caracteres) y poder recuperar mensajes existentes para mostrarlos al usuario.

La implementacion ( * funcionamiento y opciones que hacen a tu aplicacion destacar de las demas) esta abierta a tu imaginacion.

Algunas consideraciones para el correcto uso de la aplicacion en la clase del martes:

- La informacion para conectarse a la base de datos (ConnectionString) debe ser configurable y no estar “dentro” del codigo. (esta informacion no puede estar dentro de la base de datos ya que es necesaria para poderte conectar a la base de datos :P, es decir, no puedes guardar la llave dentro de la caja fuerte y cerrarla…)
– el concepto de “conversacion” es poder clasificar mensajes por tema; en algunos sistemas de chat se conoce como “room”.

buena suerte! ponganle creatividad!

Siguen un grupo de posibles respuestas al post anterior

http://progra3ene2007.wordpress.com/2007/08/31/ejercicio-de-preparacion-para-parcial/

se expuso un caso con 3 entregables. 

  • a) un modelo de clases 
  • b) sentencias sql 
  • c) principios para la definicion de una clase

Para el modelo de clases, este es un posible escenario que puede servirnos de inicio para empezar a disenhar los objetos de la solucion…

Modelo de clases

Para las sentencias sql, les presento unas tentativas al modelo anterior

*: SELECT * FROM Articulo WHERE (cantidad <= cantidad_minima)
*: SELECT quien FROM Movimiento WHERE (nombre_articulo = ‘Tornillo 1/4′)
*: SELECT * FROM Movimiento WHERE (hora >= Now() – 4/24)

Para los principios de definicion de una clase:

public class Articulo {

     #region Miembros Privados

    private string _nombre = “”;
    private double _cantidad = 0;
    private double _minima = 0;

    #endregion

    #region Propiedades Publicas

    public string Nombre {
        get { return _nombre; }
        set { _nombre = value; }
    }

    public double Cantidad {
        get { return _cantidad; }
        set { _cantidad = value; }
    }

    public double CantidadMinima {
        get { return _minima; }
        set { _minima = value; }
    }

    #endregion

}

- Ejercicio de Analisis Sustantivo/Verbo -

” Controlar inventario de articulos, entradas y salidas, quien y a que hora sucede el movimiento.  Cuando algun articulo llegue a cierta cantidad de inventario, se dara aviso al encargado.
Tambien se avisara (al encargado) cada dia de los 5 articulos con menor cantidad.
Todos los avisos se haran por correo electronico especificando nombre y cantidad del articulo. “

[ Entregable (1) Modelo de clases ]

 == Verificacion de Modelo de clases ==

Ejercitar las siguientes peticiones SQL contra el modelo de clases elaborado de la situacion anterior:

SQL–
 
 * mostrar articulos con cantidad menor o igual a su cantidad minima
 * mostrar personas que han utilizado el articulo “Tornillo 1/4″
 * mostrar todos los movimientos de las ultimas 4 horas

[ Entregable (2) Sentencias SQL ]

Codigo para Clase

    Empezar el codigo para una clase identificada completando las declaraciones de miembros privados y propiedades publicas.

[ Entregable (3) Codigo para la clase ]

 

En un post posterior se proporcionaran posibles entregables…

SQL statements – Sentencias SQL

Durante clase estuvimos haciendo ejemplos de consultas a unas tablas ejemplo en internet.  La tabla bbc(name,region,population,gdp) y la tabla nobel(yr,subject,winner).  Ejercitamos el uso de las palabras de SQL ‘SELECT’, ‘FROM’, ‘WHERE’, ‘IN’, ‘LIKE’ y lo que cada una de ellas nos proporciona.  Aqui les muestro ejemplos de lo esperado para el proximo examen del martes

TABLA: Articulo(precio,descripcion,imagen,categoria,nombre)

 * mostrar los articulos que empiecen con “R” y no cuesten mas de 100 pesos
 * mostrar los articulos que pertenezcan a la categoria “Bebidas” que cuesten mas de 20 pesos

TABLA: Cliente(frc,ape_paterno,ape_materno,nombres,telefono)

 * mostrar nombre completo de cliente con apellido paterno “Lopez”
 * mostrar rfc de clientes con area de telefono 656

…explicare uno de los metodos mas sencillos, con el cual podemos desarrollar nuestra habilidad para “pensar” orientado a objetos…

Este metodo se conoce como “Noun/Verb Analysis” o analisis sustantivo/verbo y requiere que los requerimientos/especificaciones para nuestra solucion sean redactados de una manera clara especificando lo mas posible los detalles a considerar.  A partir de este texto, se comienza por identificar los sustantivos relevantes.  Despues de esto, se sigue por identificar verbos (o acciones).  Una vez idenficados estos dos grupos de palabras o frases, se prosigue a ver la lista de sustantivos para empezar a identificar posibles objetos y propiedades pertinentes para nuestra solucion, y bosquejar clases tentativas a desarrollar en nuestro proyecto (aplicacion orientada a objetos).

 Ya con este primer bosquejo, podemos tambien asignarle acciones (metodos) a nuestras clases a partir de las acciones/verbos identificados en los requerimientos de la solucion. 

Con este ejercicio, podemos “terminar” con un diagrama/modelo de clases que deberian ser consideradas para “interactuar” entre si y asi desarrollar la solucion que satisfaga los requerimientos establecidos. 

** terminar no necesariamente es definitivo ya que el modelo puede ir cambiando para considerar faltantes o cosas de mas que le hayamos puesto

Requerimientos (pizzeria)  <- mi tarea

La liga de arriba muestra un ejemplo sencillo del ejercicio.

Publico el codigo para la aplicacion MyNotepad desarrollada en las primeras clases del curso

MyNotepad

Nota*: el archivo debe descargarse y ser renombrado a .zip para poder utilizarlo !!

…. a Agosto-Diciembre 2007

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.