OOP


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

}

Anuncios

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

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