tarea


… 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

https://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

}

…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.

Espero que se la pasen bien en las dos semanas de vacaciones que tendremos…. por lo pronto, si le dedican algo de tiempo a la universidad, y quieren aparte dedicarle a esta materia (seria fenomenal), pueden ir bosquejando el primer draft para su proyecto final.

El proyecto final constara en desarrollar una aplicacion (en c# por supuesto) que contenga las siguientes caracteristicas:

  • Disenho orientado a objetos (clases con propiedades, metodos [, eventos (opcional)]
  • Programacion en Windows Forms (Ventanas de Windows)
  • Acceso a bases de datos con ADO.NET
  • Uno o mas User controls

En la sesion antes de salir de vacaciones, se vieron algunas alternativas para desarrollarlas como proyecto final, siguen:

Aplicaciones para registrar, y mantener lo siguiente:

  • Calificaciones de alumnos por materia (Popularidad: minima)
  • Catalogo de Peliculas (Popularidad: Maxima)
  • Catalogo de Libros (Popularidad: Minima)
  • Casas/Depas/Oficinas en Venta/Renta (Popularidad: Algo)
  • Venta de Automoviles (Popularidad: Algo)

Las explicare por orden de popularidad… cabe mencionar que pueden proponer su aplicacion para asi trabajar sobre algo que les pueda ayudar en su trabajo o alguna otra materia.

Catalogo de Peliculas – proyecto tentativo

Manejar los siguientes datos:

  • Nombre
  • Anho
  • Director
  • Sinopsis/Resumen
  • Idioma (permitir solo idiomas del catalogo de idiomas)
  • Duracion (minutos)
  • Productora
  • Clasificacion (permitir solo las del catalogo clasificaciones)
  • Pais
  • Generos[] (arreglo/coleccion de generos existentes en el catalogo de generos)
  • Actores[] (arreglo/coleccion de actores existentes en el catalogo de actores)
    • Los actores deben de registrar por lo menos
      • nombre
      • nacionalidad

Venta de Automoviles – proyecto tentativo

Manejar los siguientes datos:

  • Marca (permitir solo marcas existentes en catalogo de marcas)
  • Modelo (permitir solo modelos existentes en catalogo de modelos, y relacionados a la marca)
  • Anho
  • Color
  • Numero de puertas
  • Numero de pasajeros
  • Numero de serie
  • Cilindros
  • Numero de duenhos
  • Precio
  • Contactos[] (arreglo/colec. de contactos existentes en catalogo de contactos)
    • nombre
    • telefono
    • email
  • Fotos[] (arreglo/coleccion de fotos)

Venta/Renta de Inmuebles (Casas/Depas/Oficinas…)

Manejar los sig> datos:

  • Direccion
    • Estado
    • Ciudad
    • Sector
  • Precio | Mensualidad
  • Numero de Recamaras
  • Numero de Banhos
  • Numero de Estacionamientos
  • Cuenta con …
    • cocina integral
    • muebles
    • boiler
    • telefono
    • luz
    • agua
    • gas
  • Numero de plantas/pisos
  • Contactos[] (arreglo/colec. de contactos existentes en catalogo de contactos)
    • nombre
    • telefono
    • email
  • Fotos[] (arreglo/coleccion de fotos)

– – – – – – – – – – –

Importante!! cabe mencionar que estas son opciones para elaborar, pero puedes proponer tu aplicacion para trabajar sobre algo que mas te interese, o te sirva para tu trabajo u otra materia… Importante!!!

../../../

..martes 13 de marzo!

para los que han estado faltando a clase y no se han enterado….

Examen el martes 13 de marzo!!

para que se preparen, estudiando/repasando los codigos y conceptos que hemos visto durante el curso..

vendran cosas como propiedades/metodos [vistos en los codigos] de las clases/controles de los namespaces vistos en clase.

ya puse en este blog los codigos pendientes Calculadora.cs y MyCommand.cs…

saludos! no falten el martes! =D

Aplicacion para administrar contactos (lease datos de una persona).

Un contacto contiene propiedades tales como nombre, fecha de nacimiento, direccion, celular, telefono, correo electronico.

La aplicacion podra realizar las siguientes funciones: Agregar, Borrar, Actualizar, Buscar.