Professional Documents
Culture Documents
SEMINARIO DE
TEMA:
TESIS I
DESARROLLO DE UN
SISTEMA SIMULADOR
DE VENTAS USANDO
C SHARP
TURNO:
NOCHE
DOCENTE:
CICLO:
IX
2013-ILO
INTRODUCCION
Las empresas de tipo comercial tienen como principal objetivo obtener ganancias. Si
suponemos un volumen constante en las ventas; una empresa de este tipo sólo cuenta con
tres opciones si desea incrementar estas ganancias: Aumentar los precios de sus productos,
disminuir sus costos, o bien una combinación de ambas.
Debido a que el aumento de los precios de sus productos no resulta una opción práctica ya
que desembocaría en una pérdida de clientes debido a la amplia competitividad que existe
hoy en día; a lo largo de este capítulo se explorará la importancia de una eficiente gestión
de inventarios como una alternativa para disminuir los costos relacionados con el
inventario de una empresa. Se propone llevar a cabo esta gestión a través del uso de un
sistema computacional que cumpla con dos funciones: un simulador, el cual imitará el
comportamiento del nivel de inventario y un simulador-optimizador, el cual no sólo se
limitará a imitar su comportamiento sino que nos indicará la política de inventario a seguir
para que los costos relacionados con el inventario sean mínimos.
DEDICATORIA
Primeramente a dios por haberme permitido llegar hasta este punto y haberme dado salud,
ser el manantial de vida y darme lo necesario para seguir adelante día a día para lograr mis
objetivos, además de su infinita bondad y amor.
a mi madre por haberme apoyado en todo momento, por sus consejos, sus valores, por la
motivación constante que me ha permitido ser una persona de bien, pero más que nada, por
su amor. a mi padre por los ejemplos de perseverancia y constancia que lo caracterizan y
que me ha infundado siempre, por el valor mostrado para salir adelante y por su amor. a mi
hermana por ser el ejemplo de una hermana mayor y de la cual aprendí aciertos y de
momentos difíciles y a todos aquellos que ayudaron directa o indirectamente a realizar este
documento.
CAPITULO I
1.1. PLANTEAMIENTO DEL PROBLEMA
Toda empresa comercial tiene alguna clase de inventario. Realizar la gestión de éste
constituye una de las actividades más complejas para las empresas, pero se vuelve aún
más complicada cuando la demanda de los clientes hacia los productos que forman
parte del inventario y el tiempo de entrega de los pedidos para abastecerlo no se
pueden predecir con exactitud. Sin embargo, es necesario tomar en cuenta estas dos
situaciones para realizar una gestión eficiente del inventario ya que son variables
indispensables cuando se busca minimizar el costo de tener un inventario dentro de la
empresa. Debido a su complejidad la existencia de un sistema computacional cuyo
objetivo sea proporcionar el momento y la cantidad del pedido que minimicen los
costos sería de suma importancia dentro de la empresa ya que permitiría que
prácticamente cualquier persona familiarizada con la gestión pudiera realizar la tarea
de solucionar el problema de optimización.
1.2. OBJETIVOS
1.3. JUSTIFICACION
La base de toda empresa comercial es el control de los productos que entran y salen;
de aquí la importancia del manejo del inventario por parte de la misma. Este manejo
permitirá a la empresa mantener el control oportunamente, así como también conocer
al final del periodo un estado confiable de la situación económica de la empresa.
El control interno sobre los inventarios es importante, ya que los inventarios son el
aparato circulatorio de una empresa de comercialización. Las compañías exitosas
tienen gran cuidado de proteger sus inventarios.
La creación de este sistema de ventas nos permitirá llevar el control del inventario de
la Tienda Comercial, lo que logrará que los usuarios estén satisfechos por la rapidez al
momento de solicitar información sobre la mercancía existente, puesto que serán
revelados cuando lo desee.
CAPÍTULO II
MARCO TEÓRICO
Este capítulo pretende dar una introducción a la programación, para ello se ha comenzado
con la definición de lenguaje de programación, continuando con una reseña de la evolución
y clasificación de los lenguajes de programación desde el inicio hasta nuestros días.
Este último paradigma, algunas veces se mezcla con alguno de los dos modelos
anteriores, sin embargo mantiene características propias, que lo diferencian
claramente. Los programas de este tipo, se concentran en los objetos que van a
manipular, y no en la lógica requerida para manipularlos. Ejemplos de objetos pueden
ser: estudiantes, coches, casas etc., cada uno de los cuales tendrá ciertas funciones
(métodos) y ciertos valores que los identifican, teniendo además, la facultad de
comunicarse entre ellos a través del paso de mensajes. Cabe mencionar con más
detalle los elementos fundamentales que deben de poseer este tipo de lenguajes:
Abstracción
Determinación de las características de los objetos, que sirven para identificarlos y
hacerlos diferentes a los demás.
Encapsulamiento
Proceso que agrupa y almacena los elementos que definen la estructura y el
comportamiento de una abstracción, en un mismo lugar.
Modularidad
Es la propiedad de agrupar las abstracciones que guardan cierta relación lógica, y a
la vez minimizar la interdependencia entre las diversas agrupaciones.
Jerarquía
Consiste en establecer un orden o una clasificación de las abstracciones. Además de
estos elementos fundamentales, también existen otros tres elementos secundarios,
que aunque son deseados, no son indispensables para clasificar un lenguaje dentro
de este estilo.
Tipificación
Mecanismo que intenta restringir el intercambio entre abstracciones que poseen
diversas características.
Persistencia
Es la propiedad de un objeto a continuar existiendo a través del tiempo y/o del
espacio.
Concurrencia
Es la propiedad que distingue a los objetos activos, de los que no lo están.
El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido, en inglés
sharp) indica que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo
que C# es superior a C/C++. Además, el signo '#' se compone de cuatro signos '+' pegados.
Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que C# es un
lenguaje de programación independiente diseñado para generar programas sobre dicha
plataforma. Ya existe un compilador implementado que provee el marco Mono - DotGNU,
el cual genera programas para distintas plataformas como Windows, Unix, Android, iOS,
Windows Phone, Mac OS y GNU/Linux.
MISION
IDEAL DE LA ORGANIZACIÓN
Ser la empresa líder de la zona, contar con alto crecimiento y desarrollo de nuevas
sucursales en puntos estratégicos de la ciudad de ilo.
VISION:
Servir cada vez a un área mayor, ofreciendo los artículos de la más alta calidad, la mayor
variedad, surtido y precio, lo que nos permita posicionarnos como la tienda líder de la
zona.
ESTRATEGIAS
Se llevaran a cabo las siguientes estrategias:
Control de inventario
Ventas
Código
Nombre del producto
Precio
Cantidad de productos
Se tratara de lograr que los dueños de la tienda se den cuenta y comprendan la enorme
utilidad que tienen los sistemas de información en la actualidad.
Los objetivos de una organización, según lo atestigua la experiencia humana en los campos
de los negocios, la política y el deporte, suelen frecuentemente ingresar en un curso de
colisión con los objetivos de otras organizaciones, las cuales en razón de tal circunstancia
se constituyen precisamente en competidores. Es por esta razón que muchos de los
pensadores han estado evaluando el concepto de estrategias para el desarrollo del plan.
Honestidad
Actuar con total transparencia en cada una de las actividades que realiza la empresa en sus
diferentes áreas que la conforman.
Atención al cliente
Tener la completa disposición para atender de manera eficiente y eficaz a los usuarios de la
empresa.
Puntualidad
Cumplir con los planes establecidos en su debido momento tanto en reuniones y el entorno
laboral.
Compromiso
Actuar identificados con la empresa y desempeñar sus funciones de manera proactiva en
cada uno de los niveles.
Ventajas:
Permite que la empresa pueda reaccionar a tiempo por eventuales cambios en su
entorno laboral.
Los gastos de contratación de personal y recursos humanos descienden de manera
considerable.
Con esta herramienta se logra obtener productos o servicios de mejor calidad
puesto que el negocio únicamente se concentra en realizar un trabajo específico.
Con esta actividad se pueden eliminar los trabajos rutinarios que pudieran existir
dentro de la empresa, ya que estas actividades las puede desarrollar el outsourcing.
Utilizando este método, se puede contratar a gente especializada para una función
determinada dentro de la empresa.
Gracias al outsourcing se puede lograr adaptar las operaciones y sus costos a las
necesidades actuales del mercado.
Desventajas:
Si no se contrata a la empresa de outsourcing ideal para nuestra empresa, corremos
el riesgo de acoger trabajadores de mala calidad que perjudiquen el desarrollo del
negocio.
Se puede llegar a crear una dependencia con el proveedor del servicio, a tal grado
que puede llegar un momento en que se convierta en una obligación para la
empresa.
En ciertos momentos se puede perder el control de la producción de la empresa.
Como el trabajador puede llegar a no sentirse parte del negocio, es muy probable
que su trabajo se estanque y no dé crecimiento.
Poca afinidad de los trabajadores por la empresa que contrata el outsourcing, lo que
significa el bajo compromiso de trabajo de los subcontratados.
La continua rotación de personal puede provocar que en ningún momento alguien
se vuelva experto en su área de trabajo.
En este caso un solo proveedor no está sujeto a dicha tienda comercial ya que trabaja con
varios tipos de marcas que hay a nivel nacional. Todos los proveedores de esta tienda
comercial cuentan con la ISO 9001 “Sistema de Gestión de Calidad”.
2.1.1.5.3 METODOLOGIA
UML
UML se puede usar para modelar distintos tipos de sistemas: sistemas de software,
sistemas de hardware, y organizaciones del mundo real. UML ofrece nueve diagramas en
los cuales modelar sistemas.
RECURSOS
ACTIVIDAD INICIO FIN NECESARIOS
Información sobre
métodos de controlo
Análisis 3 de agosto 3 de agosto actual
Información sobre la
forma en la que se
Diseño de proceso 4 de agosto 6 de agosto llevan las actividades
Recursos humanos.
Administración.
Departamento de compra y venta.
Situación Actual
Actualmente la tienda comercial, no cuenta con un sistema automatizado, más bien tiene
un sistema manualmente, toda su información los anota en un cuaderno, llevando el control
(las ventas, el stock, el producto, etc.).
ACTIVIDAD INICIO
Análisis 3 de agosto
Programación 22 de agosto
Pruebas 5 de setiembre
Capacitación 15 de setiembre
Mantenimiento n/a
2.2.2. PRESENTACION DE UNA REVOLUCION INFORMATICA
LENGUAJES IMPERATIVOS
Como un ejemplo ilustrativo vamos a escribir un programa en un lenguaje de este tipo para
calcular el factorial de un número positivo x.
LENGUAJES DECLARATIVOS
En este paradigma, más que el ¿cómo? desarrollar paso a paso un proceso, nos interesa el
¿qué? deseamos obtener a través del programa. Quizás el lenguaje declarativo que nos sea
más familiar, es SQL, el cual es utilizado para interactuar con la información de bases de
datos, concentrándose (como se podrá observaren el siguiente ejemplo), sólo en los
resultados que van a ser obtenidos, dejándole al traductor la tarea de cómo llegar a ellos y
presentárnoslos.
LENGUAJES FUNCIONALES
Son lenguajes basados en funciones, las cuales se representan mediante expresiones, que
nos permiten obtener ciertos resultados a partir de una serie de argumentos. De hecho las
expresiones están formadas por un conjunto de términos, que a su vez pueden encapsular
otras expresiones, para con la evaluación de todas ellas, llegar a la solución deseada. Para
describir la idea, retomaremos el ejemplo del factorial escrito en el lenguaje funcional
Haskell.
LENGUAJES LÓGICOS
BASE DE CONOCIMIENTOS
El asesoramiento inicial y capacitación operativa en cuanto al manejo y
mantenimiento de las maquinas de computo.
Seminarios de panificación manteniendo así bien informado del desarrollo de
nuevos productos de venta acorde con las nuevas tendencias de la industria
moderna.
RECURSOS HUMANOS
El centro comercial cuenta con un personal capacitado, tanto, el personal de
supervisión como en lo administrativo, para hacer un centro comercial Líder en el
Mercado.
PROVEEDORES
El objetivo de los proveedores es tratar de ofrecer sus productos, a lugares que aun
no conocen de este; tratando de globalizar, todas las líneas de productos, en el
mercado.
CLIENTES
El objetivo del cliente es la buena calidad de los productos, y el buen precio que le
ofrece, brindándoles un buen servicio de atención hacia ellos.
TIPO CANTIDAD
SWITCH ETHERNET 20
IDS 3
VOIP 4
FIREWALL 7
CONTROLADOR 2
VIDEOCONFERENCIA 2
ROUTER 5
VOICE GATEWAY 3
PROXY 2
SSL VPN 1
SENDOR 1
ALIMENTACION POE 5
DESCONOCIDO 14
2.4.
PROCEDIMIENTO PARA EL PLANEAMIENTO ESTRETEGICO DE LA
INFORMACION
Preparación preliminar del proceso, que incluyó la revisión de un borrador del plan
estratégico de la conformación de una comisión para atender la tarea.
Ejecución de un proceso de análisis situacional e integración de componentes
estratégicos.
Planteamiento de una situación deseada a mediano plazo.
Identificación y conformación de líneas de acción estratégicas, sobre la base de los
resultados esperados de la estrategia institucional y su alineamiento con la situación
deseada.
Integración del plan y otros componentes de gestión.
VENTAJAS ESTRATÉGICAS
VENTAJAS TÁCTICAS
Los objetos pueden representar cosas reales ser paralelos a nuestras estructuras de
pensamiento de estar organizados tal como la gente ve al mundo y a sus partes
componentes.
Los objetos son una alternativa para una visión del mundo alrededor de las
computadoras.
Los objetos permiten a los modeladores, desarrolladores, y usuarios comunicarse y
pensar con la terminología del mundo real
Los sistemas son un reflejo de los negocios de Integración natural de las
aplicaciones existentes.
Compatibilidad interna y externa, reutilización de Datos y procedimientos del
negocio y Reglas de negocios e integridad de las restricciones.
Manejo de diferencias y cambios que Colocan las reglas divisionales/locales de
negocios en las especializaciones de Permanencia de las definiciones, reglas y datos
corporativos en lo general.
VENTAJAS DE NEGOCIOS
UML
Análisis de Requerimientos
Diseño del sistema
Diseño detallado
Implementación y pruebas
2.7 ANALISIS
según el caso(opcion)
abrir
caso "1":
Vender();
caso "2":
AdmProductos();
case "3":
ListarProductos();
casp "4":
ProdMasVendido();
cerrar
cerrar
método AdmProductos()
abrir
cadena opcion = "";
limpiar pantalla
escribir("========== ADMINISTRACION DE PRODUCTOS ==========");
escribir ("1) Agregar Producto");
escribir ("2) Actualizar Producto");
escribir ("3) Eliminar Producto");
escribir ("-----------------------------------------------");
escribir ("Escriba el Nro de la Opcion o ENTER para regresar");
opcion = leer línea de consola
según el caso(opcion)
abrir
caso "1":
AddProd();
caso "2":
ActProd();
caso "3":
CerrarArchivos();
BorrarProd();
default:
limpiar pantalla
inicio();
cerrar
cerrar
método ListarProductos()
abrir
limpiar pantalla
cadena temp1,temp2,temp3,temp4,datos = "";
AbrirArchivos();
ObtnCantReg();
CargarProductos();
escribir("======= Lista de Productos =======");
bucle (entero i = 0; i < NumReg; i++)
abrir
bucle (entero j = 0; j < 4; j++)
abrir
datos=datos+listprod[i,j]+"/";
abrir
escribir(datos);
datos = "";
cerrar
escribir("======= Lista de Productos en Orden Ascendente =======");
cerrar
caso contrario
abrir
si (o == "2")
abrir
cadena cod, cod1, Nomp, Prec;
escribir("Ingrese Codigo del Producto");
cod = leer linea de consola
bucle(entero i = 0; i < NumReg; i++)
abrir
cod1 = listprod[i, 0];
cod1 = extraer 4 caracteres(0, 4);
si (cod == cod1)
abrir
escribir("Ingrese Nuevo nombre del Producto");
Nomp =leer linea de consola
escribir("Ingrese Nuevo Precio del Producto");
Prec = leer linea de consola
listprod[i, 1] = Nomp;
listprod[i, 2] = Prec;
cerrar
cerrar
cerrar
escribir("Se a Actualizado el Registro");
cerrar
eliminar archivo(@"FileNombre.txt");
eliminar archivo(@"FilePrecio.txt");
eliminar archivo(@"FileCantVenta.txt");
EsCribirArchivos();
bucle (entero j = 0; j < NumReg; j++)
abrir
cerrar
FileNombreW cerrar
FileCantVentaW cerrar
FilePrecioW cerrar
CargarProductos();
AdmProductos();
cerrar
metodo AddProd()
abrir
cadena NomProd, Precio = "";
limpiar pantalla
escribir("========== Agregando Nuevo Producto ==========");
escribir("Ingrese Nombre del Producto");
NomProd = leer línea de cosola
escribir("Ingrese Precio del Producto");
Precio = leer línea de consola
ObtnCodigo();
//CerrarArchivos();
EsCribirArchivos();
FileNombreW.WriteLine(Codigo.ToString() + "|" + NomProd);
FilePrecioW.WriteLine(Codigo.ToString()+"|"+Precio);
FileCantVentaW.WriteLine(Codigo.ToString() + "|" + CantV);
FileCantVentaW cerrar
FileNombreW cerrar
FilePrecioW cerrar
Limpiar pantalla
escribir("Se ha Agregado un Nuevo Producto");
escribir ("--------------------------------------");
escribir ("Codigo / Nombre / Precio");
escribir (Codigo + "/" + NomProd + "/" + Precio);
escribir ("---------------------------------------");
escribir ("Presione ENTER para Continuar");
leer línea de consola
CerrarArchivos();
AdmProductos();
CargarProductos();
cerrar
metodo BorrarProd()
abrir
cadenacod,cod1,o = "";
limpiar
escribir("===== Eliminación de Productos =====");
escribir("1) Buscar Producto");
escribir("2) Eliminar Producto");
escribir(" ");
escribir("Escriba el Nro de la Opcion");
o = leer línea de consola
si (o == "1")
abrir
BuscarProd();
escribir(" ");
escribir("========= OPCIONES ===========");
escribir("1) Eliminar Producto");
escribir("2) Regresar");
escribir("===============================");
escribir("Ingrese 1 para Eliminar un Producto, 2 o ENTER para
regresar");
o = leer línea de consola
si (o == "1")
abrir
escribir("Ingrese Codigo del Producto para Eliminarlo");
cod = leer linea de consola
eliminar archivo(@"FileNombre.txt");
eliminar archivo(@"FilePrecio.txt");
eliminar archivo(@"FileCantVenta.txt");
EsCribirArchivos();
bucle (entero i = 0; i < NumReg; i++)
abrir
cod1 = listprod[i, 0];
si (cod == cod1)
abrir
no hacer nada
cerrar
de lo contrario
abrir
FileNombreW escribir(listprod[i, 0] + "|" + listprod[i, 1]);
FilePrecioW escribir(listprod[i, 0] + "|" + listprod[i, 2]);
FileCantVentaW escribir(listprod[i, 0] + "|" + listprod[i, 3]);
cerrar
cerrar
FileNombreW cerrar
FileCantVentaW cerrar
FilePrecioW cerrar
escribir("Se a Eliminado el Registro");
escribir("Presione ENTER para Continuar");
cerrar
AdmProductos();
cerrar
caso contrario abrir
si (o == "2")
abrir
escribir("Ingrese Codigo del Producto para Eliminarlo");
cod = leer linea de consola
FileNombreW cerrar
FileCantVentaW cerrar
FilePrecioW cerrar
escribir("Se a Eliminado el Registro");
escribir("Presione ENTER para Continuar");
leer línea de consola
cerrar
CargarProductos();
AdmProductos();
cerrar
cerrar
metodo BuscarProd()
abrir
limpiar pantalla
escribir("====== Busqueda de Producto =======");
cadena c = "";
cadena dato,dato1="";
entero l = 0;
escribir("Ingrese Caracteres del Nombre del Producto");
escribir(dato1);
dato1 = "";
cerrar
cerrar
cerrar
excepción
abrir
no hacer nada
cerrar
cerrar
metodo EsCribirArchivos()
abrir
cadena ruta1, ruta2, ruta3;
ruta1 = @"FileNombre.txt";
ruta2 = @"FilePrecio.txt";
ruta3 = @"FileCantVenta.txt";
FileNombreW = new StreamWriter(ruta1, true);
FilePrecioW = new StreamWriter(ruta2, true);
FileCantVentaW = new StreamWriter(ruta3,true);
cerrar
metodo AbrirArchivos()
abrir
cerrar
metodo CerrarArchivos()
abrir
FileNombre cerrar
FilePrecio cerrar
FileCantVenta cerrar
cerrar
metodo ObtnCodigo()
abrir
AbrirArchivos();
NumReg=0;
Hacer mientras (FileNombre sea != -1)
abrir
Codigo = FileNombre leer una linea
NumReg = NumReg + 1;
cerrar
CerrarArchivos();
si (Codigo == nulo || Codigo=="")
abrir
Codigo = "0001";
cerrar
caso contrario
abrir
Codigo = "1" + Codigo extraer(0, 4);
Codigo = (entero(Codigo) + 1)
Codigo = Codigo extraer(1, 4);
cerrar
cerrar
metodo CargarProductos()
abrir
cadena registro1,registro2,registro3,codProd = "";
entero l=0;
entero cont = 0;
cadena[,] matriz;
matriz = nueva cadena[2, 0];
AbrirArchivos();
ObtnCantReg();
listprod = nueva cadena[NumReg, 4];
AbrirArchivos();
Hacer mientras (FileNombre.Peek() != -1)
{
cerrar
CerrarArchivos();
cerrar
metodo ObtnCantReg()
abrir
cadena leer = "";
NumReg = 0;
AbrirArchivos();
ObtnCantReg();
bucle (entero i = 0; i < NumReg; i++)
abrir
codp1 = listprod[i, 0];
si (codp == codp1)
abrir
codp1 = listprod[i, 0];
nomp = listprod[i, 1];
prec = listprod[i, 2];
CantV = listprod[i, 3];
tot = (Converti a double(cantv) *Convertir a Double(prec));
escribir("Codigo / Producto / P.U. /Cant / Total");
escribir(codp1 + "/" + nomp + "/" + prec + "/" +cantv+"/"+ tot);
pausar
CantV = (entero(CantV) + entero(cantv))
listprod[i, 3] = CantV;
cerrar
cerrar
eliminar archivo(@"FileNombre.txt");
eliminar archivo(@"FilePrecio.txt");
eliminar archivo(@"FileCantVenta.txt");
EsCribirArchivos();
bucle (entero j = 0; j < NumReg; j++)
abrir
cerrar
FileNombreW cerrar
FileCantVentaW cerrar
FilePrecioW cerrar
CargarProductos()
limpiar
inicio();
cerrar
metodo ProdMasVendido()
abrir
cadena temp,cod,nomp,prec,cant,cant1;
cadena datos="";
entero n, n1;
CargarProductos();
n = entero(listprod[0, 3]);
bucle (entero i = 0; i < NumReg; i++)
abrir
cant1 = listprod[i, 3];
n1=entero(cant1);
si (n<=n1)
abrir
datos="";
cod = listprod[i, 0];
nomp = listprod[i, 1];
prec = listprod[i, 2];
cant = listprod[i, 3];
datos = cod + "/" + nomp + "/" + prec + "/" + cant;
n = entero(cant);
cerrar
cerrar
limpiar
escribir("======== Producto mas Vendido ==========");
escribir(datos);
pausar
limpiar pantalla
inicio();
cerrar
cerrar
cerrar
2.11 IMPLEMENTACION
Una asociación es una relación entre dos conceptos que indica alguna conexión
significativa entre ellos.
Una asociación se representa como una línea entre conceptos, con el nombre de la
asociación.
Opcionalmente se puede poner una flecha que indique la dirección en que debe
leerse la asociación.
La multiplicidad define cuántas instancias de un tipo A pueden asociarse a una
instancia del tipo B. Las expresiones de multiplicidad son:
cero o más, muchos
1..* uno o más
1..40 de uno a cuarenta
5 exactamente cinco
2,4,6 exactamente dos, cuatro o seis
Una asociación define 2 multiplicidades:
De A a B
De B a A
Los atributos pueden tener un conjunto de detalles, los cuales tienden a ser valores
discretos, simbólicos o descriptivos
Algunos atributos también pueden tener restricciones de frontera, que son condiciones
obligatorias a cumplir.
Se deben describir/especificar los atributos del sistema que se relacionan con las
funciones del sistema.
Los detalles y las restricciones de frontera pueden catalogarse como obligatorios u
opcionales.
Demanda de servicio. Son las características deseadas por el cliente para el servicio
que demanda y la disposición y posibilidad del mismo para pagarlo con tales
características.
Meta de servicio. Son los valores y características relevantes fijadas como objetivo
para el conjunto de parámetros que caracterizan el servicio que el proveedor oferta
a sus clientes. Esta meta puede ser fijada como única para todos los clientes,
diferenciada por tipo de cliente o acordada cliente a cliente.
Nivel de servicio. Grado en que se cumple la meta de servicio.
o anterior lleva a replantear el esquema tradicional de distribuir lo que se produce al
esquema de distribuir
lo que el cliente necesita. Para ello la empresa debe definir una filosofía de servicio,
expresada en términos
de: actitud, organización y responsabilidad que abra paso al establecimiento de una
estrategia de servicio.
Los elementos a considerar para establecer una estrategia de servicio
a. El cliente. Hay que identificar con exactitud quién es el cliente y las necesidades y
deseos que éste realmente tiene.
b. La competencia. Hay que identificar las fortalezas y debilidades de los
competidores y con ello establecer un servicio al cliente mejor que la competencia,
o sea, que proporcione ventaja competitiva.
c. Los patrones, costumbre y posibilidades de los clientes La estrategia de servicio
requiere ser evaluada en término de cuánto ingreso reporta a la empresa y cuál es el
costo que implica su aplicación para garantizar la viabilidad de tal estrategia.
d. En la elaboración de la estrategia de servicio en el marco de la competencia se debe
considerar que un nivel de servicio muy bajo, aunque sea "económico", a la larga
hace bajar, en el transcurso del tiempo, la cuota de participación en el mercado y
conduce a perder éste último.
El objetivo de la empresa debe ser garantizar que no existan diferencias entre el nivel de
servicio ofrecido y el nivel de servicio percibido, en ninguno de los componentes del
servicio. El servicio al cliente tiene como componentes:
ESTRUCTURA DE SERVICIO
2.12.4 CICLO DE VIDA DE LOS OBJETOS
3.1.1 EL PRODUCTO
Por ser un centro comercial, no tiene un producto base por lo mismo que es un centro
variado de productos donde no hay producto que sea el más adquirido por los
consumidores, ya que en sus compras siempre hacen compras balanceadas. Por ese motivo
es que en el centro comercial no cuenta con un producto clave.
Ley de la demanda
Cuanto menor es el precio del producto mayor será la cantidad de este que la población
está dispuesta a adquirir, pues hay una relación inversa entre el precio y la cantidad.
Una parte fundamental para realizar un estudio estadístico de cualquier tipo es obtener
unos resultados confiables y que puedan ser aplicables.
Para calcular el tamaño de una muestra es necesario tomar en cuenta tres factores:
1.- El porcentaje de confianza con el cual se quiere generalizar los datos desde la muestra
hacia la población.
2.- El Porcentaje de error que se pretende aceptar al momento de hacer la generalización
3.- El nivel de variabilidad que se calcula para comprobar la hipótesis
Para evitar un costo muy alto para el estudio o debido a que en ocasiones llega a ser
prácticamente imposible el estudio de la población, entonces se busca un porcentaje de
confianza menor. Comúnmente en las investigaciones se busca un 95%.
El error o porcentaje de error equivale a elegir una probabilidad de aceptar una hipótesis
que sea falsa como si fuera verdadera, o la inversa. Al igual que en el caso de la confianza,
si se quiere eliminar el riesgo de error y considerarlo como 0%, entonces la muestra es del
mismo tamaño que la población, por lo que conviene correr un cierto riesgo de
equivocarse.
Fórmulas
n = Z2 pq/E2
n es el tamaño de la muestra
Z es el nivel de confianza
p es la variabilidad positiva
q es la variabilidad negativa
E es la precisión o error1
n es el tamaño de la muestra
Z es el nivel de confianza
p es la variabilidad positiva
q es la variabilidad negativa
E es la precisión o error1
N es el tamaño de la población
Realizaremos el cálculo con ambas fórmulas, para determinar el factor de variación y que
tanto puede influir el conocer el tamaño de la población en el tamaño de la muestra.
El propósito que se busca mediante el análisis de la oferta es definir y medir las cantidades
y condiciones en que se pone a disposición del mercado un bien o un servicio. La oferta, al
igual que la demanda, está en función de una serie de factores, cómo es el precio en el
mercado del producto o servicio, entre otros. La investigación de campo que se utilice
deberá tomar en cuenta todos estos factores junto con el entorno económico en que se
desarrolle el proyecto.
PLAZO:
Son muy útiles para identificar cambios en las tendencias en el mercado. Basado en
comparaciones de promedios móviles con los precios actuales, un negociador puede tomar
una posición de venta cuando el PM aumenta y se ubica por encima de los precios, porque
esto anticipa un cambio en la tendencia El análisis de precios tiene como objetivo la
maximización de las ganancias totales al proveer al mercado un producto que éste requiere
a un precio que el consumidor está dispuesto a pagar
Tipos de precio
Precio Base: Es el precio de costo, lo que representa la producción del producto sin
incluir ganancias ni gastos
Precio de Lista: Es el precio de venta al público, el que generalmente aparece en
las listas de preciso y que no incluye descuentos ni ningún tipo de deducción
Precio Esperado: Es el precio que el comprador o consumidor espera, según su
propia valoración, determinado por su relación costo-valor
Precio Altos: Es una estrategia de mercado que consiste en incluir un nuevo
producto a una línea ya existente, pero con un precio mayor
Precios Bajos: menor precio y prestigio, de modo que se pueda llegar a niveles
socioeconómicos más bajos
3.1.8. CANALES DE DISTRIBUCION
Un canal corto sólo tiene dos escalones, es decir, un único intermediario entre
fabricante y usuario final. Este canal es habitual en la comercialización de
automóviles, electrodomésticos, ropa de diseño... en que los minoristas o detallistas
tienen la exclusividad de venta para una zona o se comprometen a un mínimo de
compras. Otro ejemplo típico sería la compra a través de un hipermercado o híper.
Las ventas proyectadas son lo que los analistas usan para estimar la dirección de las
ganancias futuras. Esto es particularmente importante para la gerencia y los inversores.
Proyectar un presupuesto de ventas es en parte ciencia y en parte arte. El arte de proyectar
presupuestos de ventas está en personalizar la proyección "palo de hockey". Planificar el
lanzamiento de un nuevo producto o una fusión puede alterar significativamente las
predicciones base.
CAPITULO IV
ANÁLISIS DEL SISTEMA
La empresa, como cualquier organismo viviente, pasa por una serie de etapas de desarrollo,
más o menos largas, conocidas dentro de la teoría de la empresa como:
Nacimiento.
Crecimiento.
Madurez.
Declinación.
Liquidación.
FUNCIONES DE LOS PUESTOS LABORALES
Tiene que ver con las fortalezas y las debilidades de su negocio, aspectos sobre los cuales
usted tiene algún grado de control
Logística
Compras
Aprovechamiento del espacio
Conservación
Sistemas
Control de stock
Control Físico
Operaciones
Descripción técnica
Mantenimiento preventivo
Costos Fijos
Análisis de Recursos
Capital, recursos humanos, sistemas de información, activos fijos, activos no tangibles.
Análisis de Actividades
Recursos gerenciales, recursos estratégicos, creatividad
Análisis de Riesgos
Con relación a los recursos y a las actividades de la empresa.
Mira las oportunidades que ofrecen el mercado y las amenazas que debe enfrentar su
negocio en el mercado seleccionado.
Política fiscal
Insumos importados
Competidores externos
Exportaciones
Políticas públicas
Política económica
Políticas de fomento
Ámbito Sociocultural
Acceso a la información
Tecnología
Globalización
LA MATRIZ FODA
FORTALEZAS
DEBILIDADES
Oportunidades
Ofrecer siempre a los clientes una compra que supere sus expectativas.
Tener siempre un buen surtido para mayor satisfacción del cliente.
Mantener siempre un orden para mayor comodidad y acogida del cliente.
Ofrecer una atención de alta calidad.
CAPITULO V
5.1 PLANEAMIENTO ESTRATEGICO DE LA EMPRESA
Toda empresa diseña planes estratégicos para el logro de sus objetivos y metas planteadas,
esto planes pueden ser a corto, mediano y largo plazo, según la amplitud y magnitud de la
empresa. Es decir, su tamaño, ya que esto implica que cantidad de
planes y actividades debe ejecutar cada unidad operativa, ya sea de niveles superiores o
niveles inferiores.
Visión
Es el sueño de la empresa ideal, es como la vemos en el futuro. Es la imagen de lo que
aspiramos construir.
Misión
Es una buena descripción de la razón de ser de la empresa, se describe los siguiente: Giro
del negocio Ámbito Aspiración a mantener o conseguir en el mercado (esto es, buscamos
ser líderes, retadores o seguidores). Forma de lograrlo (principales habilitadores del logro:
técnicos, de recursos humanos, de calidad, etc) Expectativas de directivos, trabajadores y
sociedad.
Valores
Lineamientos éticos y de conducta Acción que están en la base de toda la actividad
empresarial. Ejemplo: Honradez, trabajo en equipo, orientación al servicio, creatividad,
etc.
Objetivos
Los objetivos que pueden cuantificarse en cifras, se llaman metas. Los objetivos son retos,
no deben confundirse con las funciones rutinarias de cada área de la empresa.
5.2.1 ANALISIS DE METAS Y PROBLEMAS
META
Nuestra meta consiste en: Satisfacer las necesidades y los deseos inmediatos de nuestros
Clientes, ofreciendo una amplia gama de bienes y servicios en diferentes localizaciones,
con costos adecuados, que nos permitan ofrecer buenos precios a nuestros Clientes y
oportunidades de beneficios a nuestros accionistas.
PROBLEMA
Análisis de los recursos Una vez que el equipo de planeación tenga implementado el
sistema para monitorear los análisis LDN ya terminados, se puede concentrar en los
recursos del sistema general. La pregunta es: ¿Cuáles son los recursos actuales del sistema?
Esta incluye que tan competentes son los recursos actuales incluyendo al equipo
administrativo; donde se hallan los vacíos que se deberán llenar y como hacerlo, cuales son
los recursos financieros para el crecimiento y como podrían aumentarse Cultura
organizacional En este punto el equipo de planeación tiene la oportunidad de examinar la
cultura de la empresa, con todos sus defectos e imperfecciones Como en el caso de la
revisión del sistema de evaluación y retribución del desempeño, la pregunta seria ¿de que
manera la cultura de la empresa ayuda o interfiere en la ejecución de su misión?
Las compañías para ser competitivas y tener características que las diferencien de sus
competidores, deben centrarse en el "Core" o en el "Núcleo de su Negocio". De lo
contrario pierden el foco y pueden terminar donde no se deseaba o se tenía previsto.
Dentro de los factores críticos de éxito, empresas que deseen diferenciarse en el mercado,
deben focalizar sus acciones en:
CAPITULO VI
6.1 ANALISIS ORIENTADO A OBJETOS
Caso de uso
Caso de uso simplificado
Diagrama de clase
CAPITULO VII
ENTRADAS:
Constituyen los datos que deben ser almacenados y por tal motivo ingresan al sistema, el
analista debe comprender y adecuar los medios que utilizará para el ingreso de dichos
datos. Para verificar que la puesta en marcha de las entradas sea la correcta se utilizan
controladores los cuales se aplican a los campos y a los registros del SI.
SALIDAS:
7.2 CREACION DE
CLASES
7.3 CODIGO GENERAL
EsCribirArchivos();
FileNombreW.Close();
FileCantVentaW.Close();
FilePrecioW.Close();
}
CargarProductos();
inicio();
}
static void inicio()
{
string opcion = "";
Console.WriteLine("====== SISTEMA DE VENTAS ========");
Console.WriteLine("1) Vender");
Console.WriteLine("2) Administrar Productos");
Console.WriteLine("3) Listar Productos");
Console.WriteLine("4) Mostrar Producto mas Vendido");
Console.WriteLine("---------------------------------");
Console.WriteLine("Ingrese el Nro de la Opcion");
opcion = Console.ReadLine();
switch (opcion)
{
case "1":
Vender();
break;
case "2":
AdmProductos();
break;
case "3":
ListarProductos();
break;
case "4":
ProdMasVendido();
break;
}
}
static void AdmProductos()
{
string opcion = "";
Console.Clear();
Console.WriteLine("= ADMINISTRACION DE PRODUCTOS =");
Console.WriteLine("1) Aregar Producto");
Console.WriteLine("2) Actualizar Producto");
Console.WriteLine("3) Eliminar Producto");
Console.WriteLine("-------------------------------");
Console.WriteLine("Escriba el Nro de la Opcion o ENTER para
regresar");
opcion = Console.ReadLine();
switch (opcion)
{
case "1":
AddProd();
break;
case "2":
ActProd();
break;
case "3":
CerrarArchivos();
BorrarProd();
break;
default:
Console.Clear();
inicio();
break;
}
}
static void ListarProductos()
{
Console.Clear();
string temp1, temp2, temp3, temp4, datos = "";
AbrirArchivos();
ObtnCantReg();
CargarProductos();
Console.WriteLine("======= Lista de Productos =======");
for (int i = 0; i < NumReg; i++)
{
for (int j = 0; j < 4; j++)
{
datos = datos + listprod[i, j] + "/";
}
Console.WriteLine(datos);
datos = "";
}
Console.WriteLine("=== Lista de Productos en Orden Ascendente
===");
}
else
{
if (o == "2")
{
string cod, cod1, Nomp, Prec;
Console.WriteLine("Ingrese Codigo del Producto");
cod = Console.ReadLine();
for (int i = 0; i < NumReg; i++)
{
cod1 = listprod[i, 0];
cod1 = cod1.Substring(0, 4);
if (cod == cod1)
{
Console.WriteLine("Ingrese Nuevo nombre del
Producto");
Nomp = Console.ReadLine();
Console.WriteLine("Ingrese Nuevo Precio del
Producto");
Prec = Console.ReadLine();
listprod[i, 1] = Nomp;
listprod[i, 2] = Prec;
}
}
}
Console.WriteLine("Se a Actualizado el Registro");
}
File.Delete(@"FileNombre.txt");
File.Delete(@"FilePrecio.txt");
File.Delete(@"FileCantVenta.txt");
EsCribirArchivos();
for (int j = 0; j < NumReg; j++)
{
FileNombreW.Close();
FileCantVentaW.Close();
FilePrecioW.Close();
Console.ReadLine();
CargarProductos();
AdmProductos();
}
static void AddProd()
{
string NomProd, Precio = "";
Console.Clear();
Console.WriteLine("== Agregando Nuevo Producto ==");
Console.WriteLine("Ingrese Nombre del Producto");
NomProd = Console.ReadLine();
Console.WriteLine("Ingrese Precio del Producto");
Precio = Console.ReadLine();
ObtnCodigo();
//CerrarArchivos();
EsCribirArchivos();
FileNombreW.WriteLine(Codigo.ToString() + "|" + NomProd);
FilePrecioW.WriteLine(Codigo.ToString() + "|" + Precio);
FileCantVentaW.WriteLine(Codigo.ToString() + "|" + CantV);
FileCantVentaW.Close();
FileNombreW.Close();
FilePrecioW.Close();
Console.Clear();
Console.WriteLine("Se ha Agregado un Nuevo Producto");
Console.WriteLine("--------------------------------------");
Console.WriteLine("Codigo / Nombre / Precio");
Console.WriteLine(Codigo + "/" + NomProd + "/" + Precio);
Console.WriteLine("---------------------------------------");
Console.WriteLine("Presione ENTER para Continuar");
Console.ReadLine();
CerrarArchivos();
AdmProductos();
CargarProductos();
}
static void BorrarProd()
{
string cod, cod1, o = "";
Console.Clear();
Console.WriteLine("===== Eliminacion de Productos =====");
Console.WriteLine("1) Buscar Producto");
Console.WriteLine("2) Eliminar Producto");
Console.WriteLine(" ");
Console.WriteLine("Escriba el Nro de la Opcion");
o = Console.ReadLine();
if (o == "1")
{
BuscarProd();
Console.WriteLine(" ");
Console.WriteLine("========= OPCIONES ===========");
Console.WriteLine("1) Eliminar Producto");
Console.WriteLine("2) Regresar");
Console.WriteLine("===============================");
Console.WriteLine("Ingrese 1 para Eliminar un Producto, 2
o ENTER para regresar");
o = Console.ReadLine();
if (o == "1")
{
Console.WriteLine("Ingrese Codigo del Producto para
Eliminarlo");
cod = Console.ReadLine();
File.Delete(@"FileNombre.txt");
File.Delete(@"FilePrecio.txt");
File.Delete(@"FileCantVenta.txt");
EsCribirArchivos();
for (int i = 0; i < NumReg; i++)
{
cod1 = listprod[i, 0];
if (cod == cod1)
{ }
else
{
FileNombreW.WriteLine(listprod[i, 0] + "|" +
listprod[i, 1]);
FilePrecioW.WriteLine(listprod[i, 0] + "|" +
listprod[i, 2]);
FileCantVentaW.WriteLine(listprod[i, 0] + "|"
+ listprod[i, 3]);
}
}
FileNombreW.Close();
FileCantVentaW.Close();
FilePrecioW.Close();
Console.WriteLine("Se a Eliminado el Registro");
Console.WriteLine("Presione ENTER para Continuar");
Console.ReadLine();
}
AdmProductos();
}
else
{
if (o == "2")
{
Console.WriteLine("Ingrese Codigo del Producto para
Eliminarlo");
cod = Console.ReadLine();
FileNombreW.Close();
FileCantVentaW.Close();
FilePrecioW.Close();
Console.WriteLine("Se a Eliminado el Registro");
Console.WriteLine("Presione ENTER para Continuar");
Console.ReadLine();
}
CargarProductos();
AdmProductos();
}
}
static void BuscarProd()
{
Console.Clear();
Console.WriteLine("====== Busqueda de Producto =======");
string c = "";
string dato, dato1 = "";
int l = 0;
Console.WriteLine("Ingrese Caracteres del Nombre del
Producto");
c = Console.ReadLine();
Console.Clear();
Console.WriteLine("====== Productos Encontrados =======");
Console.WriteLine("CODIGO / NOMBRE / PRECIO / CANT
VENDIDOS");
try
{
l = c.Length;
for (int i = 0; i < NumReg; i++)
{
dato = listprod[i, 1];
dato = dato.Substring(0, l);
if (c == dato)
{
for (int j = 0; j < 4; j++)
{
dato1 = dato1 + listprod[i, j] + "/";
}
Console.WriteLine(dato1);
dato1 = "";
}
else { }
}
}
catch { }
}
static void EsCribirArchivos()
{
string ruta1, ruta2, ruta3;
ruta1 = @"FileNombre.txt";
ruta2 = @"FilePrecio.txt";
ruta3 = @"FileCantVenta.txt";
FileNombreW = new StreamWriter(ruta1, true);
FilePrecioW = new StreamWriter(ruta2, true);
FileCantVentaW = new StreamWriter(ruta3, true);
}
static void AbrirArchivos()
{
}
static void CerrarArchivos()
{
FileNombre.Close();
FilePrecio.Close();
FileCantVenta.Close();
}
static void ObtnCodigo()
{
AbrirArchivos();
NumReg = 0;
while (FileNombre.Peek() != -1)
{
Codigo = FileNombre.ReadLine();
NumReg = NumReg + 1;
}
CerrarArchivos();
if (Codigo == null || Codigo == "")
{
Codigo = "0001";
}
else
{
Codigo = "1" + Codigo.Substring(0, 4);
Codigo = (int.Parse(Codigo) + 1).ToString();
Codigo = Codigo.Substring(1, 4);
}
}
static void CargarProductos()
{
string registro1, registro2, registro3, codProd = "";
int l = 0;
int cont = 0;
string[,] matriz;
matriz = new string[2, 0];
AbrirArchivos();
ObtnCantReg();
listprod = new string[NumReg, 4];
AbrirArchivos();
while (FileNombre.Peek() != -1)
{
registro1 = FileNombre.ReadLine();
l = (registro1.Length) - 4;
codProd = registro1.Substring(0, 4);
registro1 = registro1.Substring(5, l - 1);
registro2 = FilePrecio.ReadLine();
l = (registro2.Length) - 4;
registro2 = registro2.Substring(5, l - 1);
registro3 = FileCantVenta.ReadLine();
l = (registro3.Length) - 4;
registro3 = registro3.Substring(5, l - 1);
listprod[cont, 0] = codProd;
listprod[cont, 1] = registro1;
listprod[cont, 2] = registro2;
listprod[cont, 3] = registro3;
cont = cont + 1;
}
CerrarArchivos();
}
static void ObtnCantReg()
{
string leer = "";
NumReg = 0;
AbrirArchivos();
ObtnCantReg();
for (int i = 0; i < NumReg; i++)
{
codp1 = listprod[i, 0];
if (codp == codp1)
{
codp1 = listprod[i, 0];
nomp = listprod[i, 1];
prec = listprod[i, 2];
CantV = listprod[i, 3];
tot = (Convert.ToDouble(cantv) *
Convert.ToDouble(prec)).ToString();
Console.WriteLine("Codigo / Producto / P.U. /Cant /
Total");
Console.WriteLine(codp1 + "/" + nomp + "/" + prec +
"/" + cantv + "/" + tot);
Console.ReadLine();
CantV = (int.Parse(CantV) +
int.Parse(cantv)).ToString();
listprod[i, 3] = CantV;
}
}
File.Delete(@"FileNombre.txt");
File.Delete(@"FilePrecio.txt");
File.Delete(@"FileCantVenta.txt");
EsCribirArchivos();
for (int j = 0; j < NumReg; j++)
{
FileNombreW.Close();
FileCantVentaW.Close();
FilePrecioW.Close();
CargarProductos();
Console.Clear();
inicio();
}
static void ProdMasVendido()
{
string temp, cod, nomp, prec, cant, cant1;
string datos = "";
int n, n1;
CargarProductos();
n = int.Parse(listprod[0, 3]);
for (int i = 0; i < NumReg; i++)
{
cant1 = listprod[i, 3];
n1 = int.Parse(cant1);
if (n <= n1)
{
datos = "";
cod = listprod[i, 0];
nomp = listprod[i, 1];
prec = listprod[i, 2];
cant = listprod[i, 3];
datos = cod + "/" + nomp + "/" + prec + "/" + cant;
n = int.Parse(cant);
}
}
Console.Clear();
Console.WriteLine("====== Producto mas Vendido =======");
Console.WriteLine(datos);
Console.ReadLine();
Console.Clear();
inicio();
}
}
}
BIBLIOGRAFIA
http://www.fdi.ucm.es/profesor/jcgutierrez/Tema%202/02UML-1.pdf
http://jhomo.blogspot.es/i2010-05/
https://www.google.com.pe/search?q=analisis+foda&ie=utf-8&oe=utf-
8&rls=org.mozilla:es-ES:official&client=firefox-a&gws_rd=cr#client=firefox-
a&rls=org.mozilla:es-ES%3Aofficial&sclient=psy-ab&q=fases+de+dise
%C3%B1o+de+interfaces+de+E%2FS&oq=fases+de+dise
%C3%B1o+de+interfaces+de+E
%2FS&gs_l=serp.3...57929.61609.3.61985.6.4.2.0.0.0.209.590.1j2j1.4.0....0...1c.1.21.ser
p.uCxHHr0Z0nw&psj=1&bav=on.2,or.r_qf.&fp=28131a8273e2b652&biw=1152&bih
=697
https://www.google.com.pe/search?q=analisis+foda&ie=utf-8&oe=utf-
8&rls=org.mozilla:es-ES:official&client=firefox-a&gws_rd=cr#client=firefox-
a&rls=org.mozilla:es-ES%3Aofficial&sclient=psy-ab&q=fases+de+dise
%C3%B1o+de+interfaces+de+e%2Fs&oq=fases+de+dise
%C3%B1o+de+interfaces+de+e
%2Fs&gs_l=serp.3...286381.295348.2.295731.25.23.0.2.2.6.259.4655.0j11j12.23.0....0...
1c.1.21.serp.EYBtfEPpAmo&psj=1&bav=on.2,or.r_qf.&fp=28131a8273e2b652&biw=
1152&bih=697
http://www.google.com.pe/search?q=ESTRATEGIAS%20PARA%20EL%20AN
%C3%81LISIS%20ORIENTADO%20A%20OBJETOS%20DE%20UN
%20SISTEMA%20DE
%20VENTA&bav=on.2,or.r_qf.&biw=1152&bih=697&bvm=pv.xjs.s.en_US.c75bKy5
EQ0A.O&ie=UTF-8&hl=es&sa=N&tab=iw&ei=MqTsUYK7CYH-
9gTM6YGYCg#q=AN
%C3%81LISIS+ORIENTADO+A+OBJETOS+DE+UN+SISTEMA+DE+VENTA&hl
=es&psj=1&ei=kabsUcbRBbes4APymIHgDg&start=10&sa=N&bav=on.2,or.r_qf.&fp
=28131a8273e2b652&biw=1152&bih=697
http://www.slideshare.net/MegaMono/diseo-orientado-a-objetos