CD 3236

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 150

ESCUELA POLITÉCNICA NACIONAL

ESCUELA DE FORMACIÓN DE TECNOLOGOS

SISTEMA INFORMÁTICO PARA CONTROL Y FACTURACIÓN

DE UN CENTRO DE CÓMPUTO

PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE TECNÓLOGO

EN ANÁLISIS DE SISTEMAS INFORMÁTICOS

VEGA MONGE JUAN CARLOS


correolocal1@hotmail.com

DIRECTOR: DANIEL MANANGON


daniel.manangon@epn.edu.ec

Quito, Noviembre 2010


1

DECLARACIÓN

Yo, Vega Monge Juan Carlos, declaro bajo juramento que el trabajo aquí
descrito es de mi autoría; que no ha sido previamente presentada para ningún
grado o calificación profesional; y, que he consultado las referencias
bibliográficas que se incluyen en este documento.

A través de la presente declaración cedo mis derechos de propiedad intelectual


correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo
establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la
normatividad institucional vigente.

Vega Monge Juan Carlos


2

CERTIFICACIÓN

Certifico que el presente trabajo fue desarrollado por Vega Monge Juan Carlos,
bajo mi supervisión.

Ing. Daniel Manangon

DIRECTOR DE PROYECTO
3

AGRADECIMIENTO

Mi agradecimiento a familiares, académicos, compañeros y todas las personas


que me han ayudado durante mi carrera y de manera especial al Ing. Daniel
Manangon por su valiosa y adecuada dirección en el desarrollo y culminación
del presente trabajo.

Juan Carlos
4

CONTENIDO

1. CAPITULO I: Investigación preliminar


1.1. Planteamiento del problema 9
1.1.1. Identificación de usuarios responsables 9
1.1.2. Entrevistas 11
1.2. Objetivos 11
1.2.1. Objetivo general 11
1.2.2. Objetivo especifico 11
1.3. Alcance y limitación del sistema 12
1.4. Justificación del proyecto 12
1.4.1. Justificación Práctica 12
1.4.2. Justificación Teórica 12
1.4.3. Justificación metodológica 13
2. CAPITULO II: Marco teórico
2.1. Paradigma 14
2.1.1. Paradigma en espiral 14
2.2. Metodologías 15
2.3. Metodologías de Análisis Orientadas a objetos 15
2.3.1. Método OOSA 16
2.3.2. Metodología Yourdon 16
2.3.3. Método Rumbaugh 17
2.3.4. Método SOMA 18
2.4. Metodologías de Diseño Orientado a Objetos 19
2.4.1. Método BOOCH 19
2.4.2. Método GOOD 20
2.4.3. Método HOOD 20
2.4.4. Método OOSD 20
2.4.5. Método JSD y OOJSD 21
2.4.6. Método OODLE 22
2.5. Conclusión 22
3. CAPITULO III: Estudio de Yourdon y herramientas para su
construcción
5

3.1. Análisis 24
3.1.1. Modelo Ambiental 24
3.2. Diseño 25
3.2.1. Modelo de comportamiento 25
3.2.1.1. Modelo funcional 25
3.2.1.2. Modelo de datos 27
3.3. Desarrollo 28
3.3.1. Construcción y herramientas 28
3.3.2. Herramientas Case 28
3.3.2.1. Herramienta Erwin 28
3.3.2.2. EasyCase 28
3.3.2.3. Oracle Designer 29
3.3.2.4. System Architect 30
3.3.2.5. Power Designer 30
3.3.2.6. Crystal Report 31
3.3.3. Base de datos 31
3.3.3.1. Microsoft SQL 31
3.3.3.2. Oracle Developer 32
3.3.4. Lenguajes de programación 33
3.3.4.1. Java 33
3.3.4.2. Visual Basic 34
3.3.5. Arquitectura cliente servidor 35
3.4. Pruebas 37
4. CAPITULO IV: Implementación
4.1. Análisis 39
4.1.1. Modelo Ambiental 39
4.1.1.1. Declaración de propósito 39
4.1.1.2. Diagrama de contexto 40
4.1.1.3. Lista de acontecimientos 41
4.2. Diseño 42
4.2.1. Modelo de comportamiento 42
4.2.1.1. Modelo funcional 42
4.2.1.1.1. Diagrama de flujo de datos 42
6

4.2.1.1.2. Diccionario de datos 58


4.2.1.1.3. Especificación de procesos 75
4.2.1.1.4. Jerarquía modular 86
4.2.1.2. Modelo de datos 87
4.2.1.2.1. Reglas de Negocio 87
4.2.1.2.2. Diagrama Entidad relación Lógico 88
4.2.1.2.3. Diccionario de datos del DER 89
4.2.1.2.4. Diagrama entidad relación Físico 104
4.3. Desarrollo 105
4.3.1. Construcción 105
4.3.1.1. Lenguaje y programación código fuente 105
4.4. Pruebas 118
4.4.1. Prueba funcional 118
4.4.1.1. Plan de prueba 118
4.4.1.1.1. Descripción de la prueba 118
4.4.1.1.2. Procedimiento de la prueba 120
4.5. Manual de usuario 122
4.5.1. Diagrama de navegación 122
4.5.2. Manual de usuario 123
5. CAPITULO V: Conclusiones recomendaciones
5.1. Conclusiones 131
5.2. Recomendaciones 132
5.3. Bibliografía 133
5.4. Glosario de términos 133
Anexos 143
7

PRESENTACIÒN

Todas las empresas buscan automatizar, tecnificar procedimientos manuales y


por lo tanto evitar el trabajo en vano de muchos de sus empleados y ocuparlos
en tareas más productivas. Actualmente la creciente capacidad de las
herramientas informáticas ha provocado que la automatización de procesos
manuales sea una alternativa bastante viable. Por lo tanto se pone a
consideración de la empresa “Netplus”, el presente proyecto informático el cual
permite un mejor manejo administrativo de la empresa.

El proyecto consta de 5 capítulos, en el capítulo primero la investigación


preliminar del proyecto donde se analiza la situación actual, los problemas de la
empresa, la cobertura y los objetivos que llevan a la solución de los problemas
planteados, el segundo capítulo contiene las diferentes metodologías
existentes para el desarrollo de sistemas informáticos y sirve para escoger la
más adecuada para la solucionar el sistema, un tercer capítulo que consiste en
el estudio de la metodología escogida y su funcionamiento con el desarrollo del
sistema así como las herramientas informáticas necesarias para su
construcción, un capítulo cuatro donde se implementa la metodología y se
construye el sistema, se identifica procesos y flujos de datos, las entradas y
salidas del mismo, además la diagramación del sistema, también se incluye el
manual de usuario y su diagrama de navegación. Y por último el capítulo quinto
que contiene las conclusiones, recomendaciones y bibliografía utilizada para la
confección del proyecto.
8

CAPITULO I

1. INVESTIGACIÒN PRELIMINAR

El propósito de la investigación preliminar es buscar información suficiente para


determinar si se debe continuar con el Ciclo de Vida del Desarrollo del Sistema,
no se espera que se definan todos los problemas ni que se propongan todas
las posibles soluciones. La investigación es una serie de métodos para resolver
problemas cuyas soluciones necesitan ser obtenidas por medio de operaciones
lógicas. “(Hernández R, Fernández C, Baptista P. Metodología de la
Investigación 2da. Ed. Mc Graw Hill, Colombia, 1998) “

“Netplus” es una microempresa ubicada en el Sur de Quito, fue creada en


Octubre del 2007 con la inversión de tres socios. Netplus” proporciona al cliente
los servicios propios de un centro de cómputo como también soluciones y
asesoramiento técnico en el área de las telecomunicaciones de manera
efectiva, su filosofía se basa en un trato personalizado que busca adaptarse a
los requerimientos de sus clientes de forma fácil y rápida fomentando así una
relación a largo plazo

En los actuales momentos el registro de ventas al igual que los cálculos que
implica este proceso se hace en forma manual lo que requiere mucho tiempo,
existe tareas repetitivas, demora en atención al cliente y dificultad en la
obtención de un reporte consistente de ingresos provenientes de las ventas de
productos y servicios. Bajo esta problemática esta el alquiler de computadoras
cuyo control se hace también manualmente.

La situación expuesta entorpece el proceso contable como también la


efectividad en la atención al cliente si se toma en cuenta que existe un
considerable crecimiento de clientes.
9

1.1. PLANTEAMIENTO DEL PROBLEMA

Los registros de ingresos por ventas de productos o servicios se hacen


manualmente, no existe un inventario de existencias consistente, los registros
por este concepto se llevan en una hoja de cálculo desactualizada, incompleta
y que no refleja los movimientos reales dentro de la empresa, no se puede
identificar a los clientes porque no existe un registro de los mismos, no existe
facilidad para hacer consultas y obtener reportes de existencias, ingresos por
ventas, compras de productos, comisiones, catalogo de productos, clientes,
proveedores, el control y alquiler de computadores es deficiente.

Con el trabajo manual no se generan reportes confiables generando


información que puede contener errores, la información se encuentra
comprometida en su seguridad y es necesario restringirla, los errores humanos
involuntarios generan un problema emocional y social en el personal, el mismo
que ocasiona un ambiente laboral inadecuado e improductivo.

Se pronostica que el proceso contable como también la efectividad en la


atención al cliente sea más complejo con el transcurrir del tiempo si se toma en
cuenta que existe un considerable crecimiento de clientes

La alternativa es desarrollar un Sistema Informático que optimice los procesos


de alquiler de computadores como también el control del movimiento de
inventario, el registro de ventas provenientes de los diferentes rubros que
genera el negocio, y los diferentes reportes que se requieren internamente.

1.1.1. IDENTIFICACIÒN DE USUARIOS RESPONSABLES


Para identificar a los usuarios responsables necesitamos conocer la estructura
organizacional de la empresa y la forma en que se encuentra dividido el trabajo
dentro de la organización, La estructura organizacional puede ser representada
por medio de un sistema de autoridad formal que se basa en la descripción por
medio de un organigrama de flujo las diferentes posiciones jerárquicas de los
usuarios responsables dentro de Netplus. (Figura 1)
10

Figura 1: Estructura Organizacional


Fuente: autor NETPLUS

Grupo de Socios: Son los inversionistas, se encargan de la planificación


estratégica y delimitación de políticas en general de la organización. En
ocasiones por el nivel de conocimiento técnico y del negocio se hacen cargo de
las asistencias técnicas a clientes dentro y fuera de la organización.
Administrador: Tiene a su cargo las siguientes funciones:

• Administrar el personal y delimitar sus funciones.


• Llevar inventario de las existencias de producto
• Administrar la información en general productos, clientes, marcas,
categorías, servicios, etc.
• Generar venta directa y emitir factura si amerita el caso.
• Manejar los reportes e informar a los socios el desenvolvimiento de la
organización.

Empleados: Son los encargados de la atención al cliente, por ende son quienes
receptan los requerimientos del cliente en cuanto a alquiler de computadoras,
atención a requerimientos de venta de productos y servicios, trabajos, entre
otros. Además son quienes
quienes se encargan del mantenimiento preventivo de los
equipos de computación.
Técnicos Externos: Por cuestiones de organización al momento de requerir
asistencia técnica para un cliente o ventas de equipos de cómputo se recurre a
los socios quienes toman la responsabilidad
responsabilidad como un técnico externo.
11

1.1.2. ENTREVISTAS
La entrevista es un método que se utiliza para recopilar información necesaria
que ayudara a identificar los requerimientos del usuario, la misma puede
realizarse en forma directa con los usuarios implicados. Las entrevistas
realizadas dentro de “Netplus” se detallan en el ANEXO 1.

1.2. OBJETIVOS

1.2.1. OBJETIVO GENERAL


El objetivo general es mejorar la atención a clientes y mejorar el manejo de
información mediante el desarrollo e implementación de un sistema informático
que administre eficientemente las actividades de facturación de productos
servicios el control de maquinas generación de reportes que son la base para
la toma de decisiones confiables.

1.2.2. OBJETIVOS ESPECÌFICOS

• Identificar procesos manuales y automatizados si los hubiere y plantear


una solución acorde a las necesidades de la empresa.
• Desarrollar un sistema de facturación a través del cual se agilizará la
atención al cliente.
• Contar con un registro de productos y sus precios y el ingreso al
sistema de tarifas de servicios como consumo de internet, promociones
y descuentos.
• Obtener mayor precisión al momento de saber el total de dinero
recaudado diariamente por los servicios y productos mediante reportes
estadísticos de los ingresos,
• Contar con una herramienta confiable, estable y segura, que respalde
la información.
• Contar con un sistema informático que permita actualizar los precios
acorde al mercado y a las diferentes peticiones que tenga el usuario.
• Capacidad de almacenamiento de información sin que haya pérdida de
datos.
12

1.3. ALCANCE Y LIMITACIÓN DEL SISTEMA

Por petición exclusiva de los miembros y socios de la empresa los siguientes


procesos dentro del sistema no son necesarios por el momento por lo tanto el
sistema informático no debe manejar:

• Proceso contable y por ende declaraciones con el fisco.


• Registro de egresos por otras compras de insumos o de gastos
administrativos.
• Cálculo y pago de remuneración de los empleados y personal de la
empresa.

1.4. JUSTIFICACIÒN DEL PROYECTO

1.4.1. JUSTIFICACIÒN PRÀCTICA


Mediante este sistema NETPLUS trabajara de forma más eficaz, y los
encargados de la administración, estarán enterados a ciencia cierta de cuales
computadoras están disponibles y cuantas se encuentran ocupadas, podrán
contar con un registro consistente y organizado de productos y servicios,
tendrán a su alcance un registro de clientes, proveedores y usuarios.

También el presente proyecto permitirá llevar un control organizado y


debidamente clasificado de los productos a través de un inventario, se llevara
también un control de las ventas provenientes de diferentes rubros como son;
productos, servicios y alquiler de computadoras y proporcionara reportes que
reflejen sus movimientos.

1.4.2. JUSTIFICACIÒN TEÒRICA


Muchos son los huecos que se podrán tapar, con la elaboración de este
proyecto para la Empresa Netplus, errores que muchas veces afectan en cierto
grado, el debido funcionamiento de la empresa. Para poder lograr la
conclusión de este, haremos uso de cada uno de los conocimientos adquiridos
en la carrera de Sistemas Informáticos.
13

1.4.3. JUSTIFICACIÒN METODOLÒGICA

Para el desarrollo de este proyecto es recomendable el uso de una


metodología orientada a objetos que defina claramente las actividades a
llevarse a cabo en el proyecto a demás que proporcione puntos de control y
revisión en la ejecución del proyecto así como facilite tareas de evaluación y
seguimiento para poder decidir si continua o no el mismo también que evite
comienzos falsos, repeticiones y duplicaciones de trabajo.
14

CAPITULO II

2. MARCO TEÒRICO
2.1. PARADIGMA

Paradigma es una técnica, un modelo o un conjunto de herramientas para


representar la solución de problemas específicos.

• Mejora la calidad del software generado


• Acorta el tiempo de desarrollo
• Aumenta la productividad, se obtienen menos efectos colaterales al
momento de hacer cambios

2.1.1. PARADIGMA EN ESPIRAL


“El modelo de desarrollo espiral integra las fases y la iteración de ajuste en la
metáfora. Cuyo objetivo es dividir al proyecto en fases más cortas de análisis,
diseño, desarrollo y evaluación. Después de cada fase se evalúa la viabilidad
del trabajo terminado junto con una estimación refinada para las siguientes
fases.” (Rubble David, ANÁLISIS Y DISEÑO DE SISTMAS CON GUI,1997, 12).
12)
Esta técnica de presupuestación proporciona revisiones
revisiones de factibilidad cruciales
para proyectos en donde frecuentemente estaban haciendo investigaciones
sobre tecnologías completamente nuevas.

Figura 2: Paradigma espiral típico


15

El esquema del ciclo de vida para estos casos puede representarse por un
bucle en espiral, donde los cuadrantes son, habitualmente, fases de
especificación, diseño, realización y evaluación o conceptos y términos
análogos. En cada vuelta el producto gana en “Madurez” (aproximación al final
deseado) hasta que en una vuelta la evaluación lo apruebe y el bucle pueda
abandonarse (figura 2).

2.2. METODOLOGÌAS

Es un conjunto de técnicas, herramientas, procedimientos y un soporte


documental que ayuda a los desarrolladores a realizar nuevo software. Las
metodologías se caracterizan por exponer procesos basados en planeación
exhaustiva. Esta planeación se realiza esperando que el resultado de cada
proceso sea determinante y predecible.

Si damos una ojeada al panorama actual de análisis y diseño orientados a


objetos nos encontraremos con pocas metodologías y muchos métodos, buena
parte de los cuales observan un carácter básicamente "propietario", siendo muy
pocos los que cubren el ciclo completo de vida del software.

2.3. MÈTODOLOGIAS DE ANÀLISIS ORIENTADOS A


OBJETOS

La clasificación propuesta utiliza como criterio básico el origen de la técnica, es


decir, el conjunto de conceptos a partir del cual se originó la técnica. Además,
es considerado el énfasis que las técnicas de AOO otorgan a los conceptos,
aspectos, procedimientos o representaciones en cada una de las dimensiones
del modelado.

Las categorías usadas para clasificar las técnicas son: textuales, evolutivas,
integracionistas, reversas y comportamentales. La figura muestra la estructura
de esta clasificación (figura 3) (Métodos Orientados a Objetos Ian Grahan
Segunda edición).
16

Figura 3:: La estructura de la clasificación propuesta para las técnicas de AOO.


Fuente: Métodos Orientados a Objetos Ian Grahan Segunda edición.

2.3.1. MÈTODO OOSA DE SHLAER/MELLOR


El primer paso del método de Shaler y Mellor es la definición de objetos y de
sus atributos. La notación de modelado de entidades desciende de la notación
de Ward/Mellor.

Este método se puede clasificar como trilateral, y se desarrolla creando un


modelo de información (o de datos) que muestran los objetos, atributos y
relaciones. Este método recibe un apoyo parcial de la herramienta CASE,
llamada teamwork. (Shlaer y Mellor 1991 Analisis Orientado a Objetos)

2.3.2. MÈTODO COAD YOURDON


Es una descripción ampliamente
ampliamente difundida de un método de análisis y una
notación de apoyo razonablemente completo, práctico, orientado a objetos y
adecuado para proyectos comerciales. Coad Yourdon presenta una notación
menos torpe que la que se encontraba en Booch, Shlaer/Mellor o a la mayoría
de las aproximaciones de diseño orientado a objetos.El método no es perfecto
pero resulta sencillo y unario (figura 4) (Yourdon, E. (1994). Object-Oriented
Object
Systems Design an Integrated Approach).
17

Figura 4:: Visión grafica del proceso de desarrollo de Coad & Yourdon
Fuente: Yourdon, E. (1994). Object-Oriented
Object Oriented Systems Design an Integrated Approach. Estados
Unidos: Yourdon Press.

Una de las características más notables de las notaciones de Shlaer/Mellor y


Coad Yourdon es que los atributos resultan completamente explícitos. Coad
Yourdon sugiere que el análisis se produce en cinco fases a las que dan los
nombres siguientes:

• Temas: los temas son de tamaño tratable en cuanto contendrán solo


aproximadamente entre cinco y nueve objetos.
• Objetos: se identifican los objetos con detalle.
• Estructuras: se identifican dos estructuras completamente distintas.
Estructuras de clasificación.
Estructuras de composición
• Atributos: los atributos son detallados y se especifican las relaciones de
modalidad y de multiplicidad.
• Servicios: esta es la palabra que emplea Coad Yourdon para las
operaciones.

2.3.3. MÈTODO RUMBAUGH-OMT


RUMBAUGH
La técnica de modelado de objetos (OMT) es considerado ampliamente como
uno de los sistemas de análisis orientados a objetos más completos que se
s han
18

publicado hasta el momento. OMT consta de tres fases o actividades


principales: análisis, diseño de sistemas y diseño de objetos.

El análisis presupone que existe una especificación de los requisitos y se


desarrolla construyendo tres modelos distintos mediante el uso de tres
notaciones diferentes.

El diseño de sistemas se realiza organizando los objetos en subsistemas


identificando la concurrencia a partir del modelo dinámico (DM), asignando
subsistemas a procesadores o tareas, diciendo si los datos deben o no estar
almacenados en archivos, en memoria o en un sistema de administración de
base de datos, diciendo el uso de periféricos, y recursos globales. El diseño de
objetos implica transformar la información del DM y del modelo funcional (FM)
en operaciones de modelo objeto (OM), los pasos restantes consisten en:

• Diseñar algoritmos.
• Optimizar vías de acceso.
• Realizar el control.
• Ajustar estructuras.
• Indicar los detalles de los atributos.
• Empaquetar las estructuras en módulos.
• Escribir el informe de diseño, incluyendo un OM, DM, y FM detallados.

El OMT tiene la intención de ser un método tanto para el análisis como para el
diseño, pero, aun cuando contiene un método bastante completo para el
análisis, solamente tiende a dar indicaciones prácticas para el diseño.El OMT
abarca más temas que la mayoría de los demás métodos, pero sigue siendo
incompleto en algunos aspectos y resulta muy complejo aprender y utilizar sus
notaciones (James Rumbaugh 1991).

2.3.4. MÈTODO SOMA


Es un método semánticamente rico en análisis orientado a objetos. Añade
reglas, conjuntos difusos, capas con una semántica clara y además permite a
los diseñadores transformar las reglas en afirmaciones.
19

2.4. MÈTODOS DE DISEÑO ORIENTADO A OBJETOS

Pues bien, dentro del paradigma de la orientación a objetos, el diseño OO


mucho más complejo que el diseño estructurado clásico, ya que lo que se
busca es crear un diseño genérico y abierto y no cerrado y concreto. El Diseño
Orientado a Objetos se define como un diseño de sistemas que utiliza objetos
auto-contenidos y clases de objetos.
Características principales del Diseño Orientado a Objetos:

• Los objetos son abstracciones del mundo real o entidades del sistema
que se administran entre ellas mismas
• Los objetos son independientes y encapsulan el estado y la
representación de información
• La funcionalidad del sistema se expresa en términos de servicios de los
objetos
• Las áreas de datos compartidas son eliminadas. Los objetos se
comunican mediante paso de parámetros
• Los objetos pueden estar distribuidos y pueden ejecutarse en forma
secuencial o en paralelo

2.4.1. MÈTODO DE BOOCH


El método original de Booch comienza por un análisis de flujo de datos, que se
utiliza entonces como ayuda para identificar objetos, buscando tanto objetos
concretos como objetos abstractos en el espacio del problema, que se
encontraran a partir de las burbujas y almacenes de datos en el diagrama de
flujo de datos (DFD). La notación y método de diseño revisados de Booch
consta de 4 actividades principales y 6 notaciones. Los primeros pasos tratan
los aspectos estáticos del sistema, tanto en su aspecto lógico como en su
aspecto físico (Booch G. 1991 Object Oriented Desing with applications,
Redwood city).

El de Booch es uno de los métodos de diseño mejor desarrollado y es superior


a GOOD y a HOOD, en tanto en cuanto no está relacionado con Ada, y por
poseer, además una noción de estructura mucho más general.
20

2.4.2. MÈTODO GOOD


El método de diseño general orientado a objetos (GOOD) fue desarrollado en la
NASA por Seidewitz y Stark (1983). Trata tanto la especificación de requisitos
como el diseño de proyectos en Ada. El método se desarrolla, al igual que
sucede con el de Booch, partiendo de un conjunto preliminar de diagramas de
flujo por capas, llegando hasta la identificación de los objetos implicados. En
estos DFD se buscan objetos externos, depósitos de datos, interfaces de
control y depósitos de control.

2.4.3. MÈTODO HOOD


La noción de la jerarquía de prioridades es aprovechada también por otro
método, HOOD. La “H” de HOOD quiere decir jerárquico. Este método también
está muy orientado al desarrollo en Ada y fue desarrollado en la agencia
espacial europea. Sufrió la influencia directa de GOOD, y también se basa en
el método de maquinas abstractas. En HOOD los objetos son o pasivos o
activos. Los objetos pasivos solamente son capaces de utilizar los objetos de
otros objetos pasivos, pero los activos pueden utilizar los servicios de cualquier
objeto. HOOD es un método de refinamiento progresivo que se basa en la
descomposición de un objeto del máximo nivel y, posteriormente, en la
descomposición de los objetos así resultantes.

El método HOOD utiliza un cierto número de pasos para descomponer cada


objeto, comenzando por un paso de diseño básico que podría implicar técnicas
de realización de diagramas de procedentes de otros métodos de análisis y
diseño estructurado. El paso siguiente consiste en generar una estrategia
informal de soluciones. Esto se descompone en un cierto número de tareas: un
esbozo del lenguaje natural, diagramas HOOD de primera mano y una
descripción del nivel actual de abstracción. El tercer paso consiste en
formalizar la estrategia de solución. Esto se hace por fases, identificando y
describiendo los objetos y sus operaciones.

2.4.4. MÈTODO OOSD


El diseño estructurado orientado a objetos (OOSD), que fuera presentado por
Wasserman, Picher y Muller (1990). Hablando estrictamente OOSD no es un
21

método sino una notación a la cual se pueden agregar reglas metodológicas.


Esta notación es probablemente la que más próxima se encuentra al espíritu de
la orientación a objetos. OOSD es una notación no propietaria para el diseño
arquitectónico, que cambia el diseño por refinamiento progresivo estructurado y
el diseño orientado a objetos. Una vez mas OOSD emplea una notación que se
deriva de la de Booch, pero, también tiene influencia de los diagramas
estructurales.

OOSD no es tanto un método como una notación para apoyar los métodos de
diseño orientado a objetos en general. Los usuarios de OOSD pueden añadir
reglas de diseño según cuál sea el método concreto que esté utilizando.
Otros puntos importantes de OOSD son la facilidad con la que es aceptado por
los desarrolladores que ya están familiarizados con el diseño estructurado así
como lo adecuado que resulta para los sistemas de tiempo real.

OOSD es una de las notaciones de diseño más avanzadas híbrido orientado a


objetos de bajo nivel. Parece improbable que sea posible extenderla hasta una
notación de análisis congruente, como consecuencia de la dificultad que surge
al tratar un gran número de métodos y como consecuencia también de la
ausencia de una forma en la que se puedan tratar estructuras y atributos de
datos muy complejos. Por otra parte, resulta más adecuada para el diseño
arquitectónico o lógico que para el diseño físico (Wasserman, Pircher y Muller
1990).

2.4.5. MÈTODO JSD y OOJSD


El diseño estructurado de Jackson (JSD) es un método basado en objetos más
que un método completamente orientado a objetos. Los modelos JSD se
descomponen en términos de sucesos o de acciones y de sus dependencias
temporales. Dentro de estos sucesos la aproximación JSD define, en primer
lugar los objetos. El paso siguiente construye una especificación en términos
de procesos secuenciales que se comunican, y que pueden acceder los unos al
estado de los otros. El método puede resultar útil si el diseño orientado a
objetos debe realizarse en un lenguaje convencional.
22

Es posible identificar un cierto número de similitudes entre JSD y los métodos


de diseño orientados a objetos. JSD contiene técnicas útiles para la
identificación de entidades y de métodos dentro de su fase de modelado.
Además, la técnica de análisis por ordenación temporal de JSD y el diseño
orientado a objetos utilizan el concepto de los objetos de forma similar, aun
cuando sus terminologías son distintas. (El diseño estructurado de de Jackson
JSD 1983).

2.4.6. MÈTODO OODLE


El OODLE (lenguaje de diseño orientado a objetos) es un componente
especifico de diseño del método Shlaer/Mellor, cuya aproximación al análisis
orientado a objetos, prescribe 4 tipos de diagramas, interrelacionados mediante
un esquema de capas que ayuda con la documentación y con un potencial de
apoyo automático. Se dice que la notación es independiente del lenguaje, aun
cuando se aprecia ciertos aspectos de Ada en la notación y el apoyo de los
amigos recuerda al de C++. (Shlaer Mellor aproximación al análisis y diseño
estructurado 1992). Los tipos de diagramas son los siguientes:

• Diagramas de dependencia, que muestran relaciones de utilización


(cliente/servidor) y de amigos entre clases.
• Diagramas de clases, que muestran el aspecto externo de la clase de
forma similar a Booch.
• Diagramas de estructuras de clases que muestran la estructura de los
métodos de la clase, y el flujo de datos y de control
• Diagramas de herencia, que representan la herencia

2.5. CONCLUSIÒN

En la metodología de “EDWARD YOURDON” el análisis es muy intuitivo el


diseño no es más que un mapping del mismo, teniendo en cuenta aspectos
como la ejecución de tareas o la representación de los datos. Algo más simple
que esto es difícil encontrar, así que si los intereses de los socios de la
organización son la rapidez al analista del proyecto le sería más fácil ejecutar
23

los conocimientos de esta metodología pero con un buen trabajo de ingeniería


de software, desde este punto de vista es una de las más convenientes.

Con respecto a sus beneficios, el mayor aporte es la reducción de tiempos, lo


que conlleva a beneficios en todos los aspectos, satisfacción del cliente,
recursos ocupados por menos tiempo, ganancias para la empresa.

En Yourdon los pasos no tienen un orden estricto: se buscan las clases, sus
atributos, los servicios que van a suministrar, se engloban en asuntos según
las características de las mismas, sigue una filosofía muy natural. Debido a que
se trata de una metodología encuadrada dentro del grupo de las orientadas o
objetos, su campo de acción es muy amplio, y esta metodología es aplicable en
la gran mayoría de problemas comerciales.
24

CAPITULO III

3. ESTUDIO DE LA METODOLOGÌA DE “EDWARD


YOURDON” Y HERRAMIENTAS
3.1. ANÀLISIS

A medida que nuestra civilización fue avanzando ha evolucionando también las


ideas y técnicas en el campo del análisis de sistemas. Según Yourdon estos se
encuentran dentro de tres periodos.

• El análisis de sistema convencional, anterior a los años setentas, este


tipo de análisis solía ser difícil de leer y entender, su mantenimiento
implicaba mucho esfuerzo.
• El análisis estructurado clásico, de mediados de los años setentas
hasta mediados de los años ochenta. Esto trajo por vez primera
versiones de modelos gráficos, y hacia énfasis en el modelado de las
implementaciones actuales de un sistema antes de modelar el nuevo.
• El análisis estructurado moderno, en este se introducen mejoras
especialmente para modelar sistemas de tiempo real y relaciones de
situaciones complejas.

3.1.1. MODELO AMBIENTAL


Conocido también con el nombre de modelo exterior del sistema. Según
Yourdon “El MODELO AMBIENTAL define las fronteras entre el sistema y el
resto del mundo.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO MODERNO,
1993,360).”
Este es un modelo importante, aquí se define que información ingresa al
sistema desde el ambiente exterior y que información produce como salida al
ambiente externo, debemos tomar en consideración que el éxito o fracaso de
este modelo depende de la participación del usuario ya que junto con el
analista pueden determinar una perspectiva acorde a las necesidades de la
empresa.
El modelo ambiental contiene tres componentes:
25

3.1.1.1. Declaración de Propósitos


“El primer componente del modelo ambiental es una declaración textual breve
y concisa del propósito del sistema, dirigida al nivel administrativo superior, la
administración de los usuarios, y otros que no están directamente involucrados
con el desarrollo del sistema. La declaración de propósitos puede constar de
una, dos o varias frases pero jamás debe llegar a más de un párrafo.” (Yourdon
Edward, ANÁLISIS ESTRUCTURADO MODERNO, 1993, 373).

3.1.1.2. Diagrama de Contexto


“Es la segunda parte del modelo ambiental empieza a contestar algunas de las
preguntas que surgen a raíz de la declaración de propósitos. El diagrama de
contexto es un caso especial del Diagrama de flujo de datos, en donde una
sola burbuja representa el sistema.” (Yourdon Edward, ANÁLISIS
ESTRUCTURADO MODERNO, 1993, 374).

3.1.1.3. Lista de Acontecimientos


“La lista de acontecimientos es una lista narrativa de los estímulos que ocurren
en el mundo exterior a los cuales el sistema debe responder.” (Yourdon
Edward, ANÁLISIS ESTRUCTURADO MODERNO, 1993, 375).

3.2. DISEÑO

3.2.1. MODELO DE COMPORTAMIENTO


“El modelo de comportamiento final que el sistema debe tener para manejar
con éxito el ambiente. Esto involucra el desarrollo de un Diagrama de flujo de
Datos, Diagrama Entidad Relación, y además de la elaboración de los
diccionarios de datos.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO
MODERNO, 1993,396). Además Yourdon aconseja construir un modelo
preliminar de comportamiento donde por cada acontecimiento le corresponde
un diagrama de flujo de datos; y construir un modelo final de comportamiento
donde se debe optimizar los diagramas de flujo de datos anteriores.

3.2.1.1. Modelo Funcional


El modelo funcional muestra la manera como están unidas las partes del
sistema y cómo interactúan con el resto del mundo.
26

3.2.1.1.1. Diagrama de Flujo de Datos

“El diagrama de flujo de datos es una de las herramientas usada para modelar
Sistemas operacionales en los cuales las funciones del sistema son de gran
importancia. Permitiendo visualizar al sistema como una red de procesos
funcionales conectados entre sí.” (Yourdon Edward, ANÁLISIS
ESTRUCTURADO MODERNO, 1993,158).

3.2.1.1.2. Diccionario de Datos

“Es un listado organizado de todos los datos pertinentes al sistema, con


definiciones precisas y rigurosas para que tanto el usuario como el analista
tengan un entendimiento común de todas las entradas, salidas, componentes
de almacenes y cálculos intermedios.

Describe el significado de los flujos y almacenes que se muestran en los DFD.


Además describe la composición de agregados de paquetes de datos que se
mueven a lo largo de los flujos. Describe la composición de los paquetes de
datos en los almacenes. Especifica los valores y unidades relevantes de piezas
elementales de información en los flujos de datos y en los almacenes de datos.
Describe los detalles de los almacenes que se enfatizan en un diagrama
Entidad Relación.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO
MODERNO, 1993, 212).

3.2.1.1.3. Especificaciones de Procesos

“Es la descripción de que es lo que sucede en cada burbuja primitiva de nivel


más bajo. Define lo que debe hacerse para transformar entradas en salidas.
Es una descripción detallada de la política de negocios del usuario que cada
burbuja lleva a cabo. La especificación de procesos debe expresarse de una
manera que puedan verificar tanto el usuario como el analista.

El proceso debe especificarse de una forma que pueda ser comunicada


efectivamente al público amplio que esté involucrado.” (Yourdon Edward,
ANÁLISIS ESTRUCTURADO MODERNO, 1993, 227, 2 28).
27

3.2.1.1.4. Jerarquía Modular

“Para el desarrollo de sistemas se utiliza como herramienta de diseño para


modelar una jerarquía sincronizada de módulos en un sistema, por
sincronizada se entiende que solo un modulo se ejecuta en un tiempo dado, lo
cual es una representación precisa de la manera en la que la mayor parte de
las computadoras comunes trabajan hoy en día.

Por otro lado, el analista necesita una herramienta que le permita mostrar una
jerarquía de redes asincrónicas de procesos.” (Yourdon Edward, ANÁLISIS
ESTRUCTURADO MODERNO, 1993).

3.2.1.2. Modelo de Datos


3.2.1.2.1. Reglas del negocio

“Las reglas del negocio son las diferentes restricciones y admisiones que
existen en diferentes ámbitos del negocio; es decir, que cada ocurrencia del
negocio define sus políticas en base a sus conveniencias y estatutos existentes
de acuerdo a la ley.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO
MODERNO, 1993).

3.2.1.2.2. Diagrama Entidad Relación

El modelo entidad relación tiene como finalidad representar los datos que la
empresa maneja, describe con alto nivel de abstracción la distribución de datos
almacenados en el sistema.

El DER representa un gran beneficio, ya que enfatizan las relaciones entre


almacenes de datos en el DFD.

3.2.1.2.3. Diccionario de Datos del DER

“Es un listado organizado de todos los datos pertinentes al sistema, con


definiciones precisas y rigurosas para que tanto el usuario como el analista
tengan un entendimiento común de todas las entradas, salidas, componentes
de almacenes y cálculos intermedios”.
28

3.3. DESARROLLO

3.3.1. CONSTRUCCIÒN Y HERRAMIENTAS


El sistema para Netplus es desarrollado en un sistema cliente / servidor, la
empresa cuenta con Visual Basic licenciado y es necesario que el sistema sea
programado con este lenguaje de programación por disposición de los socios.

3.3.2. HERRAMIENTAS CASE

3.3.2.1. ERwin
PLATINUM ERwin es una herramienta para el diseño de base de datos, que
Brinda productividad en su diseño, generación, y mantenimiento de
aplicaciones. Desde un modelo lógico de los requerimientos de información,
hasta el modelo físico perfeccionado para las características específicas de la
base de datos diseñada, además ERwin permite visualizar la estructura, los
elementos importantes, y optimizar el diseño de la base de datos. Genera
automáticamente las tablas y miles de líneas de stored procedure y triggers
para los principales tipos de base de datos.

ERwin soporta principalmente bases de datos relacionales SQL y bases de


datos que incluyen Oracle, Microsoft SQL Server, Sybase. El mismo modelo
puede ser usado para generar múltiples bases de datos, o convertir una
aplicación de una plataforma de base de datos a otra. Software para
Aplicaciones Compatibles: NetDynamics, PowerBuilder, PROGRESS, Visual
Basic

Bases de Datos Compatibles: CA-Clipper, CA-OpenIngres, DB2 for MVS, DB2


for OS/390, DB2 UDB, dBASE, FoxPro, HiRDB, Informix, InterBase, Microsoft
Access, Microsoft SQL Server, Oracle, Paradox, Rdb, red Brick Warehouse,
SAS, SQL Anywhere, SQLBase, Sybase, Teradata

3.3.2.2. EasyCASE
EasyCASE Profesional - el centro de productos para procesos, modelamiento
de datos y eventos, e Ingeniería de Base de Datos- es un producto para la
generación de esquemas de base de datos e ingeniería reversa - trabaja para
29

proveer una solución comprensible para el diseño, consistencia y


documentación del sistema en conjunto.

Esta herramienta permite automatizar las fases de análisis y diseño dentro del
desarrollo de una aplicación, para poder crear las aplicaciones eficazmente –
desde el procesamiento de transacciones a la aplicación de bases de datos de
cliente/servidor, así como sistemas de tiempo real. EasyCASE Profesional, una
herramienta multi-usuario, es ideal para aquellos que necesitan compartir datos
y trabajar en un proyecto con otros departamentos. El equipo completo puede
acceder proyectos localizados en el servidor de la red concurrentemente. Para
asegurar la seguridad de los datos, existe el diagrama y diccionario de los
datos que bloquean por niveles al registro, al archivo y al proyecto, y niveles de
control de acceso.

Base de datos que soporta: Oracle, Paradox, Progress, SQLBase, SQL Server,
Sybase, Watcom SQL, Access, ANSI SQL, Clipper, dBASE III, IV, V, DB2,
FoxPro, Informix

3.3.2.3. Oracle Designer


Oracle Designer es un conjunto de herramientas para guardar las definiciones
que necesita el usuario y automatizar la construcción rápida de aplicaciones
cliente/servidor gráficas. Integrado con Oracle Developer, Oracle Designer, que
provee una solución para desarrollar sistemas empresariales de segunda
generación.

Todos los datos ingresados por cualquier herramienta de Oracle Designer, en


cualquier fase de desarrollo, se guardan en un repositorio central, habilitando el
trabajo fácil del equipo y la dirección del proyecto.

En el lado del Servidor, Oracle Designer soporta la definición, generación y


captura de diseño de los siguientes tipos de bases de datos, por conexión de
Oracle: Oracle8, Oracle7, Personal Oracle Lite, Rdb, ANSI 92, DB2/2 and MVS,
Microsoft SQL Server, Sybase,
30

3.3.2.4. System Architect


Esta herramienta posee un repositorio único que integra todas las
herramientas, y metodologías usadas. En la elaboración de los diagramas, el
System Architect conecta directamente al diccionario de datos, los elementos
asociados, comentarios, reglas de validaciones, normalización, etc.

Posee control automático de diagramas y datos, normalizaciones y


balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento
horizontal, que trabaja integrado con el diccionario de datos, asegurando la
compatibilidad entre el Modelo de Datos y el Modelo Funcional.

El System Architect Traduce modelos de entidades en esquemas para: Sybase,


DB2, Oracle u Oracle 7, Ingress, SQL Server, RDB, XDB, Progress, Paradox,
SQL Base, AS400, Interbase, OS/2, DBMS, Dbase 111, Informix

3.3.2.5. Power Designer 11


El modelamiento de información del Sistema Informático de Control y
Facturación para el Centro de Cómputo “Netplus” es realizado en Power
Designer 11. Es la solución de modelamiento y diseño “todo en uno “para
empresas que necesitan construir nuevas aplicaciones o llevar a cabo
ingeniería reversa de las existentes, de manera rápida, consistente, efectiva y
económica. PowerDesigner puede asumir una gran variedad de roles y
responsabilidades a lo largo de la empresa.

Ofrece técnicas avanzadas para mejorar la manejabilidad, calidad, integridad y


rendimiento de los sistemas de información. Nos ofrecen muchas ventajas a
continuación mencionaremos alguna de ellas:

• Facilitar la realización de prototipos y el desarrollo conjunto de


aplicaciones.
• Simplificar el mantenimiento del software.
• Mejorar y estandarizar la documentación.
• Aumentar la portabilidad de las aplicaciones.
31

• Facilitar la reutilización de componentes de software.


• Permitir un desarrollo y un refinamiento “visual” de las aplicaciones,
mediante la utilización de gráficos.

La principal ventaja de la utilización de esta herramienta CASE, es la mejora de


la calidad de los desarrollos realizados y, en segundo término, el aumento de la
productividad.

3.3.2.6. Crystal Report 9


Crystal Reports es una aplicación de inteligencia empresarial utilizada para
diseñar y generar informes desde una amplia gamas de fuentes de datos
(bases de datos).

Crystal Reports incorpora la posibilidad de crear contenido interactivo con


calidad de presentación al entorno de Windows, se puede crear informes
complejos y profesionales en un programa basado en GUI. Se puede conectar
el informe a casi todos los orígenes de base de datos, así como a datos proxy,
como un conjunto de resultados (por ejemplo, un ADO.NET DataSet). Los
asistentes del diseñador de GUI le permiten establecer fácilmente los criterios
de formato, agrupamiento y gráficos, etc.

3.3.3. BASES DE DATOS

3.3.3.1. Microsoft SQL Server


Microsoft SQL Server revoluciona el concepto de Base de Datos para la
Empresa. Reúne en un sólo producto la potencia necesaria para cualquier
aplicación empresarial crítica junto con unas herramientas de gestión que
reducen al mínimo el coste de propiedad. Con Microdoft SQL Server, la
empresa tiene todo de serie. Miles de Soluciones Disponibles: Tendrá libertad
de elección, ya que todas las aplicaciones de gestión del mercado corren sobre
Microsoft SQL Server

Escalabilidad: Se adapta a las necesidades de la empresa, soportando desde


unos pocos usuarios a varios miles. Empresas centralizadas u oficinas
distribuidas, replicando cientos de sites.
32

Potencia: Microsoft SQL Server es la mejor base de datos para Windows NT


Server. Posee los mejores registros de los benchmarks independientes (TCP)
tanto en transacciones totales como en coste por transacción.
Gestión: Con un completo interfaz gráfico que reduce la complejidad
innecesaria de las tareas de administración y gestión de la base de datos.
Orientada al desarrollo: Visual Basic, Visual C++, Visual J++, Visual Interdev,
Microfocus Cobol y muchas otras herramientas son compatibles con Microsoft
SQL Server.
Características de Microsoft SQL Server:

• Soporte de transacciones.
• Escalabilidad, estabilidad y seguridad.
• Soporta procedimientos almacenados.
• Incluye también un potente entorno gráfico de administración, que
permite el uso de comandos DDL y DML gráficamente.
• Permite trabajar en modo cliente-servidor, donde la información y datos
se alojan en el servidor y las terminales o clientes de la red sólo
acceden a la información.
• Además permite administrar información de otros servidores de datos.

Este sistema incluye una versión reducida, llamada MSDE con el mismo motor
de base de datos pero orientado a proyectos más pequeños, que en sus
versiónes 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en
forma gratuita. Es común desarrollar completos proyectos complementando
Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access
Data Project). De esta forma se completa la base de datos (Microsoft SQL
Server), con el entorno de desarrollo (VBA Access), a través de la
implementación de aplicaciones de dos capas mediante el uso de formularios
Windows.

3.3.3.2. Oracle Developer


Oracle es una potente herramienta cliente/servidor para la gestión de Bases de
Datos para su utilización primero sería necesario la instalación de la
herramienta servidor (Oracle 8i) y posteriormente podríamos atacar a la base
33

de datos desde otros equipos con herramientas de desarrollo como Oracle


Designer y Oracle Developer, que son las herramientas básicas de
programación sobre Oracle. Para desarrollar en Oracle utilizamos PL/SQL un
lenguaje de 5ª generación, bastante potente para tratar y gestionar la base de
datos, también por norma general se suele utilizar SQL al crear un formulario.
Es posible lógicamente atacar a la base de datos a través del SQL plus
incorporado en el paquete de programas Oracle para poder realizar consultas,
utilizando el lenguaje SQL.
Ventajas:

• La generación de código automáticamente


• Diseñadores Poderosos y magos
• Contexto-sensible la ayuda en línea
• El fácil uso de procedimientos para guardarlos en le editor
• Las aplicaciones de Banco de datos de Oracle en vías de desarrollo en
Windows nunca habían sido más fáciles.

3.3.4. LENGUAJES DE PROGRAMACIÒN

3.3.4.1. Java
La primera característica, orientado a objetos (“OO”), se refiere a un método de
programación y al diseño del lenguaje. Aunque hay muchas interpretaciones
para OO, una primera idea es diseñar el software de forma que los distintos
tipos de datos que usen estén unidos a sus operaciones. Así, los datos y el
código (funciones o métodos) se combinan en entidades llamadas objetos. Un
objeto puede verse como un paquete que contiene el “comportamiento” (el
código) y el “estado” (datos). El principio es separar aquello que cambia de las
cosas que permanecen inalterables. Frecuentemente, cambiar una estructura
de datos implica un cambio en el código que opera sobre los mismos, o
viceversa. Esta separación en objetos coherentes e independientes ofrece una
base más estable para el diseño de un sistema software. El objetivo es hacer
que grandes proyectos sean fáciles de gestionar y manejar, mejorando como
consecuencia su calidad y reduciendo el número de proyectos fallidos.
34

Otra de las grandes promesas de la programación orientada a objetos es la


creación de entidades más genéricas (objetos) que permitan la reutilización del
software entre proyectos, una de las premisas fundamentales de la Ingeniería
del Software. Un objeto genérico “cliente”, por ejemplo, debería en teoría tener
el mismo conjunto de comportamiento en diferentes proyectos, sobre todo
cuando estos coinciden en cierta medida, algo que suele suceder en las
grandes organizaciones. En este sentido, los objetos podrían verse como
piezas reutilizables que pueden emplearse en múltiples proyectos distintos,
posibilitando así a la industria del software a construir proyectos de
envergadura empleando componentes ya existentes y de comprobada calidad;
conduciendo esto finalmente a una reducción drástica del tiempo de desarrollo.
Podemos usar como ejemplo de objeto el aluminio. Una vez definidos datos
(peso, maleabilidad, etc.), y su “comportamiento” (soldar dos piezas, etc.), el
objeto “aluminio” puede ser reutilizado en el campo de la construcción, del
automóvil, de la aviación, etc.

La reutilización del software ha experimentado resultados dispares,


encontrando dos dificultades principales: el diseño de objetos realmente
genéricos es pobremente comprendido, y falta una metodología para la amplia
comunicación de oportunidades de reutilización. Algunas comunidades de
“código abierto” (open source) quieren ayudar en este problema dando medios
a los desarrolladores para diseminar la información sobre el uso y versatilidad
de objetos reutilizables y bibliotecas de objetos.

3.3.4.2. Visual Basic


Visual Basic (Visual Studio) constituye un IDE entorno de desarrollo integrado,
o, en inglés, Integrated Development Enviroment que ha sido empaquetado
como un programa de aplicación; es decir, consiste en un editor de código
(programa donde se escribe el código fuente), un depurador o programa que
corrige errores en el código fuente para que pueda ser bien compilado, un
compilador o programa que traduce el código fuente a lenguaje de máquina, y
un constructor de interfaz gráfica o GUI que es una forma de programar en la
35

que no es necesario escribir el código para la parte gráfica del programa, sino
que se puede hacer de forma visual.
Características de Visual Basic:

• Barra de título: muestra el nombre del proyecto y del formulario q se


está diseñando actualmente
• Barra de menús: agrupa los menús despegables que contienes todas
las operaciones que pueden llevarse a cabo con Visual Basic 6.0.
• Barra de herramientas estándar: contienen los botones que se utilizan
con mayor frecuencia cuando se trabaja con un proyecto. Simplifica la
elección de opciones de los menús Archivo, Edición, Ver y Ejecutar;
además, en el área derecha presenta la ubicación (coordenadas) y el
tamaño del objeto seleccionado
• Ventana de formulario: es el área donde se diseña la interfaz gráfica,
es decir, es donde se inserta electo gráficos, como botones, imágenes,
casilla de verificación, cuadros de listas, etc.
• Cuadro de herramientas: presenta todos los controles necesarios para
diseñar una aplicación, como cuadros de texto, etiquetas, cuadros de
listas, botones de comandos, etc.
• Ventana de proyecto: muestra los elementos involucrados en el
proyecto, como formularios, módulos, controles oxc, etc. Cada
elemento puede seleccionarse en forma independiente para su edición.
• Ventana de posición del formulario: muestra la ubicación que tendrá el
formulario en la pantalla, cuando ejecute la aplicación. Esta ubicación
puede cambiarse si se hace clic con el botón izquierdo del mouse.

3.3.5. ARQUITECTURA CLIENTE / SERVIDOR

3.3.5.1. Plataforma Cliente / Servidor


La arquitectura cliente / servidor es un modelo para el desarrollo de sistemas
de información, en el que las actividades se dividen en procesos
independientes que cooperan entre sí para intercambiar información, servicios
o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los
recursos y servidor, al proceso que responde a las solicitudes. Los principales
36

componentes del esquema cliente / servidor son entonces los Clientes, los
Servidores y la infraestructura de comunicaciones.

En el modelo cliente / servidor, las aplicaciones se dividen dé forma que el


servidor contiene la parte que debe ser compartida por varios usuarios, y en el
cliente permanece sólo lo particular de cada usuario. Los Clientes interactúan
con el usuario, usualmente en forma gráfica. Frecuentemente se comunican
con procesos auxiliares que se encargan de establecer conexión con el
servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar
actividades de sincronización y de seguridad.
Los clientes realizan generalmente funciones como:

• Manejo de la interface del usuario.


• Captura y validación de los datos de entrada.
• Generación de consultas e informes sobre las bases de datos.
• Por su parte los servidores realizan, entre otras las siguientes
funciones:
• Gestión de periféricos compartidos.
• Control de accesos concurrentes a bases de datos compartidas.
• Enlaces de comunicaciones con otras redes de área local o extensa.

Siempre que un cliente requiere un servicio lo solicita al servidor


correspondiente y éste, le responde proporcionándolo. Normalmente, pero no
necesariamente, el cliente y el servidor están ubicados en distintos
procesadores. Los clientes se suelen situar en ordenadores personales y/o
estaciones de trabajo y los servidores en procesadores departamentales o de
grupo. La mayoría de los sistemas Cliente / servidor actuales, se basan en
redes locales y por lo tanto utilizan protocolos no orientados a conexión, lo cual
implica que las aplicaciones deben hacer las verificaciones. La red debe tener
características adecuadas de desempeño, contabilidad, transparencia y
administración.
Los costos de software, hardware, recursos humanos y otros costos
adicionales se detalla en los ANEXOS
37

3.4. PRUEBAS

“Es probable que el proceso de probar el sistema tome tanto como la mitad del
tiempo programado para su desarrollo, dependiendo de qué tan
cuidadosamente haya hecho las actividades iníciales de análisis, diseño y
programación.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO MODERNO,
1993, 480).

3.4.1. PRUEBA FUNCIONAL


“Esta es la forma más común de prueba; su propósito es asegurar que el
sistema realice sus funciones normales de manera correcta. Así los casos de
prueba se desarrollan y se alimentan ala sistema; las salidas (y los resultados
de los archivos actualizados) se examinan para ver si son correctos.” (Yourdon
Edward, ANÁLISIS ESTRUCTURADO MODERNO, 1993, 482).

3.4.1.1. Plan De La Prueba


“Es un documento organizado que describe las actividades de prueba.”
(Yourdon Edward, ANÁLISIS ESTRUCTURADO MODERNO, 1993,484).
“Propósito de la prueba: Cual es el objetivo de la prueba; y que parte del
sistema se está probando. Localización y horario de la prueba: donde y cuando
se hará.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO MODERNO, 1993,
484).

3.4.1.2. Descripción de la Prueba


“Descripciones de la prueba: Descripción de las entradas que se
proporcionaran al sistema, y las salidas y resultados que se anticipan.
Usualmente se darán descripciones de las entradas des prueba en el formato
de Diccionario de Datos.” (Yourdon Edward, ANÁLISIS ESTRUCTURADO
MODERNO, 1993, 484).

3.4.1.3. Procedimiento de la Prueba


“Descripción de cómo se deben preparar y presentar los datos de prueba al
sistema; como capturar los resultados de las pruebas, y cualesquiera otros
procedimientos operacionales que se deban observar.” (Yourdon Edward,
ANÁLISIS ESTRUCTURADO MODERNO, 1993, 485).
38

CAPITULO IV

4. IMPLEMENTACIÒN UTILIZANDO LA
METODOLOGÌA DE YOURDON

PARADIGMA METODOLOGÍA MÉTODOS

Declaración de propósito

Análisis Modelo Ambiental Diagrama de Contexto


Lista de acontecimientos

Diagrama de Flujo de Datos


Diccionario de Datos
Modelo Funcional
Especificación de Procesos
Jerarquía Modular
Modelo de
Diseño
Comportamiento
Reglas del Negocio
Modelo de datos Diagrama Entidad Relación
Diccionario de Datos del DER

Herramientas case
Lenguaje de Programación
Desarrollo Construcción
Bases de Datos
Plataforma Cliente / servidor

Plan de Prueba

Prueba Funcional Descripción de la Prueba

Evaluación Procedimiento de la Prueba

Y Pruebas
Control de Resultados de las pruebas realizadas

Cualquier cambio propuesto al sistema debe empezar con su impacto


sobre las especificaciones o requerimientos del sistema, se debe tomar
Mantenimiento
en cuenta los requerimientos actuales del usuario.
39

4.1. ANÀLISIS

4.1.1. MODELO AMBIENTAL

4.1.1.1. Declaración de propósitos

El propósito del Sistema Informático de Control y Facturación de la empresa


“Netplus” es controlar eficaz y eficientemente el ingreso de productos,
administrar información de clientes, proveedores y personal, registrar las
compras y devoluciones de productos, controlar el alquiler de computadoras, y
generar reportes necesarios para sus socios y administrador.
40

4.1.1.2. Diagrama de Contexto


devolucion productos defectuosos

PROVEEDOR

reportes solicitado
ADMINISTRADOR
solicitud reporte inventario

datos proveedor_productos_factura

SOCIOS

solicitud reporte clientes

informacion de ventas

1
solicitud reporte ventas

actualizacion informacion general del sistema


solicitud reporte ventas y compras

NETPLUS solicitud reporte de ventas y compras


reporte de ventas y compras Autorizacion para generar imprimir facturas
CONTABILIDAD

factura original proveedor


actualizacion porcentaje I V A
factura copia ventas servicio o producto

SRI

actualizacion y consulta de informacion cliente y ventas tarifa alquiler computadoras

USUARIO

factura CLIENTE

solicitud servicio o producto


41

4.1.1.3. Lista de Acontecimientos

 El cliente solicita servicio y/o producto.


 El Usuario del Sistema verifica disponibilidad de equipos y los asigna
 El usuario del Sistema genera el cobro de producto y/o servicio.
 El cliente proporciona información personal.
 El Usuario del Sistema genera la factura y la entrega al cliente
 El proveedor entrega productos con su factura
 El proveedor proporciona su información.
 El Administrador realiza los movimientos del inventario
 El Administrador ingresa, consulta y actualiza información de:
o Productos
o Clientes
o Proveedores
o Marcas, Categorías y Subcategorías de producto
o Usuarios del sistema, vendedores
o Comisiones
o Localidad, profesión, documentos
 El Administrador requiere de un reporte de las ventas
 El Administrador realizar consultas de ventas e inventario
 El Administrador requiere un reporte de inventario
 El Administrador consulta los productos por proveedor
 El Administrador requiere catalogo de productos.
 Los socios requieren un reporte de las ventas mensuales
 Contabilidad requiere un reporte de ventas, y de las compras de insumos.
42

4.2. DISEÑO
4.2.1. MODELO DE COMPORTAMIENTO
4.2.1.1. Modelo Funcional
4.2.1.1.1. Diagrama de Flujo de Datos

numero de maquina asignada


4
CLIENTE
ADMINISTRAR solicitud maquina
id maquina_hora inicio_hora fin mas_total tiempo_precio_estado maquina
ALQUILER DE
COMPUTADORE
S
SRI

estado del equipo requerimiento cobro

porcentaje IVA
informacion actualizada documentos autorizacion para facturar
DOCUMENTOS
MOVIMIENTOS precio maquina segun id maquina

REGISTRAR
descripcion servicio_precio VENTAS
LOCALIDAD SERVICIOS factura

informacion actualizada localidad informacion actualizada servicios


id producto_precio actualizacion informacion ventas
detalle de ventas

PROFESION informacion actualizada profesion


3 informacion actualizada producto
ADMINISTRA PRODUCTOS
R
informacion actualizada vendedores INFORMACIO
N VENTAS
VENDEDORES

informacion actualizada marca datos a actualizar o consultar INVENTARIO

existencias actualizadas
MARCA informacion actualizada categoria USUARIO detalle de compras_devoluciones

informacion actualizada subcategoria

CATEGORIA informacion actualizada clientes


2 Flow_93
informacion actualizada proveedores ADMINISTRA
cantidad de producto_precio_fecha_numero de factura R
INVENTARIO
factura original
SUBCATEGORIA

5
CLIENTES Flow_92
GENERAR
informe de ventas REPORTES
PROVEEDORES solicitud reporte venta

SOCIOS
PROVEED
OR solicitud reportes ventas y compras

ADMINIST
RADOR solicitud de reporte de inventario
reportes requeridos
43

DFD NIVEL DOS


PROCESO 1: REGISTRAR VENTAS

DFD NIVEL DOS: REGISTRAR VENTAS POR PRODUCTO Y SERVICIO

SERVICIOS

descripcion servicio_precio

12
11 descripcion producto mas cantidad REGISTRAR
USUARIO VENTA POR
REGISTRAR datos servicio SERVICIO
VENTA DE
PRODUCTO

id producto_precio
subtotal servicio

PRODUCTOS

CLIENTE
requerimiento

14

CALCULO
TOTAL factura

subtotal producto

VENTAS
detalle factura_subtotal general_iva_descuento_total general
44

DFD NIVEL DOS


PROCESO 2. ADMINISTRAR INVENTARIO
PROCESO 2.1. ADMINISTRAR COMPRAS A PROVEEDORES

DFD NIVEL DOS: ADMINISTRAR INVENTARIO


ADMINISTRAR COMPRAS PROVEEDORES

213
ELIMINAR
INVENTARIO informacion solicitada COMPRA
confirmacion de respuesta

212

CONTABILIDAD detalle consulta CONSULTAR


COMPRAS datos compra a eliminar
datos compras a consultar

detalle de compra

PROVEEDOR

factura proveedor

USUARIO

211
codigo_fecha_tipo de documento_proveedor_N de documento_dcto_producto_cantidad
factura proveedor ingresada
INGRESAR_COMPRAS

PROCESO 2.2. ADMINISTRAR DEVOLUCIONES A PROVEEDORES


45

DFD NIVEL DOS: ADMINISTRAR INVENTARIO


ADMINISTRAR DEVOLUCIONES PROVEEDORES

informacion solicitada
INVENTARIO

223

ELIMINAR
detalle de devolucion 222 DEVOLUCION

informacion modificada CONSULTAR


DEVOLUCIONES

221

REGISTRA
producto defectuoso DEVOLUCION

confirmacion de respuesta
datos devolucion a eliminar
PROVEEDOR

datos devolucion a consultar


USUARIO
codigo_fecha_tipo de documento_proveedor_N de documento_dcto_producto_cantidad

DFD NIVEL DOS


46

PROCESO 3. REGISTRAR INFORMACION EN GENERAL


SUBPROCESO: 3.1 ADMINISTRAR INFORMACION DE CLIENTES

DFD NIVEL DOS: REGISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION DE CLIENTES

informacion nuevo cliente CLIENTE informacion modificada

311 312
MODIFICAR
INGRESAR_NUEVO
INFORMACION
_CLIENTE datos nuevo cliente
CLIENTE

datos cliente a modificar

313

ELIMINAR confirmacion eliminacion


CLIENTE
dato cliente a eliminar USUARIO

SUBPROCESO: 3.2 ADMINISTRAR INFORMACION DE PROVEEDOR


47

DFD NIVEL DOS: REGISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION PROVEEDORES

informacion nuevo proveedor PROVEEDOR informacion modificada

322

MODIFICAR
321
PROVEEDOR
INGRESAR_NUEVO
_PROVEEDOR datos nuevo proveedor

dato proveedor a modificar

323

ELIMINAR confirmacion eliminacion


PROVEEDOR
dato proveedor a eliminar USUARIO

SUBPROCESO: 3.3 ADMINISTRAR INFORMACION DE VENDEDOR


48

DFD NIVEL DOS: REGISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION VENDEDORES

informacion nuevo vendedor VENDEDORES informacion modificada

332

MODIFICAR
331 VENDEDOR
INGRESAR_NUEVO
_VENDEDOR datos nuevo vendedor

dato vendedor a modificar

333

ELIMINAR confirmacion eliminacion


VENDEDOR
dato vendedor a eliminar USUARIO

SUBPROCESO: 3.4 ADMINISTRAR INFORMACION DE LOCALIDAD


49

DFD NIVEL DOS: ADMINISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION LOCALIDAD

informacion nueva localidad VENDEDORES informacion modificada

342

MODIFICAR
LOCALIDAD
341

INGRESAR_NUEVA
_LOCALIDAD datos nueva localidad

dato locaclidad a modificar

343

ELIMINAR confirmacion eliminacion


LOCALIDAD
dato localidad a eliminar
USUARIO

SUBPROCESO: 3.5 ADMINISTRAR INFORMACION DE PROFESION


50

DFD NIVEL DOS: ADMINISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION PROFESION

informacion nueva profesion DOCUMENTOS informacion modificada

352

MODIFICAR
PROFESION
351

INGRESAR_NUEVA
PROFESION datos nueva profesion

dato profesion a modificar

353
confirmacion eliminacion
ELIMINAR
PROFESION dato profesion a eliminar
USUARIO

SUBPROCESO: 3.6 ADMINISTRAR INFORMACION DE CARGO


51

DFD NIVEL DOS: ADMINISTRAR INFORMACION EN GENERAL


ADMINISTRAR INFORMACION CARGOS

CARGOS informacion modificada

informacion nuevo cargo

361 362

MODIFICAR
INGRESAR_NUEVO CARGO
_CARGO datos nuevo cargo

datos cargo a modificar

363

confirmacion eliminacion
ELIMINAR CARGO
descripcion cargo
USUARIO

DFD NIVEL DOS


52

PROCESO 4. REGISTRAR INFORMACION PRODUCTO/SERVICIO


SUBPROCESO: 4.1 ADMINISTRAR INFORMACION DE PRODUCTO

DFD NIVEL DOS: REGISTRAR INFORMACION PRODUCTO/SERVICIO


ADMINISTRAR INFORMACION PRODUCTO

informacion nuevo producto


PRODUCTO
informacion modificada

411
Categoria_Subcategoria_Marca
INGRESAR_N
UEVO_PROD
codigo
UCTO

descripcion_observacion

Stock minimo_ Stock maximo_precio venta


USUARIO

confirmacion eliminacion 413


412
ELIMINAR
MODIFICAR
PRODUCTO
INFORMACION datos producto a modificar
PRODUCTO dato producto a eliminar

SUBPROCESO: 4.2 ADMINISTRAR INFORMACION DE SERVICIO


53

DFD NIVEL DOS: REGISTRAR INFORMACION PRODUCTO/SERVICIO


ADMINISTRAR INFORMACION SERVICIOS

SERVICIOS
informacion nuevo servicio informacion modificada

422

MODIFICAR
SERVICIO
421

INGRESAR_NUEVO_
SERIVICIO datos nuevo servicio

dato servicio a modificar

423

ELIMINAR confirmacion eliminacion


SERVICIO
dato servicio a eliminar
USUARIO

SUBPROCESO: 4.3 ADMINISTRAR INFORMACION DE MARCA


54

DFD NIVEL DOS: REGISTRAR INFORMACION PRODUCTO/MARCA


ADMINISTRAR INFORMACION MARCA

informacion nueva categoria MARCA informacion modificada

431
432
INGRESAR_NUEVA_
MODIFICAR
MARCA datos nueva marca MARCA

datos marca a modificar

433
confirmacion eliminacion
ELIMINAR
MARCA descripcion marca
USUARIO

SUBPROCESO: 4.4 ADMINISTRAR INFORMACION DE CATEGORIA


55

DFD NIVEL DOS: REGISTRAR INFORMACIO PRODUCTO/SERVICIO


ADMINISTRAR INFORMACION CATEGORIAS

informacion nueva categoria CATEGORIA informacion modificada

442
441
INGRESAR_N MODIFICAR
UEVA_CATE CATEGORIA
datos nueva categoria
GORIA

datos categoria a modificar

443
confirmacion eliminacion
ELIMINAR
CATEGORIA
descripcion categoria USUARIO

SUBPROCESO: 4.5 ADMINISTRAR INFORMACION DE SUBCATEGORIA


56

DFD NIVEL DOS: REGISTRAR INFORMACION PRODUCTO/SERVICIO


ADMINISTRAR INFORMACION SUBCATEGORIAS

informacion nueva subcategoria SUBCATEGORIA informacion modificada

452

MODIFICAR
451 SUBCATEGORIA

INGRESAR_NUEVA_
SUBCATEGORIA datos nueva subcategoria

datos subcategoria a modificar

453

ELIMINAR
confirmacion eliminacion
SUBCATEGORIA
descripcion subcategoria
USUARIO

DFD NIVEL DOS


57

PROCESO 5. ADMINISTRAR CONTROL DE TIEMPO

DFD NIVEL DOS: ADMINISTRAR CONTRO DE TIEMPO

informacion de tarifa a pagar


53
TARIFA

GENERAR
CALCULO
tarifa asignada de acuerdo al tiempo
solicita cobro de alquiler maquina
identificacion mas tiempo de maquina

numero de maquina asignada


CLIENTE

MOVIMIENTOS

51
estado del equipo
VERIFICAR
DISPONIBILIDAD
DE EQUIPOS
solicitud maquina

52
datos alquiler
GENERAR
detalle alquiler INFORMACION
ALQUILER
58

4.2.1.1.2. Diccionario de Datos

Lista de Procesos
Name Code
ADMINISTRAR ALQUILER DE ADMINISTRAR_ALQUILER_DE_COMPU
COMPUTADORES TADORES
ADMINISTRAR INFORMACION ADMINISTRAR_INFORMACION
ADMINISTRAR INVENTARIO ADMINISTRAR_INVENTARIO
GENERAR REPORTES GENERAR_REPORTES
REGISTRAR VENTAS REGISTRAR_VENTAS

Lista de Almacén de Datos


Name Code
CATEGORIA CATEGORIA
CLIENTES CLIENTES
DOCUMENTOS DOCUMENTOS
INVENTARIO INVENTARIO
LOCALIDAD LOCALIDAD
MARCA MARCA
MOVIMIENTOS MOVIMIENTOS
PRODUCTOS PRODUCTOS
PROFESION PROFESION
PROVEEDORES PROVEEDORES
SERVICIOS SERVICIOS
SUBCATEGORIA SUBCATEGORIA
VENDEDORES VENDEDORES
VENTAS VENTAS

Entity CATEGORIA
Name: CATEGORIA
Code: CATEGORIA
59

Label:
Number: Generate Table: Yes
Attribute List
Name Code Type I M
id_categoria ID_CATEGORIA I Yes Yes
des_categoria DES_CATEGORIA A100 No No

Data Item id_categoria


Data Item des_categoria

Reference List
Entity Card Dep Relationship
.
PRODUCTOS(PRODUCTOS) 1,n No Relation_98(RELATION_98)

Entity CLIENTE
Name: CLIENTE
Code: CLIENTE
Label:
Number: Generate Table: Yes
Attribute List
Name Code Type I M
id_cliente ID_CLIENTE I Yes Yes
Nombres NOMBRE A50 No No
Apellidos APELLIDOS A50 No No
Teléfono TELEFONO I No No
ci_ruc CI_RUC I No No
Dirección DIRECCION A200 No No
Email EMAIL A50 No No
observacion_cliente OBSERVACION_CLIENTE A200 No No
60

Reference List
Entity Card Dep Relationship
.
LOCALIDAD(LOCALIDAD) 1,1 No Relation_527(RELATION_527)
PROFESION(PROFESION) 1,1 No Relation_529(RELATION_529)
VENTAS(VENTAS) 1,n No Relation_94(RELATION_94)

Entity COMISIONES
Name: COMISIONES
Code: COMISIONES
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id comisión ID_COMISION I Yes Yes
des comisión DES_COMISION A50 No No

Reference List
Entity Card Dep Relationship
.
PROMOTORES(PROMOTORES) 1,n No Relation_547(RELATION_547)

Entity DETALLE INVENTARIO


Name: DETALLE INVENTARIO
Code: DETALLE_INVENTARIO
Label:
Number: Generate Table: Yes

Attribute List
61

Name Code Type I M


numero_item_inventario NUMERO_ITEM_INVENTARIO I No No
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio_inventario PRECIO_INVENTARIO MN No No
subtotal_item_detalle_inventario SUBTOTAL_ITEM_DETALLE_IN MN No No
VENTARIO
saldo_detalle_inventario SALDO_DETALLE_INVENTARI I No No
O
inicial_detalle_inventario INICIAL_DETALLE_INVENTARI I No No
O

Reference List
Entity Card Dep Relationship
.
PRODUCTOS(PRODUCTOS) 1,1 No Relation_125(RELATION_125)
INVENTARIO(INVENTARIO) 1,1 No Relation_126(RELATION_126)

Entity DETALLE VENTAS


Name: DETALLE VENTAS
Code: DETALLE_VENTAS
Label:
Number: Generate Table: Yes
Attribute List
Name Code Type I M
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio venta PRECIO_VENTA MN No No
subtotal_parcial SUBTOTAL_PARCIAL MN No No
numero_item_ventas NUMERO_ITEM I No No
Saldo SALDO I No No
Inicial INICIAL I No No
62

Reference List
Entity Card Dep Relationship
.
PRODUCTOS(PRODUCTOS) 1,1 No Relation_100(RELATION_100)
SERVICIOS(SERVICIOS) 1,1 No Relation_101(RELATION_101)
VENTAS(VENTAS) 1,1 No Relation_127(RELATION_127)

Entity DOCUMENTOS
Name: DOCUMENTOS
Code: DOCUMENTOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_documento ID_DOCUMENTO I Yes Yes
des_documento DES_DOCUMENTO A50 No No

Reference List
Entity Card Dep Relationship
.
INVENTARIO(INVENTARIO) 1,n No Relation_365(RELATION_365)
VENTAS(VENTAS) 1,n No Relation_96(RELATION_96)
Entity INVENTARIO
Name: INVENTARIO
Code: INVENTARIO
Label:
Number: Generate Table: Yes

Attribute List
63

Name Code Type I M


numero_kardex NUMERO_KARDEX I Yes Yes
n_documento_proveedor N_DOCUMENTO_PROVEEDOR I No No
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio venta PRECIO_VENTA MN No No
descuento_venta DESCUENTO_VENTA MN No No
sutotal general detalle inventario SUTOTAL_GENERAL_DETALL MN No No
E_INVENTARIO
total_general_inventario TOTAL_GENERAL_INVENTARI MN No No
O

Reference List
Entity Card Dep Relationship
.
DETALLE 1,n No Relation_126(RELATION_126)
INVENTARIO(DETALLE_INVENT
ARIO)
PROVEEDOR(PROVEEDOR) 1,1 No Relation_253(RELATION_253)
MOTIVO(MOTIVO) 1,1 No RELATION_259(RELATION_259
)
DOCUMENTOS(DOCUMENTOS) 1,1 No Relation_365(RELATION_365)

Entity LOCALIDAD
Name: LOCALIDAD
Code: LOCALIDAD
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
64

Name Code Type I M


id localidad ID_LOCALIDAD I Yes Yes
des_localidad DES_LOCALIDAD A20 No No

Reference List
Entity Card Dep Relationship
.
PROMOTORES(PROMOTORES) 1,n No Relation_526(RELATION_526)
CLIENTE(CLIENTE) 1,n No Relation_527(RELATION_527)
PROVEEDOR(PROVEEDOR) 0,n No Relation_692(RELATION_692)

Entity MARCA
Name: MARCA
Code: MARCA
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_marca ID_MARCA I Yes Yes
des_marca DES_MARCA A100 No No

Reference List
Entity Card Dep Relationship
.
PRODUCTOS(PRODUCTOS) 1,n No RELATION_97(RELATION_97)

Entity MOTIVO
Name: MOTIVO
Code: MOTIVO
65

Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_motivo ID_MOTIVO I Yes Yes
des_motivo DES_MOTIVO A100 No No
Reference List
Entity Card Dep Relationship
.
INVENTARIO(INVENTARIO) 1,n No RELATION_259(RELATION_259
)

Entity MOVIMIENTOS
Name: MOVIMIENTOS
Code: MOVIMIENTOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
in_movimientos IN_MOVIMIENTOS I Yes Yes
ch_hostname CH_HOSTNAME I No No
ch_usuario CH_USUARIO A20 No No
dt_fecha_hora_i DT_FECHA_HORA_I T No No
dt_fecha_hora_f DT_FECHA_HORA_F T No No
total_tiempo TOTAL_TIEMPO DC No No
fecha_movimiento FECHA_MOVIMIENTO D No No
ch_estado CH_ESTADO A10 No No
66

Entity PRODUCTO POR PROVEEDOR


Name: PRODUCTO POR PROVEEDOR
Code: PRODUCTO_POR_PROVEEDOR
Label:
Number: Generate Table: Yes

Reference List
Entity Card Dep Relationship
.
PROVEEDOR(PROVEEDOR) 1,1 No RELATION_122(RELATION_122
)
PRODUCTOS(PRODUCTOS) 1,1 No Relation_123(RELATION_123)

Entity PRODUCTOS
Name: PRODUCTOS
Code: PRODUCTOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_producto ID_PRODUCTO I Yes Yes
nombre_producto NOMBRE_PRODUCTO A100 No No
stock_minimo STOCK_MINIMO I No No
stock_maximo STOCK_MAXIMO I No No
stock_real STOCK_REAL I No No
observacion_cliente OBSERVACION_CLIENTE A200 No No
precio venta PRECIO_VENTA MN No No

Reference List
67

Entity Card Dep Relationship


.
DETALLE 1,n No Relation_100(RELATION_100)
VENTAS(DETALLE_VENTAS)
PRODUCTO POR 1,n No Relation_123(RELATION_123)
PROVEEDOR(PRODUCTO_POR
_PROVEEDOR)
DETALLE 1,n No Relation_125(RELATION_125)
INVENTARIO(DETALLE_INVENT
ARIO)
MARCA(MARCA) 1,1 No RELATION_97(RELATION_97)
CATEGORIA(CATEGORIA) 1,1 No Relation_98(RELATION_98)
SUBCATEGORIA(SUBCATEGOR 1,1 No Relation_99(RELATION_99)
IA)

Entity PROFESION
Name: PROFESION
Code: PROFESION
Label:
Number: Generate Table: Yes
Attribute List
Name Code Type I M
id profesión ID_PROFESION I Yes Yes
des_profesion DES_PROFESION A50 No No

Reference List
Entity Card Dep Relationship
.
CLIENTE(CLIENTE) 1,n No Relation_529(RELATION_529)
USUARIO(USUARIO) 1,n No Relation_691(RELATION_691)
68

Entity PROMOTORES
Name: PROMOTORES
Code: PROMOTORES
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id vendedor ID_VENDEDOR I Yes Yes
nombre_vendedor NOMBRE_VENDEDOR A50 No No
direccion_vendedor DIRECCION_VENDEDOR A100 No No
telefono_vendedor TELEFONO_VENDEDOR A20 No No

Reference List
Entity Card Dep Relationship
.
LOCALIDAD(LOCALIDAD) 1,1 No Relation_526(RELATION_526)
COMISIONES(COMISIONES) 1,1 No Relation_547(RELATION_547)
VENTAS(VENTAS) 1,n No Relation_95(RELATION_95)

Entity PROVEEDOR
Name: PROVEEDOR
Code: PROVEEDOR
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_proveedor ID_PROVEEDOR I Yes Yes
69

Name Code Type I M


Ruc RUC I No No
razon_social RAZON_SOCIAL A100 No No
Contacto CONTACTO A100 No No
direccion_proveedor DIRECCION_PROVEEDOR A200 No No
email_proveedor EMAIL_PROVEEDOR A50 No No
telefono_proveedor TELEFONO_PROVEEDOR I No No
celular_proveedor CELULAR_PROVEEDOR I No No
web_site WEB_SITE A100 No No

Reference List
Entity Card Dep Relationship
.
PRODUCTO POR 1,n No RELATION_122(RELATION_122
PROVEEDOR(PRODUCTO_POR )
_PROVEEDOR)
INVENTARIO(INVENTARIO) 1,n No Relation_253(RELATION_253)
LOCALIDAD(LOCALIDAD) 1,1 No Relation_692(RELATION_692)
Entity SERVICIOS
Name: SERVICIOS
Code: SERVICIOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_servicio ID_SERVICIO I Yes Yes
des_servicio DES_SERVICIO A100 No No

Reference List
70

Entity Card Dep Relationship


.
DETALLE 1,n No Relation_101(RELATION_101)
VENTAS(DETALLE_VENTAS)

Entity SUBCATEGORIA
Name: SUBCATEGORIA
Code: SUBCATEGORIA
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_subcategoria ID_SUBCATEGORIA I Yes Yes
des_subcategoria DES_SUBCATEGORIA A100 No No

Reference List
Entity Card Dep Relationship
.
PRODUCTOS(PRODUCTOS) 1,n No Relation_99(RELATION_99)

Entity TARIFARIO
Name: TARIFARIO
Code: TARIFARIO
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
in_tiempo IN_TIEMPO I Yes Yes
71

Name Code Type I M


ch_tipo CH_TIPO A20 No No
Tiempo TIEMPO I No No
Tarifario TARIFARIO MN No No

Entity USUARIO
Name: USUARIO
Code: USUARIO
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id usuario ID_USUARIO I Yes Yes
nombre usuario NOMBRE_USUARIO A50 No No
Reference List
Entity Card Dep Relationship
.
PROFESION(PROFESION) 1,1 No Relation_691(RELATION_691)

Entity VENTAS
Name: VENTAS
Code: VENTAS
Label:
Number: Generate Table: Yes
Attribute List
Name Code Type I M
id_venta ID_VENTA I Yes Yes
fecha_venta FECHA_VENTA D No No
tipo de documento TIPO_DE_DOCUMENTO A50 No No
72

Name Code Type I M


subtotal_general SUBTOTAL_GENERAL MN No No
descuento_venta DESCUENTO_VENTA MN No No
Iva IVA MN No No
total_venta TOTAL_VENTA MN No No

Reference List
Entity Card Dep Relationship
.
DETALLE 1,n No Relation_127(RELATION_127)
VENTAS(DETALLE_VENTAS)
CLIENTE(CLIENTE) 1,1 No Relation_94(RELATION_94)
PROMOTORES(PROMOTORES) 1,1 No Relation_95(RELATION_95)
DOCUMENTOS(DOCUMENTOS) 1,1 No Relation_96(RELATION_96)

Lista de Flujo de Datos


Name Code
actualizacion información ventas ACTUALIZACION_INFORMACION_VENT
AS
cantidad de CANTIDAD_DE_PRODUCTO_PRECIO_F
producto_precio_fecha_numero de factura ECHA_NUMERO_DE_FACTURA
datos a actualizar o consultar DATOS_A_ACTUALIZAR_O_CONSULTA
R
descripción servicio_precio DESCRIPCION_SERVICIO_PRECIO
detalle compras DETALLE_COMPRAS
detalle de compras_devoluciones FLOW_87
detalle de ventas DETALLE_DE_VENTAS
detalle productos DETALLE_PRODUCTOS
detalle total inventario DETALLE_TOTAL__INVENTARIO
detalle ventas DETALLE_VENTAS
73

Name Code
estado del equipo ESTADO_DEL_EQUIPO
existencias actualizadas EXISTENCIAS_ACTUALIZADAS
factura física copia venta FACTURA_FISICA_COPIA_VENTA
factura original FACTURA_ORIGINAL
factura original procesada proveedor FACTURA_ORIGINAL_PROCESADA_PR
OVEEDOR
factura original venta FACTURA_ORIGINAL_VENTA
id maquina_hora inicio_hora fin mas_total ID_MAQUINA_HORA_INICIO_HORA_FIN
tiempo_precio_estado maquina _MAS_TOTAL_TIEMPO_PRECIO_ESTA
DO_MAQUINA
id producto_precio ID_PRODUCTO_PRECIO
informacion actualizada categoria INFORMACION_ACTUALIZADA_CATEG
ORIA
informacion actualizada clientes INFORMACION_ACTUALIZADA_CLIENT
ES
informacion actualizada documentos INFORMACION_ACTUALIZADA_DOCUM
ENTOS
informacion actualizada localidad INFORMACION_ACTUALIZADA_LOCALI
DAD
informacion actualizada marca INFORMACION_ACTUALIZADA_MARCA
informacion actualizada producto INFORMACION_ACTUALIZADA_PRODU
CTO
informacion actualizada profesion INFORMACION_ACTUALIZADA_PROFE
SION
informacion actualizada proveedores INFORMACION_ACTUALIZADA_PROVE
EDORES
informacion actualizada servicios INFORMACION_ACTUALIZADA_SERVIC
IOS
informacion actualizada subcategoria INFORMACION_ACTUALIZADA_SUBCA
74

Name Code
TEGORIA
informacion actualizada vendedores INFORMACION_ACTUALIZADA_VENDE
DORES
informacion clientes INFORMACION_CLIENTES
informacion de monto INFORMACION_DE_MONTO
interaccion devolución INTERACCION_DEVOLUCION
numero de maquina asignada NUMERO_DE_MAQUINA_ASIGNADA
reporte ventas REPORTE_VENTAS
reporte ventas y compras REPORTE_VENTAS_Y_COMPRAS
reportes clientes_catalogo REPORTES_CLIENTES_CATALOGO_PR
productos_inventario_compras_ventas ODUCTOS_INVENTARIO_COMPRAS_V
ENTAS
requerimiento cobro REQUERIMIENTO_COBRO
solicitud maquina SOLICITUD_MAQUINA
solicitud reporte ventas SOLICITUD_REPORTE_VENTAS
solicitud reporte ventas y compras SOLICITUD_REPORTE_VENTAS_Y_CO
MPRAS
solicitud reportes clientes_catalogo SOLICITUD_REPORTES_CLIENTES_CA
productos_inventario_compras_ventas TALOGO_PRODUCTOS_INVENTARIO_
COMPRAS_VENTAS

Lista de Entidades Externas


Name Code
ADMINISTRADOR ADMINISTRADOR
CLIENTE CLIENTE
CLIENTE1 CLIENTE1
CONTABILIDAD CONTABILIDAD
CONTABILIDAD 1 CONTABILIDAD_1
PROVEEDOR PROVEEDOR
75

Name Code
SOCIOS SOCIOS
USUARIO USUARIO

4.2.1.1.3. Especificación de Procesos

1. CONTROL DE TIEMPO
COMIENZA
SELECCIÓNAR numero de terminal
HABILITAR tiempo
BLOQUEAR tiempo
GENERAR cobro
GUARDAR
FIN
2. VENTAS
COMIENZA
INGRESAR cliente
INGRESAR descuento
SELECCIONAR tipo_documento
GUARDAR
HACER MIENTRAS exista ventas
INGRESAR producto
INGRESAR cantidad
CALCULAR producto * cantidad
INGRESAR tipo_servicio
INGRESAR cantidad
CALCULAR tipo_servicio*cantidad
GUARDAR
FIN
CALCULAR subtotal_general
CALCULAR descuento
76

CALCULAR iva
CALCULAR total_general
FIN
3. INVENTARIO
3.1 REGISTRAR COMPRAS
COMIENZA
INGRESAR motivo
INGRESAR documento
INGRESAR proveedor
INGRESAR % descuento_recibido
INGRESAR numero_documento
GUARDAR
HACER MIENTRAS exista nuevo_producto
INGRESAR producto
INGRESAR cantidad
GUARDAR
FIN
CALCULAR subtotal
CALCULAR descuento
CALCULAR total
GUARDAR FIN
FIN
3.2 REGISTRAR DEVOLUCIONES
INGRESAR motivo
INGRESAR documento
INGRESAR proveedor
INGRESAR % descuento_recibido
INGRESAR numero_documento
GUARDAR
HACER MIENTRAS exista producto_devolucion
INGRESAR producto
77

INGRESAR cantidad
GUARDAR
FIN
CALCULAR subtotal
CALCULAR descuento
CALCULAR total
GUARDAR FIN
FIN
4. MANTENIMIENTO-ACTUALIZACION
ACTUALIZACION PRODUCTOS
INGRESAR NUEVO PRODUCTO
COMIENZA
INGRESAR categoria
INGRESAR subcategoria
INGRESAR marca
INGRESAR descripcion
INGRESAR observacion
INGRESAR stock minimo
INGRESAR stock maximo
INGRESAR precio_venta
GUARDAR
FIN
MODIFICAR PRODUCTO
COMIENZA
BUSCAR producto
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR PRODUCTO
COMIENZA
BUSCAR producto
78

ELIMINAR
GUARDAR
FIN
ACTUALIZACION CATEGORIAS
INGRESAR NUEVA CATEGORIA
COMIENZA
INGRESAR categoria_nueva
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR CATEGORIA
COMIENZA
BUSCAR categoria
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR CATEGORIA
COMIENZA
BUSCAR categoria
ELIMINAR
GUARDAR
FIN
ACTUALIZACION SUBCATEGORIAS
INGRESAR NUEVA SUBCATEGORIA
COMIENZA
INGRESAR subcategoria_nueva
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR SUBCATEGORIA
COMIENZA
79

BUSCAR subcategoria
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR SUBCATEGORIA
COMIENZA
BUSCAR subcategoria
ELIMINAR
GUARDAR
FIN
ACTUALIZACION MARCA
INGRESAR NUEVA MARCA
COMIENZA
INGRESAR marca_nueva
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR MARCA
COMIENZA
BUSCAR marca
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR MARCA
COMIENZA
BUSCAR marca
ELIMINAR
GUARDAR
FIN
ACTUALIZACION SERVICIOS
INGRESAR NUEVO SERVICIO
80

COMIENZA
INGRESAR servicio_nuevo
INGRESAR descripcion
INGRESAR costo
GUARDAR
FIN
MODIFICAR SERVICIO
COMIENZA
BUSCAR servicio
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR SERVICIO
COMIENZA
BUSCAR servicio
ELIMINAR
GUARDAR
FIN
ACTUALIZACION CLIENTES
INGRESAR NUEVO CLIENTE
COMIENZA
INGRESAR datos cliente
GUARDAR
FIN
MODIFICAR DATOS CLIENTE
COMIENZA
BUSCAR cliente
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR CLIENTE
81

COMIENZA
BUSCAR cliente
ELIMINAR
GUARDAR
FIN
ACTUALIZACION PROVEEDORES
INGRESAR NUEVO PROVEEDOR
COMIENZA
INGRESAR datos_proveedor_nuevo
GUARDAR
FIN
MODIFICAR DATOS PROVEEDOR
COMIENZA
BUSCAR proveedor
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR PROVEEDOR
COMIENZA
BUSCAR proveedor
ELIMINAR
GUARDAR
FIN
ACTUALIZACION VENDERORES
INGRESAR NUEVO VENDEDOR
COMIENZA
INGRESAR datos_vendedor_nuevo
GUARDAR
FIN
MODIFICAR DATOS VENDEDOR
COMIENZA
82

BUSCAR vendedor
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR VENDEDOR
COMIENZA
BUSCAR vendedor
ELIMINAR
GUARDAR
FIN
ACTUALIZACION CARGOS
INGRESAR NUEVO CARGO
COMIENZA
INGRESAR cargo_nuevo
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR CARGO
COMIENZA
BUSCAR cargo
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR CARGO
COMIENZA
BUSCAR cargo
ELIMINAR
GUARDAR
FIN
ACTUALIZACION LOCALIDAD
INGRESAR NUEVA LOCALIDAD
83

COMIENZA
INGRESAR localidad_nueva
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR LOCALIDAD
COMIENZA
BUSCAR localidad
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR LOCALIDAD
COMIENZA
BUSCAR localidad
ELIMINAR
GUARDAR
FIN
ACTUALIZACION DOCUMENTOS
INGRESAR NUEVO DOCUMENTO
COMIENZA
INGRESAR documento_nuevo
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR DOCUMENTO
COMIENZA
BUSCAR documento
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR DOCUMENTO
84

COMIENZA
BUSCAR documento
ELIMINAR
GUARDAR
FIN
ACTUALIZACION MOTIVO
INGRESAR NUEVO MOTIVO
COMIENZA
INGRESAR motivo_nuevo
INGRESAR descripcion
GUARDAR
FIN
MODIFICAR MOTIVO
COMIENZA
BUSCAR motivo
MODIFICAR campos requeridos
GUARDAR
FIN
ELIMINAR MOTIVO
COMIENZA
BUSCAR motivo
ELIMINAR
GUARDAR
FIN
5. INFORMES
LISTA DE CLIENTES
COMIENZA
ABRIR archivo CLIENTES
HACER MIENTRAS no sea fin de archivo
IMPRIMIR datos_clientes
FIN HACER
85

TERMINA
CATALOGO DE PRODUCTOS
COMIENZA
ABRIR archivo PRODUCTOS
HACER MIENTRAS no sea fin de archivo
IMPRIMIR datos_productos
FIN HACER
TERMINA
INVENTARIO
COMIENZA
ABRIR archivo INVENTARIO
HACER MIENTRAS no sea fin de archivo
IMPRIMIR datos_tabla_inventario
FIN HACER
TERMINA
REGISTRO DE COMPRAS
COMIENZA
ABRIR archivo INVENTARIO
BUSCAR compras realizadas
HACER MIENTRAS no sea fin de archivo
IMPRIMIR datos
FIN HACER
TERMINA
REGISTRO DE VENTAS
COMIENZA
ABRIR archivo VENTAS
BUSCAR ventas realizadas
HACER MIENTRAS no sea fin de archivo
IMPRIMIR datos
FIN HACER
TERMINA
86

4.2.1.1.4. Jerarquía Modular

MODULO DESCRIPCIÓN
Aquí se registra las ventas provenientes de productos y
FACTURAR (GENERAR servicios.
VENTAS)
En este modulo se registra las devoluciones y compras
INVENTARIO que se hace al proveedor.
En este modulo se registra nuevo y se actualiza los datos
REGISTRAR de cliente, proveedor, vendedor, localidad, profesión y
cargo.
Este modulo permite el ingreso y actualización de

PRODUCTO/SERVICIO información en cuanto a servicios, productos y la marca,


categoría y subcategoria dentro de los cuales está
ubicado.
Este modulo maneja el registro de alquiler de
computadoras como también algunos utilitarios básicos
como escoger el tiempo de uso de máquina, ejecución de
CONTROL DE TIEMPO archivos en terminal, mensajes a las terminales, apagar
O CYBER terminales, reporte, configuración entre otros.
De aquí se puede pasar directamente al modulo de
generar factura, proporciona el monto a cobrar por el
alquiler de un equipo.
Este modulo genera los reportes de clientes, ventas,
INFORMES compras, catalogo de productos, inventario y ventas por
promotor o vendedor.
Este modulo permite crear una Nueva Cuenta de
Usuario, Eliminar cuentas de Usuario y cambiar la
CONFIGURAR
Contraseña de una Cuenta existente.
87

4.2.1.2. Modelo de Datos


4.2.1.2.1. Reglas del Negocio

• El Alquiler de computadores por políticas del negocio está excluido de IVA, en


primera instancia porque no supera el valor de $4,00 y porque este valor ya se
paga al proveedor en la factura de consumo, por lo tanto no se emite factura ni
nota de venta por el mencionado alquiler de computadoras.
• No existe crédito a clientes por políticas de sus socios, por lo cual se ha
implementado una política de descuentos solo para clientes fijos.
• Los usuarios en mayor parte ejercen el rol de vendedores de productos
cuando estos son suministros o accesorios de computadoras, pero cuando se
trata de venta de equipos de cómputo o sus partes los socios ejercen la
función de vendedores por lo cual en la venta deben aparecer sus nombres.
• Los mantenimientos externos que se llevan a cabo pueden hacerse fuera de
Quito.
• Un usuario del sistema debe tener una única cuenta de acceso.
• Se hace devoluciones al proveedor por producto defectuoso
• Las devoluciones son casi nulas pero se recomienda que haya este modulo en
el caso que en el futuro se opere con mayor mercancía.
• En el caso de inventario el precio de venta que se registra es el que se vende
al cliente, para Netplus el descuento que se ingresa por cada compra
representa la ganancia que representa comprar a ese proveedor.
• El sistema por políticas de privacidad por pedido explicito de su Administrador
no debe manejar información de balances contables, declaraciones de
impuestos o egresos en cuanto a gastos administrativos y de personal.
88

4.2.1.2.2. Diagrama Entidad Relación Lógico

Relation_253
INVENTARIO
esta incluido numero_kardex
n_documento_proveedor
RELATION_259
PROVEEDOR cantidad_inventario
Relation_692
id_proveedor precio venta
ruc descuento_venta
razon_social sutotal general detalle inventario
RELATION_122 total_general_inventario
provee varios contacto
direccion_proveedor
email_proveedor esta incluido
PRODUCTO POR PROVEEDOR telefono_proveedor incluye
celular_proveedor
web_site
Relation_126

MOTIVO
id_motivo
des_motivo

PRODUCTOS
Relation_123
es proporcionado por varios
id_producto
es incluido
nombre_producto DETALLE INVENTARIO
MARCA
incluye varios stock_minimo Relation_125 numero_item_inventario
id_marca RELATION_97 stock_maximo cantidad_inventario
des_marca
stock_real precio_inventario
Relation_98
observacion_cliente subtotal_item_detalle_inventario
precio venta saldo_detalle_inventario
inicial_detalle_inventario

incluye varios incluye SERVICIOS


Relation_101
id_servicio
incluye des_servicio

CATEGORIA
id_categoria
des_categoria DETALLE VENTAS
SUBCATEGORIA
cantidad_inventario
id_subcategoria
incluye varios
Relation_99 precio venta
des_subcategoria subtotal_parcial
USUARIO
Relation_100 numero_item_ventas
id usuario Relation_127
nombre usuario saldo
inicial Relation_365

incluye
tiene

Relation_691
VENTAS
una misma profesion la tienen
id_venta
CLIENTE fecha_venta
PROFESION tipo de documento MOVIMIENTOS
Relation_529id_cliente
id profesion subtotal_general in_movimientos
nombres ch_hostname
des_profesion Relation_94 descuento_venta
apellidos ch_usuario
iva TARIFARIO
telefono un cliente puede tener varias es incluido
Relation_527 total_venta in_tiempo dt_fecha_hora_i
ci_ruc dt_fecha_hora_f
direccion ch_tipo
tiempo total_tiempo
email
tarifario fecha_movimiento
observacion_cliente ch_estado

en una ciudad pueden vivir Relation_95 DOCUMENTOS


id_documento
Relation_96
des_documento
PROMOTORES
LOCALIDAD id vendedor COMISIONES
nombre_vendedor una misma comision pueden tener varios
id localidad en una ciudad pueden vivir Relation_547 id
comision
des_localidad Relation_526 direccion_vendedor des comision
telefono_vendedor
89

4.2.1.2.3. Diccionario de Datos Diagrama Entidad Relación (DER) Lógico

Data Items
Data Item List
Name Code Type
Apellidos APELLIDOS A50
cantidad_inventario CANTIDAD_INVENTARIO I
celular_proveedor CELULAR_PROVEEDOR I
ch_estado CH_ESTADO A10
ch_hostname CH_HOSTNAME I
ch_tipo CH_TIPO A20
ch_usuario CH_USUARIO A20
ci_ruc CI_RUC I
Cliente CLIENTE A80
Comisión COMISION <U>
Contacto CONTACTO A100
des comisión DES_COMISION A50
des_categoria DES_CATEGORIA A100
des_documento DES_DOCUMENTO A50
des_localidad DES_LOCALIDAD A20
des_marca DES_MARCA A100
des_motivo DES_MOTIVO A100
des_profesion DES_PROFESION A50
des_servicio DES_SERVICIO A100
des_subcategoria DES_SUBCATEGORIA A100
descuento_venta DESCUENTO_VENTA MN
Direccion DIRECCION A200
direccion_proveedor DIRECCION_PROVEEDOR A200
direccion_vendedor DIRECCION_VENDEDOR A100
dt_fecha_hora_f DT_FECHA_HORA_F T
dt_fecha_hora_i DT_FECHA_HORA_I T
90

Name Code Type


Email EMAIL A50
email_proveedor EMAIL_PROVEEDOR A50
fecha_movimiento FECHA_MOVIMIENTO D
fecha_venta FECHA_VENTA D
id comision ID_COMISION I
id localidad ID_LOCALIDAD I
id profesion ID_PROFESION I
id usuario ID_USUARIO I
id vendedor ID_VENDEDOR I
id_categoria ID_CATEGORIA I
id_cliente ID_CLIENTE I
id_documento ID_DOCUMENTO I
id_marca ID_MARCA I
id_motivo ID_MOTIVO I
id_producto ID_PRODUCTO I
id_proveedor ID_PROVEEDOR I
id_servicio ID_SERVICIO I
id_subcategoria ID_SUBCATEGORIA I
id_venta ID_VENTA I
in_movimientos IN_MOVIMIENTOS I
in_tiempo IN_TIEMPO I
Inicial INICIAL I
inicial_detalle_inventario INICIAL_DETALLE_INVENTARI I
O
Iva IVA MN
Moneda TIPO_MONEDA <U>
Motivo MOTIVO <U>
n_documento N_DOCUMENTO <U>
n_documento_proveedor N_DOCUMENTO_PROVEEDOR I
91

Name Code Type


n_item_detalle inventario N_ITEM_DETALLE_INVENTARI <U>
O
nombre usuario NOMBRE_USUARIO A50
nombre_producto NOMBRE_PRODUCTO A100
nombre_vendedor NOMBRE_VENDEDOR A50
Nombres NOMBRE A50
numero_item_inventario NUMERO_ITEM_INVENTARIO I
numero_item_ventas NUMERO_ITEM I
numero_kardex NUMERO_KARDEX I
observacion_cliente OBSERVACION_CLIENTE A200
precio venta PRECIO_VENTA MN
precio_inventario PRECIO_INVENTARIO MN
razon_social RAZON_SOCIAL A100
Ruc RUC I
Saldo SALDO I
saldo_detalle_inventario SALDO_DETALLE_INVENTARIO I
stock_maximo STOCK_MAXIMO I
stock_minimo STOCK_MINIMO I
stock_real STOCK_REAL I
subtotal_general SUBTOTAL_GENERAL MN
subtotal_item_detalle_inventario SUBTOTAL_ITEM_DETALLE_IN MN
VENTARIO
subtotal_parcial SUBTOTAL_PARCIAL MN
sutotal general detalle inventario SUTOTAL_GENERAL_DETALLE MN
_INVENTARIO
Tarifario TARIFARIO MN
Telefono TELEFONO I
telefono_proveedor TELEFONO_PROVEEDOR I
telefono_vendedor TELEFONO_VENDEDOR A20
92

Name Code Type


Tiempo TIEMPO I
tipo de documento TIPO_DE_DOCUMENTO A50
tipo de venta TIPO_DE_VENTA <U>
total_general_inventario TOTAL_GENERAL_INVENTARI MN
O
total_tiempo TOTAL_TIEMPO DC
total_venta TOTAL_VENTA MN
web_site WEB_SITE A100
Entities
Entity List
Name Code
CATEGORIA CATEGORIA
CLIENTE CLIENTE
COMISIONES COMISIONES
DETALLE INVENTARIO DETALLE_INVENTARIO
DETALLE VENTAS DETALLE_VENTAS
DOCUMENTOS DOCUMENTOS
INVENTARIO INVENTARIO
LOCALIDAD LOCALIDAD
MARCA MARCA
MOTIVO MOTIVO
MOVIMIENTOS MOVIMIENTOS
PRODUCTO POR PROVEEDOR PRODUCTO_POR_PROVEEDOR
PRODUCTOS PRODUCTOS
PROFESION PROFESION
PROMOTORES PROMOTORES
PROVEEDOR PROVEEDOR
SERVICIOS SERVICIOS
SUBCATEGORIA SUBCATEGORIA
93

Name Code
TARIFARIO TARIFARIO
USUARIO USUARIO
VENTAS VENTAS
Entity CATEGORIA
Name: CATEGORIA
Code: CATEGORIA
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_categoria ID_CATEGORIA I Yes Yes
des_categoria DES_CATEGORIA A100 No No

Reference List
Entity Card Dep. Relationship
PRODUCTOS(PRODUCTOS) 1,n No Relation_98(RELATION_98)

Entity CLIENTE
Name: CLIENTE
Code: CLIENTE
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_cliente ID_CLIENTE I Yes Yes
nombres NOMBRE A50 No No
apellidos APELLIDOS A50 No No
telefono TELEFONO I No No
ci_ruc CI_RUC I No No
direccion DIRECCION A200 No No
email EMAIL A50 No No
observacion_cliente OBSERVACION_CLIENTE A200 No No
94

Reference List
Entity Card Dep. Relationship
LOCALIDAD(LOCALIDAD) 1,1 No Relation_527(RELATION_527)
PROFESION(PROFESION) 1,1 No Relation_529(RELATION_529)
VENTAS(VENTAS) 1,n No Relation_94(RELATION_94)

Entity DETALLE INVENTARIO


Name: DETALLE INVENTARIO
Code: DETALLE_INVENTARIO
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
numero_item_inventario NUMERO_ITEM_INVENTARIO I No No
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio_inventario PRECIO_INVENTARIO MN No No
subtotal_item_detalle_inventario SUBTOTAL_ITEM_DETALLE_INVENT MN No No
ARIO
saldo_detalle_inventario SALDO_DETALLE_INVENTARIO I No No
inicial_detalle_inventario INICIAL_DETALLE_INVENTARIO I No No

Reference List
Entity Card Dep. Relationship
PRODUCTOS(PRODUCTOS) 1,1 No Relation_125(RELATION_125)
INVENTARIO(INVENTARIO) 1,1 No Relation_126(RELATION_126)

Entity DETALLE VENTAS


Name: DETALLE VENTAS
Code: DETALLE_VENTAS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio venta PRECIO_VENTA MN No No
subtotal_parcial SUBTOTAL_PARCIAL MN No No
95

Name Code Type I M


numero_item_ventas NUMERO_ITEM I No No
saldo SALDO I No No
inicial INICIAL I No No

Reference List
Entity Card Dep. Relationship
PRODUCTOS(PRODUCTOS) 1,1 No Relation_100(RELATION_100)
SERVICIOS(SERVICIOS) 1,1 No Relation_101(RELATION_101)
VENTAS(VENTAS) 1,1 No Relation_127(RELATION_127)

Entity DOCUMENTOS
Name: DOCUMENTOS
Code: DOCUMENTOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_documento ID_DOCUMENTO I Yes Yes
des_documento DES_DOCUMENTO A50 No No

Reference List
Entity Card Dep. Relationship
INVENTARIO(INVENTARIO) 1,n No Relation_365(RELATION_365)
VENTAS(VENTAS) 1,n No Relation_96(RELATION_96)

Entity INVENTARIO
Name: INVENTARIO
Code: INVENTARIO
Label:
Number: Generate Table: Yes
96

Attribute List
Name Code Type I M
numero_kardex NUMERO_KARDEX I Yes Yes
n_documento_proveedor N_DOCUMENTO_PROVEEDOR I No No
cantidad_inventario CANTIDAD_INVENTARIO I No No
precio venta PRECIO_VENTA MN No No
descuento_venta DESCUENTO_VENTA MN No No
sutotal general detalle inventario SUTOTAL_GENERAL_DETALLE_INVE MN No No
NTARIO
total_general_inventario TOTAL_GENERAL_INVENTARIO MN No No

Data Item numero_kardex


Reference List
Entity Card Dep. Relationship
DETALLE 1,n No Relation_126(RELATION_126)
INVENTARIO(DETALLE_INVENTARIO)
PROVEEDOR(PROVEEDOR) 1,1 No Relation_253(RELATION_253)
MOTIVO(MOTIVO) 1,1 No RELATION_259(RELATION_259)
DOCUMENTOS(DOCUMENTOS) 1,1 No Relation_365(RELATION_365)

Entity LOCALIDAD
Name: LOCALIDAD
Code: LOCALIDAD
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id localidad ID_LOCALIDAD I Yes Yes
des_localidad DES_LOCALIDAD A20 No No

Reference List
Entity Card Dep. Relationship
PROMOTORES(PROMOTORES) 1,n No Relation_526(RELATION_526)
97

Entity Card Dep. Relationship


CLIENTE(CLIENTE) 1,n No Relation_527(RELATION_527)
PROVEEDOR(PROVEEDOR) 0,n No Relation_692(RELATION_692)

Entity MARCA
Name: MARCA
Code: MARCA
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_marca ID_MARCA I Yes Yes
des_marca DES_MARCA A100 No No

Reference List
Entity Card Dep. Relationship
PRODUCTOS(PRODUCTOS) 1,n No RELATION_97(RELATION_97)

Entity MOTIVO
Name: MOTIVO
Code: MOTIVO
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_motivo ID_MOTIVO I Yes Yes
des_motivo DES_MOTIVO A100 No No

Reference List
Entity Card Dep. Relationship
INVENTARIO(INVENTARIO) 1,n No RELATION_259(RELATION_259)
98

Entity MOVIMIENTOS
Name: MOVIMIENTOS
Code: MOVIMIENTOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
in_movimientos IN_MOVIMIENTOS I Yes Yes
ch_hostname CH_HOSTNAME I No No
ch_usuario CH_USUARIO A20 No No
dt_fecha_hora_i DT_FECHA_HORA_I T No No
dt_fecha_hora_f DT_FECHA_HORA_F T No No
total_tiempo TOTAL_TIEMPO DC No No
fecha_movimiento FECHA_MOVIMIENTO D No No
ch_estado CH_ESTADO A10 No No

Entity PRODUCTO POR PROVEEDOR


Name: PRODUCTO POR PROVEEDOR
Code: PRODUCTO_POR_PROVEEDOR
Label:
Number: Generate Table: Yes

Reference List
Entity Card Dep. Relationship
PROVEEDOR(PROVEEDOR) 1,1 No RELATION_122(RELATION_122)
PRODUCTOS(PRODUCTOS) 1,1 No Relation_123(RELATION_123)

Entity PRODUCTOS
Name: PRODUCTOS
Code: PRODUCTOS
Label:
Number: Generate Table: Yes
99

Attribute List
Name Code Type I M
id_producto ID_PRODUCTO I Yes Yes
nombre_producto NOMBRE_PRODUCTO A100 No No
stock_minimo STOCK_MINIMO I No No
stock_maximo STOCK_MAXIMO I No No
stock_real STOCK_REAL I No No
observacion_cliente OBSERVACION_CLIENTE A200 No No
precio venta PRECIO_VENTA MN No No

Reference List
Entity Card Dep. Relationship
DETALLE VENTAS(DETALLE_VENTAS) 1,n No Relation_100(RELATION_100)
PRODUCTO POR 1,n No Relation_123(RELATION_123)
PROVEEDOR(PRODUCTO_POR_PRO
VEEDOR)
DETALLE 1,n No Relation_125(RELATION_125)
INVENTARIO(DETALLE_INVENTARIO)
MARCA(MARCA) 1,1 No RELATION_97(RELATION_97)
CATEGORIA(CATEGORIA) 1,1 No Relation_98(RELATION_98)
SUBCATEGORIA(SUBCATEGORIA) 1,1 No Relation_99(RELATION_99)

Entity PROFESION
Name: PROFESION
Code: PROFESION
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id profesion ID_PROFESION I Yes Yes
des_profesion DES_PROFESION A50 No No

Reference List
100

Entity Card Dep. Relationship


CLIENTE(CLIENTE) 1,n No Relation_529(RELATION_529)
USUARIO(USUARIO) 1,n No Relation_691(RELATION_691)

Entity PROMOTORES
Name: PROMOTORES
Code: PROMOTORES
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id vendedor ID_VENDEDOR I Yes Yes
nombre_vendedor NOMBRE_VENDEDOR A50 No No
direccion_vendedor DIRECCION_VENDEDOR A100 No No
telefono_vendedor TELEFONO_VENDEDOR A20 No No

Reference List
Entity Card Dep. Relationship
LOCALIDAD(LOCALIDAD) 1,1 No Relation_526(RELATION_526)
COMISIONES(COMISIONES) 1,1 No Relation_547(RELATION_547)
VENTAS(VENTAS) 1,n No Relation_95(RELATION_95)

Entity PROVEEDOR
Name: PROVEEDOR
Code: PROVEEDOR
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_proveedor ID_PROVEEDOR I Yes Yes
ruc RUC I No No
razon_social RAZON_SOCIAL A100 No No
101

Name Code Type I M


contacto CONTACTO A100 No No
direccion_proveedor DIRECCION_PROVEEDOR A200 No No
email_proveedor EMAIL_PROVEEDOR A50 No No
telefono_proveedor TELEFONO_PROVEEDOR I No No
celular_proveedor CELULAR_PROVEEDOR I No No
web_site WEB_SITE A100 No No

Reference List
Entity Card Dep. Relationship
PRODUCTO POR 1,n No RELATION_122(RELATION_122)
PROVEEDOR(PRODUCTO_POR_PRO
VEEDOR)
INVENTARIO(INVENTARIO) 1,n No Relation_253(RELATION_253)
LOCALIDAD(LOCALIDAD) 1,1 No Relation_692(RELATION_692)

Entity SERVICIOS
Name: SERVICIOS
Code: SERVICIOS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_servicio ID_SERVICIO I Yes Yes
des_servicio DES_SERVICIO A100 No No

Reference List
Entity Card Dep. Relationship
DETALLE VENTAS(DETALLE_VENTAS) 1,n No Relation_101(RELATION_101)
102

Entity SUBCATEGORIA
Name: SUBCATEGORIA
Code: SUBCATEGORIA
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_subcategoria ID_SUBCATEGORIA I Yes Yes
des_subcategoria DES_SUBCATEGORIA A100 No No

Reference List
Entity Card Dep. Relationship
PRODUCTOS(PRODUCTOS) 1,n No Relation_99(RELATION_99)

Entity TARIFARIO
Name: TARIFARIO
Code: TARIFARIO
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
in_tiempo IN_TIEMPO I Yes Yes
ch_tipo CH_TIPO A20 No No
tiempo TIEMPO I No No
tarifario TARIFARIO MN No No

Entity USUARIO
Name: USUARIO
Code: USUARIO
Label:
Number: Generate Table: Yes
103

Attribute List
Name Code Type I M
id usuario ID_USUARIO I Yes Yes
nombre usuario NOMBRE_USUARIO A50 No No

Reference List
Entity Card Dep. Relationship
PROFESION(PROFESION) 1,1 No Relation_691(RELATION_691)

Entity VENTAS
Name: VENTAS
Code: VENTAS
Label:
Number: Generate Table: Yes

Attribute List
Name Code Type I M
id_venta ID_VENTA I Yes Yes
fecha_venta FECHA_VENTA D No No
tipo de documento TIPO_DE_DOCUMENTO A50 No No
subtotal_general SUBTOTAL_GENERAL MN No No
descuento_venta DESCUENTO_VENTA MN No No
iva IVA MN No No
total_venta TOTAL_VENTA MN No No

Reference List
Entity Card Dep. Relationship
DETALLE VENTAS(DETALLE_VENTAS) 1,n No Relation_127(RELATION_127)
CLIENTE(CLIENTE) 1,1 No Relation_94(RELATION_94)
PROMOTORES(PROMOTORES) 1,1 No Relation_95(RELATION_95)
DOCUMENTOS(DOCUMENTOS) 1,1 No Relation_96(RELATION_96)
104

4.2.1.2.4. Diagrama Entidad Relación Físico


105

4.3. DESARROLLO

4.3.1. CONSTRUCCIÒN

4.3.1.1. Lenguaje de programación Visual Basic


El diseño de entorno de datos del presente proyecto contiene formularios o informes.
Objetos Actives que son una nueva tecnología de acceso a datos mediante la acción
de arrastrar y colocar sobre formularios o informes, objetos (ADO-ACTIVE DATA
OBJECT). Acceso a la estructura de una base de datos. Diseñador de Consultas y
diseñador de Base de datos para administrar los registros.
MODULO FACTURACION
A continuación se muestra la programación necesaria para crear el modulo de
facturación que se muestra en la figura A.

Figura A: Modulo de facturación


Fuente: autor NETPLUS
106

Public Function P_RellenarListaDetalle(ByRef MSH As MSHFlexGrid, _


ByVal idventa As String, _
ByVal cn As Object) As Double
On Local Error GoTo L
Dim rs As New ADODB.Recordset
rs.Open "SELECT DetalleVenta.idventa, DetalleVenta.nitem,
DetalleVenta.idproducto, Categorias.descategoria+' '+ Marcas.desmarca+' '+
Productos.nombre, DetalleVenta.cantidad, DetalleVenta.precio, servicios.desservicio,
DetalleVenta.cantidadservicio, DetalleVenta.precioservicio,
DetalleVenta.preciomaquina, DetalleVenta.subtotal,
DetalleVenta.subtotalservicio,DetalleVenta.subtotalmaquina,DetalleVenta.total,
DetalleVenta.saldo,DetalleVenta.inicial FROM Marcas INNER JOIN (Categorias
INNER JOIN (Productos INNER JOIN DetalleVenta ON Productos.idproducto =
DetalleVenta.idproducto) ON Categorias.idcategoria=Productos.idcategoria) ON
Marcas.idmarca = Productos.idmarca, servicios where DetalleVenta.idventa='" +
idventa + "' and servicios.idservicio = DetalleVenta.idservicio ORDER BY 2", cn,
adOpenStatic, adLockReadOnly, adCmdText
On Local Error Resume Next
rs.MoveLast
rs.MoveFirst
On Local Error GoTo 0
If rs.RecordCount = 0 Then
MSH.Clear
MSH.Cols = 2
MSH.Rows = 2
Set rs = Nothing
Exit Function
End If
Set MSH.Recordset = rs
Set rs = Nothing
107

MSH.FormatString = "|<Id Venta|<Nº Item|<IdProducto|<Producto|>#-Producto|>$-


Producto|<Servicio|>#-Servicio|>$-Servicio|>$-Maquina|>Sub-Total-producto|>Sub-
Total-Servicio|>Sub-Total-Maquina|>Total-Parcial|>Saldo|>Inicial"
MSH.ColWidth(0) = 0
MSH.ColWidth(1) = 0 'Id Venta
MSH.ColWidth(2) = 1000 'Nº Item
MSH.ColWidth(3) = 0 'IdProducto
MSH.ColWidth(4) = 2000 'producto
MSH.ColWidth(5) = 1100 'Cantidad producto
MSH.ColWidth(6) = 1100 'Precio producto
MSH.ColWidth(7) = 2000 'servicio
MSH.ColWidth(8) = 1100 'cantidad servicio
MSH.ColWidth(9) = 1100 'Precio servicio
MSH.ColWidth(10) = 1100 'Precio maquina
MSH.ColWidth(11) = 0 'SubTotal producto
MSH.ColWidth(12) = 0 'SubTotal servicio
MSH.ColWidth(13) = 0 'SubTotal maquina
MSH.ColWidth(14) = 1200 'Total parcial
MSH.ColWidth(15) = 0 'Saldo
MSH.ColWidth(16) = 0 'Inicial
P_RellenarListaDetalle = 0
For i = 1 To MSH.Rows - 1
P_RellenarListaDetalle = P_RellenarListaDetalle + MSH.TextMatrix(i, 14)
Next
Exit Function
L:
MsgBox Err.Description, vbCritical
End Function

Public Property Get XNomUsu(ByVal XIDUSU As String, ByVal cn As Object) As


String
108

On Local Error GoTo L


Dim t As Object
Set t = CreateObject("ADODB.Recordset")
t.Open "SELECT NOMUSU FROM USUARIOS WHERE IDUSUARIO='" + XIDUSU +
"'", cn, 0, 1
On Local Error Resume Next
t.MoveLast
t.MoveFirst
On Local Error GoTo 0
XNomUsu = t!nomusu
Set t = Nothing
Exit Property
L:
MsgBox Err.Description, vbCritical
End Property

Public Sub P_VENTASBUSQUEDA(ByRef MSH As MSHFlexGrid, Optional ByVal


CRITERIO As String = 1, Optional ByVal DATO As String)
On Local Error GoTo L
Dim rs As New ADODB.Recordset
If CRITERIO = 1 Then 'TODOS
rs.Open "SELECT Ventas.idventa, Ventas.coddueño, Dueño.NomDueño+'
'+Dueño.ApeDueño AS Expr1, Usuarios.nomusu, Format(Ventas.fecha,'dd/mm/yyyy')
AS Expr2, IIf(Ventas.tipo_venta=0,'Contado','Credito') AS Expr3,
Documentos.desdocumento, Ventas.ndocumento,
IIf(Ventas.cancelado=0,'Cancelado','Sin Cancelar') AS Expr4, Ventas.descuento,
IIf(Ventas.anulado=0,'No','Si') AS Expr5, Ventas.monto,
promotores.nombres,Ventas.moneda,Ventas.tipcam FROM (Usuarios INNER JOIN
(Dueño INNER JOIN (Documentos INNER JOIN Ventas ON
Documentos.iddocumento = Ventas.iddocumento) ON Dueño.coddueño =
Ventas.coddueño) ON Usuarios.idusuario = Ventas.idusuario) INNER JOIN
109

promotores ON Ventas.idpromotor = promotores.idpromotor order by


Ventas.idventa", cn, adOpenStatic, adLockReadOnly, adCmdText
ElseIf CRITERIO = 2 Then 'POR CLIENTE
rs.Open "SELECT Ventas.idventa, Ventas.coddueño, Dueño.NomDueño+'
'+Dueño.ApeDueño AS Expr1, Usuarios.nomusu, Format(Ventas.fecha,'dd/mm/yyyy')
AS Expr2, IIf(Ventas.tipo_venta=0,'Contado','Credito') AS Expr3,
Documentos.desdocumento, Ventas.ndocumento,
IIf(Ventas.cancelado=0,'Cancelado','Sin Cancelar') AS Expr4, Ventas.descuento,
IIf(Ventas.anulado=0,'No','Si') AS Expr5, Ventas.monto,
promotores.nombres,Ventas.moneda,Ventas.tipcam FROM (Usuarios INNER JOIN
(Dueño INNER JOIN (Documentos INNER JOIN Ventas ON
Documentos.iddocumento = Ventas.iddocumento) ON Dueño.coddueño =
Ventas.coddueño) ON Usuarios.idusuario = Ventas.idusuario) INNER JOIN
promotores ON Ventas.idpromotor = promotores.idpromotor WHERE
Dueño.NomDueño+' '+Dueño.ApeDueño LIKE '%" + Trim$(DATO) + "%'", cn,
adOpenStatic, adLockReadOnly, adCmdText
ElseIf CRITERIO = 3 Then 'POR FECHA
rs.Open "SELECT Ventas.idventa, Ventas.coddueño, Dueño.NomDueño+'
'+Dueño.ApeDueño AS Expr1, Usuarios.nomusu, Format(Ventas.fecha,'dd/mm/yyyy')
AS Expr2, IIf(Ventas.tipo_venta=0,'Contado','Credito') AS Expr3,
Documentos.desdocumento, Ventas.ndocumento,
IIf(Ventas.cancelado=0,'Cancelado','Sin Cancelar') AS Expr4, Ventas.descuento,
IIf(Ventas.anulado=0,'No','Si') AS Expr5, Ventas.monto,
promotores.nombres,Ventas.moneda,Ventas.tipcam FROM (Usuarios INNER JOIN
(Dueño INNER JOIN (Documentos INNER JOIN Ventas ON
Documentos.iddocumento = Ventas.iddocumento) ON Dueño.coddueño =
Ventas.coddueño) ON Usuarios.idusuario = Ventas.idusuario) INNER JOIN
promotores ON Ventas.idpromotor = promotores.idpromotor where
FORMAT(Ventas.fecha,'dd/mm/yyyy') like '%" + Trim$(DATO) + "%'", cn,
adOpenStatic, adLockReadOnly, adCmdText
ElseIf CRITERIO = 4 Then 'POR Nº DOCUMENTO
110

rs.Open "SELECT Ventas.idventa, Ventas.coddueño, Dueño.NomDueño+'


'+Dueño.ApeDueño AS Expr1, Usuarios.nomusu, Format(Ventas.fecha,'dd/mm/yyyy')
AS Expr2, IIf(Ventas.tipo_venta=0,'Contado','Credito') AS Expr3,
Documentos.desdocumento, Ventas.ndocumento,
IIf(Ventas.cancelado=0,'Cancelado','Sin Cancelar') AS Expr4, Ventas.descuento,
IIf(Ventas.anulado=0,'No','Si') AS Expr5, Ventas.monto,
promotores.nombres,Ventas.moneda,Ventas.tipcam FROM (Usuarios INNER JOIN
(Dueño INNER JOIN (Documentos INNER JOIN Ventas ON
Documentos.iddocumento = Ventas.iddocumento) ON Dueño.coddueño =
Ventas.coddueño) ON Usuarios.idusuario = Ventas.idusuario) INNER JOIN
promotores ON Ventas.idpromotor = promotores.idpromotor where
Ventas.ndocumento like '%" + Trim$(DATO) + "%'", cn, adOpenStatic,
adLockReadOnly, adCmdText
End If
On Local Error Resume Next
rs.MoveLast
rs.MoveFirst
On Local Error GoTo 0
If rs.RecordCount = 0 Then
MSH.Clear
MSH.Cols = 2
MSH.Rows = 2
Set rs = Nothing
Exit Sub
End If
Set MSH.Recordset = rs
Set rs = Nothing
MSH.FormatString = "|<IdVenta|<IdCliente|<Cliente|<Usuario|<Fecha|<Tipo
Venta|<Documento|<Nº
Documento|<Estado|<Descuento|<Anulado|<Monto|<Promotor|<Moneda|<Tipo
Cambio"
111

MSH.ColWidth(0) = 0
MSH.ColWidth(1) = 1200 'IdVenta
MSH.ColWidth(2) = 0 'IdCliente
MSH.ColWidth(3) = 3000 'Cliente
MSH.ColWidth(4) = 2000 'Usuario
MSH.ColWidth(5) = 1200 'Fecha
MSH.ColWidth(6) = 1200 'Tipo Venta
MSH.ColWidth(7) = 2000 'Documento
MSH.ColWidth(8) = 1300 'Nº Documento
MSH.ColWidth(9) = 1200 'Estado
MSH.ColWidth(10) = 1000 'Descuento
MSH.ColWidth(11) = 1000 'Anulado
MSH.ColWidth(12) = 1000 'Monto
MSH.ColWidth(13) = 2500 'Promotor
MSH.ColWidth(14) = 0 'Moneda
MSH.ColWidth(15) = 0 'Tipo Cambio
Exit Sub
L:
MsgBox Err.Description, vbCritical
End Sub
Public Function DevuelveIdUsuario(nomusu As String) As String
On Local Error GoTo L
Dim t As New ADODB.Recordset
t.Open "SELECT idusuario FROM usuarios WHERE nomusu='" + nomusu + "'", cn,
adOpenForwardOnly, adLockReadOnly
REFRESCAR t
If t.RecordCount = 0 Then
Set t = Nothing
Exit Function
End If
DevuelveIdUsuario = t!idusuario
112

Set t = Nothing
Exit Function
L:
MsgBox Err.Description, vbCritical
End Function

MODULO DE CONEXIÓN
A continuación se muestra la programación necesaria para crear la conexión entre
maquina servidor y estaciones de trabajo (figura B).

Figura B: Modulo de conexión


Fuente: autor NETPLUS

Option Explicit
Public PuertoConex As Integer
Dim Esta As Integer

‘CONEXIONES WINSOCK
113

Public Property Get HostRemoto() As String


'Devolvemos información del host remoto
HostRemoto = FRMPRINCIPAL.WINSOCK1.RemoteHost
End Property

Public Property Let HostRemoto(ByVal vNewValue As String)


'Aceptamos información sobre el host remoto
If FRMPRINCIPAL.WINSOCK1.State = sckConnected Then
FRMPRINCIPAL.WINSOCK1.Close
End If

FRMPRINCIPAL.WINSOCK1.RemoteHost = vNewValue
FRMPRINCIPAL.WINSOCK1.RemotePort = PuertoConex
End Property

Public Function Conectar() As String


Dim final_time As String

'Intentamos conectar con el host remoto


FRMPRINCIPAL.WINSOCK1.Connect
Do While FRMPRINCIPAL.WINSOCK1.State <> sckConnected And
FRMPRINCIPAL.WINSOCK1.State <> sckError And
FRMPRINCIPAL.WINSOCK1.State <> sckClosed
DoEvents
Loop
If FRMPRINCIPAL.WINSOCK1.State = sckConnected Then
Conectar = "Ok"
Else
Conectar = "NoOk"
End If
End Function
114

Public Sub Cerrar()


FRMPRINCIPAL.WINSOCK1.Close
End Sub

Public Function EjecutarRemoto(Datos As String, ModoVentana As Integer) As String


Dim final_time As String
Dim Respondio As Boolean
Dim respuesta As String

If FRMPRINCIPAL.WINSOCK1.State <> sckConnected Then


EjecutarRemoto = "No Conectado"
Else
'Aquí hacemos un montaje para indicarle a SocketListen como queremos que ejecute
el programa y
'le enviamos la información usando el socket.
FRMPRINCIPAL.WINSOCK1.SendData "EA#" & Datos & "#ModoVentana=" &
Str$(ModoVentana)

'Esperamos un tiempo prudencial la respuesta de SocketListen, y si no hemos


recibido nada,
'asumimos que no se ha enterado y pasamos de él. Ver que la variable
sw_Host_Responded (en el
'procedimiento Wait_For_Host_Response) se actualiza cuando se activa el evento de
recepción
'de datos en el Socket.
final_time = Now_plus_nseconds(ByVal 0.1)
Respondio = Wait_For_Host_Response(final_time)
If Respondio Then
respuesta = String(BytesReceived, Chr$(0))
FRMPRINCIPAL.WINSOCK1.GetData respuesta
115

EjecutarRemoto = respuesta
Else
EjecutarRemoto = "NoOk"
End If
End If
End Function

Public Function EjecutarRemotoSincrono(Datos As String, ModoVentana As Integer)


As String
Dim final_time As String
Dim Respondio As Boolean
Dim respuesta As String
If FRMPRINCIPAL.WINSOCK1.State <> sckConnected Then
EjecutarRemotoSincrono = "No Conectado"
Else
sw_Host_Responded = False
'Aquí hacemos un montaje para indicarle a SocketListen como queremos que ejecute
el programa y
'le enviamos la información usando el socket.
FRMPRINCIPAL.WINSOCK1.SendData "ES#" & Datos & "#ModoVentana=" &
Str$(ModoVentana)

'Esperamos indefinidamente la respuesta de SocketListen. Ver que la variable


sw_Host_Responded
'se actualiza cuando se activa el evento de recepción de datos en el Socket.
Do While sw_Host_Responded = False And FRMPRINCIPAL.WINSOCK1.State =
sckConnected
DoEvents
Sleep 1
Loop
If sw_Host_Responded Then
116

respuesta = String(BytesReceived, Chr$(0))


FRMPRINCIPAL.WINSOCK1.GetData respuesta
EjecutarRemotoSincrono = respuesta
Else
EjecutarRemotoSincrono = "NoOk"
End If
End If
End Function

Public Function EnviarString(Datos As String) As String


Dim final_time As String
Dim Respondio As Boolean
Dim respuesta As String
If FRMPRINCIPAL.WINSOCK1.State <> sckConnected Then
EnviarString = "No Conectado"
Else
'Simplemente enviamos el string tal cual
FRMPRINCIPAL.WINSOCK1.SendData Datos
'Esperamos un tiempo prudencial la respuesta de SocketListen, y si no hemos
recibido nada,
'asumimos que no se ha enterado y pasamos de él.
'Ver que la variable sw_Host_Responded (en el procedimiento
Wait_For_Host_Response) se actualiza
'cuando se activa el evento de recepción de datos en el Socket.

final_time = Now_plus_nseconds(ByVal 0.1)


Respondio = Wait_For_Host_Response(final_time)
If Respondio Then
respuesta = String(BytesReceived, Chr$(0))
FRMPRINCIPAL.WINSOCK1.GetData respuesta
EnviarString = respuesta
117

Else
EnviarString = "NoOk"
End If
End If
End Function

'Sub Class_Terminate()
'FrmPrincipal.Winsock1.Close
'End
'End Sub
118

4.4. EVALUACION Y PRUEBAS

4.4.1. PRUEBA FUNCIONAL

4.4.1.1. Plan de Prueba

Objetivo de la prueba: Esta prueba tiene como objetivo verificar el ingreso de


productos y su actualización de existencias en el inventario.

Lugar, fecha y hora de la prueba: Netplus, 15 de Junio 2010, 11:00 a.m.

4.4.1.1.1. Descripción de la Prueba

Cada campo del formulario producto está definido con el tipo de datos especificado
en el Diccionario de Datos, por lo que no se admite otro tipo de datos.
El usuario ingresa los siguientes datos (ver figura C):

Categoría
Sus categorías
Marca
Descripción
Observación
Stock mínimo
Stock máximo
Precio venta

La Categoría, Su categorías, Marca son datos que el usuario puede escoger del
menú desplegable o en su caso puede ingresarlos por la opción que el sistema
proporciona.

El usuario únicamente tendrá que guardar la transacción y la información resultante


desplegara (ver figura D):
119

Código del producto


Descripción del producto
Categoría
Su categoría
Marca
Stock mínimo
Stock máximo
Precio venta

Para registrar las existencias en base a las compras que realizamos el usuario usa el
Modulo Inventario y escoge la opción Compras donde deberá ingresar los siguientes
datos (ver figura E)

Datos de Entrada

Tipo de documento
Proveedor
Descuento (Esto es la ganancia es decir el proveedor se maneja con Descuentos a
sus clientes).
Numero de factura de la compra
El usuario únicamente tendrá que guardar la transacción y la información resultante
desplegara:
Ítem de la nota de ingreso
Descripción del producto
Cantidad comprada
Precio de compra que va a ser el p.v.p al cliente final.
Subtotal.
120

4.4.1.1.2. Procedimiento de la Prueba

Figura C: Formulario ingreso de nuevo producto


Fuente: autor NETPLUS
121

Figura D: Ingreso de nuevo producto al sistema


Fuente: autor NETPLUS

Figura E: Ingreso de nueva compra


Fuente: autor NETPLUS
122

4.5. MANUAL DE USUARIO

4.5.1. DIAGRAMA DE NAVEGACIÒN DEL SISTEMA DE CONTROL Y FACTURACIÒN NETPLUS


Diagrama de navegación del sistema, en donde se identifique cada opción de menú de tal forma que la misma sea
referenciada posteriormente cuando se defina a detalle cada pantalla o reporte del sistema.
123

4.5.2. MANUAL DE USUARIO


Este manual le permitirá aprender a utilizar todas las funcionalidades básicas
de NETPLUS_SYTEMIS. Para acceder al Menú Principal el usuario del sistema
debe tener asignando una cuenta y debe ser ingresado como se muestra en la
(figura 1) por defecto ingresar:
Usuario: 111
Password: 111

Figura 1: Usuario y clave


Fuente: autor NETPLUS

MENÙ PRINCIPAL
El modulo principal del sistema se muestra en la (figura 2)

Figura 2: Menú principal


Fuente: autor NETPLUS
124

MÒDULO FACTURAR
Para generar una nueva factura ingresamos datos del cliente, descuento, y el
nombre de la persona que realiza la venta como se muestra en la (figura 3) y
guardamos la información. Esta información es la cabecera de la factura

Figura 3: Cabecera
Fuente: autor NETPLUS

Una vez ingresada la cabecera de la factura agregamos y guardamos la


información de los productos o servicios que solicite el cliente como se muestra
en la (figura 4).

Figura 4: Nuevo registro venta de productos o servicios


Fuente: autor NETPLUS
125

MODULO INVENTARIO
COMPRAS
Ingreso de un nuevo producto al inventario (figura 5). La lógica es similar al
modulo facturar ingresamos información del proveedor el descuento el numero
de documento del articulo comprado al proveedor

Figura 5: Generar compra


Fuente: autor NETPLUS

DEVOLUCIONES
Al igual que los anteriores módulos la lógica es similar ingresamos información
del proveedor y el vendedor responsable (figura 6).

Figura 6: Realizar una devolución


Fuente: autor NETPLUS
126

INVENTARIO
Permite ver la cantidad de productos o bienes con los que cuenta la empresa
(figura 7).

Figura 7: Inventario
Fuente: autor NETPLUS

MODULO REGISTRAR
Permite el ingreso de nuevos clientes proveedores vendedores así como el
ingreso de una nueva localidad y profesión
CLIENTES
Registramos el ingreso de un nuevo cliente al sistema llenando el formulario de
la figura M

Figura 8: Registro de nuevo cliente


Fuente: autor NETPLUS
127

MODULO PRODUCTOS Y SERVICIOS


PRODUCTOS
Realizamos el registro de un nuevo producto ingresamos categoría,
subcategoria, marca, descripción, el stock mínimo y máximo (figura 9).

Figura 9: Registro de nuevo productos


Fuente: autor NETPLUS

MODULO CONTROL DE TIEMPO


Permite manejar el alquiler de maquinas por tiempo así como su configuración
el ingreso de nuevas estaciones de trabajo el envió de mensajes (figura 10).

Figura 10: Control de maquinas


Fuente: autor NETPLUS
128

MODULO CONFIGURACIÒN
Permite ingresar nuevos usuarios del sistema informático así como modificar la
clave de administrador, los cargos que ocupan los usuarios del sistema.
Permite modificar la información de la empresa como lugar teléfono etc.
También modificar el valor del IVA (figura 11).

Figura 11: Configuración I.V.A.


Fuente: autor NETPLUS

MODULO INFORMES
Encontramos los reporte de productos lista de clientes, inventario registro de
compras y ventas y toda la información que requiere el administrador

REPORTES
LSITA DE CLIENTES

Figura 12: Reporte de clientes


Fuente: autor NETPLUS
129

CATÁLOGO DE PRODUCTOS

Figura 13: Reporte de productos


Fuente: autor NETPLUS

INVENTARIO

Figura 14: Reporte inventarios


Fuente: autor NETPLUS
130

REGISTRO DE COMPRAS

Figura 15: Reporte de compras


Fuente: autor NETPLUS

REGISTRO DE VENTAS

Figura 16: Reporte de ventas


Fuente: autor NETPLUS
131

CAPITULO V

5. CONCLUSIONES Y RECOMENDACIONES

5.1. CONCLUSIONES

El presente Sistema ha contribuido al buen manejo de la información de la


empresa “Netplus” optimiza las actividades de administración y el tiempo de
ejecución de las transacciones es más dinámico.

Con lo que respecta a las herramientas utilizadas son muy comprensibles y


amigables para el usuario del sistema y la metodología resulta ser muy
adecuada para la construcción de este tipo de sistemas.

El presente proyecto aporta una valiosa herramienta para la administración de


inventario, tareas de facturación y obtención de reportes muy necesarios para
un buen manejo administrativo del negocio

El proyecto constituye un pilar fundamental en la gestión por procesos que se


está implementando en este momento, porque a través de este se puede
automatizar y optimizar tareas que hasta el momento se hacen de forma
manual y que entorpecen la efectividad de los procesos internos de la
organización.

El proyecto permite de forma clara, concreta, práctica y funcional la aplicación


de los diferentes conocimientos adquiridos por un analista de sistemas.
132

5.2. RECOMENDACIONES

 El usuario debe estar atento a los mensajes generados por el sistema, ya


que son de gran utilidad para solucionar los problemas que se puedan
presentar en el manejo de los módulos.

 El administrador o los usuarios por razones de seguridad e integridad de


información que maneja el sistema informático deben modificar
frecuentemente las claves de acceso al mismo.

 Integrar al personal como parte del proceso de innovación y mejoramiento


continúo, capacitándolos frecuentemente y motivándolos al uso de nuevas
herramientas informáticas que mejoren el manejo de la empresa.

 Realizar estudios técnicos y económicos dando alternativas para la


expansión del sistema como por ejemplo nuevos módulos que permitan
manejar un sistema de créditos personales o corporativos para los
clientes de la empresa

 Actualmente en el mercado se dispone de múltiples herramientas


distribuidas generalmente en Internet tanto de forma propietaria como
software libre ó gratuito, para lo cual es recomendable realizar un análisis
pormenorizado de las ventajas y desventajas del objeto a utilizar y que
este se ajuste a los requerimientos de la empresa

 El proyecto busca mejorar notablemente la forma de administrar la


empresa Netplus, de acuerdo a las nuevas demandas del cliente, lo
recomendable es tratar siempre de proponer e implementar nuevas
tecnologías previendo su correcta utilidad para beneficio de “Netplus”.
133

5.3. BIBLIOGRAFIA

La bibliografía utilizada como referencia se especifica en el ANEXO 3.

5.4. GLOSARIO DE TERMINOS

Active X
Componente que se puede insertar en una página Web para proporcionar una
funcionalidad que no está directamente disponible en HTML, como secuencias
de animación. Los controles ActiveX se pueden implementar en diferentes
lenguajes de programación.

Administrador de Base de Datos


Es la persona o equipo de personas profesionales responsables del control y
manejo del sistema de base de datos, generalmente tiene[n] experiencia en
DBMS, diseño de bases de datos, sistemas operativos, comunicación de datos
y programación.

ADO
(Data Access Object) Objeto de acceso a datos.

ActiveX Data Object


Interface de acceso a datos usado para comunicar OLEDB data souces, como
MS SQL Server. Es una Interface a nivel aplicación que usa OLEDB, una
librería de Objetos COM que permite el acceso a diversas fuentes de datos.

ADOOSI
(Análisis y Diseño Orientado a Objetos de Sistemas Informáticos), que combina
la técnica de prototipación, el paradigma de la orientación a objetos y la
notación UML. Utilizado en el desarrollo de entornos orientados a objetos,
exige de la divulgación de técnicas de producción del software
134

Analista
Aunque los puestos y responsabilidades de los profesionales informáticos
cambian y evolucionan con sorprendente rapidez, el analista sigue siendo una
persona imprescindible en cualquier departamento de informática.
Se trata de quien determina la problemática concreta que debe solucionar una
aplicación y las líneas generales de cómo debe desarrollarse dicha aplicación
para resolver el problema.
Persona que determina la problemática concreta que debe solucionar una
aplicación.

Análisis de Sistema
Es el proceso de clasificación e interpretación de los hechos, diagnósticos de
problemas, control y empleo de la información para recomendar mejoras al
sistema.

Back-up
Copia de seguridad de los ficheros o aplicaciones disponibles en un soporte
magnético (generalmente disquetes), con el fin de poder recuperar la
información y las aplicaciones en caso de una avería en el disco duro, un
borrado accidental o un accidente imprevisto. Es conveniente realizar copias de
seguridad a intervalos temporales fijos (una vez al mes, por ejemplo), en
función del trabajo y de la importancia de los datos manejados.

Cliente
Cualquier elemento de un sistema de información que requiere un servicio
mediante el envío de solicitudes al servidor. Cuando dos programas se
comunican por una red, el cliente es el que inicia la comunicación, mientras que
el programa que espera ser contactado es el servidor. Cualquier programa
puede actuar como servidor para un servicio y como cliente para otro. Persona
u organización que recibe, usa un producto servicio. Un cliente puede ser
interno o externo a la organización del suministrador.
135

Cliente/Servidor
Modelo lógico de una forma de proceso cooperativo, independiente de
plataformas hardware y sistemas operativos. El concepto se refiere más a una
filosofía que a un conjunto determinado de productos. Generalmente, el modelo
se refiere a un puesto de trabajo o cliente que accede mediante una
combinación de hardware y software a los recursos situados en un ordenador
denominado servidor. Se le suele llamar así a la arquitectura a dos capas, es
decir, una capa servidor, u ordenador que contendrá los datos y los programas
gestores asociados, y capas clientes, u ordenadores que se dirigirán al anterior
para obtener la información.

DBMS
(Data Base Management System). Son las siglas en inglés para los Sistemas
de Gestión de Bases de Datos (SGBD). Bajo este nombre se conoce a
productos de fabricantes como Oracle, Sybase, Informix, Ingres, Borland,
Microsoft, IBM, etc.Sistema de administración de bases de datos.
Software que controla la organización, almacenamiento, recuperación,
seguridad e integridad de los datos en una base de datos. Acepta solicitudes
de la aplicación y ordena al sistema operativo transferir los datos apropiados.

Diagrama de flujo
Representación gráfica, mediante la utilización de signos convencionales, del
proceso que sigue la información en un programa determinado. Se utilizan
habitualmente en la fase de desarrollo de aplicaciones por los programadores.
El diagrama de flujo o Flowchart es una de las técnicas de representación de
algoritmos más antigua, y consiste en representar mediante símbolos las
operaciones a realizar.
Por ejemplo: el inicio y el fin del algoritmo se representan con un símbolo
elíptico, las entradas y salidas con un paralelogramo, las decisiones con un
rombo, los procesos con un rectángulo, etc.
136

Dirección IP
(Dirección de protocolo de Internet). La forma estándar de identificar un equipo
que está conectado a Internet, de forma similar a como un número de teléfono
identifica un número de teléfono en una red telefónica. La dirección IP consta
de cuatro números separados por puntos y cada número es menor de 256; por
ejemplo 192.200.44.69. El administrador del servidor Web o su proveedor de
servicios de Internet asignará una dirección IP a su equipo.

Entidades
Son objetos concretos o abstractos que presentan interés para el sistema y
sobre los que se recoge información que será representada en un sistema de
bases de datos. Por ejemplo, clientes, proveedores y facturas serían entidades
en el entorno de una empresa.

HTTP
(Hiper Text Transfer Protocol). Protocola de transferencia de HiperTexto. Es el
protocolo de Internet que permite que los exploradores del WWW recuperen
información de los servidores.
Es un protocolo de aplicación con la sencillez y velocidad necesaria para
sistemas de información distribuidos, colaborativos y de diferentes medios.
Es un protocolo general, independiente y orientado a objetos usado para
diferentes tareas, como sistemas de nombres de servidores y de administración
de objetos distribuidos, a través de la extensión de sus métodos (comandos).
Una característica de HTTP es la forma de representar los datos, permitiendo a
los sistemas funcionar independientemente de los datos siendo transferidos.
HTTP ha sido usado por el WWW desde 1990.

Interface de usuario
Engloba la forma en la que el operador interactúa con el ordenador, los
mensajes que éste recibe en pantalla, las respuestas del ordenador a la
utilización de periféricos de entrada de datos, etc.
137

IP Adress
Dirección IP. Matrícula que identifica a un ordenador de la red. A los
ordenadores personales se les asigna una IP adress para que naveguen por la
red, que cambia en cada sesión de acceso a Internet. (Ver. Dirección IP).

LAN
(Local Area Network). Red de área local. El término LAN define la conexión
física y lógica de ordenadores en un entorno generalmente de oficina. Su
objetivo es compartir recursos (como acceder a una misma impresora o base
de datos) y permite el intercambio de ficheros entre los ordenadores que
componen la red.
La transferencia de mensajes es administrada por un protocolo de transporte
como IPX, SPX y TCP/IP. La transmisión física de datos es realizada por el
método de acceso (Ethernet, Token Ring, etc.) que se implementa en los
adaptadores de la red y que conectan a las máquinas. La vía de acceso real de
las comunicaciones es el cable (par trenzado, cable coaxial, fibra óptica) que
interconecta cada adaptador de red.

Métodos
Acciones innatas que cada objeto es capaz de realizar para obtener un
resultado

Modelo Relacional
En 1970, el modo en que se veían las bases de datos cambió por completo
cuando E. F. Codd introdujo el modelo relacional. En aquellos momentos, el
enfoque existente para la estructura de las bases de datos utilizaba punteros
físicos (direcciones de disco) para relacionar registros de distintos ficheros. Si,
por ejemplo, se quería relacionar un registro con un registro, se debía añadir al
registro un campo conteniendo la dirección en disco del registro. Este campo
añadido, un puntero físico, siempre señalaría desde el registro al registro. Codd
demostró que estas bases de datos limitaban en gran medida los tipos de
operaciones que los usuarios podían realizar sobre los datos.
138

El modelo relacional, como todo modelo de datos, tiene que ver con tres
aspectos de los datos:
Estructura de datos
Integridad de datos
Manejo de datos

Network
Red. Conjunto de hardware y software de gestión necesario para la conexión
de múltiples ordenadores con el fin de que puedan intercambiar información
entre ellos y compartir recursos. La Red puede ser de área local (LAN) o de
área amplia (WAN).

Objeto
Un programa tradicional se compone de procedimientos y datos, un programa
orientado a objetos se compone solamente de objetos, que es una
encapsulación general de datos y de los procedimientos para manipularlo.

OMT
(Object Modeling Technique) Tecnología de de Modelado de Objetos. Es una
de las metodologías de análisis y diseño orientadas a objetos creadas por
James Rumbaugh.

Orientación a Objeto
En la programación tradicional, se distingue entre los datos y los
procedimientos. En la técnica de programación orientada a objeto no es así,
puesto que no existen los procedimientos como tales. Los elementos de los
programas se denominan objetos y son considerados como entidades
independientes que se relacionan e interactúan entre sí.

PARADIGMA
Un paradigma es una técnica, un modelo o un conjunto de herramientas para
representar la solución de problemas específicos.
139

POO
Programación Orientada a Objetos.

Procedimiento
Dentro de una aplicación, se denomina procedimiento al conjunto de
instrucciones, controles, etc. que hacen posible la resolución de una cuestión
específica. La impresión es un procedimiento, como lo es la incorporación de
una imagen a un texto predeterminado, etc.

Programación
Programar es automatizar y definir una serie de procesos para resolver un
problema y obtener un resultado final. Un programa es el conjunto de
instrucciones que se le dan al ordenador para resolver un problema o tarea
determinada. Consiste en proporcionar a un equipo un conjunto de
instrucciones (o sentencias) que deben ser ejecutadas en orden, y que
proporcionan una salida. Preparación de los datos previos indispensables para
obtener la solución de un problema mediante las instrucciones codificadas de
un ordenador. Lenguaje de Programación Se utilizan para indicar al ordenador
las acciones que ha de realizar para resolver un determinado problema.
Básicamente los lenguajes de programación se componen de ordenes (en
adelante llamadas instrucciones) que es lo que en si mismo le dice al
ordenador lo que tiene que hacer. Un conjunto de esas instrucciones forman el
programa.

Pseudocódigo
El pseudocódigo es un lenguaje de especificación de algoritmos, de uso fácil y
sintaxis similar al lenguaje de programación a utilizar, que permite al
programador concentrarse en las estructuras de control, y olvidarse de la
sintaxis del lenguaje a utilizar.

Query
Consulta. Búsqueda en una base de datos.
140

Red Cliente/Servidor
(Client/Server Network). Red de comunicaciones que utiliza servidores
dedicados para todos los clientes en la red. Nótese la diferencia con peer-to-
peer network, que permite que cualquier cliente sea también un servidor.

Relación
En bases de datos, una relación o vínculo entre dos o más entidades describe
alguna interacción entre las mismas. Por ejemplo, una relación entre una
entidad "Empleado" y una entidad "Sector" podría ser "trabaja_en", porque el
empleado trabaja en un sector determinado.
Las relaciones se describen en la estructura de la base de datos empleando un
modelo de datos.

Servidor
Genéricamente, dispositivo de un sistema que resuelve las peticiones de otros
elementos del sistema, denominados clientes. (Ver: Cliente/servidor).
Computadora conectada a una red que pone sus recursos a disposición del
resto de los integrantes de la red. Suele utilizarse para mantener datos
centralizados o para gestionar recursos compartidos. Internet es en último
término un conjunto de servidores que proporcionan servicios de transferencia
de ficheros, correo electrónico o páginas WEB, entre otros.

Sistema de Información
Generalmente automatizado, que tiene por finalidad exclusiva y excluyente el
almacenamiento, el procesamiento, la recuperación y la difusión de la
información contenida en documentos de cualquier especie.
Conjunto u ordenación de elementos organizados para llevar a cabo algún
método, procedimiento o control mediante el proceso de información.

SQL
(Structured Query Language). Es un estándar en el lenguaje de acceso a bases
de datos. Originalmente, era un lenguaje de acceso al sistema de gestión de
141

bases de datos denominado DB2 en plataformas 390 de IBM. En la actualidad


está adoptado por ISO.

TCP/IP
(Transmision Control Protocol/Internet Protocol). Se trata de un estándar de
comunicaciones muy extendido y de uso muy frecuente para software de red
basado en Unix con protocolos Token-Ring y Ethernet, entre otros. Es
compatible con productos de muchas marcas: IBM, DEC, Sun, AT&T, Data
General, etc. TCP/IP es conforme a los niveles 3 y 4 de los modelos OSI. Este
conjunto de protocolos fue desarrollado originalmente para el Departamento de
Defensa de Estados Unidos.

UML
(Unifed Modeling Languaje) El lenguaje para modelamiento unificado (UML), es
un lenguaje para la especificación, visualización, construcción y documentación
de los artefactos de un proceso de sistema intensivo. Fue originalmente
concebido por la Corporación Rational Software y tres de los más prominentes
métodologistas en la industria de la tecnología y sistemas de información:
Grady Booch, James Rumbaugh, y Ivar Jacobson ("The Three Amigos"). El
lenguaje ha ganado un significante soporte de la industria de varias
organizaciones vía el consorcio de socios de UML y ha sido presentado al
Object Management Group (OMG) y aprobado por éste como un estándar
(noviembre 17 de 1997).

Visual Basic
Versión de BASIC de Microsoft utilizado para desarrollar aplicaciones de
Windows, que se ha vuelto popular. Es similar a QuickBASIC de Microsoft, pero
no es 100% compatible con éste. Las interfaces de usuario se desarrollan
llevando objetos de la caja de herramientas de Visual Basic hacia el formato de
aplicación.
142

Web
Por éste término se suele conocer a WWW (World Wide Web), creado por el
Centro Europeo de Investigación Nuclear como un sistema de intercambio de
información y que Internet ha estandarizado. Supone un medio cómodo y
elegante, basado en multimedia e hipertexto, para publicar información en la
red. Inicial y básicamente se compone del protocolo http y del lenguaje html. Un
ejemplo de páginas de éste tipo, es la que tienes delante en estos momentos.
143

ANEXOS
144

ANEXO 1

ENTREVISTA 1
ENTREVISTADO: ING. PABLO VEGA MONGE (UNO DE LOS SOCIOS)
¿Qué funciones ejerce usted dentro de la Organización?
Como socio y también ejerzo las funciones de un técnico externo cuando
amerita visitas a clientes o venta de equipos o partes de computadoras.
¿Cómo verifica Usted el rendimiento y rentabilidad que genera el Cyber?
Bueno mi relación directa es con la Administración quienes me proporcionan
los informes finales respectivos luego que son procesados
¿Reporta algún problema relacionado con la ejecución de sus
actividades?
El principal problema que tengo es la demora en la obtención de un reporte de
ingresos por ventas o por prestación de servicios, al mismo tiempo entiendo
que esto se debe a que no se cuenta con una herramienta automatizada que
permita el registro de estos rubros lo que entorpece el normal desarrollo de
actividades
Usted considera que la implementación de un Sistema automatizado en
cuanto al registro de ventas, inventario, control de tiempo y de
información vital para el Cyber facilite el desempeño de sus empleados y
Administradora?
Pienso que si, en primera instancia porque tendremos un inventario ordenado
del cual se podrá obtener un reporte real de existencias, de la misma forma el
registro de ventas como también de las adquisiciones denotara el movimiento
real de ingresos y egresos, por otra parte optimizara el tiempo para consultar
información de mucha importancia
Considera que los costos para implementar este sistema están
justificados?
Los costos se justifican porque el sistema aparte de ser una herramienta que
maneja información valiosa nos ayuda a incrementar nuestra competitividad
además de optimizar la realización de nuestro trabajo.
Interpretación de resultados:
145

El Socio en este caso en la entrevista realizada manifiesta su apoyo en la


implementación del sistema sobre todo porque facilitara el normal desarrollo de
actividades de los involucrados en la organización.Por otra parte facilitara la
obtención del reporte de ingresos que es lo que le interesa a el directamente.

ENTREVISTA 2
ENTREVISTADO: ING. JIMENA VEGA MONGE
¿Qué funciones ejerce usted dentro de la Organización?
La Administración también como socia, también ejecuto las funciones de
asesoría técnica si amerita el caso.
¿Describa las funciones que Usted realiza dentro del Cyber?
Adquisición y registro las compras
Verificación de los ingresos
Proceso información para generar reportes de ingresos, proceso de
información de las compras y del inventario.
Registro información de proveedores, clientes pero manualmente.
Administro información del personal como también su remuneración.
Realizo la contabilidad de la organización como también las declaraciones de
obligaciones tributarias.
¿Cree Usted que el Sistema a implementarse facilite el desempeño de sus
funciones, que debería tener este sistema en forma general?
Considero que el Sistema será de gran ayuda en mi trabajo, el sistema deberá
contar con un Modulo de Administración de tiempo y cobro para el alquiler de
computadores, un modulo que controle los ingresos por compras y egresos por
devoluciones en el inventario, un modulo que registre las ventas por productos
o por atención a requerimientos de los usuarios, un modulo que administre la
información de proveedores, vendedores, clientes; un modulo que maneje la
información básica de productos y servicios, un modulo de reportes y el resto
de utilidades que un sistema generalmente proporciona.
¿Cuáles son las restricciones que debe manejar el Sistema?
Por cuestiones de privacidad de información, y por políticas de la organización
se deberá tener en cuenta las siguientes restricciones:
146

El sistema no debe manejar nada registros de egresos por gastos


administrativos o de personal, será solo un apoyo al proceso de contabilidad
pero de ninguna manera en este se registrara los montos de declaraciones o el
balance de rubros del centro.
En el caso de alquiler de computadores no se deberá emitir factura porque el
iva ya se paga al proveedor de internet.
No se tiene una política de créditos lo que si puede darse solo para clientes
fijos es un descuento.
En una ocasión tuvimos un problema con productos por ser defectuosos por lo
cual es recomendable que se implemente devoluciones a proveedor.
En el caso de inventario el precio de venta que se registra es el que se vende
al cliente, para Netplus el descuento que se ingresa por cada compra
representa la ganancia que representa comprar a ese proveedor.
Interpretación de resultados:
Claramente el Administrador menciona los modelos que serian necesarios para
el sistema como también señala las restricciones que este debe tener.
Los Módulos necesarios son:
Administración de alquiler de computadores
Administración de Inventario
Modulo de registro de ventas
Administración de información de proveedores, vendedores, clientes.
Administración de la información básica de productos y servicios
Modulo de reportes

ENTREVISTA 3
ENTREVISTADO: SRTA. NANCY CARMILEMA
¿Qué actividades cumple dentro de la organización?
Atención al cliente requerimientos específicos de clientes
Administrar el alquiler de computadoras
Venta de productos, suministros, a excepción de equipos de cómputo y partes.
Emitir la factura por venta de productos o generación de servicios
Mantener una base de clientes
147

¿Considera que es beneficioso para su trabajo implementar un sistema


que automatice las tareas básicas que Usted realiza?
Pienso que si porque ahorraría tiempo al final del día que tenemos que hacer
cuentas de lo que se ingresa diariamente, aparte la emisión de factura se haría
en forma automática y no tendríamos que estar calculando los rubros de
consumo de los clientes.

ENTREVISTA 4
ENTREVISTADO: SR. DAVID MAILA
¿Qué actividades cumple dentro de la organización?
Receptar solicitudes de clientes, generación de requerimientos de consultas,
trabajos, impresiones, etc., venta de suministros, películas, programas,
accesorios de computadoras, etc., registrar los ingresos y emitir facturas
cuando son ventas de productos o servicios específicos, asistencia
personalizada fuera de la ciudad etc.
¿Considera que es beneficioso para su trabajo implementar un sistema
que automatice las tareas básicas que Usted realiza?
Si nos beneficia sobre todo porque el fin de semana el flujo de clientes es alto y
como al final del día se revisa todos los ingresos ya no se tendría que recurrir a
los escritos más rápido seria por computador.
Interpretación de resultados:
En general los empleados realizan las mismas tareas la única diferencia es el
flujo de clientes cada vez aumenta.

Con el Sr. David Maila y Srta. Nancy Carmilema empleados del Cyber con
quienes se pudo verificar la demora que representa para ellos el trabajo manual
emisión de facturas, entre otros aspectos.
148

ANEXO 2
Costos Hardware
Descripción Cantidad Costo Unitario
Procesador Intel Pentium Iv 2.4 Ghz
Disco Duro De 40 GB
Sonido Full Duplex,
Videofax MODEM, Tarjeta De Red, Sonido, Audio
Teclado, Mouse, Cd-Rom 42 X, Monitor Svga 15"
3 939,00
Costo Parcial Hardware 2817

Costos Software
Descripción
Base de datos 608,74
Microsoft Studio Visual Basic 599,95
Microsoft Power Designer 78,98
Costo Parcial Software 1287,67

Costos Recursos Humanos


Costo Total
Etapas Tiempo Total (Horas) (Dólares)
Investigación Preliminar 88 20
Análisis Y Diseño 520 3200
Construcción 198 820
Evaluación Y Pruebas 10 50
Costo Parcial Recurso Humanos 4054

Costos Adicionales
Artículos Costo Unitario Costo Total
3 Resmas de Papel 2,70 8,10
5 Cajas De Disquetes 2,48 12,40
1 Caja De CDS De 10 Unidades 1,00 10,00
2 Cartucho B/N 34,00 68,00
1 Cartucho Color 44,53 44,53
Costo Parcial Adicionales 143,43
Costo Total 8302,10
149

ANEXO 3

6. BIBLIOGRAFÌA

Presman Rogers, Ingenieria del Software: Un Enfoque Práctico, Mc Graw


Hill, 1997
Ruble David, Análisis práctico de sistemas Cliente / Servidor con GUI,
Prentice Hall, 1998
Yourdon Edward, Análisis Estructurado Moderno, Prentice Hall, 1993
Yourdon, E. (1994). Object-Oriented Systems Design an Integrated Approach

http://www.monografias.com/trabajos12/docmento/docmento.shtml
http://es.wikipedia.org/wiki/Viabilidad_t%C3%A9cnica"
http://es.wikipedia.org/wiki/James_Rumbaugh
http://www.dooyoo.es/review/438146.html
http://www.ucsc.cl/mecesup/#ObjetivosGenerales
http://www.inf.udec.html.

También podría gustarte