You are on page 1of 70

ALUMNO:

LUIS ALVAREZ VARGAS

SEMINARIO DE
TEMA:
TESIS I
DESARROLLO DE UN
SISTEMA SIMULADOR
DE VENTAS USANDO
C SHARP

TURNO:

NOCHE

DOCENTE:

ING. EDSON CUENTAS


ARENAS

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.

En este capítulo se incluye el planteamiento del problema, el objetivo general y los


objetivos específicos que se quieren alcanzar al término del desarrollo de esta tesis.
También incluye la justificación e importancia del tema, así como sus limitaciones,
delimitaciones y una narrativa de capítulos para que el lector sepa qué temas se van a
abordar en cada uno de ellos.

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.

“El hombre que confía en Díos, es como árbol plantado a la orilla de un


rió, cuyas raíces penetran Hasta encontrar el agua;
árbol al que no agobia el calor ni angustian los largos meses de sequía. Su follaje se
mantiene verde y produce en todo tiempo jugoso fruto”
Jeremías 17:7-8

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.

Durante el presente trabajo se desarrollará este sistema simulado computacional, que


constará de: un simulador de los sistemas de venta y/o inventariado donde el usuario
ingresa sus variables.

Algunos investigadores han desarrollado metodologías que dan solución óptima a


casos muy específicos, es decir, para un modelo en particular, para una distribución de
probabilidad específica para la demanda y otra para el tiempo de envío, pero es
imposible dar soluciones generales para cualquier distribución de probabilidad o para
cualquier modelo.

1.2. OBJETIVOS

El objetivo general del trabajo es desarrollar un sistema simulador y optimizador de


sistemas de venta y/o inventario. Esto con la finalidad de imitar el comportamiento
real del sistema de inventarios cuyo costo optimo se busque, lo cual nos dará la
libertad de experimentar con muchas políticas y argumentos distintos y luego estudiar
los resultados obtenidos para encontrar las condiciones bajo las cuales el costo que el
inventario constituye para la empresa sea el mínimo.

1.3. JUSTIFICACION

Los procesos de creación, son factores de vital importancia en la organización, en esta


era se ha observado una gran innovación y desarrollo de tecnologías de la información
que ha permitido la evolución de computadores que son capaces de producir sistemas
de información a la sociedad con apartes a los distintos sectores económicos, sociales,
políticos, educativos, entre otros.

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.

Actualmente se puede afirmar que el proceso de contar y registrar datos financieros se


desarrolla de una manera más simple y sencilla con el apoyo del contador, pero, es
preciso aclarar que se siguen rigiendo por los principios establecidos para ejecutar la
contabilidad empresarial.

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.

Posteriormente se explica de manera sencilla en qué consisten los lenguajes de


programación visuales, para continuar con una revisión de Visual Studio, además de
conceptos y terminología necesarios para programar en este lenguaje. Finalmente se
explica lo que es una base de datos, conceptos y terminología, para comprender la
importancia del uso de estas dentro de los sistemas de información.

2.1. BASES TECNICAS ADOPTADAS NECESARIAS PARA LA ELABORACION


DEL MODELO EN ESTUDIO

LENGUAJES ORIENTADOS A OBJETOS

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.

LENGUAJES DE PROGRAMACION C# SHARP


Es un lenguaje de programación orientado a objetos desarrollado y estandarizado por
Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar
por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de
programación diseñados para la infraestructura de lenguaje común.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET,


similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.

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.

2.1.1. PARA EL PLANTEAMIENTO ESTRATEGICO ORIENTADO AL NEGOCIO

MISION

Satisfacer las necesidades de productos de primera necesidad de la comunidad que nos


rodea, enfatizando con cada una de ellas para asegurar una relación permanente y valiosa
con cada uno de nuestros clientes, y proveedores, obteniendo así una adecuada rentabilidad
y garantizando nuestra permanencia.

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.

2.1.1.1. PLAN ESTRATEGICO DE DATOS

ESTRATEGIAS
Se llevaran a cabo las siguientes estrategias:

Se implementara un sistema simulado de capaz de llevar las siguientes funciones:

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

2.1.1.2. PLANEAMIENTO ESTRATEGICO DE DATOS


La planificación estratégica consiste en determinar los lineamientos que debe de seguir una
institución con el objetivo de cumplir las metas de mediano y largo plazo. La definición de
planeamiento estratégico, si bien enfatiza el primer aspecto esencial de la estrategia,
referido al horizonte temporal de mediano y largo plazo de los objetivos estratégicos, sin
embargo deja de lado el aspecto competitivo, consustancial al concepto de estrategia.

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.

2.1.1.3. DESARROLLO PLANEADO

Se desarrollara de acuerdo a los valores Institucionales dados en la empresa. Los valores


son criterios que ayudaran al Centro Comercial a realizar su misión y las metas de largo
plazo Tienen como principal prioridad la de construir un denominador común de
desempeño y de actitud en cada uno de los distintos niveles. En ese sentido tenemos los
siguientes valores:

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.

2.1.1.4. VENTAJAS Y DESVENTAJAS DEL OUTSOURCING

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.

2.1.1.5. ASPECTOS A CONSIDERAR

2.1.1.5.1. PROVEEDOR CALIFICADO

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

El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y diagramas


estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo
que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y
métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que
aprender una única notación.

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.

 Diagramas de Casos de Uso para modelar los procesos 'business'.


 Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
 Diagramas de Colaboración para modelar interacciones entre objetos.
 Diagramas de Estado para modelar el comportamiento de los objetos en el sistema.
 Diagramas de Actividad para modelar el comportamiento de los Casos de Uso,
objetos u operaciones.
 Diagramas de Clases para modelar la estructura estática de las clases en el sistema.
 Diagramas de Objetos para modelar la estructura estática de los objetos en el
sistema.
 Diagramas de Componentes para modelar componentes.
 Diagramas de Implementación para modelar la distribución del sistema.
2.1.1.5.4 CONTROL DEL PROYECTO

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

Diseño de programas 7 de agosto 13 de agosto n/a

Diseño de B.S 14 de agosto 16 de agosto n/a

Diseño de plantillas de 18 de agosto 21 de agosto n/a


resultado

Programación 22 de agosto 3 de setiembre n/a

Pruebas 5 de setiembre 11 de setiembre Computadora

Carga de datos 13 de setiembre 14 de setiembre Computadora

Capacitación 15 de setiembre 19 de setiembre computadora

Mantenimiento n/a n/a n/a

2.1.1.5.5 APOYO DE LAS AREAS INVOLUCRADAS

 Recursos humanos.
 Administración.
 Departamento de compra y venta.

2.2. TECNOLOGIA DE INFORMACION

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

Objetivos Del Sistema


Luego de un análisis exhaustivo se llega a la conclusión de que la tienda comercial no
cuenta con procesos automatizados incipientes, los cuales optimizaremos, desarrollando un
nuevo software simulador que brinden un mejor servicio a dicho centro comercial para su
mejor desempeño.
Los objetivos específicos de nuestro sistema serían los siguientes:
a. Automatizar, simplificar y controlar el registro de venta y cierre de caja.
b. Planificar las diversas capacitaciones que se realizan; es decir, contar con un
cronograma de actividades.
c. Obtener reportes lo más rápido posible contando con la información en línea.
d. Evitar la redundancia de información.

2.2.1 SIGNOS DEL TIEMPO

ACTIVIDAD INICIO
Análisis 3 de agosto

Diseño de proceso 4 de agosto

Diseño de programas 7 de agosto

Diseño de B.S 14 de agosto

Diseño de plantillas de 18 de agosto


resultado

Programación 22 de agosto

Pruebas 5 de setiembre

Carga de datos 13 de setiembre

Capacitación 15 de setiembre

Mantenimiento n/a
2.2.2. PRESENTACION DE UNA REVOLUCION INFORMATICA

EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

Tratando de resumir un poco, se presentan los siguientes cuadros evolutivos, donde


aparecen los lenguajes que por su uso y comercialización, han resultado ser los más
populares a lo largo de este medio siglo.
CLASIFICACIÓN
DE LOS LENGUAJES DE PROGRAMACIÓN
Como ya lo citamos anteriormente y como se puede observar en las figuras anteriores, la
existencia de tantos lenguajes obedece a que cada uno de ellos está encaminado a resolver
ciertas tareas, dentro de la amplia problemática de la explotación de la información, o bien,
a que su arquitectura, o su forma de llevar a cabo la programación, tiene un enfoque
particular. De acuerdo con el estilo de programación, podemos clasificar los lenguajes en
las siguientes categorías:

LENGUAJES IMPERATIVOS

Son aquellos lenguajes, que basan su funcionamiento en un conjunto de instrucciones


secuénciales, las cuales, al ejecutarse, van alterando las regiones de memoria donde residen
todos los valores de las variables involucradas en el problema que se plantea resolver. Es
decir, se cambia progresivamente el estado del sistema, hasta alcanzar la solución del
problema.

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

Este tipo de lenguajes se basan en el cálculo de predicados, la cual es una teoría


matemática que permite entre otras cosas, lograr que una computadora basándose en un
conjunto de hechos y de reglas lógicas, pueda derivar en soluciones inteligentes. El mismo
ejemplo de la factorial, se vería de la siguiente manera, escrito en PROLOG.

2.2.3 ANALISIS DE OPORTUNIDADES DE ESTRATEGIAS DE TECNOLOGIA


DE INFORMACION
ANALISIS NIVEL INTERNO:

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.

OBJETIVOS A NIVEL EXTERIOR:

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.

2.3 PLANEAMIENTO ESTRATÉGICO DE LA INFORMACION

Hay algunas áreas de interés en el funcionamiento de un Centro de Datos que no han


podido presentarse como resumen debido a las limitaciones en los datos conservados.
Entre estos datos figuran los relativos a los consumos eléctricos y de refrigeración en bruto
de cada CPD.

La imposibilidad de contrastar las partidas presupuestarias de los diferentes capítulos de


energía al estar los contadores compartidos con el resto del edificio y al faltar los registros
detallados de consumo de las máquinas de alimentación y climatización, ha impedido
realizar una evaluación del consumo por metro cuadrado de CPD y el cálculo de valores
estándar de la industria como el PUE (Power Usage Effectiveness)

También debido a la ausencia de datos de compras y contratos, no se ha podido establecer


una métrica con respecto a la edad media de los equipos, así como otros datos asociados a
contratos de soporte de mantenimiento de hardware o garantías. No obstante en la mayoría
de los casos se ha constatado que la gran mayoría de dichos equipos tienen una vida
superior a los 3 años.
La siguiente figura muestra un resumen por fabricante de los elementos encontrados en los
anteriores CPDs:

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

El desarrollo del plan estratégico de las tecnologías de información y comunicación


consideró las siguientes etapas generales:

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

2.5 ANALISIS PARA EL PLANEAMIENTO ESTRATÉGICO ORIENTADO A LA


TECNOLOGÍA DE OBJETOS

VENTAJAS ESTRATÉGICAS

 Valor del dinero. Ensamblaje de sistemas a partir de componentes comerciales.


 Amortización de los costos de las componentes en la construcción de varios
sistemas estandarización de la infraestructura y las componentes de negocios.
 Gasto de dinero y tiempo en valores agregados.
 A tiempo para salida al mercado; Minimiza la reinvención de lo que es común en
cada proyecto, genera la construcción de nuevos sistemas a partir de los datos y
procesos ya existentes.
 Retorno de las inversiones Integrales (“envuelve”) sistemas heredados en nuevos
sistemas estandariza en un ambiente “abierto” y comercial.

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

 Integración de los procesos de negocios que Distribuye “flujos de trabajo” =


workflow (objetos de procesos) y recursos (objetos de entidades) a diferentes
niveles que Integra los negocios con los clientes y distribuidores a través de
compartir los objetos de negocios.
 Ingeniería de los procesos de negocios Plug-ins escalables que integran los
procesos de negocios entre empresas colaboradoras a través de interfaces
compartidas con la Integración inmediata de componentes de negocios.

2.6. METODOLOGÍA DEL ANALISIS

UML
 Análisis de Requerimientos
 Diseño del sistema
 Diseño detallado
 Implementación y pruebas

2.7 ANALISIS

“SISTEMA SIMULADOR DE VENTAS USANDO C SHARP”


(codigo, nombre del producto, precio, cantidad de productos)

2.7.1. ANALISIS DE LA APLICACIÓN


ANALISIS DE REQUERIMIENTO

Requerimientos Del Sistema

CARACTERISTICAS PARA REALIZAR EL SISTEMA


SW DESCRIPCIONES
PLATAFORMA Windows seven Instalación y uso del sistema

middleware Net framework 3.5


Descarga e investigación del
Visual Studio Ultimate programa
SOFTWARE
2010
OTROS Consumo de energía al realizar
Consumo de energía
RECURSOS dicho sistema

2.8 MICROPOCESOS DEL ANALISIS


2.8.1 ANÁLISIS MODELO FUNCIONAL

 Crear un sistema de ventas que almacene, gestione, actualice sus productos.


 Crear un texto plano donde se guarde nuestra información.
 El sistema hará una búsqueda de los productos por código o por nombre del producto
para realizar lo siguiente:
 Modificación de un producto.
 Eliminación de un producto.
 El sistema permitirá ingresar datos de n productos.
 El sistema permitirá realizar una búsqueda por código.
 El sistema permitirá eliminar un producto.
 El sistema permitirá actualizar datos de los productos.
 El sistema permitirá mostrar la lista de los productos con sus respectivos precios por
medio de consola.
 El sistema tendrá acceso directo por parte del administrador.

2.8.2 ANALISIS MODELO DEL OBJETO


 Determinar los conceptos.
 Dibujar cada concepto.
 Incorporar las asociaciones.
 Agregar los atributos.

2.9 DISEÑO DEL SISTEMA


Pseudocódigo en castellano
usar System;
usar System.Collections.Generic;
usar System.Linq;
usar System.Text;
usar System.IO;
espacio de Nombre SistemadeVents
Abrir
Clase Program
Abrir

declaro StreamReader FileNombre;


declaro StreamReader FilePrecio;
declaro streamReader FileCantVenta;
declare StreamWriter FileNombreW;
declaro StreamWriter FilePrecioW;
declaro StreamWriter FileCantVentaW;
entero NumReg=0;
cadena Codigo,CantV="0";
cadena[,] listprod;
meotodo Main(string[] args)
abrir
intentar
abrir
Llamar al método AbrirArchivos();
Llamar al método CerrarArchivos();
cerrar
excepción abrir

llamar al método EsCribirArchivos();


llamar al método FileNombreW.Close();
cerrar FileCantVentaW
Cerrar FilePrecioW
cerrar
Llamar CargarProductos();
inicio();
abrir
método inicio()
abrir
cadena opcion = "";
escribir("========= SISTEMA DE VENTAS ==========");
escribir("1) Vender");
escribir("2) Administrar Productos");
escribir("3) Listar Productos");
escribir("4) Mostrar Producto mas Vendido");
escribir("-----------------------------------------");
escribir("Ingrese el Nro de la Opcion");
opcion= leer línea de consola

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 =======");

bucle (entero i = 0; i < NumReg; i++)


cerrar

bucle (entero j = 0;j < NumReg - i - 1; j++)


si
si (listprod[j + 1, 1] compara (listprod[j, 1]) <= 0)
abrir
temp1 = listprod[j, 0];
listprod[j, 0] = listprod[j+1, 0];
listprod[j+1, 0] = temp1;
temp2 = listprod[j, 1];
listprod[j, 1] = listprod[j + 1, 1];
listprod[j + 1, 1] = temp2;
temp3 = listprod[j, 2];
listprod[j, 2] = listprod[j + 1, 2];
listprod[j + 1, 2] = temp3;
temp4 = listprod[j, 3];
listprod[j, 3] = listprod[j + 1, 3];
listprod[j + 1, 3] = temp4;
cerrar
cerrar
cerrar
bucle (enero i = 0; i < NumReg; i++)
abrir
bucle (entero j = 0; j < 4; j++)
abrir
datos = datos + listprod[i, j] + "/";
cerrar
escribir(datos);
datos = "";
cerrar
escribir("Presione ENTER para regresar");
pausar
limpiar pantalla
inicio();
cerrar
metodo ActProd()
abrir
cadena o = "";
CargarProductos();
Limpiar pantalla
escribir("====== Actualizar Producto =======");
escribir("1) Buscar Producto");
escribir("2) Actualizar Producto");
escribir("=======================================");
o = leer línea de consola
si(o == "1")
abrir
o = "";
limpiar pantalla
BuscarProd();
escribir("==============================");
escribir("1) Actualizar Producto");
escribir("2) Regresar");
escribir("=================================");
escribir("Escriba 1 para Actualizar , 2 o ENTER para regresar");
o = leer linea de consola
si (o == "1")
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 = esxtrae 4 caracteres de cod1
si (cod == cod1)
abrir
escribir("Ingrese Nuevo nombre del Producto");
Nomp = leer línea de consola
escribir("Ingrese Nuevo Precio del Producto");
Prec = leer linea de consola
listprod[i, 1] = Nomp;
listprod[i, 2] = Prec;
cerrar
cerrar
cerrar

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

FileNombreW.WriteLine(listprod[j, 0] + "|" + listprod[j, 1]);


FilePrecioW.WriteLine(listprod[j, 0] + "|" + listprod[j, 2]);
FileCantVentaW.WriteLine(listprod[j, 0] + "|" + listprod[j, 3]);

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

cadena ruta = @"FileNombre.txt";


eliminar archivo(ruta);
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
caso contrario
abrir
FileNombreW escribir (listprod[i, 0] + "|" + listprod[i, 1]);
FilePrecioW escribir (listprod[i, 0] + "|" + listprod[i, 2]);
FileCantVentaWescribir (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");
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");

c = leer linea de consola


limpiar pantalla
escribir("====== Productos Encontrados =======");
escribir("CODIGO / NOMBRE / PRECIO / CANT VENDIDOS");
intentar
abrir
l = obtener longitud de c
bucle (entero i = 0; i < NumReg; i++)
abrir
dato = listprod[i, 1];
dato = dato extraer(0, l);
si (c == dato)
abrir
bucle (entero j = 0; j < 4; j++)
abrir
dato1 = dato1 + listprod[i, j]+"/";
cerrar

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

FileNombre = new StreamReader(@"FileNombre.txt", true);


FilePrecio = new StreamReader(@"FilePrecio.txt", true);
FileCantVenta = new StreamReader(@"FileCantVenta.txt", true);

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)
{

registro1 = FileNombre leer linea


l = (registro1 longitud) - 4;
codProd = registro1 extraer (0, 4);
registro1 = registro1 extraer 5, l-1);
registro2 = FilePrecio leer linea
l = (registro2 longitud - 4;
registro2 = registro2 extraer (5, l-1);
registro3 = FileCantVenta leer linea
l = (registro3 longitud) - 4;
registro3 = registro3 extraer (5, l-1);
listprod[cont, 0] = codProd;
listprod[cont, 1] = registro1;
listprod[cont, 2] = registro2;
listprod[cont, 3] = registro3;
cont = cont + 1;

cerrar
CerrarArchivos();
cerrar
metodo ObtnCantReg()
abrir
cadena leer = "";
NumReg = 0;

Hacer mientras(FileNombre.Peek() != -1)


abrir
leer = FileNombre leer linea
NumReg = NumReg + 1;
cerrar
CerrarArchivos();
cerrar
metodo Vender()
abrir
limpiar consola
cadena codp,codp1,cantv,nomp,prec,tot;
escribir("========= Realizando Venta ==========");
cadena("Ingrese Codigo del Producto a Vender");
codp = leer línea de consola
escribir("Ingrese la Cantidad a Vender");
cantv = leer línea de consola
CargarProductos();

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

FileNombreW escribir(listprod[j, 0] + "|" + listprod[j, 1]);


FilePrecioW escribir(listprod[j, 0] + "|" + listprod[j, 2]);
FileCantVentaW escribir(listprod[j, 0] + "|" + listprod[j, 3]);

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.10 DISEÑO DEL OBJETO

Caso De Uso: Sistema de Ventas para una Tienda Comercial

2.11 IMPLEMENTACION

2.11.1 CONEXION Y ASOCIACION

 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

2.11.2 DIAGRAMA DE FLUJO DE OBJETOS


2.12 ESTRETEGIAS PARA EL ANÁLISIS ORIENTADO A OBJETOS

2.12.1 IDENTIFICANDO ESTRUCTURAS

 La frontera corresponde a una Terminal de Punto de Venta


 Los Actores y sus funciones son los siguientes:

Cajero Registrar Ventas


Abrir/Cerrar una TPDV
Cliente Comprar productos
Devolver los productos
Gerente Habilitar el sistema
Cerrar el Sistema
Administrador Incorporar nuevos usuarios
del sistema

2.12.2 DEFINIENDO ATRIBUTOS

Atributos del Sistema (Requerimiento No Funcionales)

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

Atributo Detalles y restricciones de frontera

tiempo de (restricción de frontera) Cuando se registre un producto vendido, la


respuesta descripción y el precio aparecerán en un segundo.

metáfora de (detalle) Ventanas orientadas a la metáfora de un formulario y cuadros


interfaz de diálogo.
(detalle) Maximiza una navegación fácil con teclado y no con mouse.
tolerancia a (restricción de frontera) Debe registrar los pagos a crédito autorizados
fallas que se hagan a las cuentas por cobrar en un plazo de 24 horas, aun
cuando se produzcan fallas de energía o del equipo.

plataformas (detalle) Microsoft Windows 95, 98, 2000 y NT.


del sistema
operativo

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

Ref. Función Atributo Detalles y restricciones Cat.

R1.9 Mostrar la descripción tiempo de 1 segundo como máximo obligatorio


y el precio del respuesta
producto registrado. metáfora de Pantallas basadas en formularios. obligatorio
interfaz Con colores.
R2.4 Registrar los pagos a tolerancia a Debe registrar en las cuentas por obligatorio
crédito en el sistema fallas cobrar en un plazo de 24 horas, aun
de cuentas por cobrar, cuando se produzcan fallas de
pues el servicio de energía o del equipo.
autorización de tiempo de 10 segundos como máximo obligatorio
crédito debe a la respuesta
tienda el importe del
pago.
 Un atributo es un valor asociado a un concepto
 Los atributos deben referirse a propiedades de un concepto.
 No deben incluirse atributos que indiquen una relación.

2.12.3 DEFINIENDO SERVICIO

Un servicio es el acto o el conjunto de actos mediante el cual se logra que un producto o


grupo de productos satisfaga las necesidades y deseos del cliente.

Al abordar el servicio al cliente hay que conceptualizar adecuadamente tres aspectos


interrelacionados del mismo:

 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

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

Al establecer la estrategia de servicio al cliente deben considerarse otros factores como:

Componentes del servicio al cliente: El nivel de servicio se puede expresar por:

 el nivel de servicio ofrecido


 el nivel de servicio proporcionado
 el nivel de servicio percibido por el cliente

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:

 Calidad del producto


 Variedad de productos
 Características del producto
 Fiabilidad del producto
 Servicio de posventa
 Costo
 Disponibilidad
 Tiempo de respuesta
 Tiempo de entrega
 Actitud

MEDICIÓN DEL NIVEL DE SERVICIO


DISEÑO DEL SERVICIO AL CLIENTE

ESTRUCTURA DE SERVICIO
2.12.4 CICLO DE VIDA DE LOS OBJETOS

2.15.5. DIAGRAMA DE TRANSICION DE ESTADOS


2.12.6 CONCEPTOS BASICOS
 Para identificar los conceptos es necesario de un análisis semántico de las
descripciones textuales referentes al dominio del problema.
 Por ejemplo, los casos de uso expandidos proveen una buena fuente de conceptos.
 En el caso de uso Comprar productos:

Acción de los actores Respuesta del sistema

1. Este caso de uso


comienza cuando un
Cliente llega a una caja
de TPV con los
productos que desea
comprar.

2. El Cajero registra el 3. Determina el precio del producto y a la


código de barras de transacción de venta le agrega la información
cada producto. Si hay sobre el producto. Se muestra la descripción y
más de un producto, el el precio del producto actual.
Cajero puede
introducir también la
cantidad.

 Así, los conceptos determinados por el caso de uso son:

2.12.7.1 CREACION DE METODOS

CONSTRUCCIÓN DE UN MODELO CONCEPTUAL

 Para construir un Modelo Conceptual se deben aplicar los siguientes pasos:

 Determinar los conceptos.


 Dibujar cada concepto.
 Incorporar las asociaciones.
 Agregar los atributos.
CAPITULO III
AMBITO DEL ESTUDIO DE MERCADO

3.1 ESTUDIO DEL MERCADO

 Determinar el TOP OF MIND y NIVEL DE RECORDACIÓN de los centros


comerciales.
 Identificar los FACTORES que influyen en la elección de un centro comercial.
 Identificar los centros comerciales MÁS VISITADOS.
 Determinar las PRINCIPALES RAZONES que explican la preferencia por un
centro comercial.
 Identificar los HÁBITOS DE COMPRA en centros comerciales: frecuencia de
asistencia, personas con las que asiste, tiempo de permanencia y usos.
 Determinar las CATEGORÍAS de productos/servicios de mayor demanda en los
centros comerciales.
 Identificar los ATRIBUTOS asociados a cada centro comercial.

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.

3.1.2 OFERTA DEL PRODUCTO POR PARTE DE LA EMPRESA

Product manager o jefe de producto es el máximo responsable de la gestión de producto de


una organización, y forma parte de las actividades de marketing. Su implicación dura desde
la concepción del mismo hasta su desaparición. Gestionará el producto a lo largo de todo
su ciclo de vida definiendo en cada momento las estrategias comerciales y de marketing a
seguir. También velará por la maximización de los beneficios producidos por el mismo
mediante su re lanzamiento en fases de declive o la implementación de otras estrategias
encaminadas a prolongar su existencia.

La creación de un nuevo producto o gama de productos va a partir de las conclusiones


obtenidas en el plan de marketing. En el mismo se ha tenido que detectar la existencia de
una necesidad o deseo por satisfacer por parte de un grupo de consumidores o segmento de
mercado lo suficientemente amplio como para compensar el esfuerzo de su creación y
lanzamiento.

El jefe de producto es el encargado de definir el marketing mix con el que se va a salir al


mercado, lo que incluye producto, precio, promoción y distribución o plaza. Dicho mix
deberá ser atractivo y diferenciado para el segmento objetivo para provocar un deseo de
compra rápido y efectivo.

3.1.3 ANALISIS DE LA DEMANDA


DESDE EL PUNTO DE VISTA DEL CONSUMIDOR

El consumidor se mueve en un mercado donde existen oferentes y demandantes (donde la


cantidad de oferentes o demandantes puede variar dependiendo del tipo del mercado), y su
preocupación está centrada en aspectos relacionados con la satisfacción de sus necesidades.
El consumidor antes de adquirir un bien o servicio se hace 2 preguntas principales:

El precio del producto


1-¿Que producto comprar? El precio de los otros productos
2- ¿Cuanto comprar de esos productos? complementarios y sustitutos.
En este caso la cantidad a comprar El nivel de ingreso que ha de recibir.
dependerá de varios factores como Los gustos que ha de satisfacer con la
son:> > > > > > > > compra
La publicidad, la cual pude influir mucho o
poco en la compra del producto.

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.

3.1.4 PROYECCION DE LA DEMANDA

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

La confianza o él % de confianza es el porcentaje de seguridad que existe para generalizar


los resultados obtenidos. Esto quiere decir que un % del 100% equivale a decir que no
existe ninguna duda para generalizar tales resultados, pero también implica estudiar la
totalidad de los casos de la población.

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.

La variabilidad es la probabilidad(o porcentaje) con el que se aceptó y se rechazó la


hipótesis que se quiere investigar. El % con que se aceptó tal hipótesis se denomina
variabilidad positiva y se denota por p y él % con el que se rechazó la hipótesis se
denomina variabilidad negativa denotada por q.

Cuando se habla de una máxima variabilidad, en el caso de no existir antecedentes sobre la


investigación, entonces los valores de variabilidad se consideran como p=q=0.5, es por
esto que nosotros tomaremos estos valores.

Fórmulas

Cuando el tamaño de población se desconoce puede utilizarse la siguiente fórmula:

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

Cuando el tamaño de población se conoce, el tamaño de la muestra puede calcularse


mediante la siguiente fórmula, obteniendo con ella una mayor precisión:

n= (Z2 pqN)/(N E2+ Z2pq)

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

Cálculo del tamaño de muestra

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.

3.1.5 ANALISIS DE LA OFERTA


1
Comúnmente se aceptan entre el 4% y el 6% como error, tomando en cuenta que no son complementarios la
confianza y el error
1
La oferta es la cantidad de bienes o servicios que un cierto número de productores o
prestadores de servicios están decididos a poner a la disposición del mercado a un precio
determinado.

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.

3.1.5.1 PROYECCION DE LA OFERTA DE PRODUCTOS

PLAZO:

 De corto plazo: El plazo va de un mes a un año-


 De mediano plazo: de uno a dos años-
 De muy largo plazo. En la actualidad si algo ha cambiado es el concepto de plazo:
Para proyectos con componentes de tecnología electrónica o computacional el largo
plazo es un año o dos.-
 La vida de los productos presiona los plazos y el tipo de producto.-
 Tradicionalmente corto plazo es uno o dos años, mediano plazo cinco años, largo
plazo, 10 años inversiones en frutales y muy largo plazo 30 años represas y
perímetros irrigados

X Año Demanda Oferta % Cubierto % de la


Proyectada Proyectad de la Capacida
(unidades ) a Demanda d
(unidades Proyectada instalada
)

1 2011 5000 1500 30% 100%

2 2012 5250 1850 35% 123%

3 2013 5500 2000 36% 133%

4 2014 6000 2250 38% 150%

5 2015 6500 3000 46% 200%


3.1.6 DEMANDA INSTANTANEA EN EL MERCADO

3.1.7 ANALISIS DE PRECIO

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

 Canal directo (Circuitos cortos de comercialización). El productor o fabricante


vende el producto o servicio directamente al consumidor sin intermediarios. Es el
caso de la mayoría de los servicios; también es frecuente en las ventas industriales
porque la demanda está bastante concentrada (hay pocos compradores), pero no es
tan corriente en productos de consumo. Por ejemplo, un peluquero presta el servicio
y lo vende sin intermediarios; lo mismo ocurre con bancos y cajas de ahorro.
Ejemplos de productos de consumo pueden ser los productos Avon, el Círculo de
Lectores, Dart Ibérica (Tupperware) que se venden a domicilio. También es un
canal directo la venta a través de máquinas expendedoras, también llamado
vending.

Fabricante --------------------------------------------------> Consumidor

 Canal indirecto. Un canal de distribución suele ser indirecto, porque existen


intermediarios entre el proveedor y el usuario o consumidor final. El tamaño de los
canales de distribución se mide por el número de intermediarios que forman el
camino que recorre el producto. Dentro de los canales indirectos se puede distinguir
entre canal corto y canal largo.

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

Fabricante ---------------------------------------------------------> Detallista ----> Consumidor

 En un canal largo intervienen muchos intermediarios (mayoristas, distribuidores,


almacenistas, revendedores, minoristas y agentes comerciales, etc.). Este canal es
típico de casi todos los productos de consumo, especialmente productos de
conveniencia o de compra frecuente, como los supermercados, las tiendas
tradicionales, los mercados o galerías de alimentación...

Fabricante -----------------------------------> Mayorista ----> Detallista ----> Consumidor


 En general, se considera que los canales de distribución cortos conducen a precios
de venta al consumidor reducidos y, a la inversa, que canales de distribución largos
son sinónimo de precios elevados. Esto no siempre es verdad; puede darse el caso
de que productos comprados directamente al productor (ejemplo, vino o cava a una
bodega, en origen) tengan un precio de venta mayor que en un establecimiento
comercial.
3.1.9 DISEÑO DE LA PLANTA Y UBICACIÓN FISICA

3.1.11 INGRESO PROYECTADO DE PRODUCTOS

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

4.1 ORGANIGRAMA ESTRUCTURAL DE LA EMPRESA

4.2 FUNCIONES DE LA EMPRESA

El objeto de la empresa es el de suplir a la comunidad bienes y servicios con la máxima


eficiencia posible. Estos bienes y servicios deben satisfacer las necesidades de la sociedad,
al costo más bajo y que permita precios competitivos, de tal manera que el accionista
obtenga ganancias.

 CICLO DE VIDA DE LA EMPRESA.

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

GERENTE GENERAL: La gerencia es un cargo que ocupa el director de una empresa lo


cual tiene dentro de sus múltiples funciones, representar a la sociedad frente a terceros y
coordinar todos los recursos a través del proceso de planeamiento, organización dirección y
control a fin de lograr objetivos establecidos

CONTADOR: Es el profesional dedicado a aplicar, manejar e interpretar la contabilidad


de una organización o persona, con la finalidad de producir informes para la gerencia y
para terceros (tanto de manera independiente como dependiente) que sirvan a la toma de
decisiones. Lleva los libros o registros de contabilidad de una empresa, registrando los
movimientos monetarios de bienes y derechos. Dentro de dichos informes se encuentran
los estados contables o estados financieros, los presupuestos y las rendiciones de cuentas o
balances de ejecuciones presupuestales, utilizados internamente en las empresas u
organismos y también por parte de terceros como reguladores, oficinas recaudadoras de
impuestos o bancos

SECRETARIA: es la encargada de ejecutar las resoluciones emanadas del Consejo,


siendo ésta la responsable de dar seguimiento, coordinar y supervisar los programas,
proyectos y actividades delegadas por el Consejo y/o el Presidente en pro del desarrollo
Científico y Tecnológico del País y sirviendo de enlace entre organismos nacionales e
internacionales con el Consejo. Acuerdo administrativo.

GERENTE COMERCIAL: desempeña cierto rol en una empresa, su labor es muy


importante ya que administra y coordina todos los departamentos subordinados de
marketing; fija objetivos, estrategias y programa actividades para lograr las metas trazadas
por la empresa; con el apoyo de las demás áreas (publicidad, promoción, investigación de
mercados, producción, finanzas, etc.) selecciona el tipo de canal de distribución, define
objetivos publicitarios, crea la base publicitaria, crean mensajes publicitarios, evalúan la
efectividad de la publicidad, estimulan la demanda, etc.

GERENTE ADMINISTRATIVO: Organizar, dirigir, coordinar y controlar todas las


actividades administrativas y financieras de la Corporación.

VENDEDORES DE SALON: ofrece al público los productos dando algunas referencias


de los productos que ofrece.

RECEPCIONISTA DE BOLSOS: Se encargan de la custodia de bolsos, carteras,


mochilas, etc., con la única orden no dejar que roben nada.

ENCARGADO DEL DEPÓSITO:

 Custodiar las existencias y movimientos de mercadería.


 Controlar el buen uso del depósito.
 Controlar el desempeño del personal en las tareas de carga y descarga.

CAJEROS: encargados de despachar a las persona, y, hacer los cobros respectivo.


4.3 PLANTEAMIENTO ESTRATEGICO DE LA EMPRESA

Análisis foda consta de dos partes:

LA PARTE INTERNA DEL ANÁLISIS FODA

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.

LA PARTE EXTERNA DEL ANALISIS FODA

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

 Control y dirección sobre las ventas al  Lista de clientes disponible


cliente final  Capacidad de entrega directa
 Producto, calidad y confiabilidad del  Mejoras continuas a los productos
producto  Se puede atender desde las instalaciones
 Mejor desempeño del producto, actuales
comparado con competidores  Los productos tienen la acreditación
 Mejor tiempo de vida y durabilidad necesaria
del producto  Los procesos y la TI se pueden adaptar
 Capacidad ociosa de manufactura  La gerencia está comprometida y
 Algunos empleados tienen experiencia confiada
en el sector del cliente final

DEBILIDADES

 La lista de clientes no ha sido  Necesidad de una mayor fuerza


probada de ventas
 Ciertas brechas en el rango  Presupuesto limitado
para ciertos sectores  No se ha realizado ninguna
 Seríamos un competidor débil prueba
 Poca experiencia en mercadeo  Aún no existe un plan detallado
directo  El personal de entrega necesita
 Imposibilidad de surtir a entrenamiento
clientes en el extranjero  Procesos y sistemas
 El equipo gerencial es
insuficiente

Oportunidades

 Se podrían desarrollar nuevos productos


 Los competidores locales tienen productos de baja calidad
 Los márgenes de ganancia serán buenos
 Los clientes finales responden ante nuevas ideas
 Se podría extender a otros países
 Nuevas aplicaciones especiales
 Puede sorprender a la competencia
 Se podrían lograr mejores acuerdos con los proveedores
Amenazas
 Impacto de la legislación
 Los efectos ambientales pudieran favorecer a los competidores grandes
 Riesgo para la distribución actual
 La demanda del mercado es muy estacional
 Retención del personal clave
 Podría distraer del negocio central
 Posible publicidad negativa
 Vulnerabilidad ante grandes competidores

4.4 OBJETIVO DE LA EMPRESA

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

Ha de destacarse que el presupuesto refleja el resultado obtenido de la aplicación de los


planes estratégicos, es de considerarse que es fundamental conocer y ejecutar
correctamente los objetivos para poder lograr las metas trazadas por las empresas.
También es importante señalar que la empresa debe precisar con exactitud y cuidado la
misión que se va regir la empresa, la misión es fundamental, ya que esta representa las
funciones operativas que va a ejecutar en el mercado y va a suministrar a los
consumidores.

5.2 ALCANCE DEL PLANEAMIENTO ESTRATEGICO DE INFORMACION

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

1. Más importante: el director no es el adecuado, no supervisa correctamente.


Vendedores mal capacitados.
2. Mucha rotación de personal: no terminas de capacitar a uno, cuando ya se fue. y
duran poco en el puesto.
3. Malos sueldos: el empleado no gana bien, tú como que les pagas y ellos como que
trabajan.
4. Mal ambiente de trabajo.
5. Los potenciales clientes no conocen tu producto.
6. Falta de publicidad: volantes, mantas, activaciones,

5.3 ANALISIS DE FACTORES CRITICOS DE ÉXITO

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?

5.3.1 OBJETIVOSY FACTORES CRTICOS DE ÉXITO

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.

En consecuencia, Compañías de Clase Mundial están cada día más accediendo a


esquemas de BPO (Business Process Outsourcing) o de Tercerización de Procesos de
Negocio que si bien son esenciales, no son críticos en el momento de sobrevivir, crecer en
el mercado y ser sostenibles en el tiempo. En tal sentido, le están cediendo dichos
procesos a empresas especializadas expertas en su operación a un menor costo.

Dentro de los factores críticos de éxito, empresas que deseen diferenciarse en el mercado,
deben focalizar sus acciones en:

 Velar por la generación de caja, el correcto apalancamiento de sus ingresos y la


mejora de sus márgenes de rentabilidad
 Proyectarse hacia el futuro, implementando estrategias para desarrollar nuevos
clientes e incrementar su participación de mercado
 Velar por la satisfacción de sus clientes para asegurar su fidelidad
 Asegurar la calidad de sus productos o servicios
 Desarrollo e Innovación de nuevos productos o servicios para atraer nuevos clientes
y nuevos mercados
 Desarrollo e Innovación de nuevos canales de distribución para acceder mejor al
mercado y a potenciales nichos no atendidos
 Convertir su "know how" en un activo diferenciador en el mercado
 Desarrollar nuevas alianzas estratégicas para aumentar el espectro y el campo de
acción de la compañía
 Asegurar el reclutamiento, selección y retención de empleados claves para la
empresa
 Asegurar la sostenibilidad de empresa a largo plazo

CAPITULO VI
6.1 ANALISIS ORIENTADO A OBJETOS

Caso de uso
Caso de uso simplificado

Diagrama de clase
CAPITULO VII

7.1 FASES DE DISEÑO


7.1.1 FASES DE DISEÑO DE INTERFASES DE E/S

Las características de los diseños de sistemas se especifican principalmente en las


entradas, procesos, especificaciones y salidas.

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:

Las salidas del sistema


se presentan en la
pantalla que permite por
ejemplo al usuario
encontrar la información
que requiere, o realizar
también las operaciones
que son necesarias. En
un solo sistema las
salidas pueden ser
varias, miremos por
ejemplo el SI de
información de uno de
los motores de búsqueda
más famosos “yahoo”
las salidas que este
programa tiene son:
correo, noticias,
entretenimiento.

7.2 CREACION DE
CLASES
7.3 CODIGO GENERAL

CODIGO DEL SISTEMA EN VISUAL ESTUDIO 2010


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace SistemadeVentas
{
class Program
{
static StreamReader FileNombre;
static StreamReader FilePrecio;
static StreamReader FileCantVenta;
static StreamWriter FileNombreW;
static StreamWriter FilePrecioW;
static StreamWriter FileCantVentaW;
static int NumReg = 0;
static string Codigo, CantV = "0";
static string[,] listprod;
static void Main(string[] args)
{
try
{
AbrirArchivos();
CerrarArchivos();
}
catch
{

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
===");

for (int i = 0; i < NumReg; i++)


{
for (int j = 0; j < NumReg - i - 1; j++)
{
if (listprod[j + 1, 1].CompareTo(listprod[j, 1]) <=
0)
{
temp1 = listprod[j, 0];
listprod[j, 0] = listprod[j + 1, 0];
listprod[j + 1, 0] = temp1;
temp2 = listprod[j, 1];
listprod[j, 1] = listprod[j + 1, 1];
listprod[j + 1, 1] = temp2;
temp3 = listprod[j, 2];
listprod[j, 2] = listprod[j + 1, 2];
listprod[j + 1, 2] = temp3;
temp4 = listprod[j, 3];
listprod[j, 3] = listprod[j + 1, 3];
listprod[j + 1, 3] = temp4;
}
}
}
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("Presione ENTER para regresar");
Console.ReadLine();
Console.Clear();
inicio();
}

static void ActProd()


{
string o = "";
CargarProductos();
Console.Clear();
Console.WriteLine("====== Actualizar Producto =======");
Console.WriteLine("1) Buscar Producto");
Console.WriteLine("2) Actualizar Producto");
Console.WriteLine("=======================================");
o = Console.ReadLine();
if (o == "1")
{
o = "";
Console.Clear();
BuscarProd();
Console.WriteLine("==============================");
Console.WriteLine("1) Actualizar Producto");
Console.WriteLine("2) Regresar");
Console.WriteLine("=================================");
Console.WriteLine("Escriba 1 para Actualizar , 2 o ENTER
para regresar");
o = Console.ReadLine();
if (o == "1")
{
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;
}
}

}
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.WriteLine(listprod[j, 0] + "|" + listprod[j,


1]);
FilePrecioW.WriteLine(listprod[j, 0] + "|" + listprod[j,
2]);
FileCantVentaW.WriteLine(listprod[j, 0] + "|" +
listprod[j, 3]);

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();

string ruta = @"FileNombre.txt";


File.Delete(ruta);
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();
}
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()
{

FileNombre = new StreamReader(@"FileNombre.txt", true);


FilePrecio = new StreamReader(@"FilePrecio.txt", true);
FileCantVenta = new StreamReader(@"FileCantVenta.txt", true);

}
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;

while (FileNombre.Peek() != -1)


{
leer = FileNombre.ReadLine();
NumReg = NumReg + 1;
}
CerrarArchivos();
}
static void Vender()
{
Console.Clear();
string codp, codp1, cantv, nomp, prec, tot;
Console.WriteLine("======= Realizando Venta =======");
Console.WriteLine("Ingrese Codigo del Producto a Vender");
codp = Console.ReadLine();
Console.WriteLine("Ingrese la Cantidad a Vender");
cantv = Console.ReadLine();
CargarProductos();

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.WriteLine(listprod[j, 0] + "|" + listprod[j,


1]);
FilePrecioW.WriteLine(listprod[j, 0] + "|" + listprod[j,
2]);
FileCantVentaW.WriteLine(listprod[j, 0] + "|" +
listprod[j, 3]);

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

You might also like