96
INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS PROPUESTA DE SISTEMATIZACIÓN DEL PROCESO DE ALMACÉN Y COTIZACIÓN DE VENTAS EN UNA EMPRESA DE EQUIPO DE CÓMPUTOT E S I N A QUE PARA OBTENER EL TÍTULO DE: LICENCIADO EN CIENCIAS DE LA INFORMÁTICA P R E S E N T A N : FABRICIO ALBARRAN SEGURA EDGAR IVAN CISNEROS YESCAS M A R I O M O R E N O L U I S PAU LINA PAREDES ESCOBED O QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN INFORMÁTICA P R E S E N T A : A R N U L F O P E R A L T A P É R E Z MÉXICO. DF 2010

INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

1

INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y

ADMINISTRATIVAS

“PROPUESTA DE SISTEMATIZACIÓN DEL PROCESO DE

ALMACÉN Y COTIZACIÓN DE VENTAS EN UNA EMPRESA DE EQUIPO DE CÓMPUTO”

T E S I N A

Q U E P A R A O B T E N E R E L T Í T U L O D E :

L IC EN CI AD O EN C I ENCI AS D E L A IN FOR M ÁT IC A

P R E S E N T A N :

F A B R I C I O A L B A R R A N S E G U R A

E D G A R I V A N C I S N E R O S Y E S C A S

M A R I O M O R E N O L U I S

P A U L I N A P A R E D E S E S C O B E D O

Q U E P A R A O B T E N E R E L T Í T U L O D E :

I N G E N I E R O E N I N F O R M Á T I C A

P R E S E N T A :

A R N U L F O P E R A L T A P É R E Z

MÉXICO. DF 2010 2009

Page 2: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

2

ÍNDICE

RESUMEN i

INTRODUCCIÓN ii

CAPÍTULO I MARCO METODOLÓGICO 1

1.1 PLANTEAMIENTO DEL PROBLEMA 1

1.2 OBJETIVOS(S) 2

1.3 TÉCNICAS E INSTRUMENTOS DE MEDICIÓN 2

1.4 UNIVERSO Y/O MUESTRA 3

1.5 JUSTIFICACIÓN 4

1.6 HIPÓTESIS 4

CAPÍTULO II MARCO TEÓRICO 5

2.1 CONCEPTOS Y DEFINICIONES 5

2.1.1 DEFINCIÓN DE INVENTARIO 5

2.1.2 DEFINICIÓN DE ALMACÉN 6

2.1.3 DEFINICIÓN DE VENTAS 6

2.1.4 DEFINICIÓN DE PROVEEDORES 7

2.1.5 DEFINICIÓN DE CLIENTES 7

2.1.6 DEFINICIÓN DE PRODUCTOS 8

2.2 CONCEPTOS INFORMÁTICOS 9

2.2.1 DEFINICIÓN DE SISTEMA INFORMÁTICO 9

2.2.2 CICLO DE VIDA DEL SISTEMA 13

2.2.3 METODOLOGÍA RUP (RATIONAL UNIFIED PROCESS) 17

2.2.4 PROGRAMACIÓN ORIENTADA A OBJETOS 23

2.2.5 BASE DE DATOS 29

2.2.6 APLICACIONES WEB 36

CAPÍTULO III DIAGNÓSTICO DE LA PROBLEMÁTICA ENCONTRADA EN EL

PROCESO DE ALMACÉN

41

3.1 PLANTEAMIENTO DEL PROBLEMA 41

3.2 ANÁLISIS DEL PROCESO DE ALMACÉN 46

3.3 ACTIVIDADES Y AREAS QUE INTERVIENEN EN EL PROCESO 52

3.4 PROPUESTA DE SOLUCIÓN Y ACCIONES DE MEJORA 52

CAPÍTULO IV PROPUESTA DE SOLUCIÓN 62

Page 3: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

3

4.1 DISEÑO 62

4.2 DESARROLLO 70

4.3 PRUEBAS 82

4.4 PROPUESTA DEL PROTOTIPO 82

CONCLUSIONES 88

BIBLIOGRAFÍA 89

GLOSARIO 90

Page 4: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

4

RESUMEN

Cada vez dependemos más del uso de equipos de cómputo para el desempeño de nuestras

actividades, por lo tanto es necesario ofrecer un grado de calidad y confiabilidad que el usuario

requiera teniendo en cuenta los recursos con los que cuenta.

Desde que la informática se enfocó a apoyar a las empresas mediante la sistematización casi

cualquier área de negocios, se empezaron a implantar aplicaciones administrativas en contabilidad,

nóminas, control del personal, control escolar, otra área importante en donde se han implementado

sistemas es en el control de inventarios y ventas.

El presente trabajo muestra la propuesta de solución en el control de inventarios y cotización de

ventas para la empresa CYCTA S.A de C.V, con la cual se trabajo los pasados 5 meses,

descubriendo los procesos que ejecuta, las áreas que laboran y los puestos que maneja para

realizar cada una de sus tareas.

Primeramente se recabo la información necesaria para saber cuál era el problema que enfrentaba

la compañía, una vez obteniendo la problemática se prosiguió a analizarla, en donde nos

apoyamos con la realización de diagramas múltiples, para crear soluciones adecuadas y escoger la

que más se apega a las necesidades de la empresa.

Ya elegida la solución se continuo con el diseño de la misma, se empezó por la construcción de la

base de datos, creando tablas, atributos, entidades y las relaciones que existen entre las mismas;

así mismo fueron creando las interfaces gráficas que el usuario final utilizara.

Se trabajó durante dos meses la programación del sistema, mostrando los avances en la empresa,

conjuntamente se fueron realizando las pruebas del sistema, causando que se efectuaran

modificaciones oportunas según las especificaciones del usuario, la mayoría de ellas solo se

tuvieron que modificarse en el diseño pero varias otras tuvieron que alterarse desde el análisis de

la solución.

Para que Corporación CYCTA diera la aprobación del sistema se tuvo que mostrar el sistema

corriendo en su totalidad y realizar varias pruebas para que se observara su funcionalidad. Una vez

que la empresa estuvo conforme con la aplicación, se prosiguió a enseñárselos a los usuarios

finales que son los almacenistas y vendedores

.

i

Page 5: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

2

INTRODUCCIÓN

Actualmente una de las áreas más significativas en la industria y en el ámbito académico es la

orientación a objetos (POO). La creciente tendencia de crear programas cada vez más grandes y

complejos llevó a los desarrolladores a crear una nueva forma de programar que les permita crear

sistemas de niveles empresariales y con reglas de negocios muy complejas. Para estas

necesidades ya no bastaba la programación estructurada ni mucho menos la programación lineal.

Es así como aparece la programación orientada a objetos, la cual promete mejoras de amplio

alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a

largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo

de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar,

ciclos de desarrollo largos y técnicas de codificación no intuitivas. Un lenguaje orientado a objetos

ataca estos problemas. Tiene tres características básicas: debe estar basado en objetos, basado

en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos

puntos; la barrera más difícil de sortear es usualmente la herencia.

La programación orientada a objetos es un paradigma que utiliza objetos como elementos

fundamentales en la construcción de la solución. Surge en los años 70 y tomó posición como el

estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la

influencia de C++. Su dominación fue consolidada gracias al auge de las Interfaces gráficas de

usuario, para las cuales la programación orientada a objetos está particularmente bien adaptada.

Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes

durante ese tiempo, incluyendo Adal, Basic, Losp, Pascal, entre otros. La adición de estas

características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo

a problemas de compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes

orientados a objetos "puros", por su parte, carecían de las características de las cuales muchos

programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas

tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo

algunas características imperativas de maneras "seguras". El Eiffel de Bertrand Meyer fue un

temprano y moderadamente acertado lenguaje con esos objetivos pero ahora ha sido

esencialmente reemplazado por Java, en gran parte debido a la aparición de internet, y a la

implementación de la máquina virtual de Java en la mayoría de navegadores, cumpliendo todas las

características propias de la orientación a objetos.

ii

Page 6: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

1

CAPÍTULO I MARCO METODOLÓGICO

1.1 PLANTEAMIENTO DEL PROBLEMA

En la actualidad el uso de la tecnología es indispensable en la vida laboral, una de las razones de

esto es que ayuda a simplificar los procesos que en el pasado eran complejos y largos, su forma

de ejecutar los mismos provocaban pérdidas, no solo de carácter económico sino también en la

tiempo que tomaban las tareas en efectuarse; que a la larga repercutía en el aspecto monetario de

las empresas.

Es por eso que las empresas deben de invertir en una infraestructura tecnológica para brindar un

mejor servicio, que les ayude a llevar una mejor administración de sus recursos y a su vez cumplir

con las expectativas de los clientes que cada día son más exigentes y demandan una mejor

atención con eficiencia y calidad.

Conforme a pasado el tiempo micro, pequeñas y medianas empresas se han concientizado sobre

los beneficios que pueden proveer este tipo de tecnologías. Una de estas tantas compañías es

Corporación CYCTA S.A de C.V fundada en el año 2000, que se ubica en la zona oriente de la

Cuidad de México. CYCTA es una empresa dedicada a la compra y venta de equipos de

cómputo; dentro de sus instalaciones posee el área administrativa, el almacén y el lugar donde se

realizan las ventas de la mercancía.

Esta empresa se encuentra ubicada en la clasificación de microempresa debido a reducido

número de empleados se, no obstante es una empresa que ha crecido considerablemente desde

su fundación, convirtiéndose en una corporación importante dentro de su sector.

Desde la apretura del negocio hasta la actualidad, el almacenaje y la manera de ejecutar las

operaciones, se han venido realizando de una forma convencional, lo que implica hacer el registro

de la entrada y salida de mercancía de manera manual, para llevar un poco el control de esto se

han venido apoyando en órdenes de compra y venta.

Esta forma convencional de ejecutar las tareas no es más que realizarlas manualmente,

indiscutiblemente llegan a suceder errores humanos por más cuidado que se otorgue a las

operaciones, por lo consiguiente se han ocasionado problemas en la administración de los

inventarios, uno de los más frecuentes y perjudiciales para la empresa, es la pérdida de la

información, esto ocurre porque las órdenes llegan a extraviarse. Otro problema es el tiempo

invertido al contar los productos existentes en almacén, cometiendo errores, esto provoca que la

empresa tenga costos innecesarios.

Por todo lo anterior nos lleva a realizar un profundo análisis para encontrar las mejores soluciones

a los problemas y poder proporcionarle a la corporación CYCTA S.A de C.V un sistema que se

Page 7: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

2

adecue a sus necesidades, que sea confiable, seguro y viable para la empresa. El sistema

principalmente abarcara el control de salida y entrada al almacén así como la administración de los

clientes y proveedores.

1.2 OBJETIVOS(S)

OBJETIVO GENERAL

Automatizar el proceso de altas, bajas de almacén y ventas, mediante la creación de un sistema

informático.

OBJETIVOS ESPECÍFICOS

1. Conocer los procesos de inventario que actualmente se realizan en la empresa.

2. Analizar los procesos de inventario que se llevan a cabo dentro la empresa.

3. Organizar el sistema de inventario de tal manera que se tenga disponible toda la información

requerida para la empresa

4. Detectar los problemas que se presentan durante el proceso de inventario.

5. Proponer las soluciones más viables para el mejoramiento del proceso mediante el diseño y

construcción de un sistema informático.

6. Presentar a la empresa versiones de prueba

7. Realizar las mejoras indicadas por la empresa

8. Liberar e implementar la versión final del sistema

1.3 TÉCNICAS E INSTRUMENTOS DE MEDICIÓN

Durante el proceso de la documentación y sistematización de la información que se realizara en el

proceso de almacén y ventas se ocuparán los métodos de investigación que se apeguen más a

nuestra propuesta de solución, de esta manera podremos la información adecuada con esto se

podrá llevar a cabo el proceso de análisis y selección de la mejor propuesta para solucionar el

problema eficazmente.

Los métodos de investigación que son más adecuados, en nuestro caso, y con los que nos

podremos guiar son la investigación descriptiva y el uso de la metodología RUP

Investigación descriptiva es la que nos servirá para analizar cómo es y cómo se manifiesta un

fenómeno y sus componentes. Permiten detallar el fenómeno estudiado básicamente a través de la

medición de uno o más de sus atributos. Y además, con esta investigación se pretende visualizar

cómo se relacionan o vinculan diversos fenómenos entre sí, o si por el contrario no existe relación

entre ellos. Lo principal de estos estudios es saber cómo se puede comportar una variable

conociendo el comportamiento de otra variable relacionada (evalúan el grado de relación entre dos

variables).

Page 8: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

3

Para el caso especifico de la propuesta de análisis y diseño de software se estará utilizando la

metodología de desarrollo software de RUP (Proceso Unificado de Racional). La cual es el

proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado (UML), que

constituye la metodología estándar más utilizada para el análisis, implementación y documentación

de sistemas orientados a objetos.

1.4 UNIVERSO Y/O MUESTRA

La empresa CYCTA no rebasa los 30 empleados por lo tanto, de acuerdo con los parámetros de

México, se encuentra ubicada en Pequeña Empresa

Siendo:

Director General

Secretaria

Contador

5 vendedores

1 almacenista

1 recepcionista

Por lo tanto se ha decidido aplicar encuestas y cuestionarios a todos los trabajadores que están

involucrados con el control de almacén.

Las personas a realizar los cuestionarios son:

5 vendedores

1 almacenista

1 recepcionista

Formando un total de 7 personas a encuestar.

Sector / Tamaño Industria Comercio Servicios

Pequeña Empresa 11-50 11-30 11-50

Mediana Empresa 51-250 31-100 51-100

Page 9: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

4

1.5 JUSTIFICACIÓN

Elegimos este proyecto porque consideramos que cualquier micro o pequeña empresa, dedicada a

la compra – venta de productos y que además haga uso de procesos de almacenamiento; una

empresa de este tipo llega a experimentar una serie de problemas con el registro de las entradas y

salidas de mercancías en grandes volúmenes.

Esto nos encamino a enfocarnos en la situación actual de la empresa CYCTA S.A de C.V., pues

hemos sido capaces de detectar los errores que se cometen con mayor frecuencia en el

departamento de Almacén, problemas derivados de que solo maneja registros de salidas de

material, sin realizar una bitácora de movimientos de mercancías y por consiguiente surge la

dificultad de dar un debido seguimiento a los productos que salen de almacén.

Aunado a esto cada vez que se realiza una venta de equipo, muy pocas veces se elabora una

remisión para dar salida a dicho material, esto crea un descontrol y ocasiona inconsistencias de

información para ventas futuras.

El desarrollo de este proyecto de investigación, contribuirá con una empresa 100% Mexicana,

automatizando y haciendo más eficientes los procesos de almacén, ahorrando en perdidas y

costos de operación dando como resultado la posibilidad de generar mayores oportunidades de

empleo a causa de este ahorro de recursos.

1.6 HIPÓTESIS

Contando con una sistematización en el control de los inventarios dentro del almacén se obtendrá

la información necesaria de manera oportuna y veraz así como el decremento de costos en el

manejo del mismo.

Page 10: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

5

CAPÍTULO II MARCO TEÓRICO

2.1 CONCEPTOS Y DEFINICIONES

2.1.1. DEFINCIÓN DE INVENTARIO

El inventario es el conjunto de mercancías o artículos que tiene la empresa para comerciar con

aquellos, permitiendo la compra y venta o la fabricación primero antes de venderlos, en un periodo

económico determinados. Deben aparecer en el grupo de activos circulantes.

Es uno de los activos más grandes existentes en una empresa. El inventario aparece tanto en el

balance general como en el estado de resultados. En el balance General, el inventario a menudo

es el activo corriente más grande. En el estado de resultado, el inventario final se resta del costo

de mercancías disponibles para la venta y así poder determinar el costo de las mercancías

vendidas durante un periodo determinado.

Los Inventarios son bienes tangibles que se tienen para la venta en el curso ordinario del negocio o

para ser consumidos en la producción de bienes o servicios para su posterior comercialización. Los

inventarios comprenden, además de las materias primas, productos en proceso y productos

terminados o mercancías para la venta, los materiales, repuestos y accesorios para ser

consumidos en la producción de bienes fabricados para la venta o en la prestación de servicios;

empaques y envases y los inventarios en tránsito.

Importancia:

La administración de inventario, en general, se centra en cuatro aspectos básicos:

1. Cuantas unidades deberían ordenarse o producirse en un momento dado.

2. En qué momento deberían ordenarse o producirse el inventario.

3. Que artículos del inventario merecen una atención especial.

4. Puede uno protegerse contra los cambios en los costos de los artículos del inventario.

El inventario permite ganar tiempo ya que ni la producción ni la entrega pueden ser instantánea, se

debe contar con existencia del producto a las cuales se puede recurrir rápidamente para que la

venta real no tenga que esperar hasta que termine el cargo proceso de producción.

Este permite hacer frente a la competencia, si la empresa no satisface la demanda del cliente sé ira

con la competencia, esto hace que la empresa no solo almacene inventario suficiente para

satisfacer la demanda que se espera, si no una cantidad adicional para satisfacer la demanda

inesperada. El inventario permite reducir los costos a que da lugar a la falta de continuidad en le

proceso de producción. Además de ser una protección contra los aumentos de precios y contra la

escasez de materia prima.

Page 11: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

6

Si la empresa provee un significativo aumento de precio en las materias primas básicas, tendrá que

pensar en almacenar una cantidad suficiente al precio más bajo que predomine en le mercado,

esto tiene como consecuencia una continuación normal de las operaciones y una buena destreza

de inventario.

La administración de inventario es primordial dentro de un proceso de producción ya que existen

diversos procedimientos que nos va a garantizar como empresa, lograr la satisfacción para llegar a

obtener un nivel óptimo de producción. Dicha política consiste en el conjunto de reglas y

procedimientos que aseguran la continuidad de la producción de una empresa, permitiendo una

seguridad razonable en cuanto a la escasez de materia prima e impidiendo el acceso de inventario,

con el objeto de mejorar la tasa de rendimiento.

2.1.2. DEFINICIÓN DE ALMACÉN

Son aquellos lugares donde se guardan los diferentes tipos de mercancía. La formulación de una

política de inventarios para un departamento de almacén depende de la información respecto a

tiempos de adelantes, disponibilidades de materiales, tendencias en los precios y materiales de

compras, es la fuente mejor de esta información.

Esta función controla físicamente y mantiene todos los artículos inventariados, se deben establecer

resguardo físicos adecuados para proteger los artículos de algún daño de uso innecesario debido a

procedimientos de rotación de inventarios defectuosos de rotación de inventarios defectuosos y a

robos. Los registros de deben mantener, lo cual facilitan la localización inmediata de los artículos.

Importancias:

1. Mantienen las materias primas a cubierto de incendios, robos y deterioros.

2. Permitir a las personas autorizadas el acceso a las materias almacenadas.

3. Mantienen en constante información al departamento de compras, sobre las existencias reales

de materia prima.

4. Lleva en forma minuciosa controles sobre las materias primas (entradas y salidas)

5. Vigila que no se agoten los materiales (máximos – mínimos).

2.1.3. DEFINICIÓN DE VENTAS

La venta es la consecuencia del trabajo empresario para captar clientes que estén dispuestos a

pagar por el servicio o producto ofrecido, demandándolo, pues cubre alguna de sus necesidades y

están dispuestos a pagar por ello un precio.

Quien entrega el producto o servicio se llama vendedor y quien lo adquiere se denomina

comprador.

Page 12: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

7

La venta puede tener por causa la necesidad real del cliente o una necesidad provocada por la

misma empresa, por ejemplo a través de la publicidad. Es la función más importante del área

comercial de una empresa, que de allí obtiene sus ingresos genuinos.

Puede realizarse ventas en locales comerciales habilitados al efecto, o ventas ambulantes o

domiciliarias, donde el vendedor se traslada al domicilio del cliente. Puede también hacerse

telefónicamente, por correo o por Internet.

La venta según la forma de su pago, puede ser al contado (pagando en el acto de recibir el bien, o

a crédito, luego de un cierto plazo, que puede adicionar intereses, pudiéndose pactar en cuotas.

Las operaciones de venta, contablemente deben registrase, y emitirse comprobantes al cliente a

través de tique (para ventas minoristas de escaso monto), recibo (que certifica que la deuda ha

sido cancelada) o facturas (con detalles de la operación y utilizada en ventas por mayor y menor).

Precio de venta es el monto que se ofrece un bien al público, con el fin de que lo adquiera. Se fija

en el sistema capitalista y de libre cambio, por la ley de la oferta y la demanda.

2.1.4. DEFINICIÓN DE PROVEEDORES

Se aplica a la persona que provee o abastece a otra persona de lo necesario o conveniente para

un fin determinado.

En la actividad empresarial, la gestión de compras, en una actividad destinar a determinar las

necesidades de la empresa y seleccionar quiénes la proveerán con la calidad adecuada al menor

costo. Estas necesidades pueden ser, entre otras, de materia prima, de maquinaria o de servicios

técnicos. Debe además evaluarse la fiabilidad del proveedor, su situación financiera, la

permanencia en el mercado, los controles de calidad que aplican para sus productos, etc.

Muchas veces entre los proveedores y los clientes realizan alianzas estratégicas. Existe el sistema

JIT(―just in time‖) donde se le confiere a esta relación trascendente importancia, pues asegura el

negocio a las dos partes.

2.1.5. DEFINICIÓN DE CLIENTES

El término cliente permite hacer mención a la persona que accede a un producto o servicio a partir

de un pago. La noción suele estar asociada a quien accede al producto o servicio en cuestión con

asiduidad, aunque también existen los clientes ocasionales.

Cliente puede ser utilizado, según el contexto, como sinónimo de comprador (la persona que

compra el producto), usuario (la persona que usa el servicio) o consumidor (quien consume un

producto o servicio).

Page 13: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

8

Los especialistas en marketing y ventas suelen distinguir entre distintas clases de clientes. Los

clientes activos son los que, en la actualidad, concretan compras de manera frecuente. Los clientes

inactivos, en cambio, hace tiempo que no realizan una compra por lo que es probable que estén

satisfaciendo sus necesidades con la competencia.

Otra clasificación agrupa a los clientes en clientes satisfechos o clientes insatisfechos. Esto quiere

decir que los clientes tiene necesidades que la empresa o el vendedor debe satisfacer y que, al

momento de concretar la compra del producto o el pago del servicio, el cliente tiene expectativas

por aquello que adquirió. Si las necesidades no son satisfechas o las expectativas no son

cumplidas, es muy probable que el cliente deje de comprar.

El éxito de una empresa depende fundamentalmente de la demanda de sus clientes. Ellos son los

protagonistas principales y el factor más importante que interviene en el juego de los negocios.

Si la empresa no satisface las necesidades y deseos de sus clientes tendrá una existencia muy

corta. Todos los esfuerzos deben estar orientados hacia el cliente, porque él es el verdadero

impulsor de todas las actividades de la empresa. De nada sirve que el producto o el servicio sean

de buena calidad, a precio competitivo o esté bien presentado, si no existen compradores.

Un cliente:

Es la persona más importante de nuestro negocio.

No depende de nosotros, nosotros dependemos de él.

Nos está comprando un producto o servicio y no haciéndonos un favor.

Es el propósito de nuestro trabajo, no una interrupción al mismo.

Es un ser humano de carne y hueso con sentimientos y emociones (como uno), y no una fría

estadística.

Es la parte más importante de nuestro negocio y no alguien ajeno al mismo.

Es una persona que nos trae sus necesidades y deseos y es nuestra misión satisfacerlo.

Es merecedor del trato más cordial y atento que le podemos brindar.

2.1.6. DEFINICIÓN DE PRODUCTO

El producto es el resultado de un esfuerzo creador que tiene un conjunto de atributos tangibles e

intangibles (empaque, color, precio, calidad, marca, servicios y la reputación del vendedor) los

cuales son percibidos por sus compradores (reales y potenciales) como capaces de satisfacer sus

necesidades o deseos.

Por tanto, un producto puede ser un bien, un servicio, una idea o un lugar, y existe para:

Propósitos de intercambio

La satisfacción de necesidades o deseos

Page 14: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

9

Para coadyuvar al logro de objetivos de una organización (lucrativa o no lucrativa)

2.2 CONCEPTOS INFORMÁTICOS

2.2.1 DEFINICIÓN DE SISTEMA INFORMÁTICO

Un sistema de información es un conjunto de elementos que interactúan entre sí con el fin de

apoyar las actividades de una empresa o negocio. Y que se basa con la ayuda de equipo de

cómputo y de recursos humanos que interactúan con el sistema de Información para que se pueda

operar correctamente. Un sistema de información realiza cuatro actividades básicas: entrada,

almacenamiento, procesamiento y salida de información.

Entrada de Información: Es el proceso mediante el cual el Sistema de Información toma los

datos que requiere para procesar la información. Las entradas pueden ser manuales o

automáticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario,

mientras que las automáticas son datos o información que provienen o son tomados de otros

sistemas o módulos. Esto último se denomina interfaces automáticas. Las unidades típicas de

entrada de datos a las computadoras son las terminales, las cintas magnéticas, las unidades de

diskette, los códigos de barras, los escáneres, la voz, los monitores sensibles al tacto, el teclado

y el mouse, entre otras.

Almacenamiento de información: El almacenamiento es una de las actividades o

capacidades más importantes que tiene una computadora, ya que a través de esta propiedad el

sistema puede recordar la información guardada en la sección o proceso anterior. Esta

información suele ser almacenada en estructuras de información denominadas archivos. La

unidad típica de almacenamiento son los discos magnéticos o discos duros, los discos flexibles

o diskettes y los discos compactos (CD-ROM).

Procesamiento de Información: Es la capacidad del Sistema de Información para efectuar

cálculos de acuerdo con una secuencia de operaciones preestablecida. Estos cálculos pueden

efectuarse con datos introducidos recientemente en el sistema o bien con datos que están

almacenados. Esta característica de los sistemas permite la transformación de datos fuente en

información que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras

cosas, que un tomador de decisiones genere una proyección financiera a partir de los datos que

contiene un estado de resultados o un balance general de un año base.

Salida de Información: La salida es la capacidad de un Sistema de Información para sacar la

información procesada o bien datos de entrada al exterior. Las unidades típicas de salida son

las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores y los plotters,

entre otros. Es importante aclarar que la salida de un Sistema de Información puede constituir la

entrada a otro Sistema de Información o módulo. En este caso, también existe una interfase

Page 15: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

10

automática de salida. Por ejemplo, el Sistema de Control de Clientes tiene una interfase

automática de salida con el Sistema de Contabilidad, ya que genera las pólizas contables de los

movimientos procesales de los clientes.

TIPOS Y USO DE LOS SISTEMAS DE INFORMACIÓN

Durante los próximos años, los Sistemas de Información cumplirán tres objetivos básicos dentro de

las organizaciones:

1. Automatización de procesos operativos.

2. Proporcionar información que sirva de apoyo al proceso de toma de decisiones.

3. Lograr ventajas competitivas a través de su implantación y uso.

Los Sistemas de Información que logran la automatización de procesos operativos dentro de una

organización, son llamados frecuentemente Sistemas Transaccionales, ya que su función

primordial consiste en procesar transacciones tales como pagos, cobros, pólizas, entradas, salidas,

etc. Por otra parte, los Sistemas de Información que apoyan el proceso de toma de decisiones son

los Sistemas de Soporte a la Toma de Decisiones, Sistemas para la Toma de Decisión de Grupo,

Sistemas Expertos de Soporte a la Toma de Decisiones y Sistema de Información para Ejecutivos.

El tercer tipo de sistema, de acuerdo con su uso u objetivos que cumplen, es el de los Sistemas

Estratégicos, los cuales se desarrollan en las organizaciones con el fin de lograr ventajas

competitivas, a través del uso de la tecnología de información.

Page 16: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

11

A continuación se mencionan las principales características de estos tipos de Sistemas de

Información.

Sistemas Transaccionales. Sus principales características son:

A través de éstos suelen lograrse ahorros significativos de mano de obra, debido a que

automatizan tareas operativas de la organización.

Con frecuencia son el primer tipo de Sistemas de Información que se implanta en las

organizaciones. Se empieza apoyando las tareas a nivel operativo de la organización.

Son intensivos en entrada y salid de información; sus cálculos y procesos suelen ser simples y

poco sofisticados.

Tienen la propiedad de ser recolectores de información, es decir, a través de estos sistemas se

cargan las grandes bases de información para su explotación posterior.

Son fáciles de justificar ante la dirección general, ya que sus beneficios son visibles y palpables.

Sistemas de Apoyo de las Decisiones. Las principales características de esta clasificación de

sistemas son:

Suelen introducirse después de haber implantado los Sistemas Transaccionales más relevantes

de la empresa, ya que estos últimos constituyen su plataforma de información.

La información que generan sirve de apoyo a los mandos intermedios y a la alta administración

en el proceso de toma de decisiones.

Suelen ser intensivos en cálculos y escasos en entradas y salidas de información. Así, por

ejemplo, un modelo de planeación financiera requiere poca información de entrada, genera

poca información como resultado, pero puede realizar muchos cálculos durante su proceso.

No suelen ahorrar mano de obra. Debido a ello, la justificación económica para el desarrollo de

estos sistemas es difícil, ya que no se conocen los ingresos del proyecto de inversión.

Page 17: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

12

Suelen ser Sistemas de Información interactivos y amigables, con altos estándares de diseño

gráfico y visual, ya que están dirigidos al usuario final.

Apoyan la toma de decisiones que, por su misma naturaleza son repetitivos y de decisiones no

estructuradas que no suelen repetirse. Por ejemplo, un Sistema de Compra de Materiales que

indique cuándo debe hacerse un pedido al proveedor o un Sistema de Simulación de Negocios

que apoye la decisión de introducir un nuevo producto al mercado.

Estos sistemas pueden ser desarrollados directamente por el usuario final sin la participación

operativa de los analistas y programadores del área de informática.

Este tipo de sistemas puede incluir la programación de la producción, compra de materiales, flujo

de fondos, proyecciones financieras, modelos de simulación de negocios, modelos de inventarios,

etc.

Sistemas Estratégicos. Sus principales características son:

Su función primordial no es apoyar la automatización de procesos operativos ni proporcionar

información para apoyar la toma de decisiones.

Suelen desarrollarse ‗in house‘, es decir, dentro de la organización, por lo tanto no pueden

adaptarse fácilmente a paquetes disponibles en el mercado.

Típicamente su forma de desarrollo es a base de incrementos y a través de su evolución dentro

de la organización. Se inicia con un proceso o función en particular y a partir de ahí se van

agregando nuevas funciones o procesos.

Su función es lograr ventajas que los competidores no posean, tales como ventajas en costos y

servicios diferenciados con clientes y proveedores. En este contexto, los Sistema Estratégicos

son creadores de barreras de entrada al negocio. Por ejemplo, el uso de cajeros automáticos en

los bancos en un Sistema Estratégico, ya que brinda ventaja sobre un banco que no posee tal

servicio. Si un banco nuevo decide abrir sus puertas al público, tendrá que dar este servicio

para tener un nivel similar al de sus competidores.

Apoyan el proceso de innovación de productos y proceso dentro de la empresa debido a que

buscan ventajas respecto a los competidores y una forma de hacerlo en innovando o creando

productos y procesos.

Un ejemplo de estos Sistemas de Información dentro de la empresa puede ser un sistema MRP

(Manufacturing Resoure Planning) enfocado a reducir sustancialmente el desperdicio en el proceso

productivo, o bien, un Centro de Información que proporcione todo tipo de información; como

situación de créditos, embarques, tiempos de entrega, etc. En este contexto los ejemplos

anteriores constituyen un Sistema de Información Estratégico si y sólo sí, apoyan o dan forma a la

estructura competitiva de la empresa.

Page 18: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

13

Por último, es importante aclarar que algunos autores consideran un cuarto tipo de sistemas de

información denominado Sistemas Personales de Información, el cual está enfocado a incrementar

la productividad de sus usuarios.

2.2.2 CICLO DE VIDA DEL SISTEMA

Todo proyecto de ingeniería tiene unos fines ligados a la obtención de un producto, proceso o

servicio que es necesario generar a través de diversas actividades. Algunas de estas actividades

pueden agruparse en fases porque globalmente contribuyen a obtener un producto intermedio,

necesario para continuar hacia el producto final y facilitar la gestión del proyecto. Al conjunto de las

fases empleadas se le denomina ―ciclo de vida‖.

La definición de un ciclo de vida facilita el control sobre los tiempos en que es necesario aplicar

recursos de todo tipo (personal, equipos, suministros, etc.) al proyecto. Si el proyecto incluye

subcontratación de partes a otras organizaciones, el control del trabajo subcontratado se facilita en

la medida en que esas partes encajen bien en la estructura de las fases.

FASES DE UN CICLO DE VIDA DE UN SISTEMA DE INFORMACIÓN

Un ciclo de vida para un proyecto se compone de fases sucesivas compuestas por tareas

planificables. Según el modelo de ciclo de vida, la sucesión de fases puede ampliarse con

bucles(ciclos) de realimentación, de manera que lo que conceptualmente se considera una misma

fase se pueda ejecutar más de una vez a lo largo de un proyecto, recibiendo en cada pasada de

ejecución aportaciones de los resultados intermedios que se van produciendo (realimentación).

Para un adecuado control de la progresión de las fases de un proyecto se hace necesario

especificar con suficiente precisión los resultados evaluables, o sea, productos intermedios que

deben resultar de las tareas incluidas en cada fase. Normalmente estos productos marcan los hitos

entre fases.

Elementos que integran un ciclo de vida:

Fases. Una fase es un conjunto de actividades relacionadas con un objetivo en el desarrollo del

proyecto. Se construye agrupando tareas (actividades elementales) que pueden compartir un

tramo determinado del tiempo de vida de un proyecto. (Véase Figura 2.12)

La agrupación temporal de tareas impone requisitos temporales correspondientes a la asignación

de recursos (humanos, financieros o materiales).

Page 19: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

14

Cuanto más grande y complejo sea un proyecto, mayor detalle se necesitará en la definición de las

fases. De esta forma, cada fase de un proyecto puede considerarse un ―micro-proyecto‖ en sí

mismo, compuesto por un conjunto de micro-fases.

Otro motivo para descomponer una fase en subfases menores puede ser el interés de separar

partes temporales del proyecto que se subcontraten a otras organizaciones, requiriendo distintos

procesos de gestión. (Véase Figura 2.13)

Entregables ("deliverables"). Son los productos intermedios que generan las fases. Pueden ser

materiales (componentes, equipos) o inmateriales (documentos, software). Los entregables

permiten evaluar la marcha del proyecto mediante comprobaciones de su adecuación o no a los

requisitos funcionales y de condiciones de realización previamente establecidos.

Page 20: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

15

El Sistema de Información es similar a un organismo vivo: nace, crece, madura, muere. Este

proceso evolutivo se llama ciclo de vida del Software, y consiste de las siguientes fases:

Planeación.

Análisis.

Diseño.

Implementación.

Utilización.

PLANEACIÓN

La fase de planeación es la primera etapa en el ciclo de desarrollo de un software. Empieza

cuando nace la idea de construir una aplicación que responda a nuevas necesidades. Estas

necesidades se suelen expresar por parte de clientes que quieren implementar un nuevo sistema o

modificar un sistema existente.

Especificaciones del sistema

El objetivo de las especificaciones, es delimitar con precisión el sistema y describir las distintas

maneras de utilizarlo desde el punto de vista de los distintos usuarios.

ANÁLISIS

El análisis del sistema se basa en las especificaciones y tiende a comprender los problemas de

actividad que se presentan. El objeto es determinar los elementos que intervienen en el sistema, su

estructura y sus relaciones. Se trata de dar una definición clara, concisa y rigurosa del sistema que

se quiere realizar: un análisis debe ser justo aunque sea generalmente incompleto.

Page 21: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

16

El análisis de una aplicación orientada a objetos debe hacer aparecer las características de las

actividades de los objetivos según tres ejes:

Un eje funcional que describe la experiencia del objetivo.

Un eje estadístico que representa la descripción estructural del objeto.

Un eje dinámico que describe el ciclo de vida del objetivo en el transcurso de la aplicación (los

estados por donde pasa el objeto así como los eventos que le son enviados).

DISEÑO

Estar en condiciones de implementar. La fase de diseño se basa en los documentos y en los

modelos elaborados en el transcurso del análisis y los afina teniendo en cuenta el entorno técnico

en el que evoluciona el sistema. Su objetivo es determinar la manera de resolver el problema

estudiado por el análisis y por tanto proponer soluciones de implementación y de realización. Para

ello, se trata de efectuar numerosas opciones:

Las opciones de una arquitectura técnica son estratégicas y deben ser determinadas en paralelo

con las fases de especificaciones y de análisis.

Las decisiones de rendimiento y de optimización.

Las estrategias de programación y de persistencia de los datos, que sólo pueden elegirse

después de una fase de análisis.

Finalmente, la fase de diseño debe proporcionar un esbozo de implementación destinado y

completado por los desarrolladores del sistema. La fase de diseño permite ponerse de acuerdo

sobre ―la manera como el sistema debe construirse‖ y no ya sobre ―lo que debe hacer‖.

IMPLEMENTACIÓN

La implantación es la fase en el transcurso de la cual las estructuras y los algoritmos definidos

durante el diseño se traducen a un lenguaje de programación y/o a una base de datos. Actualmente,

en la mayor parte de los proyectos de desarrollo de aplicaciones, constituye la etapa predominante

del ciclo de vida del sistema. Sin embargo, siempre resulta más costoso corregir fallos relacionados

con el diseño durante la implementación que durante las fases de análisis o de diseño.

Además, la fase de diseño que precede a la implementación permite obtener una reflexión global y

una visión de conjunto de las estrategias de desarrollo, lo que permite:

Facilitar la previsión y la limitación de los riesgos que pueden afrontarse en la fase del desarrollo.

Implementar una organización del trabajo y los equipos de programación.

Page 22: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

17

La fase de implementación puede centrarse en los puntos delicados de la programación y esto

reduce significativamente los riesgos de ―pasarte de frente‖ en el proyecto.

PRUEBAS

Las pruebas de verificación, permiten asegurarse de que el sistema ha sido construido

correctamente, sin errores de diseño y de programación. Tienen como objetivo controlar el trabajo

efectuado por los desarrolladores y evidenciar todos los fallos de diseño y de implementación, a fin

de garantizar la robustez y la coherencia del sistema.

2.2.3 METODOLOGÍA RUP (RATIONAL UNIFIED PROCESS)

RUP es un proceso que define claramente quién, cómo, cuándo y qué debe hacerse; y, como su

enfoque esta basado en modelos utiliza un lenguaje bien definido para tal fin, el UML. Éste aporta

herramientas como los casos de uso, que definen los requerimientos. Permite la ejecución iterativa

del proyecto y del control de riesgos.

A través de un proyecto guiado por RUP, los requerimientos funcionales son expresados en la

forma de Casos de Uso, que guían la realización de una arquitectura ejecutable de la aplicación.

La mitigación de los riesgos más importantes guía la definición / confirmación del alcance en las

primeras etapas del ciclo de vida. Finalmente RUP particiona el ciclo de vida en iteraciones que

producen versiones increméntales de los ejecutables de la aplicación.

RUP implementa las siguientes mejores prácticas asociadas al proceso de Ingeniería de Software:

Desarrollo Iterativo.

Manejo de los Requerimientos.

Uso de una Arquitectura basada en componentes.

Verificación Continua de la Calidad.

Manejo de los Cambios.

La metodología RUP, llamada así por sus siglas en inglés Rational Unified Process, divide en 4

fases el desarrollo del software. Cada Fase tiene definido un conjunto de objetivos y un punto de

control especifico. A continuación se muestra en la tabla

FASE OBJETIVOS PUNTOS DE CONTROL

Inicio Definir el alcance del proyecto.

Entender que se va a construir. Objetivo del proyecto.

Elaboración Construir una versión ejecutable de la arquitectura

de la aplicación.

Arquitectura de la

Aplicación.

Page 23: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

18

FASE OBJETIVOS PUNTOS DE CONTROL

Entender cómo se va a construir.

Construcción

Completar el esqueleto de la Aplicación con la

funcionalidad.

Construir una versión Beta.

Versión Operativa Inicial de

la Aplicación.

Transición

Disponibilizar la aplicación para los usuarios

finales.

Construir la versión Final.

Liberación de la versión de

la Aplicación.

Los Objetivos de una iteración se establecen en función de la evaluación de las iteraciones

precedentes.

Fases e Iteraciones de la Metodología RUP

Disciplina de Desarrollo:

Ingeniería de Negocios: Entendiendo las necesidades del negocio.

Requerimientos: Trasladando las necesidades del negocio a un sistema automatizado.

Análisis y Diseño: Trasladando los requerimientos dentro de la arquitectura de software.

Page 24: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

19

Implementación: Creando software que se ajuste a la arquitectura y comportamiento deseado.

Pruebas: Asegurándose que el comportamiento requerido es el correcto.

Disciplina de Soporte:

Configuración y administración del cambio: Guardando todas las versiones del proyecto.

Administrando el proyecto: Administrando horarios y recursos.

Ambiente: Administrando el ambiente de desarrollo.

Distribución: Hacer todo lo necesario para la salida del proyecto.

Es recomendable que a cada una de estas iteraciones se les clasifique y ordene según su

prioridad, y que cada una se convierte luego en un entregable al cliente. Esto trae como beneficio

la retroalimentación que se tendría en cada entregable o en cada iteración.

Los elementos del RUP son:

Actividades. Son los procesos que se llegan a determinar en cada iteración.

Trabajadores. Vienen hacer las personas o entes involucrados en cada proceso.

Artefactos. Un artefacto puede ser un documento, un modelo, o un elemento de modelo.

Una particularidad de esta metodología es que, en cada ciclo de iteración, se hace exigente el uso

de artefactos, siendo por este motivo, una de las metodologías más importantes para alcanzar un

grado de certificación en el desarrollo del software.

CARACTERÍSTICAS ESENCIALES

Los autores de RUP destacan que el proceso de software propuesto por RUP tiene tres

características esenciales: está dirigido por los Casos de Uso, está centrado en la arquitectura, y

es iterativo e incremental.

PROCESO DIRIGIDO POR CASOS DE USO.

Los Casos de Uso son una técnica de captura de requisitos que fuerza a pensar en términos de

importancia para el usuario. Se define un Caso de Uso como un fragmento de funcionalidad del

sistema que proporciona al usuario un valor añadido. Los Casos de Uso representan los requisitos

funcionales del sistema. (Véase Figura 2.6)

Los Casos de Uso no sólo inician el proceso de desarrollo sino que proporcionan un hilo conductor,

permitiendo establecer trazabilidad entre los artefactos que son generados en las diferentes

actividades del proceso de desarrollo. (Véase Figura 2.7)

Page 25: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

20

Los Casos de Uso crean los modelos de análisis y diseño, luego la implementación que los lleva a

cabo, y se verifica que efectivamente el producto implemente adecuadamente cada Caso de Uso.

PROCESO CENTRADO EN LA ARQUITECTURA

La arquitectura de un sistema es la organización o estructura de sus partes más relevantes, lo que

permite tener una visión común entre todos los involucrados (desarrolladores y usuarios) y una

perspectiva clara del sistema completo, necesaria para controlar el desarrollo [Kru00]. La

arquitectura involucra los aspectos estáticos y dinámicos más significativos del sistema, está

Page 26: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

21

relacionada con la toma de decisiones que indican cómo tiene que ser construido el sistema y

ayuda a determinar en qué orden. La arquitectura se ve influenciada por la plataforma software,

sistema operativo, gestor de bases de datos, protocolos, consideraciones de desarrollo como

sistemas heredados.

En el caso de RUP además de utilizar los Casos de Uso para guiar el proceso se presta especial

atención al establecimiento temprano de una buena arquitectura que no se vea fuertemente

impactada ante cambios posteriores durante la construcción y el mantenimiento.

En la Figura 2.18, se ilustra la evolución de la arquitectura durante las fases de RUP. Se tiene una

arquitectura más robusta en las fases finales del proyecto. Para RUP, todas las vistas juntas

forman el llamado modelo 4+1 de la arquitectura [Kru95], el cual recibe este nombre porque lo

forman las vistas lógica, de implementación, de proceso y de despliegue, y es la que da cohesión a

todas.

Como se observa en la Figura 2.19, durante la construcción los diversos modelos van

desarrollándose hasta completarse (según se muestra con las formas rellenas en la esquina

superior derecha). La descripción de la arquitectura sin embargo, no debería cambiar

significativamente (abajo a la derecha) debido a que la mayor parte de la arquitectura se decidió

durante la elaboración. Se incorporan pocos cambios a la arquitectura (indicados con mayor

densidad de puntos en la figura inferior derecha).

Page 27: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

22

PROCESO ITERATIVO E INCREMENTAL

El equilibrio correcto entre los Casos de Uso y la arquitectura es algo muy parecido al equilibrio de

la forma y la función en el desarrollo del producto, lo cual se consigue con el tiempo. Para esto, la

estrategia que se propone en RUP, es tener un proceso iterativo e incremental en donde el trabajo

se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de

Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de

desarrollo.

Cada mini proyecto se puede ver como una iteración (un recorrido más o menos completo a lo

largo de todos los flujos de trabajo fundamentales) del cual se obtiene un incremento que produce

un crecimiento en el producto.

Una iteración puede realizarse por medio de una cascada como se muestra en la Figura 2.20. Se

pasa por los flujos fundamentales (Requisitos, Análisis, Diseño, Implementación y Pruebas),

también existe una planificación de la iteración, un análisis de la iteración y algunas actividades

específicas de la iteración. Al finalizar se realiza una integración de los resultados con lo obtenido

de las iteraciones anteriores.

El proceso iterativo e incremental consta de una secuencia de iteraciones. Cada iteración aborda

una parte de la funcionalidad total, pasando por todos los flujos de trabajo relevantes y refinando la

arquitectura. Cada iteración se analiza cuando termina. Se puede determinar si han aparecido

nuevos requisitos o han cambiado los existentes, afectando a las iteraciones siguientes.

Page 28: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

23

2.2.4 PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de

programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas de

ordenador. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y

encapsulamiento. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe

variedad de lenguajes de programación que soportan la orientación a objetos.

Los objetos son entidades que combinan estado (atributo), comportamiento (método) e identidad:

El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos

valores concretos (datos).

El comportamiento está definido por los procedimientos o métodos con que puede operar dicho

objeto, es decir, qué operaciones se pueden realizar con él.

La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es

su identificador (concepto análogo al de identificador de una variable o una constante).

La programación orientada a objetos, expresa un programa como un conjunto de estos objetos,

que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más

fáciles de escribir, mantener, y reutilizar.

Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos

pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores

bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción

llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su

vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades

indivisibles, en las que no se separa el estado y el comportamiento.

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la

propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder

tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos

conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podría producir el

hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que

manejen a las primeras por el otro. De esta manera se estaría realizando una programación

estructurada camuflada en un lenguaje de programación orientado a objetos.

La POO difiere de la programación estructurada tradicional, en la que los datos y los

procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento

de unos datos de entrada para obtener otros de salida. La programación estructurada anima al

Page 29: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

24

programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar

en las estructuras de datos que esos procedimientos manejan. En la programación estructurada

sólo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio,

primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por

sí mismos.

Historia

Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje

diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard del Centro de

Cómputo Noruego en Oslo. En este centro, se trabajaba en simulaciones de naves, que fueron

confundidas por la explosión combinatoria de cómo las diversas cualidades de diversas naves

podían afectar unas a las otras. La idea ocurrió para agrupar los diversos tipos de naves en

diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos

y comportamientos. Fueron refinados más tarde en Smalltalk, que fue desarrollado en Simula en

Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser un sistema

completamente dinámico en el cual los objetos se podrían crear y modificar "en marcha" (en tiempo

de ejecución) en lugar de tener un sistema basado en programas estáticos.

La programación orientada a objetos tomó posición como el estilo de programación dominante a

mediados de los años ochenta, en gran parte debido a la influencia de C++, una extensión del

lenguaje de programación C. Su dominación fue consolidada gracias al auge de las Interfaces

gráficas de usuario, para las cuales la programación orientada a objetos está particularmente bien

adaptada. En este caso, se habla también de programación dirigida por eventos.

Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes

durante ese tiempo, incluyendo Ada, BASIC, Lisp, Pascal, entre otros. La adición de estas

características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo

a problemas de compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes

orientados a objetos "puros", por su parte, carecían de las características de las cuales muchos

programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas

tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo

algunas características imperativas de maneras "seguras". El Eiffel de Bertrand Meyer fue un

temprano y moderadamente acertado lenguaje con esos objetivos pero ahora ha sido

esencialmente reemplazado por Java, en gran parte debido a la aparición de Internet, y a la

implementación de la máquina virtual de Java en la mayoría de navegadores. PHP en su versión 5

se ha modificado, soporta una orientación completa a objetos, cumpliendo todas las características

propias de la orientación a objetos

CONCEPTOS FUNDAMENTALES DE LA POO

Page 30: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

25

La programación orientada a objetos es una forma de programar que trata de encontrar una

solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos

antiguos ya conocidos. Entre ellos destacan los siguientes:

Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La

instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Herencia: (por ejemplo, herencia de la clase D a la clase C) Es la facilidad mediante la cual la

clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y

operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos

y variables publicas declaradas en C. Los componentes registrados como "privados" (private)

también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al

programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para

mantener hegemónico el ideal de OOP.

Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o

funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde

con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).

Es una instancia a una clase.

Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se

desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo

que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o

la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un

mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al

objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar

un objeto, es decir la acción que genera.

Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos

con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de

objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus

características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Estado interno: es una variable que se declara privada, que puede ser únicamente accedida y

alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el

objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.

Page 31: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

26

Componentes de un objeto: atributos, identidad, relaciones y métodos.

Identificación de un objeto: un objeto se representa por medio de una tabla o entidad que esté

compuesta por sus atributos y funciones correspondientes.

En comparación con un lenguaje imperativo, una "variable", no es más que un contenedor interno

del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del

método del objeto.

CARACTERÍSTICAS DE LA POO

Existe un acuerdo acerca de qué características contempla la "orientación a objetos", las

características siguientes son las más importantes:

Abstracción: Denota las características esenciales de un objeto, donde se capturan sus

comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que

puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el

sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los

métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son

requeridas para ampliar una abstracción.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes

a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los

componentes del sistema. Algunos autores suelen confundir este concepto con el principio de

ocultación, principalmente porque se suelen emplear conjuntamente en los objetos que se utilizan

en los programas.

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo

de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los

objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación

por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto

pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno

de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones

inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos

del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se

reduce a un agregado o rompecabezas de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el

mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al

objeto que se esté usando. Diciéndolo de manera distinta, las referencias de los objetos y las

colecciones de los mismos pueden contener objetos de diferentes tipos, y la invocación de un

Page 32: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

27

comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto

referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama

asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos

(en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de

operadores de C++.

Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de

clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las

que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a

los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos

pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele

hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan

un comportamiento común. También existe la posibilidad de que un objeto herede de más de una

clase se dice que hay herencia múltiple.

Recolección de basura: la Recolección de basura o Garbage Collector es la técnica por la cual el

ambiente de objetos se encarga de destruir automáticamente, y por tanto desasignar de la

memoria, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el

programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la

asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los

lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a

Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse

manualmente.

LENGUAJES ORIENTADOS A OBJETOS

Simula (1967) es aceptado como el primer lenguaje que posee las características principales de un

lenguaje orientado a objetos. Fue creado para hacer programas de simulación, en donde los

"objetos" son la representación de la información más importante. Smalltalk (1972 a 1980) es

posiblemente el ejemplo canónico, y con el que gran parte de la teoría de la programación

orientada a objetos se ha desarrollado.

Entre los lenguajes orientados a objetos se destacan los siguientes:

ABAP

ABL Lenguaje de programación de OpenEdge de Progress Software

ActionScript

ActionScript 3

Ada

C++

Page 33: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

28

C#

Clarion

Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y))

D

Object Pascal (Delphi)

Flex builder (adobe)

Gambas

Harbour

Eiffel

Java

JavaScript (la herencia se realiza por medio de la programación basada en prototipos)

Lexico (en castellano)

Objective-C

Ocaml

Oz

R

Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al

algoritmo linearization C3 por medio del módulo Class::C3 en CPAN)

PHP (a partir de su versión 5)

PowerBuilder (Todas la Versiones)

Python

Ruby

Smalltalk (Proyecto investigativo. Influenció a Java.)

Magik (SmallWorld)

Vala

VB.NET

Visual FoxPro (en su versión 6)

Visual Basic 6.0

Visual Objects

XBase++

Lenguaje DRP

Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino que son

híbridos que combinan la POO con otros paradigmas.

Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object REXX, han

sido creados añadiendo extensiones orientadas a objetos a un lenguaje de programación clásico.

Page 34: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

29

Un nuevo paso en la abstracción de paradigmas de programación es la Programación Orientada a

Aspectos (POA). Aunque es todavía una metodología en estado de maduración, cada vez atrae a

más investigadores e incluso proyectos comerciales en todo el mundo.

2.2.5 BASE DE DATOS

Una base de datos o banco de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos

pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En

este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por

documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al

desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de

datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema

de almacenar datos.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que

permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las

propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del

ámbito de la informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También

son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información

experimental.

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se

encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales

se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal

(LOPD).

TIPOS DE BASES DE DATOS

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté

manejando, o la utilidad de la misma:

Según la variabilidad de los datos almacenados

Bases de datos estáticas:

Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos

históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de

datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas

Page 35: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

30

Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo

operaciones como actualización, borrado y adición de datos, además de las operaciones

fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema

de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido

Bases de datos bibliográficas

Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un

registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de

publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un

resumen o extracto de la publicación original, pero nunca el texto completo, porque si no,

estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más

abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección

de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de

una colección de revistas científicas.

MODELOS DE BASES DE DATOS

Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar

de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos

(algo en donde se guarda la información), así como de los métodos para almacenar y recuperar

información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones

que permiten la implementación de un sistema eficiente de base de datos; por lo general se

refieren a algoritmos, y conceptos matemáticos.

BASES DE DATOS JERÁRQUICAS

Éstas son bases de datos que, como su nombre indica, almacenan su información en una

estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto

al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene

padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan

un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y

Page 36: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

31

de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de

representar eficientemente la redundancia de datos.

BASES DE DATOS DE RED

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación

del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida

en el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al

problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la

información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría

por programadores más que por usuarios finales.

BASES DE DATOS TRANSACCIONALES

Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas

bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad,

datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar

los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no

es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al

máximo permiten algún tipo de conectividad a bases de datos relacionales.

BASES DE DATOS RELACIONALES

Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos

dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los

laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en

los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones

podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta

es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se

conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si

fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las

tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a

diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de

que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La

información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia

flexibilidad y poder para administrar la información.

Page 37: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

32

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL,

Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por

los principales motores o sistemas de gestión de bases de datos relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como

normalización de una base de datos.

Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de

programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no

utilizaba SQL como lenguaje base para su gestión.

BASES DE DATOS MULTIDIMENSIONALES

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos

OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en

una base de datos relacional podría serlo también en una base de datos multidimensional), la

diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos

o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o

bien representan métricas que se desean estudiar.

BASES DE DATOS ORIENTADAS A OBJETOS

Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de

almacenar en la base de datos los objetos completos (estado y comportamiento).

Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos

importantes del paradigma de objetos:

Encapsulación: Propiedad que permite ocultar la información al resto de los objetos, impidiendo

así accesos incorrectos o conflictos.

Herencia: Propiedad a través de la cual los objetos heredan comportamiento dentro de una

jerarquía de clases.

Polimorfismo: Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos

de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos

como parte de la definición de la base de datos. Una operación (llamada función) se especifica en

dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos

de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se

especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación

Page 38: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

33

de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus

nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría

denominarse independencia entre programas y operaciones.

SQL:2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y

mantiene la compatibilidad con SQL92.

BASES DE DATOS DOCUMENTALES

Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes.

Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.

BASES DE DATOS DEDUCTIVAS

Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de

que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos

que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas

bases de datos lógicas, a raíz de que se basa en lógica matemática.

GESTIÓN DE BASES DE DATOS DISTRIBUIDAS

La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la

existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de

datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera

SISTEMAS MANEJADORES DE BASES DE DATOS (SMBD)

Los sistemas de gestión de bases de datos (en inglés database management system, abreviado

DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de

datos, el usuario y las aplicaciones que la utilizan.

OBJETIVOS

Existen distintos objetivos que deben cumplir los SGBD:

Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del

almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de

archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de

abstracción.

Independencia. La independencia de los datos consiste en la capacidad de modificar el

esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones

que se sirven de ella.

Page 39: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

34

Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será

necesario vigilar que aquella información que aparece repetida se actualice de forma coherente,

es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base

de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo

que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar

datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la

programación de este tipo de condiciones.

Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor.

Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y

grupos de usuarios, que permiten otorgar diversas categorías de permisos.

Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola

operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el

mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos

para programar las modificaciones de los datos de una forma mucho más simple que si no se

dispusiera de ellos.

Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en

darnos la información solicitada y en almacenar los cambios realizados.

VENTAJAS

Proveen facilidades para la manipulación de grandes volúmenes de datos

Simplifican la programación de equipos de consistencia.

Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán

siempre consistentes sin importar si hay errores correctamente, etc.

Organizan los datos con un impacto mínimo en el código de los programas.

Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si

son bien explotados por los desarrolladores.

Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los

datos.

PRODUCTOS DE SMBD DISPONIBLES EN EL MERCADO.

SGBD libres

MySQL Licencia Dual, depende el uso Sin embargo, existen 2 versiones: una gratuita que sería

equivalente a la edicion "express" SQL server de Windows y otra más completa de pago, ese

Page 40: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

35

pago se haría en la licencia de ella ya que permitiría usarse en otras distribuciones sin usar la

licencia GNU.

PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD

Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0.

SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público

DB2 Express-C (http://www.ibm.com/software/data/db2/express/)

Apache Derby (http://db.apache.org/derby/)

SGBD no libres

Advantage Database

dBase

FileMaker

Fox Pro

IBM DB2 Universal Database (DB2 UDB)

IBM Informix

Interbase de CodeGear, filial de Borland

MAGIC

Microsoft Access

Microsoft SQL Server

NexusDB

Open Access

Oracle

Paradox

PervasiveSQL

Progress (DBMS)

Sybase ASE

Sybase ASA

Sybase IQ

WindowBase

IBM IMS Base de Datos Jerárquica

CA-IDMS

SGBD no libres y gratuitos

Microsoft SQL Server Compact Basic Edition

Sybase ASE Express Edition para Linux (edición gratuita para Linux)

Oracle Express Edition 10

Page 41: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

36

2.2.6 APLICACIONES WEB

Son aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través

de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software

que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución

al navegador.

Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero,

así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software

a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas

en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web.

Es importante mencionar que una página Web puede contener elementos que permiten una

comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los

datos de modo interactivo, gracias a que la página responderá a cada una de sus acciones, como

por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de

base de datos de todo tipo.

ANTECEDENTES

En los primeros tiempos de la computación cliente-servidor, cada aplicación tenía su propio

programa cliente que servía como interfaz de usuario que tenía que ser instalado por separado en

cada ordenador personal de cada usuario. El cliente realizaba peticiones a otro programa -el

servidor- que le daba respuesta. Una mejora en el servidor, como parte de la aplicación, requería

normalmente una mejora de los clientes instalados en cada ordenador personal, añadiendo un

coste de soporte técnico y disminuyendo la productividad.

A diferencia de lo anterior, las aplicaciones web generan dinámicamente una serie de páginas en

un formato estándar, como HTML o XHTML, soportados por los navegadores web comunes. Se

utilizan lenguajes interpretados en el lado del cliente, directamente o a través de plugins tales como

JavaScript, Java, Flash, etc., para añadir elementos dinámicos a la interfaz de usuario.

Generalmente cada página web en particular se envía al cliente como un documento estático, pero

la secuencia de páginas ofrece al usuario una experiencia interactiva. Durante la sesión, el

navegador web interpreta y muestra en pantalla las páginas, actuando como cliente para cualquier

aplicación web.

INTERFAZ

Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al usuario. Hay

funcionalidades comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-

Page 42: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

37

soltar que no están soportadas por las tecnologías web estándar. Los desarrolladores web

generalmente utilizan lenguajes interpretados (scripts) en el lado del cliente para añadir más

funcionalidades, especialmente para ofrecer una experiencia interactiva que no requiera recargar la

página cada vez (lo que suele resultar molesto a los usuarios). Recientemente se han desarrollado

tecnologías para coordinar estos lenguajes con las tecnologías en el lado del servidor. Como

ejemplo, AJAX es una técnica de desarrollo web que usa una combinación de varias tecnologías.

CONSIDERACIONES TÉCNICAS

Una ventaja significativa es que las aplicaciones web deberían funcionar igual independientemente

de la versión del sistema operativo instalado en el cliente. En vez de crear clientes para Windows,

Mac OS X, GNU/Linux y otros sistemas operativos, la aplicación web se escribe una vez y se

ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes escritas con HTML,

CSS, DOM y otras especificaciones estándar para navegadores web que pueden causar

problemas en el desarrollo y soporte de estas aplicaciones, principalmente debido a la falta de

adicción de los navegadores a dichos estándares web (especialmente versiones de Internet

Explorer anteriores a la 7.0). Adicionalmente, la posibilidad de los usuarios de personalizar muchas

de las características de la interfaz (tamaño y color de fuentes, tipos de fuentes, inhabilitar

Javascript) puede interferir con la consistencia de la aplicación web.

Otra aproximación es utilizar Adobe Flash Player o Java applets para desarrollar parte o toda la

interfaz de usuario. Como casi todos los navegadores incluyen soporte para estas tecnologías

(usualmente por medio de plug-ins), las aplicaciones basadas en Flash o Java pueden ser

implementadas con aproximadamente la misma facilidad. Dado que ignoran las configuraciones de

los navegadores, estas tecnologías permiten más control sobre la interfaz, aunque las

incompatibilidades entre implementaciones Flash o Java puedan crear nuevas complicaciones,

debido a que no son estándares. Por las similitudes con una arquitectura cliente-servidor, con un

cliente "no ligero", existen discrepancias sobre el hecho de llamar a estos sistemas ―aplicaciones

web‖; un término alternativo es ―Aplicación Enriquecida de Internet‖.

ESTRUCTURA DE LAS APLICACIONES WEB

Aunque existen muchas variaciones posibles, una aplicación web está normalmente estructurada

como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera

capa y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets o

ASP, ASP.NET, CGI, ColdFusion, embPerl, Python (programming language) o Ruby on Rails)

constituye la capa de en medio. Por último, una base de datos constituye la tercera y última capa.

El navegador web manda peticiones a la capa de en medio que ofrece servicios valiéndose de

consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario.

Page 43: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

38

USO EMPRESARIAL

Una estrategia que está emergiendo para las empresas proveedoras de software consiste en

proveer acceso vía web al software. Para aplicaciones previamente distribuidas, como las

aplicaciones de escritorio, se puede optar por desarrollar una aplicación totalmente nueva o

simplemente por adaptar la aplicación para ser usada con una interfaz web. Estos últimos

programas permiten al usuario pagar una cuota mensual o anual para usar la aplicación, sin

necesidad de instalarla en el ordenador del usuario. A esta estrategia de uso se la denomina

Software como servicio y a las compañías desarrolladoras se les denomina Proveedores de

Aplicaciones de Servicio (ASP por sus siglas en inglés), un modelo de negocio que está atrayendo

la atención de la industria del software.

VENTAJAS

Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar

ningún programa.

No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder

utilizarlas.

No ocupan espacio en nuestro disco duro.

Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos

conectamos estamos usando siempre la última versión que haya lanzado.

Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en

nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos

nuestros porque se realizan desde otro ordenador.

Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario

tener un navegador.

Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil...)

porque se accede a través de una página web (sólo es necesario disponer de acceso a

Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles

requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de

estos usuarios.

La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones

para asegurar la continuidad del mismo.

Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación.

Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es

sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido,

por ejemplo, en aplicaciones online de calendarios u oficina.

Page 44: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

39

Los navegadores ofrecen cada vez más y mejores funcionalidades para crear aplicaciones

web ricas (RIAs).

Inconvenientes: Habitualmente ofrecen menos funcionalidades que las aplicaciones de

escritorio. Se debe a que las funcionalidades que se pueden realizar desde un navegador son

más limitadas que las que se pueden realizar desde el sistema operativo. Pero cada vez los

navegadores están mejor preparados para mejorar en este aspecto. La aparición de HTML 5

representa un hito en este sentido. Es posible añadir funcionalidades a estas aplicaciones

gracias al uso de Aplicaciones de Internet Ricas.

La disponibilidad depende de un tercero, el proveedor de la conexión a internet o el que

provee el enlace entre el servidor de la aplicación y el cliente. Así que la disponibilidad del

servicio está supeditada al proveedor.

DIFERENCIA ENTRE APLICACIÓN WEB Y APLICACIÓN DE INTERNET ENRIQUECIDA (RIA)

Las aplicaciones web se ejecutan nativamente desde el navegador. Pero existen algunas

aplicaciones que funcionan desde el navegador pero además requieren la instalación de un

software en el ordenador para poder utilizarse. Estas aplicaciones se denominan Aplicaciones de

Internet Ricas. El motivo de usar este software adicional es que hay muchas funcionalidades que

los navegadores no pueden ofrecer, y él enriquece a las aplicaciones web ofreciendo dichas

funcionalidades.

Las aplicaciones contenidas dentro del navegador Web se enfrentan a grandes limitaciones. Entre

ellas se puede mencionar principalmente dos, la dependencia de la conexión a Internet, que

todavía no es tan ubicua como sería deseable. Y la falta de mejor interacción con el hardware, que

limita tanto las funcionalidades que estas pueden ofrecer, como el rendimiento de las mismas, y la

amigabilidad de la interfaz humano-computadora.

En la búsqueda a soluciones a dichos problemas surge la propuesta, que hasta parecería un poco

contradictoria, de hacer que las aplicaciones de internet enriquecidas sean ejecutables como

aplicaciones de escritorio. Esto implicaría una interacción más directa con el sistema operativo, y

por ende mejor aprovechamiento de los recursos de hardware; y también una cierta independencia

de la conectividad a la Internet.

Ejemplos de funcionalidades que pueden ofrecer los programas online gracias al uso de software

instalado:

Captura / Procesamiento de imágenes

Uso de webcam / Captura de video

Page 45: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

40

Actualmente en la búsqueda a soluciones a dichas diferencias surge la propuesta, que hasta

parecería un poco contradictoria, de hacer que las aplicaciones de internet enriquecidas sean

ejecutables como aplicaciones de escritorio. Esto implicaría una interacción más directa con el

sistema operativo, y por ende mejor aprovechamiento de los recursos de hardware; y también una

cierta independencia de la conectividad a la Internet.

Dichas propuestas ya han tomado forma en plataformas tecnológicas ya disponibles para el

desarrollo y despliegue de las llamadas ―aplicaciones web para escritorio‖, que van ganando cada

vez más aceptación, y se perfilan como algo que formara parte de nuestro repertorio típico de

aplicaciones en los siguientes años.

Una propuesta es atacar principalmente el problema de la presentación de dichas aplicaciones, la

facilidad de su uso y su contexto, evita que aparezca el navegador y sus menús, plug-ins y

pestañas que nada tienen que ver con la aplicación en sí, dejando una ventana exclusivamente

para la aplicación Web, ahora más parecida a una de escritorio. Inclusive es posible crear accesos

directos a las aplicaciones, agregando así más transparencia y amigabilidad.

Page 46: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

41

CAPÍTULO III DIAGNÓSTICO DE LA PROBLEMÁTICA

ENCONTRADA EN EL PROCESO DE ALMACÉN

3.1 PLANTEAMIENTO DEL PROBLEMA

La compañía CYCTA S.A de C.V maneja una serie de actividades que son diferentes entre sí

pero están vinculadas para lograr los fines de la empresa. Sus principales funciones que realiza es

la generación de diferentes tipos de archivos, los procesos en almacén, que involucra hacer el

registro de entrada de productos; la venta de artículos en donde se realiza el registro de salida de

mercancía y la generación de reportes en cada uno de las módulos que intervienen en el proceso.

Todo este trabajo se ha venido realizando de manera manual desde la constitución de la empresa,

pero desde los últimos años la empresa ha tenido un mejor posicionamiento en el mercado por lo

cual ha incrementado sus operaciones de forma trascendental por consecuencia se han producido

algunos problemas por la manera de realizar sus funciones.

La gravedad y magnitud de la mala organización en el archivo de la institución dio origen a que se

considere como un punto de suma importancia, que se analizará para dar una pronta solución de

fondo a este problema. Con el paso del tiempo, la compañía CYCTA S.A de C.V se ha visto en

apuros al incrementarse de manera exponencial la documentación, mobiliario, espacio físico y

tiempo con respecto al almacén.

Por lo tanto, para conocer y determinar la situación real del almacén de la compañía CYCTA S.A

de C.V, se aplicaran cuestionarios al personal involucrado en el Área de Almacén y en el Área de

Ventas. Con base en la información recabada en los cuestionarios, se van a obtener datos

significativos del flujo del proceso y al mismo tiempo se conseguirá la explicación de las

actividades realizadas durante el proceso.

APLICACIÓN DE CUESTIONARIOS AL PERSONAL INVOLUCRADOS EN EL PROCESO DE

ALMACÉN

Como primer punto, determinaremos el tamaño de la muestra para esto solicitamos a la compañía

CYCTA S.A de C.V el total de personas que laboran en cada una las diferentes áreas que

intervienen en el proceso. Ya que obtuvimos la información se decidió tomar a todos los

empleados en cuenta para realizar los cuestionarios, puesto que el número de empleados es muy

reducido; con esto se pretende obtener datos más exactos y un nivel de confianza bastante alto.

Los puestos que se ejercen en el proceso de almacén y de ventas son almacenistas, vendedores

y recepcionista. Los datos entregados por la empresa muestran que el número total de

empleados que laboran asciende a 7 personas, desglosándolo, el personal Por lo tanto el

Page 47: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

42

número total de personas a encuestar es 7; siendo 5 vendedores, un almacenista y un

recepcionista.

ANÁLISIS DE INFORMACIÓN OBTENIDA A TRAVÉS DE ENTREVISTA Y CUESTIONARIOS

ENTREVISTA

Entrevista realizada al Director General de la empresa CYCTA S.A de C.V.

1.- ¿Cuenta con área especializada en sistemas de información?

2.- ¿Cuáles son las áreas que intervienen en el proceso de almacén?

3.- ¿Cuáles son las actividades que se deben realizar dentro del almacén?

4.- ¿Cuáles son los reportes que se deben realizar dentro del almacén?

5.- ¿Cuáles son las actividades que se deben realizar dentro del área de ventas?

6.- ¿Cuáles son los reportes que se deben realizar dentro del área de ventas?

CUESTIONARIO

Cuestionario aplicado a los empleados de las áreas de almacén y ventas de la empresa CYCTA

“Le agradecemos muy cordialmente que responda con mucha responsabilidad y veracidad”

1.- ¿Su empresa cuenta con un área especializada en sistemas de información?:

SI NO NO APLICA

2.- ¿Cuenta con algún sistema de información que le permita estimar las operaciones que

realizan en el departamento que opera?

SI NO NO APLICA

3.- ¿Realiza operaciones de forma manual?

SI NO NO APLICA

4.- ¿Existe algún reporte que registre las operaciones que se realizan en el área que

desempeña?

SI NO NO APLICA

5.- Si respondió la anterior pregunta afirmativa ¿Compartes información con otros

Page 48: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

43

departamentos?

SI NO NO APLICA

6.- Piensa usted que un sistema podría facilitarle la realización de sus labores dentro de la

empresa.

SI NO NO APLICA

“Gracias por la atención e información suministrada…”

RESULTADOS

Los resultados que se obtuvieron al aplicar las encuestas fueron los siguientes:

PREGUNTA RESPUESTAS PORCENTAJE

1.- ¿Su empresa cuenta con un área especializada en

sistemas de información?

SI

NO

NO APLICA

7

100%

2.- ¿Cuenta con algún sistema de información que le

permita estimar las operaciones que realizan en el

departamento que opera?

SI

NO

NO APLICA

7

100%

3.- ¿Realiza operaciones de forma manual?

SI

NO

NO APLICA

7

100%

4.- ¿Existe algún reporte que registre las operaciones que

se realizan en el área que desempeña?

SI

NO

NO APLICA

7 100%

5.- ¿Compartes información con otros departamentos?

SI

NO

NO APLICA

3

2

2

42.8%

28.6%

28.6%

6.-Piensa usted que un sistema podría facilitarle la

realización de sus labores dentro de la empresa.

SI

NO

NO APLICA

5

1

1

71.4%

14.3%

14.3%

Page 49: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

44

GRAFICA ESTADÍSTICA

SI 0%

NO 100%

NO APLICA 0%

2.- ¿Cuenta con algún sistema de información que le permita estimar las operaciones que realizan en el departamento que opera?

si

no

no aplica

SI 100%

NO APLICA 0%

NO 0%

3.- ¿Realiza operaciones de forma manual?

si

no

no aplica

SI 100%

NO APLICA 0%

NO 0%

4.- ¿Existe algún reporte que registre las operaciones que se realizan en el área que desempeña?

si

no

no aplica

Page 50: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

45

ANÁLISIS DE LOS RESULTADOS DE LAS ENCUESTAS.

Las preguntas realizadas estaban encaminas básicamente a confirmar la necesidad de

implementar un sistema, como el que se llevara a cabo al finalizar dicho estudio. Fueron

contestados 9 cuestionarios de 9, que a continuación se muestra la información obtenida.

Confirmamos que no existe un sistema informático ni general ni específico en el área de almacén

y ventas el cual ayude a los empleados con sus tareas diarias; en la pregunta donde se le

examinaba a los empleados si realizaban operaciones de forma manual se obtuvo una cifra de

empleados del 100% que respondió que realizan sus operaciones de manera no mecánica y que

realizan se tienen que efectuar reportes dentro de todos los departamentos de la empresa.

Conforme a compartir la información con los demás departamentos que intervienen en el proceso

solo un 56% lo cumple, mientas que el 22% dice que no es necesario y el restante simplemente no

SI 43%

NO 29%

NO APLICA 28%

5.- ¿ Comparte información con otros departamentos?

si

no

no aplica

SI 72%

NO 14%

NO APLICA 14%

6.- Piensa usted que un sistema podría facilitarle la realización de sus labores dentro de la empresa.

si

no

no aplica

Page 51: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

46

lo desempeña, siendo confidencialidad de la información una de las razones por la cual los

empleados no comparten información con los demás departamentos.

El Director General opina que la implementación de un sistema de inventario es una manera

excelente de mejorar los procesos y la calidad de la empresa. Nunca antes se había tenido la

experiencia de implementar un sistema en la empresa, pero para algunos empleados han tenido

este tipo de práctica en trabajos anteriores con un resultado positivo.

Es por eso último que un 77% indicó que con la implementación de un sistema los beneficiaría al

efectuar su trabajo, puede decirse que tanto la empresa requiere un sistema para la eficacia de sus

operaciones, como los empleados que laboran dentro de ella; puesto que una mayoría de los que

estarían interactuando con el sistema están dispuestos a que éste se ejecute.

3.2 ANÁLISIS DEL PROCESO DE ALMACÉN

Para conocer el proceso de almacén con el que trabajan actualmente fue necesario entrevistar

primero al Gerente General, de esta manera obtuvimos un bosquejo general como las áreas que

intervienen en el proceso, las funciones de cada una de ellas y los empleados que las ejecutan.

Además se tuvo que observar estas acciones en los departamentos correspondientes y desde

luego hablar con el personal sobre sus actividades.

Recurrimos a una herramienta que nos auxilió durante el proceso de análisis, esta herramienta es

conocida como Diagramas de Caso de Uso. Separamos las tareas y las unimos de acuerdo a

responsabilidades mayores, resultando el diagrama nivel cero (en donde se ubican todos los

procesos que intervienen y todos los actores que participan) y cuatro diagramas de caso de uso.

Los módulos que se generaron son los siguientes:

Ventas

Verificación de Almacén

Compra de Mercancía

Pagos

En donde intervienen los actores.

Vendedor

Almacenista

Recepcionista

Cliente

Proveedor

En los siguientes diagramas se representan las tareas que participan en el proceso de almacenaje

llendo desde lo general a lo específico. En el diagrama de Casos de Uso del Negocio que se

Page 52: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

47

muestra adelante, estan simbolisados todos los puestos que participan en el proceso de

almacén, posteriormente se muestra el diagrama de Casos de Uso del Negocio Nivel Cero donde

se traza de modo general los procesos que se manejan actualmente en la empresa dentro de el

proceso de control de inventarios, asimismo se simbolizan los empleados que participan en los

módulos correspondientes.

Diagrama de Caso de Uso del Negocio “Cotización y Sistema para el Control de

Inventarios”.

Diagrama de Caso del Negocio Uso Nivel Cero

Page 53: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

48

Diagrama de Caso del Negocio de Uso VENTAS

En este módulo se representa el proceso de venta que se lleva actualmente en la empresa

CYCTA, el primer paso consiste en que el cliente llama a la empresa y es atendido por un

vendedor que es el que se encarga de realizar la cotización, una vez ya teniendo el formato de la

orden se manda a la recepcionista quien se encarga de preguntarle al almacenista si hay

existencia de producto, el almacenista revisa y le comunica el status de la mercancía, ella le

comunica al vendedor. Concluido este proceso se le informa al cliente cual es el status de los

artículos cotizados, si el cliente está de acuerdo con la información proporcionada entonces se

llega a un acuerdo de la fecha de entrega y forma de pago entonces se cierra la venta, y se

genera la orden de venta que sea enviada a la recepcionista para que la mande al almacén para

que se recolecten los artículos pedidos.

1.0 VENTAS

VENDEDOR

RECEPCIONISTA

ALMACENISTA

CLIENTE

1.1 Se realiza la

cotización

1.2 Se verifica la

existencia en

almacén

1.3 Se cierra la

venta

1.4. Se manda la

orden al almacén

Page 54: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

49

Diagrama de Caso del Negocio de Uso VERIFICACIÓN DE ALMACÉN

En este módulo es donde se representa el proceso que se lleva a cabo en el almacén,

actualmente todo se registra en libretas y hojas de cálculo en Excel, primeramente para dar inicio

el Almacenista tiene que recibir la orden de venta, para que se pueda realizar la recolección de los

artículos que son pedidos y en dado caso de que alguno hiciera falta, entonces se elabora una

orden de compra al Proveedor especificando la cantidad que se requiere y la fecha de entrega,

para que sean surtidos los materiales lo más pronto posible. Una vez que los artículos ya estén

recolectados, el almacenista se encarga de anotar en una libreta cual fue la mercancía que salió y

cuál es la que aun hay en existencia, así se verifica los tipos de producto que tienen, este

mecanismo es el que actualmente lleva la empresa y por último se registra la salida de la

mercancía.

2.0 VERIFICACIÓN DE

ALMACÉN

RECEPCIONISTA

PROVEEDOR

ALMACENISTA

2.1 Se recibe la orden

de venta

2.2 Se recolecta los

artículos pedidos

2.3 Si no hay productos se

manda a orden de compra

2.4 Se revisa el stock

2.5 Se verifica el tipo

de producto

2.6 Salida de

mercancía

Page 55: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

50

Diagrama de Caso del Negocio de Uso COMPRA DE MERCANCÍA

El tercer diagrama que se muestra es el de COMPRA DE MERCANCÍA en el cuál se describe

todos los pasos necesarios que se realizan para hacer la adquisición de los artículos faltantes. La

orden de compra se realiza cuando alguna cantidad de artículos este casi al nivel del stock de cada

uno de ellos o cuando ya existe una orden de venta y no se abastece la solicitud con lo que en ese

momento se encuentre en el almacén, entonces es cuando la recepcionista elabora el pedido al

proveedor correspondiente, en ese momento se determina el costo y fecha de entrega. Cuando se

reciben los productos se verifica que lo que entregan sea realmente lo que se pide para que no

exista problema y esto se hace mediante un registro que se lleva en libretas y en Excel, después

de pasar por esta verificación se mandan los artículos a almacén para que sean acomodados y

registrados por el almacenista.

RECEPCIONISTA

ALMACENISTA

PROVEEDOR

3.0 COMPRA DE MERCANCÍA

2.1 Se elabora orden

de compra

2.2 Se manda la solicitud

al proveedor

2.3 Se recibe los

artículos pedidos

2.4 Se mandan los

artículos a almacén

Page 56: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

51

Diagrama de Caso del Negocio de Uso PAGOS

En el último diagrama se describe el módulo de PAGOS dentro de la empresa CYCTA S.A de C.V.

El primer proceso empieza una vez que se haya cerrado la orden de venta, en seguida la

recepcionista recibe una copia de la orden, ésta a su vez es la encargada de solicitar el pago

correspondiente al cliente. Una vez que el cliente haya realizado el pago, ya sea en efectivo o por

tarjeta, la recepcionista verifica que el pago sea correcto, posteriormente la recepcionista sella la

orden, le entrega una copia al cliente y ella se queda con otra para agregarla al registro. A

continuación se le avisa al almacenista que ya está autorizada la salida de la mercancía del

almacén, ya entregada la mercancía al cliente el almacenista guarda el ticket de pago y lo

registra en una hoja de cálculo.

RECEPCIONISTA

ALMACENISTA

CLIENTE

4.0 PAGOS

4.1 Se recibe la orden

de venta

4.2 Se efectúa el pago

4.3 Se verifica el pago

4.4 Se autoriza la salida

de almacén

Page 57: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

52

3.3 ACTIVIDADES Y ÁREAS QUE INTERVIENEN EN EL PROCESO

Las áreas que intervienen, el área de almacén y el área de ventas, cada una se hace responsable

de actividades diferentes que conjuntamente crean el proceso de almacén.

Área de Almacén

o Recepción de materiales

o Actualización de cantidades

o Revisión de materiales a la entrada de almacén

o Registro de entrada del almacén

o Registro de salida del almacén

o Almacenamiento de materiales

o Mantenimiento de materiales

o Mantenimiento del almacén

o Despacho de materiales

o Contactarse con proveedor

Área de Ventas

o Ofrecer productos

o Vender

o Fortalecer la relación con los clientes.

o Asesorar técnica, comercial y promocionalmente a sus clientes.

o Asesorar al cliente sobre la mejor forma de comprar y utilizar los productos

o Contribuir activamente a la solución de problemas del cliente

o Mantener a los clientes informados sobre novedades, posibles demoras de entrega y

cualquier otro tipo de cambio significativo.

3.4 PROPUESTAS DE SOLUCIÓN Y ACCIONES DE MEJORA

PROPUESTA DE SOLUCIÓN

Nuestra propuesta de solución consta en realizar un sistema de información que abarque los

procesos de cotización, clientes, proveedores, almacén, órdenes de compra y órdenes de venta.

El objetivo primordial fue atacar el problema de pérdida de información y la rapidez con que se

realizan los procesos.

Al comenzar con la propuesta tuvimos que señalizar tiempos con que se realizarían cada una de

las etapas del la propuesta de solución. Estas etapas son análisis, diseño, desarrollo y pruebas. En

Page 58: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

53

donde cada miembro del equipo asumió una tarea en específico en cada una de las etapas, que al

finalizar cada una de ellas se conjuntaban con las demás tareas.

Para diseñar la propuesta de solución para la empresa CYCTA S.A de C.V de igual forma

recurrimos a los Diagramas de Caso de Uso. Se conservó casi la misma estructura que se venía

manejando, por lo tanto los módulos no cambiaron, aunque los procesos que forman parte de

cada uno de ellos tuvieron que ser reestructurados; en cuanto a los puestos se evaluó y se optó

por reformarlos.

Los módulos que utilizados son los siguientes:

Ventas

Verificación de Almacén

Compra de Mercancía

Pagos

Los actores son:

Vendedor

Almacenista

Cliente

Proveedor

Actores no requeridos:

Recepcionista

El primer esquema que se representa el diagrama global de Caso de Uso del Sistema en el cual

aparecen los actores que interactúan en el proceso. Posteriormente aparece el diagrama de

Casos de Uso nivel cero en donde se muestra todos los módulos y actores que intervienen en el

proceso de inventarios y ventas de una manera generalizada. Enseguida se van exhibiendo los

diferentes diagramas de los módulos con sus respectivos procesos y actores, acompañados con

Page 59: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

54

una pequeña descripción de las funciones que se realizan dentro de cada módulo, el objetivo de

esta reseña es dar una explicación más específica de como es que se ejecutan los procesos, el

orden en que se van dando y quien es el que manipula, empieza o termina cada operación.

Diagrama de Caso de Uso del Sistema “Sistematización del Proceso de Almacén y

Cotización de Ventas en una Empresa de Cómputo”.

Diagrama de Caso de Uso del Sistema Nivel Cero

Page 60: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

55

Diagrama de Caso de Sistema VENTAS

El primer módulo que se presenta en nuestro diagrama es de VENTAS. En este diagrama se

crearon cuatro procesos en donde intervienen tres actores (VENDEDOR, ALMACENISTA,

CLIENTE). El primer proceso es realizar una cotización, la cotización la realiza el cliente, en esta

escoge los productos que desea comprar, la cantidad de cada uno de ellos y se le da a conocer el

precio total de la compra. Cuando el cliente realmente quiere realizar la compra de estos artículos,

se dice que se cierra la venta, para realizar este proceso el vendedor necesita estar físicamente

para hacer el cierre de venta. Una vez que haya transcurrido esto, el almacenista subministra los

productos de almacén, entregándoselos al vendedor quien es la persona que subministrará los

artículos al cliente. Con la entrega de la mercancía al cliente concluyen los procesos que

intervienen en el módulo de ventas.

1.1 Se realiza

cotización

1.2 Se cierra

venta

1.3 Salen

artículos de

almacén

1.4 Se entregan

artículos

1.0 VENTAS

VENDEDOR

ALMACENISTA

CLIENTE

Page 61: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

56

Diagrama de Caso de Sistema VERIFICACIÓN DE ALMACÉN

En el segundo módulo se refiere a la VERIFICACIÓN DEL ALMACÉN en el cuál solo existen tres

procesos e intervienen dos actores, en el primer proceso se verifica la existencia de artículos

dentro de almacén, esta tarea la puede desempeñar tanto el vendedor como el almacenista. El

vendedor lo realiza cuando el cliente efectúa el pedido, de esta manera se tiene informado al

cliente si existe en almacén los artículos que el requiere o le notifica que no existen actualmente;

por parte del almacenista se ejecuta este proceso al momento de salir los productos del almacén.

En el segundo proceso se verifican órdenes pendientes, como su nombre lo dice al llegar la

mercancía al almacén se checa si existe algún pedido por entregar al cliente. Por último el

almacenista tiene que estar al pendiente del stock de cada uno de los artículos que se tienen en el

almacén.

2.1 Se verifica

existencia en almacén

2.2 Se verifican

órdenes

pendientes

2.3 Se checa

stock

2.0 VERIFICACIÓN DE ALMACÉN

VENDEDOR

ALMACENISTA

Page 62: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

57

Diagrama de Caso de Sistema COMPRA DE MERCANCÍA

En el tercer módulo se realiza el segmento de COMPRA DE MERCANCÍA en este diagrama se

generaron cuatro procesos en los cuales participan los actores ALMACENISTA y PROVEEDOR.

El módulo comienza cuando se necesita realizar una compra a proveedor, para generar esta

orden es necesario que la cantidad de productos sea menor a el stock o cuando por razones

extraordinarias algún producto se haya agotado, por lo tanto es necesario realizar compra de esos

productos. Una vez entregada la orden y el proveedor llegue al almacén con los productos

pedidos, el almacenista es el encargado de recibir la orden, también debe de cotejar los artículos

recibidos contra la factura entregada por el proveedor, verificar que los productos se encuentren

en buenas condiciones, actualizar las cantidades en los registros del inventario y acomodarlos en

el espacio físico del almacén.

3.0 COMPRA DE MERCANCÍA

3.1 Se genera orden

de compra

3.2 Se recibe

materiales

3.3 Se coteja pedido

contra factura y

productos físicos

3.4 se actualiza

almacén

PROVEEDOR

ALMACENISTA

Page 63: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

58

Diagrama de Caso de Sistema PAGOS

En este último diagrama se representa el módulo de PAGOS; este segmento tiene que ver con el

pago de los artículos pedidos por el cliente y posee cuatro procesos, los cuales son ejecutados por

dos actores (vendedor, cliente).

Esta sección empieza a trabajar una vez que el cliente haya hecho su pedido y que la venta esté

cerrada; pasado esto el vendedor elabora una orden de venta, el cual se envía reporte de la venta

al departamento de contabilidad.

Posteriormente el cliente necesita efectuar el pago correspondiente por los artículos pedidos, una

vez hecho, regresa con el vendedor que comprueba que la cantidad pagada coincide con el

monto que generan de los artículos que él tiene en mostrador.

VENDEDOR

CLIENTE

4.0 PAGOS

4.1 Se genera orden

de venta

4.2 Se envía

reporte a

contabilidad

4.3 Realiza el

pago

4.4. Se verifica pago

Page 64: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

59

Flujo del Sistema Proceso de Almacén y Ventas

Los diagramas antes expuestos se ven desde un punto interno y no se observa ninguna relación

con los restantes. Es por esto que a continuación se englobaran todos los módulos, cada uno de

sus procesos junto con los actores; creando el flujo del proceso de almacén y ventas.

El proceso inicia con la participación del cliente, el cuál realiza una cotización de los productos que

demanda, una vez que el interesado realmente desea comprar los artículos, el vendedor se

incorpora al flujo verificando la existencia de los productos y le informa el cliente si estos están en

existencia o el tiempo que tardarán en llegar, si el cliente decide esperar, el vendedor cierra la

venta, para esto debe especificarse que no todas las cotizaciones necesariamente se convierten

en ventas. En caso de no tener la suficiente cantidad de productos en almacén se genera una

orden de compra al proveedor.

La siguiente fase es generar una nota al cliente con la cantidad a pagar en caja, esta misma se

manda al departamento de contabilidad; posterior al pago, el cliente regresa con el vendedor, este

revisa que el pago correspondiente se haya realizado y entrega los productos que con anterioridad

el almacenista le suministro.

En seguida de que la mercancía haya sido entregada al cliente se actualiza el almacén, se coteja

la cantidad existente de producto contra el stock, en caso de que la cantidad actual sea menor a la

del stock se genera una orden de compra y se manda al proveedor.

En cualquier punto del flujo ya sea cuando se le notifica al cliente que no se tiene la cantidad

suficiente de producto en almacén o una vez que se le entrega al cliente sus artículos y se

actualiza almacén; y se requiera adquirir mercancía, el almacenista genera una orden de venta o

varias, dependiendo de los artículos a pedir, ya que no se cuenta con un solo proveedor; se le

manda al proveedor para que esta reabastezca el almacén.

En cuanto la mercancía arriba al almacén, el almacenista recibe los productos y los coteja contra

factura que entrega el proveedor. Una vez recibidos los artículos el almacenista actualiza el

almacén, comprueba que la mercancía entregada se encuentre en buen estado, examina si existen

órdenes pendientes por entregar, en caso de que estas existan, el vendedor se ponen en contacto

con el cliente.

ACCIONES DE MEJORA

El objetivo de este proyecto es realizar acciones de mejora en el proceso de almacén y ventas en

la compañía CYCTA S.A de C.V., estas modificaciones se dan a lo largo de todo el proceso, en

diferentes aspectos, en todos los módulos del sistema.

Page 65: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

60

Como el nombre del proyecto lo dice, la principal mejor a que se realizó es la sistematización de

los procedimientos que se trabajaban, con esto tendrán un mejor control de los registros, órdenes,

realizaran el trabajo de una manera más fácil y con mayor rapidez.

Otra de las más notorias mejoras es la reingeniería de los puestos que maneja la empresa, ya que

en cada uno de los procesos, intervenía la recepcionista, el motivo de su intervención que

verificaba que cada actividad se realizara correctamente. Esto ya no será necesario con el sistema

que se implementara, ya que éste tiene restricciones para cada uno de los empleados.

Se creó una interface especialmente para los clientes a la cual se podrá accesar por internet, esto

abre un medio de propagación de la empresa, esta interface les brinda a los clientes la

oportunidad de conocer los productos que ofrece la compañía, registrarse y realizar cotizaciones

de los artículos que deseen comprar, las cuales pueden ser impresas y guardadas. En esta

aplicación cada cliente cuenta con una sesión para que se tenga su registro personalizado, y no

se llegue a mezclar los productos que cotiza otro cliente.

Las ventajas en la interface del usuario (almacenistas, vendedores) es que al momento de entrar

se requiere un usuario y una contraseña, también dependiendo del usuario cuenta con privilegios

en la aplicación; esto nos ayuda a elevar la seguridad del sistema.

Se lleva un registro de todos los clientes, hayan realizado compras o no, igualmente lleva el

registro de los artículos, proveedores, órdenes de compra, órdenes de venta. En cuanto a los

artículos se crea un módulo de almacén en donde se puede observar la cantidad con la que

disponemos físicamente y cuál está disponible para su venta; además existe un apartado que

muestra la mercancía que está debajo de la cantidad mínima que se requiere en almacén y los

excesos. Con estos registros se elimina la tarea de estar apuntando en notas u hojas de Excel, en

donde fácilmente pueden ocurrir errores humanos.

En cada módulo se elaboró una búsqueda en caso de querer observar un registro solamente, estas

búsquedas se pueden realizar por medio del id, del nombre o marca, dependiendo del recurso a

investigar.

El sistema creado genera reportes de en cada uno de sus módulos, cliente, artículo, almacén,

proveedor, orden de compra y orden de venta, que se crean de manera rápida y sencilla, pueden

entregarse de forma inmediata, estos reportes pueden ser impresos o guardados, se crearon

exclusivamente en formato pdf para que no se pueda modificar en caso de ser guardado.

Las reglas del negocio que maneja Corporación CYCTA S.A de C.V., están previamente

implantadas en la aplicación, en consecuencia se tiene la seguridad de que se seguirán

Page 66: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

61

correctamente, una de ellas es que no se podrán borrar clientes que hayan realizado al menos

una compra, no importando la fecha de esta.

En el módulo de órdenes de compra una vez realizada se puede modificar, pero hay datos como el

almacenista que realizó la orden no pueden ser alterados. Mientras que en órdenes de venta no se

puede cambiar el estatus a entregada sino se cuenta con los productos necesarios. Así mismo no

se pueden eliminar ninguna orden de venta o de compra, simplemente se cancelan, pero siguen

existiendo dentro de los registros.

Page 67: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

62

CAPÍTULO IV PROPUESTA DE SOLUCIÓN

4.5 DISEÑO

Se empezó con esta etapa se construye la base de datos, y las relaciones entre las tablas, para

esta fase se utilizó el manejador de base de datos ORACLE Express Edition ya que es un

software libre que no requiere de licencias.

ALMACÉN

CAT_ARTICULO

CAT_CLIENTE

Page 68: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

63

CAT_EMPLEADOS

CAT_PROVEEDOR

COTIZACIONDET

LOGIN

Page 69: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

64

TAB_COTIZACION

TAB_DETALLE_OC

TAB_ORDEN_COMPRA

TAB_ORDEN_VENTA

TAB_PROVEEDOR_ARTICULO

Page 70: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

65

DIAGRAMA DE SECUENCIA

En el diagrama de secuencia que se presenta a continuación simboliza la interacción de los

objetos en una aplicación a través del tiempo, este tipo de diagrama contiene detalles de la

implementación del escenario, incluyendo los objetos y las clases; y mensajes intercambiados

entre los objetos

DIAGRAMA DE CLASES

Este tipo de diagrama describe la estructura de un sistema mostrando las clases, atributos y las

relaciones que existen entre ellos, los diagramas de clases son modelos estáticos que nos ayudan

a entender mejor las relaciones entre las clases y las interfaces, las generalidades y las

asociaciones son importantes para reflejar la herencia, la composición o el uso y las conexiones.

: Almacenista

: Almacén : Artículo : Inventario

Cotización Verificación de

existencia de artículos

Aviso para Solicitar

articulo a proveedores

Registro de Entrada de un Artículo al Almacén

Artículo

Registro de Salida de un Artículo del Almacén

Entrega de Reportes de

Entrada y Salida del

Almacén

Page 71: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

66

Orden

-fechaOrden: Date-numOrden: int-articulo: Articulos-cantidad: int-total: double

Cliente

-id: int-nombre: String-direccion: String-rfc: String-telefono: int+usuario: String-celular: double-email: String

OrdenVenta

+Cliente: Cliente-fechaEntrega: date-Vendedor: Empleado+statusArticulo: bool-numOrdVenta: int

+crearOrden()+cancelarOrden()+enviarOrden()

OrdenCompra

-proveedor: Proveedor-fechaRecepcion-numOrdComp

+crearOrden()+cancelarOrden()+enviarOrden()

Proveedor

-RFC: String-direcionRFC: String-celular: String-comentarios: String-contactoProveedor: String+activo: bool

+darAlta()+darBaja()+modificar()

Almacen

-articulos: Articulo-cantidadMax+cantidadAct+cantidadMin

Articulo

+nombreArt: String-descripcion: String-marca: String-precio: float

+darAlta()+darBaja()+modificar()+Operation2()

*

*

1

1

Consta de

Page 72: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

67

DIAGRAMA DE COMPONENTES

El diagrama de componentes que se presenta a continuación muestra la organización y las

dependencias entre los componentes, en el se situarán librerías, tablas, archivos, y documentos

que forman parte del sistema.

Page 73: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

68

Page 74: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

69

DIAGRAMA DE DESPLIEGUE

Page 75: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

70

4.6 DESARROLLO

El desarrollo de la aplicación se realizó con el lenguaje de programación JAVA JSPs y

SERVLETS, con la ayuda de la plataforma NETBEANS, se escogió esta plataforma porque aparte

de ser un proyecto de código abierto y permite portabilidad.

Se generaron varios archivos para consolidar el sistema, para formar la vista con la el usuario va a

interactuar se ocuparon JSPs y para la funcionalidad se emplearon SERVLETS. Las clases

primordiales son:

Cliente

Artículo

Proveedor

Almacén

Orden de Compra

Cotización

CLIENTE

package Cliente;

public class Cliente {

private int id;

private String nombre;

private String direccion;

private String rfc;

private int telefono;

private double celular;

private String email;

private String usuario;

private int contraseña;

public int getContraseña() {

return contraseña;

}

public void setContraseña(int contraseña) {

this.contraseña = contraseña;

Page 76: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

71

}

public String getUsuario() {

return usuario;

}

public void setUsuario(String usuario) {

this.usuario = usuario;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public double getCelular() {

return celular;

}

public void setCelular(double celular) {

this.celular = celular;

}

public String getDireccion() {

return direccion;

}

public void setDireccion(String direccion) {

this.direccion = direccion;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getNombre() {

Page 77: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

72

return nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

public String getRfc() {

return rfc;

}

public void setRfc(String rfc) {

this.rfc = rfc;

}

public int getTelefono() {

return telefono;

}

public void setTelefono(int telefono) {

this.telefono = telefono;

}

}

ARTÍCULO

package Proveedores;

public class Articulo {

int id;

String nombre;

public double getPrecio() {

return precio;

}

public void setPrecio(double precio) {

this.precio = precio;

}

double precio=0;

String descripcion;

String marca;

Page 78: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

73

public String getDescripcion() {

return descripcion;

}

public void setDescripcion(String descripcion) {

this.descripcion = descripcion;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getMarca() {

return marca;

}

public void setMarca(String marca) {

this.marca = marca;

}

public String getNombre() {

return nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

}

PROVEEDOR

package Proveedores;

public class proveedor {

private int id;

private String nombre;

private String direccion;

private String rfc;

Page 79: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

74

private int telefono;

private long celular;

private String contacto;

private String email;

public long getCelular() {

return celular;

}

public void setCelular(long celular) {

this.celular = celular;

}

public String getContacto() {

return contacto;

}

public void setContacto(String contacto) {

this.contacto = contacto;

}

public String getDireccion() {

return direccion;

}

public void setDireccion(String direccion) {

this.direccion = direccion;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public int getId() {

return id;

}

public void setId(int id) {

Page 80: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

75

this.id = id;

}

public String getNombre() {

return nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

public String getRfc() {

return rfc;

}

public void setRfc(String rfc) {

this.rfc = rfc;

}

public int getTelefono() {

return telefono;

}

public void setTelefono(int telefono) {

this.telefono = telefono;

}

}

ALMACÉN

package Proveedores;

public class almacen {

private int idAlmacen;

private int almacen;

private String articulo;

private int maxima;

private int minima;

private int actual;

private int unitario;

private int venta;

Page 81: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

76

private int comprometido;

private int disponible;

public int getIdAlmacen() {

return idAlmacen;

}

public void setIdAlmacen(int idAlmacen) {

this.idAlmacen = idAlmacen;

}

public int getComprometido() {

return comprometido;

}

public void setComprometido(int comprometido) {

this.comprometido = comprometido;

}

public int getDisponible() {

return disponible;

}

public void setDisponible(int disponible) {

this.disponible = disponible;

}

public int getActual() {

return actual;

}

public void setActual(int actual) {

this.actual = actual;

}

public int getAlmacen() {

return almacen;

}

public void setAlmacen(int almacen) {

this.almacen = almacen;

}

Page 82: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

77

public String getArticulo() {

return articulo;

}

public void setArticulo(String articulo) {

this.articulo = articulo;

}

public int getMaxima() {

return maxima;

}

public void setMaxima(int maxima) {

this.maxima = maxima;

}

public int getMinima() {

return minima;

}

public void setMinima(int minima) {

this.minima = minima;

}

public int getUnitario() {

return unitario;

}

public void setUnitario(int unitario) {

this.unitario = unitario;

}

public int getVenta() {

return venta;

}

public void setVenta(int venta) {

this.venta = venta;

}

}

ORDEN DE COMPRA

Page 83: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

78

package Proveedores;

public class ordenCompra {

int ID_ORDENCOMPRA;

String PROVEEDOR;

String ARTICULO;

int ID_ARTICULO;

int CANTIDAD_COMPRA;

String FECHA_ORDEN;

String FECHA_RECEPCION;

String NOMBRE_EMPLEADO;

String APELLIDO_PAT;

String APELLIDO_MAT;

int ESTATUS;

public int getID_ARTICULO() {

return ID_ARTICULO;

}

public void setID_ARTICULO(int ID_ARTICULO) {

this.ID_ARTICULO = ID_ARTICULO;

}

public int getESTATUS() {

return ESTATUS;

}

public void setESTATUS(int ESTATUS) {

this.ESTATUS = ESTATUS;

}

public String getAPELLIDO_MAT() {

return APELLIDO_MAT;

}

public void setAPELLIDO_MAT(String APELLIDO_MAT) {

this.APELLIDO_MAT = APELLIDO_MAT;

}

public String getAPELLIDO_PAT() {

Page 84: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

79

return APELLIDO_PAT;

}

public void setAPELLIDO_PAT(String APELLIDO_PAT) {

this.APELLIDO_PAT = APELLIDO_PAT;

}

public String getARTICULO() {

return ARTICULO;

}

public void setARTICULO(String ARTICULO) {

this.ARTICULO = ARTICULO;

}

public int getCANTIDAD_COMPRA() {

return CANTIDAD_COMPRA;

}

public void setCANTIDAD_COMPRA(int CANTIDAD_COMPRA) {

this.CANTIDAD_COMPRA = CANTIDAD_COMPRA;

}

public String getFECHA_ORDEN() {

return FECHA_ORDEN;

}

public void setFECHA_ORDEN(String FECHA_ORDEN) {

this.FECHA_ORDEN = FECHA_ORDEN;

}

public String getFECHA_RECEPCION() {

return FECHA_RECEPCION;

}

public void setFECHA_RECEPCION(String FECHA_RECEPCION) {

this.FECHA_RECEPCION = FECHA_RECEPCION;

}

public int getID_ORDENCOMPRA() {

return ID_ORDENCOMPRA;

}

Page 85: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

80

public void setID_ORDENCOMPRA(int ID_ORDENCOMPRA) {

this.ID_ORDENCOMPRA = ID_ORDENCOMPRA;

}

public String getNOMBRE_EMPLEADO() {

return NOMBRE_EMPLEADO;

}

public void setNOMBRE_EMPLEADO(String NOMBRE_EMPLEADO) {

this.NOMBRE_EMPLEADO = NOMBRE_EMPLEADO;

}

public String getPROVEEDOR() {

return PROVEEDOR;

}

public void setPROVEEDOR(String PROVEEDOR) {

this.PROVEEDOR = PROVEEDOR;

}

}

COTIZACIÓN

public class Cotizacion {

private String nombre;

private int precio;

private int id_cot;

private int id_articulo;

private int factura;

private int cantidad;

private double subtotal;

private int total;

public int getCantidad() {

return cantidad;

}

public void setCantidad(int cantidad) {

this.cantidad = cantidad;

}

Page 86: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

81

public int getFactura() {

return factura;

}

public void setFactura(int factura) {

this.factura = factura;

}

public int getId_articulo() {

return id_articulo;

}

public void setId_articulo(int id_articulo) {

this.id_articulo = id_articulo;

}

public int getId_cot() {

return id_cot;

}

public void setId_cot(int id_cot) {

this.id_cot = id_cot;

}

public String getNombre() {

return nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

public int getPrecio() {

return precio;

}

public void setPrecio(int precio) {

this.precio = precio;

}

public double getSubtotal() {

return subtotal;

Page 87: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

82

}

public void setSubtotal(double subtotal) {

this.subtotal = subtotal;

}

public int getTotal() {

return total;

}

public void setTotal(int total) {

this.total = total;

}

}

4.7 PRUEBAS

Las pruebas se fueron realizando a la par del desarrollo, para poder hacerlos se fueron cargando

datos en todos los módulos, se efectuaban altas, bajas, modificaciones y búsquedas, en los

módulos de cliente, proveedor, órdenes de compra y venta; y cotización se registraban datos al

azar, únicamente en el segmento de artículo se tuvo que capturar unos ejemplos del catálogo real

de la empresa. Se definieron 5 registros por módulo exceptuando artículos que se trabajo un total

de 96 registros.

4.4 PROPUESTA DEL PROTOTIPO

Se crearon dos interfaces gráficas para los usuarios, una fue creada especialmente para el cliente,

en donde podrá en primera instancia registrarse para así realizar cotizaciones sobre los artículos

que desee valorizar.

PANTALLA PRINCIPAL

Page 88: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

83

La aplicación cuenta con un menú que muestra las diferentes acciones que se pueden ejecutar,

como la historia de la empresa, los productos que ofrece, clasificados por tipo de artículo o buscar

un artículo específico.

MENUS

Las búsquedas se pueden efectuar por el nombre del artículo, por la descripción o por marca.

PANTALLA BUSQUEDA DE ARTÍCULO

La otra interfaz fue creada para los almacenistas y para los vendedores, en la pantalla principal se

pide un usuario y una contraseña que dependiendo del puesto que se tenga se brindan los

privilegios para manejar los diferentes módulos en la aplicación; en caso de ser vendedor solo

Page 89: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

84

estarán habilitados el módulo de clientes, almacén, orden de venta y cotización; y en caso de ser

almacenista se activan las opciones de proveedor, artículo, almacén y orden de compra.

PANTALLA PRINCIPAL

PRIVILEGIOS DE VENDEDOR

PRIVILEGIOS DE ALMACENISTA

Page 90: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

85

Los módulos de cliente, proveedor, artículo y orden de venta; poseen la opción de dar de alta un

nuevo registro, de eliminar registros, modificarlos, realizar búsqueda especializadas y mandar un

reporte de los campos que se tienen en formato pdf.

Al realizar una alta de registros se lleva un control de los mismos a través de un número de id, al

momento de insertar los datos este número se da de manera consecutiva, si no se agrega algún

dato, en la aplicación se muestra un error, otros errores que manda la aplicación es cuando se

mete un tipo de dato incorrecto. Este tipo de restricciones también se dan en las opciones de

modificación. Eliminar registros es posible en esos módulos siempre y cuando ese registro haya

realizado cualquier otra operación, ya sea compras o ventas.

MENU CLIENTE

MENU PROVEEDOR

MENU ARTÍCULO

Page 91: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

86

MENU ALMACÉN

MENU ORDEN DE COMPRA

MENU ORDEN DE VENTA

MENU COTIZACIÓN

Page 92: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

87

En el menú de almacén en la opción de detalle almacén se puede observar dos categorías de los

artículos que se encuentran en almacén, la primera muestra todos los artículos que la cantidad que

se tienen disponibles para su venta, están por debajo del stock; y los productos que están

agotados. En la segunda categoría se ven los artículos que sobrepasan la producción.

El menú de orden de venta enseña dos opciones, las órdenes de venta listas para entregar y las ya

entregadas. Mientas que en la opción de cotización se puede ver las cotizaciones que mandan los

clientes a través de internet. Estas se pueden clasificar en dos, las órdenes pendientes, estas son

las que el cliente ha enviado pero sin cerrar la orden; y las canceladas.

Page 93: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

88

CONCLUSIONES

El presente trabajo tuvo como objetivo la automatización del proceso de almacén, el cual incluye

altas y bajas; y ventas en la empresa CYCTA S.A de C.V. mediante un sistema informático.

Durante el tiempo de investigación en la compañía se pudieron cumplir con los objetivos

específicos que se plantearon como es conocer a fondo las actividades del inventario, la forma de

organización que llevan.

Esto nos abrió paso para seguir con nuestros objetivos y descubrir la problemática que la

corporación enfrentaba, efectuar un análisis exhaustivo, encontrando la solución más adecuada

para la empresa. El desarrollo o cuerpo del trabajo es en esencia la fundamentación lógica,

minuciosa y gradual de la investigación, cuya finalidad es exponer hechos, analizarlos, valorarlos.

En la ejecución del proyecto se desarrolla el diseño y el desarrollo de la aplicación que conforme la

se iba avanzando, se le iba mostrando primeramente la interfaz al usuario, y este a su vez

planteaba cambios de acuerdo al manejo o a la facilidad que deseaba.

La implementación de la aplicación logra que las reglas de negocio se sigan adecuadamente,

igualmente se lleva un estricto control de los registros de los datos que maneja la empresa, no

existe pérdida de la información, ni confusión de la misma.

Uno de los puntos más fuertes es que cuando un cliente se pone en contacto con la empresa, este

ya no tiene que esperar mucho tiempo para que sea atendido o para saber si el producto que

necesita está disponible o no. La importancia se da en que la empresa no pierde clientes por falta

de atención al cliente, que con el sistema implantado no solo no disminuyó la cantidad de clientes;

sino también obtuvo más. Así mismo los gastos innecesarios al contratar outsourcing que

generaba la empresa, ya no serán indispensables puesto que la información o reporte que se

requiera se accede rápidamente.

Todos los objetivos establecidos en la planeación del proyecto fueron alcanzados, nuestra

hipótesis se pudo comprobar a través del trabajo realizado, arrojando el resultado deseado, por lo

tanto podemos afirmar que al contar con una sistematización en el control de los inventarios dentro

del almacén se obtendrá la información necesaria de manera oportuna y veraz así como el

decremento de costos en el manejo del mismo.

Page 94: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

89

BIBLIOGRAFÍA

BRUCE ECKEL; ―PIENSA EN JAVA‖, 2ª EDICIÓN, PRENTICE HALL. MÉXICO 2002.

CONALLEN, JIM. "BUILDING WEB APPLICATIONS WITH UML SECOND EDITION‖, 2ND

EDITION, PEARSON EDUCATION INC. E.U 2002.

DEITEL, HARVEY M.; DEITEL, PAUL J. ―CÓMO PROGRAMAR EN JAVA‖, 5ª EDICIÓN,

MÉXICO, PRENTICE HALL, MÉXICO 2004.

MUÑIZ, LUÍS. ―ERP GUÍA PRÁCTICA PARA LA SELECCIÓN E IMPLANTACIÓN‖, 1ª EDICIÓN,

PLANETA DE AGOSTINI PROFESIONAL. SL 2004.

ORÓS, JUAN CARLOS. ―DISEÑO DE PÁGINAS WEB INTERACTIVAS CON JAVA SCRIPT Y

CSS‖, 4ª EDICIÓN, ALFAOMEGA-RAMA. MÉXICO 2004.

ORTIZ URIBE, FRIDA GISELA; GARCÍA NIETO, MA. DEL PILAR. ―METODOLOGÍA DE LA

INVESTIGACIÓN. EL PROCESO Y SUS TÉCNICAS‖, 1ª EDICIÓN, LIMUSA. MÉXICO 2002.

Tesinas

―CREACIÓN DEL PROTOTIPO DEL SISTEMA DE INVENTARIO PARA EL ÓPTIMO

CONTROL Y AUTOMATIZACIÓN DEL ALMACÉN DE TELA‖. UPIICSA, MÉXICO 2000.

―DESARROLLO DE UN SISTEMA DE CONTROL DE INVENTARIOS EN LA EMPRESA

ROTOPINSA DE GRUPO ROTOPLAS‖. UPIICSA, MÉXICO 2008.

Páginas de Internet

DEFINICIÓN DE ALMACEN, http://www.monografias.com/trabajos12/alma/alma.shtml,

RECUPERADO FEBRERO 2010

DEFINICIÓN INVENTARIO, http://www.monografias.com/trabajos11/conin/conin.shtml,

FEBRERO 2010

DEFINICIÓN DE VENTA, http://www.promonegocios.net/mercadotecnia/definicion-concepto-

venta.htm, RECUPERADO FEBRERO 2010

DEFINICIÓN DE PROVEEDOR, http://www.definicionabc.com/tecnologia/proveedor.php,

RECUPERADO FEBRERO 2010

DEFINICIÓN DE CLIENTE, http://www.promonegocios.net/clientes/tipos-clientes.htm,

RECUPERADO FEBRERO 2010

DEFINICIÓN DE PRODUCTO, http://es.wikipedia.org/wiki/Producto_(marketing),

RECUPERADO FEBRERO 2010

DEFINICIÓN DE MERCANCÍA, http://es.wikipedia.org/wiki/Mercanc%C3%ADa, RECUPERADO

FEBRERO 2010

Page 95: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

90

GLOSARIO

Applets

Es un pequeño programa escrito en Java e incluido en una página HTML. Es independiente del

sistema operativo en el que funciona. Se puede utilizar un aplique para visualizar un texto que

desfila en un área específica, o animaciones.

Algoritmo

Conjunto de procedimientos, instrucciones y/o ecuaciones mediante las cuales se logra un efecto.

Se aplica normalmente al núcleo del proceso ideado para resolver una cierta tarea. Por ejemplo, el

código para comprimir los datos de un archivo.

Bases de datos

Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente

para su posterior uso.

DBase

fue el primer Sistema de gestión de base de datos usado ampliamente para microcomputadoras,

publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh, UNIX, VMS, e

IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de

software más vendidos durante un buen número de años.

Interfaz

En software, parte de un programa que permite el flujo de información entre un usuario y la

aplicación, o entre la aplicación y otros programas o periféricos. Esa parte de un programa está

constituida por un conjunto de comandos y métodos que permiten estas intercomunicaciones.

Metodología

se encarga de elaborar estrategias de desarrollo de software que promuevan prácticas adaptativas

en vez de predictivas; centradas en las personas o los equipos, orientadas hacia la funcionalidad y

la entrega, de comunicación intensiva y que requieren implicación directa del cliente.

MRP (Manufacturing Resoure Planning)

Sistema que integra las actividades de producción y compras para programar las adquisiciones a

proveedores en función de la producción programada. Método para la planeación efectiva de todos

los recursos en un proceso de manufactura

Page 96: INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS DE …

91

Plug – in

Es un módulo de hardware o software que añade una característica o un servicio específico a un

sistema más grande.

Sistema informático

Es un conjunto de elementos relacionados entre sí, que se encarga de procesar manual y/o

automáticamente datos, en función de determinados objetivos

Sistema JIT(“just in time”)

Es un sistema de organización de la producción para las fábricas, de origen japonés. También

conocido como método Toyota o JIT, permite aumentar la productividad. Permite reducir el costo

de la gestión y por pérdidas en almacenes debido a stocks innecesarios. De esta forma, no se

produce bajo suposiciones, sino sobre pedidos reales.

SQL (por sus siglas en inglés structured query language)

Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar

diversos tipos de operaciones en éstas

Tiempo de Compilación

Período de tiempo en el que un compilador transforma un código programado a un código que

pueda ejecutar una computadora.

Tiempo de ejecución

Período en el que un programa es ejecutado por el sistema operativo. El período comienza cuando

el programa es llevado a la memoria primaria y comienzan a ejecutarse sus instrucciones. El

período finaliza cuando el programa envía la señal de término (normal o anormal) al sistema

operativo.

Tuplas

Es la representación de una fila en una de las tablas que se está almacenando datos. Y las cuales

serán llamadas por los administradores de Base de Datos en el tiempo de ejecución de un sistema.